Change8

1.5.6

📦 chromaView on GitHub →
29 features🐛 13 fixes🔧 30 symbols

Summary

Version 1.5.6 introduces significant performance and stability enhancements, notably integrating BloomFilters for existence checks and improving WAL3 and garbage collection reliability. Documentation has also been updated across several areas, including S3 sync and query examples.

Migration Steps

  1. The change to consolidate JS client packages into a single chromadb package was reverted; no migration step needed based on the final state.

✨ New Features

  • Implemented 1 bit rabitq quantization.
  • Added ClientFactory for CompactorClient.
  • WAL3 now handles AlreadyExists alongside Precondition errors.
  • Added Spanner index for listing databases by tenant.
  • Added logic to get database name from get_collections_to_gc mcmr endpoint.
  • Added batch_get_collection_version_file_paths for MCMR.
  • JS Client now removes warnings when no EF is set.
  • Fixed log gc db name threading.
  • Added tracing to the GetAllCollectionsToCompact path.
  • Added mark_version_to_gc in MCMR.
  • Added default fallback for block max in sparse reader.
  • Added delete_collection_versions in MCMR.
  • Added finish_collection_deletion for MCMR.
  • Added MCMR batch_get_collection_soft_delete_status.
  • Added fork_count API endpoint to retrieve collection fork count.
  • Added CPU and IO core affinity for worker threads.
  • Improved scheduler job prioritization and capacity tracking for compactor.
  • Added HPA for rust-log-service.
  • Added generic BloomFilter abstraction for existence checks.
  • Wired BloomFilter into RecordSegmentWriter.
  • Updated bloom filter during apply_materialized_log_chunk.
  • Added BloomfilterManager abstraction.
  • JS Client now supports getting collection by ID.
  • Added region and database_id to operational billing events.
  • Passed Bloomfilter manager all the way to the writer.
  • Implemented policy to use bloom filter on read path and materialize logs use bloom filter.
  • Used bloom filter during materialize in operators.
  • Added timeout and threshold filtering for dirty logs in WAL3.
  • Added UUID fragment cleanup to garbage collection in WAL3.

🐛 Bug Fixes

  • Fixed tests for garbage collector panic on zero-attached function.
  • Fixed sysdb OTEL metrics service name.
  • Handled known dispatcher shutdown panic in GC tests.
  • Fixed commit block max for all dimensions.
  • Log service now returns not-found when requested log entries have been purged.
  • Handled AlreadyInitialized race in WAL3 writer open.
  • Skipped mark_version_for_deletion for collections with zero deletions in GC.
  • Fixed qwen EF return type.
  • WAL3 now returns correct log contention error variants.
  • GC now increases queue sizes and adds S3 timeouts.
  • Rebuilds should still refer to pre-existing record offset ids.
  • Fixed assertion in hnswlib integrity check.
  • Log service now retries intrinsic cursor update on precondition error.

Affected Symbols