Datasette 1.0a27のリリース
オープンソースのデータ探索・公開ツール「Datasette」のアルファ版1.0a27がリリースされ、CSRF保護の近代化、テーブル名変更時のイベント発火、テスト支援機能の追加など、開発者向けの重要な改善が行われた。
キーポイント
セキュリティ保護の近代化
従来のDjangoスタイルのCSRFトークンから、現代的なブラウザヘッダーを利用したCSRF保護方式に変更され、セキュリティ実装が更新された。
プラグイン互換性の向上
SQLiteトランザクション内でテーブル名が変更された際に「RenameTableEvent」を発火するようになり、テーブル名に依存するプラグイン(例:datasette-comments)が適切に対応できるようになった。
開発・テスト支援機能の強化
datasette.clientメソッドに特定のアクターとして内部リクエストを行うための「actor=」パラメータが追加され、自動化テストの作成が容易になった。
APIと内部処理の改善
upsert APIでのNULL主キー値の拒否、JSONエンドポイントの応答形式の統一、一時ディスクデータベースオプションの追加など、安定性と一貫性が向上した。
影響分析・編集コメントを表示
影響分析
このリリースは、Datasetteが成熟したプロダクトへと進化していることを示しており、セキュリティの近代化と開発者体験の向上に重点を置いている。特にプラグインアーキテクチャの強化は、エコシステム全体の健全性を高め、データ探索ツールとしての実用性をさらに向上させるだろう。
編集コメント
オープンソースのデータツールにおける継続的な改善の好例。セキュリティ更新と開発者支援機能の強化は、プロジェクトの成熟度とコミュニティへの配慮を感じさせる。
リリース: datasette 1.0a27
この新しい Datasette アルファ版には、2つの大きな変更があります。その最初のものについては昨日詳しく解説しました。Datasette はもはや Django スタイルの CSRF 形式トークンを使用せず、代わりに Filippo Valsorda が記述したモダンなブラウザヘッダーを採用しています。
2つ目の大きな変更は、Datasette が SQLite トランザクション内でテーブル名が変更されるたびに、新しい RenameTableEvent を発生させるようになった点です。これは有用な変更です。なぜなら、datasette-comments などの一部のプラグインは、テーブル名に基づいてレコードに追加データを関連付けているため、テーブル名が変更された場合、それらのプラグインは適切な方法で対応する必要があるからです。
アルファ版におけるその他の変更点は以下の通りです:
datasette.clientメソッドに新しいactor=パラメータが追加され、特定のアクターとして内部リクエストを行うことができるようになりました。これは特に自動化されたテストの作成に有用です。(#2688)
- 内部データベース用に使用される新しい
Database(is_temp_disk=True)オプションが追加されました。これにより、メモリ上ではなくディスク上のデータベースである場合と比較して生じる、内部データベースに起因する断続的な「データベースロック」エラーの解決に役立ちます。(#2683)(#2684)
///-/upsertAPI(ドキュメント)は、主キー値が null の行を拒否するようになりました。(#1936)
/-/upsertエンドポイント(ドキュメント)の API エクスプローラーにおける例が改善されました。(#1936)
- /.json エンドポイントには、他の JSON API レスポンスとの一貫性のために "ok": true キーが追加されました。
- call_with_supported_arguments() は、サポートされるパブリック API として文書化されました。(#2678)
原文を表示
Release: datasette 1.0a27
Two major changes in this new Datasette alpha. I covered the first of those in detail yesterday - Datasette no longer uses Django-style CSRF form tokens, instead using modern browser headers as described by Filippo Valsorda.
The second big change is that Datasette now fires a new RenameTableEvent any time a table is renamed during a SQLite transaction. This is useful because some plugins (like datasette-comments) attach additional data to table records by name, so a renamed table requires them to react in appropriate ways.
Here are the rest of the changes in the alpha:
New actor= parameter for datasette.client methods, allowing internal requests to be made as a specific actor. This is particularly useful for writing automated tests. (#2688)
New Database(is_temp_disk=True) option, used internally for the internal database. This helps resolve intermittent database locked errors caused by the internal database being in-memory as opposed to on-disk. (#2683) (#2684)
The ///-/upsert API (docs) now rejects rows with null primary key values. (#1936)
Improved example in the API explorer for the /-/upsert endpoint (docs). (#1936)
The /.json endpoint now includes an "ok": true key, for consistency with other JSON API responses.
call_with_supported_arguments() is now documented as a supported public API. (#2678)
Tags: annotated-release-notes, datasette, python
関連記事
Vite 開発元 VoidZero が Cloudflare に参画
Vite や Vitest を開発する企業「VoidZero」がクラウドプロバイダー「Cloudflare」に合流し、同社全従業員も Cloudflare の一員となる。ただし、主要プロジェクトは引き続きオープンソースとして運営される方針を示した。
Datasette 1.0a31 のリリース
Simon Willison が開発するデータ分析ツール「Datasette」が、バージョン 1.0a31 を公開しました。この新バージョンでは、権限を持つユーザーがデータベースへの書き込みクエリを実行したり、プライベートまたは共有用の保存済みクエリを作成・管理できる機能が追加されました。
[AINews] 今日は何も大きな出来事はありませんでした
Anthropic が RSI の兆候を示し、OpenAI の ChatGPT が月間アクティブユーザー数で 10 億人を突破。SpaceX AI は IPO について説明しているが、最も重要なのは AIE WF のチケット確保とイベント参加である。