Skip to content

変更履歴

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

追加

  • 初期実用版 - コア機能の確立

凡例

  • 追加: 新機能
  • 変更: 既存機能の変更
  • 非推奨: 近い将来削除される機能
  • 削除: 削除された機能
  • 修正: バグ修正
  • セキュリティ: セキュリティ関連の変更
  • パフォーマンス: パフォーマンス改善