Releases: cool-japan/oxistore
Releases · cool-japan/oxistore
OxiStore 0.1.2 Release
[0.1.2] - 2026-06-10
Added
oxistore-encrypt:AwsLcOxistoreAead— newoxicrypto-aws-lcfeature gate exposingAwsLcOxistoreAead(bridge adaptingoxicrypto-adapter-aws-lcAEADs to theoxistore_encrypt::aead::Aeadtrait). 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_compatintegration test — 118 cases verifying end-to-endput+getround trips, ciphertext opacity, and authentication-failure detection for all three aws-lc-rs AEAD variants.oxistore-encrypt:encrypt_over_oxisql_poolintegration test — validatesEncryptedKvwrapping 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-lcfeature flag, makingoxicryptoa 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
[0.1.1] - 2026-06-04
Added
oxistore-kv-redb:TypedRedbTable— type-safe wrapper aroundRedbStorethat serialises keys and values viaserde_json, plusRedbIterfor 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 aFjallStorefrom a caller-ownedDatabasehandle, useful when the caller manages the fjallDatabaselifecycle 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 aRateLimitedWriterthat 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 fjallCompressionPolicy::allAPI.oxistore-kv-sled:SledModeenum (LowSpace/HighThroughput) exposing sled space-vs-throughput trade-off as a first-class type.oxistore-kv-sled:TypedSledStore<K, V>(behindtypedfeature) — serde-based typed wrapper aroundSledStorewithput_typed/get_typedmethods.oxistore-kv-sled:SledStoreBuilder::modeandSledStoreBuilder::segment_sizebuilder methods.oxistore-kv-sled:SledStore::flush_with_reclaim— combines a durableflush_syncwith asize_on_diskquery so callers can observe GC progress in one call.oxistore-cache:ColumnarRowGroupCache(behindcolumnarfeature) — bounded LRU cache of serialised Parquet row groups; includesload_row_group,load_row_group_with_ttl,warm_from_table,invalidate_file, andget_as_batch.oxistore-cache:SqlQueryCache,SqlPlanCache, andCachedQueryRunner(behindsqlfeature) — LRU-backed caches for SQL query results and prepared statement plans fromoxisql-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::BlobStoreforLocalBlobStoreandMemoryBlobStore;impl From<BlobError> for StoreError.oxistore-encrypt:KeyringKeyfully wired to OS credential store (macOS Keychain, Linux secret-service, Windows Credential Manager) behindos-keyringfeature.oxistore-encrypt:serdefeature enablingSerialize/DeserializeforCellId.- Workspace:
oxisql-coreadded as workspace dependency;tokioworkspace dependency expanded.
Changed
oxistore-kv-fjall:KvStore::flushnow issuesPersistMode::SyncAll(full fsync) for durability guarantees.oxistore-kv-fjall:KvSnapshot::rangeis now lazy — reduces memory usage for wide scans.oxistore-cache:blob,columnar, andsqlare now distinct feature flags;async-helpersadded as an opt-in.oxistore-encrypt:KeyringKeyDebugimplementation redacted — key material never exposed in debug output.- All 13 workspace crates bumped to version
0.1.1in lockstep.
Full Changelog: v0.1.0...v0.1.1