Skip to content

Releases: cool-japan/oxistore

OxiStore 0.1.2 Release

11 Jun 00:43

Choose a tag to compare

[0.1.2] - 2026-06-10

Added

  • oxistore-encrypt: AwsLcOxistoreAead — new oxicrypto-aws-lc feature gate exposing AwsLcOxistoreAead (bridge adapting oxicrypto-adapter-aws-lc AEADs to the oxistore_encrypt::aead::Aead trait). Supports AES-256-GCM-SIV, AES-256-GCM, and ChaCha20-Poly1305 via FIPS-validated aws-lc-rs; default features remain 100% Pure Rust.
  • oxistore-encrypt: oxicrypto_aws_lc_compat integration test — 118 cases verifying end-to-end put + get round trips, ciphertext opacity, and authentication-failure detection for all three aws-lc-rs AEAD variants.
  • oxistore-encrypt: encrypt_over_oxisql_pool integration test — validates EncryptedKv wrapping a pooled SQL connection (oxisql-pool) with transparent per-value encryption.

Changed

  • Dependency inversion (2026-06-05): The aws-lc-rs AEAD bridge re-homed here under the oxicrypto-aws-lc feature flag, making oxicrypto a pure leaf crate with no upward coupling to the storage layer.
  • All 13 workspace crates bumped to version 0.1.2.

Test coverage: 1004 tests passing, 4 skipped across 13 crates.

Full Changelog: v0.1.1...v0.1.2

OxiStore 0.1.1 Release

04 Jun 15:13

Choose a tag to compare

[0.1.1] - 2026-06-04

Added

  • oxistore-kv-redb: TypedRedbTable — type-safe wrapper around RedbStore that serialises keys and values via serde_json, plus RedbIter for lazy iteration over typed results.
  • oxistore-kv-redb: RedbStore::put_returning_old / delete_returning_old — atomic read-and-write / read-and-delete helpers that return the previous value in a single transaction.
  • oxistore-kv-redb: RedbStore::open_with_recovery — opens an existing database and, on corruption, transparently recreates it; returns a (store, repaired) pair so callers can log the recovery event.
  • oxistore-kv-fjall: FjallStore::open_in_memory — opens an ephemeral store in a unique temporary directory; intended for tests and short-lived workloads.
  • oxistore-kv-fjall: FjallStore::from_database — constructs a FjallStore from a caller-owned Database handle, useful when the caller manages the fjall Database lifecycle directly.
  • oxistore-kv-fjall: FjallStore::put_returning / delete_returning — non-atomic read-then-write / read-then-delete helpers returning the displaced value.
  • oxistore-kv-fjall: FjallStore::rate_limiter — returns a RateLimitedWriter that enforces a software token-bucket write rate limit between every N puts/deletes.
  • oxistore-kv-fjall: FjallStoreBuilder::compression_type — configures per-keyspace data-block compression via the fjall CompressionPolicy::all API.
  • oxistore-kv-sled: SledMode enum (LowSpace / HighThroughput) exposing sled space-vs-throughput trade-off as a first-class type.
  • oxistore-kv-sled: TypedSledStore<K, V> (behind typed feature) — serde-based typed wrapper around SledStore with put_typed / get_typed methods.
  • oxistore-kv-sled: SledStoreBuilder::mode and SledStoreBuilder::segment_size builder methods.
  • oxistore-kv-sled: SledStore::flush_with_reclaim — combines a durable flush_sync with a size_on_disk query so callers can observe GC progress in one call.
  • oxistore-cache: ColumnarRowGroupCache (behind columnar feature) — bounded LRU cache of serialised Parquet row groups; includes load_row_group, load_row_group_with_ttl, warm_from_table, invalidate_file, and get_as_batch.
  • oxistore-cache: SqlQueryCache, SqlPlanCache, and CachedQueryRunner (behind sql feature) — LRU-backed caches for SQL query results and prepared statement plans from oxisql-core.
  • oxistore-cache: get_or_insert_async / get_or_insert_async_tokio — async cache-aside helpers.
  • oxistore-blob: LocalBlobStore::with_temp_cleanup / cleanup_temp_files — cleanup helpers for interrupted write sessions.
  • oxistore-blob: impl oxistore_core::BlobStore for LocalBlobStore and MemoryBlobStore; impl From<BlobError> for StoreError.
  • oxistore-encrypt: KeyringKey fully wired to OS credential store (macOS Keychain, Linux secret-service, Windows Credential Manager) behind os-keyring feature.
  • oxistore-encrypt: serde feature enabling Serialize/Deserialize for CellId.
  • Workspace: oxisql-core added as workspace dependency; tokio workspace dependency expanded.

Changed

  • oxistore-kv-fjall: KvStore::flush now issues PersistMode::SyncAll (full fsync) for durability guarantees.
  • oxistore-kv-fjall: KvSnapshot::range is now lazy — reduces memory usage for wide scans.
  • oxistore-cache: blob, columnar, and sql are now distinct feature flags; async-helpers added as an opt-in.
  • oxistore-encrypt: KeyringKey Debug implementation redacted — key material never exposed in debug output.
  • All 13 workspace crates bumped to version 0.1.1 in lockstep.

Full Changelog: v0.1.0...v0.1.1

OxiStore 0.1.0 Release

02 Jun 01:04

Choose a tag to compare