Changelog

Stay up to date with the latest updates and releases from Chroma

Jul 1, 2025SDKs

Up to 70% increase in data throughput

Throughput bar chart

Update to Chroma’s Python 1.0.13 and JavaScript 3.0.5 clients to see up to 70% increased throughput on collection.add, .update, and .upsert calls.

The clients communicate with Chroma via JSON over HTTP, so by changing the serialization format to encode vectors into base64, we were able to see payload sizes decrease by 45%. This, along with faster JSON deserialization, deliver up to 70% more throughput when inserting embeddings to Chroma Cloud.

The server supports both formats, and automatically detects the type by inspecting JSON fields, meaning previous clients continue to work and do not have to upgrade.

These changes are available now on Chroma Cloud. To take advantage on single-node Chroma, upgrade the server to 1.0.13 or newer.

Jun 25, 2025Chroma Cloud

Launching regex search support

You can now search in Chroma using regular expressions.

Regex search enables you to:

Use caseExample regex
Identify function calls in code\b\w+\(
Find email addresses inside any document[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}
Extract TODO comments in codeTODO[: ]
Locate US phone numbers\(?\d{3}\)?[-.\s]?\d{3}[-.\s]?\d{4}
Check for URLshttps?://[^\s]+

API#

To run a regex search, apply the $regex or $not_regex operator on the where_document field in a .query or .get.

Example#

Here is an example in Python:

python

Regex support is also now directly supported in the Chroma Cloud UI.

Regex demo in Chroma Cloud

(This example searches for numbers with significant digits)

Learn more on the Chroma docs →

Jun 20, 2025SDKs

JavaScript Client V3

We just published a rewrite of our JavaScript/TypeScript client focused on decreasing bundle size and improving DX.

To install, use your package manager to update to the latest 3.* version of chromadb:

  • npm install chromadb@^3
  • pnpm add chromadb@^3
  • bun add chromadb@^3

Some changes to note:

  • The arguments for client initialization now match our Python client.
  • Chroma Cloud users can easily connect using the new CloudClient.
  • Embedding functions are no longer bundled, and must be individually installed. To use the default embedding function, install @chroma-core/default-embed.

Noteworthy improvements:

  • The new library has a much smaller bundle size.
  • It is now Deno compatible.
  • Easier to deploy on serverless providers like Vercel (Recommended to use with hosted embedding providers like OpenAI or Voyage AI instead of default embedding function).
  • The .rows() method on get and query results, returns an array of row-format records for easier iteration.
  • Pass a type argument to get and query operations to define the shape of your metadata and improve type inference.

For a full overview, check out this video:

Learn more on the Chroma Docs.

If you have any questions, problems, or feedback - open an issue on Github or email us at support@trychroma.com.