1.2.2
Breaking Changes📦 chromaView on GitHub →
⚠ 5 breaking✨ 14 features🐛 12 fixes🔧 11 symbols
Summary
Version 1.2.2 introduces major enhancements and refactoring to the Rust client, including renaming core types and adding features like BM25 support. This release also resolves several critical bugs related to request types, schema population, and API paths.
⚠️ Breaking Changes
- The Rust client class `ChromaClient` has been renamed to `ChromaHttpClient`. Users must update their instantiation code.
- The Rust client field `default_database_name` has been renamed to `database_name`. Update usage accordingly.
- The Rust client's `create_collection()` method now expects `schema` instead of `config` for configuration related to schema.
- Merge conflict caused renaming of `ChromaClientError`. Users relying on this specific error type might need to check the new name.
- Removed v1 of garbage collection. If you were explicitly using v1 GC APIs, they are now gone.
Migration Steps
- If using the Rust client, rename usages of `ChromaClient` to `ChromaHttpClient`.
- If using the Rust client, update usages of `default_database_name` to `database_name`.
- When calling `create_collection()` in the Rust client, pass schema configuration where config was previously expected.
- Review code for usage of the renamed `ChromaClientError` if applicable.
✨ New Features
- Added `chroma_cloud()` constructor for `ChromaClientOptions`.
- Rust client now accepts `AsRef<str>` instead of `String`/`Into<String>` for all methods.
- Added `collection.modify()` method to the Rust client.
- Added BM25 support for the Rust client.
- Added SysDB functionality for TaskRunner support.
- Added Rust task client and execution operators.
- Embed query strings in the search API.
- Added support for `Key` object in schema.
- Added schema reconciliation to `get_collection_by_crn`.
- Added schema support to the JS client.
- Added builders for `SearchPayload`.
- Added schema helpers for the Rust client.
- Python client cleanup: export hosted ef from utils and fix sparse auto-embed.
- Control how far into the future s3heap scans.
🐛 Bug Fixes
- Disabled fork functionality until request types match response types.
- Fixed forking issues.
- Used proper request types for on-the-wire communication.
- Fixed database resolution in the Rust client.
- Fixed merge conflict that renamed `ChromaClientError`.
- Removed `chroma` crate from the default tracing list.
- Fixed schema errors cleanup.
- Fixed collection.modify() API path in the Rust client.
- Prevented persisting HNSW to disk when `direct_hnsw` is enabled.
- Fixed default create path when no config or schema is provided, ensuring default `ef` is populated in the schema.
- Fixed typo in `collection_upsert()` handler: AuthzAction::Update changed to Upsert.
- Caught panic when applied migration exceeds source migrations in sqlite.
🔧 Affected Symbols
ChromaClientChromaHttpClientdefault_database_namedatabase_namecollection.modify()ChromaClientErrorcreate_collection()collection_upsert()AuthzAction::UpdateSearchPayloadget_collection_by_crn