Change8

1.0.16

📦 chromaView on GitHub →
25 features🐛 12 fixes🔧 9 symbols

Summary

This release introduces significant enhancements in observability, performance optimizations for fetching and garbage collection, and stricter validation on collection creation endpoints. It also updates error handling for billing issues in the JS client and refines tracing configurations.

Migration Steps

  1. If you rely on the HTTP status code 429 for GenericQuotaError, note that it has been changed to 422.
  2. If you are using the JavaScript client and handling 422 errors as ChromaConnectionError, update your error handling to expect QuotaExceeded instead.

✨ New Features

  • Added cache mount and tolerations to the garbage collector template in the Helm chart.
  • Added block-level metrics.
  • The /add endpoint now returns an error if embeddings are not provided.
  • The /add endpoint now requires embeddings and enforces a minimum embedding dimension.
  • Added dark mode support for the hero image.
  • Added a delete_many call to the storage API.
  • Consumed delete_many from the wal3 garbage collector.
  • Limited the number of concurrent get_all_block_ids() calls when using buffer_unordered().
  • Used the new delete_many() storage method in the DeleteUnusedFiles operator.
  • Enabled change notifier OpenTelemetry/tracing.
  • Added a pprof server to the query service.
  • Dedup inserts to the same key in foyer.
  • Added a tool for patching logs that were deleted before a new manifest was installed.
  • Added a tool to purge the cache.
  • Added pprof server to the compaction service.
  • Added hostname to cache metric.
  • Added an index on database_id, name on collections table in sysdb.
  • Optimized literal matching.
  • Added configuration to enable log GC for tenants.
  • Bumped GC delete batch size from 100 to 1,000.
  • Added counter metrics for S3 put/delete/delete_many operations.
  • Implemented Leader election for SysDB.
  • Added Dead letter queuing for compaction jobs.
  • Added NAC and dispatcher metrics.
  • Allow users to define null EFs on create collection.

🐛 Bug Fixes

  • Fixed a type error in batch_utils.
  • Refactored OpenTelemetry/tracing initialization in the frontend to be independent of the hosted entry point.
  • JavaScript client now handles 422 billing errors as QuotaExceeded instead of ChromaConnectionError.
  • RLS should use 32MB GRPC payload size limit.
  • Synchronized protoc arch and version in dockerfile.
  • Disabled aws stalled stream protection.
  • Improved wal3 robustness with better shutdown handling and error recovery.
  • Removed spammy log lines from rls/wal3.
  • Add billing errors to JS client.
  • Fixed s3 get metric name.
  • Enforced default limit on get when none is supplied.
  • Bumped helm chart version.

🔧 Affected Symbols

GenericQuotaErrorbatch_utilsotel/tracingwal3DeleteUnusedFiles operatorget_all_block_ids()foyercollections table (sysdb)RLS