Releases: lance-format/lance-context
Release list
v0.6.1
v0.6.0
What's Changed
- docs: add retrieval-quality eval example + examples index by @dcfocus in #122
- Design doc: native RolloutDB schema for lance-context by @beinan in #123
- Native RolloutRecord schema and RolloutStore for RL rollout storage by @beinan in #124
- Add rollout support to the remote store layer by @beinan in #125
- feat(rollout): MemWAL ingest with server-id sharding by @beinan in #126
Full Changelog: v0.5.1...v0.6.0
v0.5.1
What's Changed
- test: fix stale _DummyInner mock signatures in test_embeddings.py by @dcfocus in #120
- docs: design doc for offline memory consolidation (auto-dream) (#99) by @dcfocus in #114
- perf: lazy + projected payload reads (#116) by @dcfocus in #118
- feat: multi-modal embeddings + cross-modal retrieval (#117) by @dcfocus in #119
- feat: external media references — store large media by typed payload URI (#115) by @dcfocus in #121
Full Changelog: v0.5.0...v0.5.1
v0.5.0
lance-context v0.5.0
This release delivers an end-to-end post-training data pipeline and a retrieval-quality evaluation harness, together with write-path and performance improvements to the storage core. It is a backward-compatible feature release: all changes are additive, no public APIs were removed or modified, and no data migration is required when upgrading from v0.4.1.
Highlights
- Post-training data pipeline — curate stored context records into trainable datasets (SFT, preference, and RL-rollout) with reproducible, manifest-backed exports, group-disjoint train/eval splits, and optional dataset statistics.
- Retrieval-quality evaluation — measure recall@k, precision@k, MRR, nDCG@k, and hit-rate against labeled query sets, including cross-version A/B comparison.
- Bulk insert-or-replace by
external_idfor efficient, idempotent ingestion. - Sub-linear uniqueness validation, eliminating the prior O(n²) cost on incremental and bulk writes.
Post-training data pipeline
- Raw-log ingestion. Helpers to normalize raw logs into faithful
ContextRecords as the upstream stage of the pipeline. (#101) - Curation and export.
export_trainingproduces SFT, preference (DPO/SimPO/ORPO paired, KTO unpaired, and judge-ranked N-way), and RL-rollout (GRPO/RLVR groups) datasets as JSONL with a reproducible manifest. Curation performs lifecycle-correct filtering, semantic deduplication, decontamination against a holdout set, and reward thresholding. (#96, #111) - Reproducible train/eval split. Deterministic, group-disjoint partitioning (for example, by
session_id) prevents leakage across the train/eval boundary, with each side emitting its own manifest. (#103, #112) - Dataset statistics report. An optional statistics artifact summarizes example, role, source, and tenant counts; token-length distribution; per-group counts; curation exclusions by reason; and reward distribution. (#104, #113)
Retrieval and evaluation
- Evaluation harness.
evaluateandevaluate_versionscompute recall@k, precision@k, MRR, nDCG@k, and hit-rate over labeled query sets for both vector and hybrid retrieval, with per-metric cross-version deltas and reproducible, version-pinned reports. (#98, #110)
Write path
- Bulk upsert.
upsert_manyperforms insert-or-replace byexternal_idin a single operation, returning per-record results and composing with the indexed uniqueness validation below. (#102, #109)
Performance
- Indexed uniqueness validation. Full-dataset scans on write have been replaced with projected, index-accelerated lookups, removing the O(n²) cost of incremental and bulk appends while preserving existing collision semantics. (#100, #108)
New public APIs
Context.export_training(...)— curate and export trainable datasets (SFT / preference / rollout), with optional train/eval split and statistics.Context.evaluate(...)andContext.evaluate_versions(...)— retrieval-quality metrics and cross-version A/B evaluation.Context.upsert_many(...)— bulk insert-or-replace byexternal_id.
Equivalent capabilities are available in the Rust core (ContextStore) and, where applicable, the REST server and client.
Compatibility
This release is fully backward compatible with v0.4.1. All additions are additive; no existing public API has been removed or changed, and no data migration is required.
Full Changelog: v0.4.1...v0.5.0
v0.4.1
What's Changed
- ci: publish all Rust workspace crates by @dcfocus in #86
- feat: pluggable embedding provider registry by @dcfocus in #87
- feat: support deferred embedding via update/RecordPatch (#88) by @dcfocus in #93
- feat: expose filters and lifecycle options in REST list and search (#89) by @dcfocus in #92
- feat: expose state metadata in Python API by @xuzha in #91
- feat: add partitioned context namespace helper by @dcfocus in #94
- Add RemoteContext Python bindings for HTTP client by @beinan in #95
New Contributors
Full Changelog: v0.4.0...v0.4.1
v0.4.0
What's Changed
- feat: add record relationships by @dcfocus in #69
- fix: align Python version classifiers by @dcfocus in #71
- feat: add hybrid retrieval API by @dcfocus in #76
- feat: expose record parity APIs over REST by @dcfocus in #79
- feat: make embedding dimension configurable by @dcfocus in #78
- feat: add configurable vector-search distance metric by @dcfocus in #77
- feat: persist distance_metric in dataset schema metadata by @dcfocus in #83
- feat: add upsert and partial update APIs by @dcfocus in #84
Full Changelog: v0.3.3...v0.4.0
v0.3.3
What's Changed
Full Changelog: v0.3.2...v0.3.3
v0.3.2
What's Changed
Full Changelog: v0.3.1...v0.3.2
v0.3.1
What's Changed
- feat: add lifecycle retention filters by @dcfocus in #62
- Add REST API server, Rust client SDK, and point lookup by @beinan in #66
Full Changelog: v0.3.0...v0.3.1
v0.3.0
What's Changed
- docs: bump pypi example to 0.2.4 by @beinan in #40
- docs(example): add Claude Code E2E workflow by @beinan in #42
- ci: optimize build times with shared caching and streamlined workflows by @beinan in #43
- feat: generalize storage_options for GCS/Azure and any object_store backend by @dcfocus in #46
- Upgrade lance to 7.0.0 by @beinan in #47
- feat: integrate MemWAL for context storage by @beinan in #36
- Add multi-session MemWAL sharding example by @beinan in #48
- Add configurable V1 blob encoding for large payload columns by @beinan in #49
- Add configurable scalar index on id column by @beinan in #50
- fix: read context records through MemWAL scanner by @beinan in #51
- feat: support external record identifiers by @dcfocus in #57
- feat: add batch append API by @dcfocus in #58
- feat: add logical delete/forget API by @dcfocus in #59
- Add async Python API (AsyncContext) by @beinan in #61
- feat: add metadata filters for context retrieval by @dcfocus in #60
Full Changelog: v0.2.4...v0.3.0