変更履歴
DictSQLiteの全ての重要な変更がこのファイルに記録されます。
このフォーマットはKeep a Changelogに基づいており、 このプロジェクトはセマンティック バージョニングに従っています。
v2.1.3 - 2026-07-04
修正
- ストレージへの flush 失敗時に保留中の書き込みが失われないよう、write buffer を復元するようにしました。
- delete/clear 後に未 flush の書き込みから値が復活する可能性を修正しました。
- 非同期削除処理で table prefix が二重に付く可能性を修正しました。
- separate table モードで lazy 永続化時にテーブル更新が失われ得る問題を修正しました。
- separate table ストレージでも圧縮/展開の扱いが通常ストレージと揃うように修正しました。
anyhowの lockfile を1.0.103に更新し、RUSTSEC-2026-0190 に対応しました。
改善
- batch 取得のキャッシュミス時に一括読み込みを使い、SQLite への往復回数を削減しました。
- warm cache のバイト数をカウンタ管理にし、読み取り時プロモーションでの O(n) 走査を避けるようにしました。
- データサイズ、件数、バッチサイズ、永続化モード、保存形式、テーブルモード、cold read、削除/clear、並行アクセスを含むベンチマークを追加・拡充しました。
- ベンチマーク画像のラベル短縮、集約、p95 表示、重なり軽減を行いました。
- GitHub Actions でベンチ CSV/画像 artifact、履歴比較用 JSON、Markdown Summary を出力するようにしました。
- GitHub runner のばらつきによる誤検知を避けるため、ベンチ比較は情報表示のみになるよう調整しました。
変更
- パッケージバージョンを
2.1.3に更新しました。
v2.1.1 - 2026-03-03
セキュリティ
- pyo3 を v0.28.2 へ更新(Rust-Pythonバインディングのセキュリティおよび互換性修正)
- pythonize を 0.28 へ更新(pyo3 0.28 に対応)
- papaya を 0.2 へ更新(並行ハッシュマップのセキュリティ修正)
- base64 を 0.22 へ更新
変更
- actions/cache を v5 へ更新
- actions/checkout を v6 へ更新
- actions/setup-python を v6 へ更新
- google/osv-scanner-action を v2.3.3 へ更新
- criterion を 0.8 へ更新(ベンチマーク依存)
v2.1.0 - 2026-02-11
セキュリティ
- 使用しているライブラリの脆弱性を修正
修正
- 内部的な不具合の修正
v2.0.9 - 2026-01-08
変更
- 内部コード構造の整理と最適化(コード品質・保守性の向上)
備考
- 機能的な変更や改善はなし
- パフォーマンスへの影響なし
- APIは v2.0.8 と同一
- v2.0.8 との完全な後方互換性あり
v2.0.8 - 2026-01-03
追加
- ARM版パッケージ配布: ARM64 (aarch64) と ARM32 (armv7l) のビルド済みパッケージを配布
- Windows on ARM (ARM64) パッケージサポート
- GitHub Actionsによるマルチアーキテクチャ CI/CDパイプライン
- 全アーキテクチャの自動PyPI配布
変更
- PyPI パッケージ配布でARMアーキテクチャのホイールファイルを提供
- GitHub Actionsによる自動ビルド・リリースワークフロー
改善
- ARM プラットフォームでのインストール(ビルド不要)
- クロスプラットフォーム展開の一貫性
備考
- 機能とAPIは全アーキテクチャで共通
- v2.0.7からのパフォーマンス特性を維持
- ARM環境でのベンチマークテストは今後検討予定
v2.0.7 - 2025-12-29
追加
- 最新の依存関係へのアップデート(pyo3 0.27.2、dashmap 6.1、tokio 1.42)
- マイグレーションガイドと使用例の充実したドキュメント
変更
- Python-Rust間のデータ変換パフォーマンスの向上
- 非同期ランタイムの安定性向上
修正
- pytest-v6でのテスト安定性の問題を修正
- ベンチマークテストのインポートエラーを解決
v2.0.6 - 2025-12-06
追加
- fastest版を総合性能で1.31倍上回る最終最適化を実現
- Memory/LazyモードのLRU追跡最適化
変更
- 書き込み性能が154K ops/sec(4.4倍改善)
- 読み込み性能:fastest版の8.42倍
- 単一トランザクションによるバルク挿入最適化
パフォーマンス
- 読み込み:510,256 ops/sec(WriteThroughモード)
- 混合操作:285,657 ops/sec(Lazyモード)
v2.0.5 - 2025-11-15
追加
- Python 3.13互換性の準備
変更
- Python-Rustデータ変換改善のためpyo3を0.26へ更新
- 並行アクセス性能向上のためdashmapを6.0へ更新
- 非同期処理強化のためtokioを1.40へ更新
パフォーマンス
- 書き込み操作:約5%高速化
- 並行操作:約12%高速化
v2.0.4 - 2025-11-01
セキュリティ
- 重要: RUSTSEC-2025-0020を修正(pyo3 0.20.3のバッファオーバーフロー)
- Bound APIサポート付きpyo3 0.24.1へアップグレード
- サンプルコードの機密データログ出力を修正
- 安全でないtempfile.mktemp()をmkstemp()へ置換
セキュリティ検証
- Cargo Audit:0件の脆弱性(修正前は1件)
- CodeQL(Python):0件のアラート(修正前は5件)
- CodeQL(Rust):0件のアラート
v2.0.3 - 2025-10-25
修正
- 重要: 非同期操作のデータベースロック問題を解決
- キューベースの操作シリアライゼーションを実装
- 並行アクセスの競合を修正
追加
- 安定した非同期操作のための永続的ThreadPoolExecutor
- 並行性向上のためNORMALロックモードを採用
パフォーマンス
- 50件の並行書き込み:10,027 ops/s
- 50件の並行読み込み:145,345 ops/s
- キャッシュヒット率:80%
v2.0.2 - 2025-10-20
追加
- 辞書互換APIメソッド
items()- (key, value)タプルのイテレータを返すvalues()- 全値のイテレータを返すupdate(dict)- 辞書から一括更新pop(key, default)- キーを削除して値を返すsetdefault(key, default)- キーが存在しない場合のみデフォルト値を設定
変更
- v1.8.8コードベースとの互換性を強化
- 全永続化モード(Memory/Lazy/WriteThrough)で新メソッドをサポート
v2.0.1 - 2025-10-15
追加
- AsyncDictSQLite永続化機能の実装
- 自動メモリ管理のためのLRUキャッシュエビクション
- ストレージフォールバック機能
変更
- 非同期処理の安定性を向上
- キャッシュミス処理を改善
修正
- LRUエビクションによるメモリリーク防止
v2.0.0 - 2025-10-09
追加
- メジャー: PyO3バインディングを使用したRustによる完全な書き直し
- awaitableメソッドによる真のPython asyncioサポート
- AES-256-GCM暗号化(AES-CBCから強化)
- ホワイトリストベース検証によるSafe Pickle検証
- 複数の永続化モード(Memory/Lazy/WriteThrough)
- 効率的なメモリ管理のためのLRUキャッシュ
パフォーマンス
- 非同期書き込み:300倍高速化(1000件で30秒→0.1秒)
- 同期書き込み:43倍高速化(29.79K→1.30M ops/sec)
- バッチ読み込み:5-10倍高速化
変更
- 非同期操作でMutexロック回数を100分の1に削減
- SQLトランザクション数を100分の1に削減
- 100,000回反復によるPBKDF2鍵導出
セキュリティ
- 認証付き暗号化によるAES-256-GCM
- パラメータ化クエリによるSQLインジェクション対策
- GCMタグによる完全性検証
v1.8.8 - 2025-09-20
追加
- 実験的JSONモード実装
- AI生成ドキュメント(日本語・英語)
修正
- schemaパラメータの型注釈を修正(bool → str | None)
- 複数のPylint警告を修正
v1.8.7 - 2025-09-20
修正
- PyPIパッケージ修正
- ライセンスファイル更新
v1.8.6 - 2025-09-18
セキュリティ
- 重要: pickle逆シリアル化の脆弱性を修正
v1.8.5 - 2025-09-18
追加
- AI生成の包括的ドキュメント
- テストカバレッジの拡張
v1.8.4 - 2025-09-18
変更
- コード品質の向上
- 安定性の強化
v1.8.3 - 2025-09-18
追加
- 実験的セキュリティアップデート
v1.8.2 - 2025-09-15
修正
- Pythonバージョンサポートの修正
v1.8.1 - 2025-09-15
変更
- ファイル整理の改善
修正
- 各種バグ修正
v1.8.0 - 2025-09-13
追加
- メジャー: 初期安定版リリース
v1.7.3 - 2025-09-10
追加
- Pydantic統合
- WALモードサポート
- v2.0の準備
v1.3.7 - 2025-08-15
追加
- パフォーマンス改善
- 機能拡張
v1.3.3 - 2025-08-01
追加
- 初期実用版 - コア機能の確立
凡例
- 追加: 新機能
- 変更: 既存機能の変更
- 非推奨: 近い将来削除される機能
- 削除: 削除された機能
- 修正: バグ修正
- セキュリティ: セキュリティ関連の変更
- パフォーマンス: パフォーマンス改善