Change8

1.0.9

📦 chromaView on GitHub →
19 features🐛 7 fixes🔧 4 symbols

Summary

Version 1.0.9 introduces significant enhancements to logging, query filtering (regex support), and operational stability with added retries and bug fixes. Key improvements focus on internal service resilience and configuration management, especially around SPANN integration.

Migration Steps

  1. If you were relying on the 'enable_set_index_params' setting and are using SPANN, note that this parameter is now removed and configuration is routed via SPANN.
  2. If you were previously passing an empty string for IDs during 'add' operations, this is now disallowed; ensure all IDs are non-empty strings.

✨ New Features

  • Added retry mechanism for add, update, and upsert operations.
  • Introduced NUM_REGEX_PREDICATES for regex handling.
  • When SPANN is enabled, HNSW configuration is now routed to SPANN, and 'enable_set_index_params' is removed.
  • Added an RPC on SysDB to retrieve the fork count for a collection.
  • Chroma-load will now skip authentication if no API key is present in the environment.
  • Added a route and tool to inspect the dirty log.
  • Changed rust-log-service to a stateful set.
  • Added caching to the rust log service.
  • Added support for literal expressions for regex operations.
  • Implemented a literal provider.
  • Wired up regex functionality within the filter operator.
  • Renamed the internal operator from $matches to $regex.
  • Added support for collections to shunt to the alternate log based on tenant.
  • Rust log service now uses the persistent cache.
  • Added error display for all log calls.
  • Added a quota limit on regex pattern length.
  • Metadata is now optional, allowing users to delete metadata via the Python client.
  • QuotaExceededError can now optionally include a descriptive message.
  • Implemented literal expression support for regex.

🐛 Bug Fixes

  • Fixed the CLI update command.
  • Retried chroma-load upserts when rate limited.
  • Restored a commented-out test.
  • Adjusted the ping-pong test for wal3 to use a longer timeout and fewer runs.
  • Bumped buggy dependencies to satisfy dependabot.
  • Fixed blockfile range scan issues.
  • Addressed a unique constraint violation when two writes contended for the collection table on the log.

🔧 Affected Symbols

enable_set_index_params$matches$regexQuotaExceededError