npm / chromadb
chromadb
What changed in chromadb 1, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-18.
5 breaking23 new APIs and options6 behavior and defaults13 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initchromadb 147 changes
Breaking changes 5
Callers must specify an output collection when using the statistics wrapper.
The JS client validates that an embedding function is provided when a sparse source key is set.
The Rust client type was renamed from ChromaClient to ChromaHttpClient.
The Rust client option default_database_name was renamed to database_name.
Limits users from setting index parameters.
New APIs and options 23
Cache types are now configurable.
Exposes host and port as CloudClient constructor parameters.
Adds CMEK support to storage, the compactor, the log service, and the collection schema.
Makes detach a Collection method.
Allows specifying multiple filter keys when retrieving statistics.
Adds a key parameter to filter statistics results.
The JS client adds getCollectionByCrn API support.
Adds sparse vector labels to the Python client.
Adds a Python wrapper API for the statistics function.
A Google GenAI embedding function is available.
A Nomic embedding function is available.
The Python client supports EF environment variables without a prefix.
The Python client adds keepalive and maximum-connection controls.
A Transformers.js embedding function is available with compatibility with Python.
A BM25 embedding function is added to Python, allowing developers to use it for embeddings.
Qwen was added to the list of JS packages.
The Rust client adds BM25 support.
Adds a chroma_cloud() constructor for ChromaClientOptions.
The Rust client adds delete_collection() for deleting a collection.
The Rust client adds get_collection() for retrieving a collection.
Makes get_tenant_id() public in the Rust client.
Schemas support the Key object.
The search API can embed query strings.
Behavior and default changes 6
Chroma Cloud embedding functions can obtain the API key from the client, or from a header when available for authentication.
The EF package is automatically loaded when installed.
The default embedding function is automatically loaded with a schema.
Makes get_database_name() public in the Rust client.
Rust client methods accept AsRef<str> instead of String or Into<String>.
Modifying a collection updates its schema.
Fixes and other changes 13
Supports blank tasks for ChromaCloudQwenEmbeddingFunction.
Read/write schema errors distinguish user errors, which return 400, from internal errors, which return 500.
The JS client returns error messages from the server, making server-side error details available to callers.
Embedding functions in schemas are validated.
Garbage collection now handles soft-deleted attached functions.
The TypeScript vector config source key now accepts Key.
Hydration is fixed for Qwen embedding functions that use custom prompts or tasks.
Fixed sparse autoembed queries on the search API.
Fixes the API path used by collection.modify() in the Rust client.
Fixes forking after it was disabled until request and response types matched.
The Python client exports hosted ef from utils.
Fixes sparse auto-embedding in the Python client.
The Rust client serializes Where clauses.