chromadb 1.0.1
chromadb: ^1.0.1 copied to clipboard
Dart client for the ChromaDB vector database API - the open-source embedding database for AI applications.
1.0.1 #
1.0.0 #
Note: This release has breaking changes.
TL;DR: Complete reimplementation with a new architecture, minimal dependencies, unified resource-based API, and full ChromaDB v2 API coverage. Includes new Search API, Functions, multi-tenant management, automatic retry, and comprehensive exception handling.
What's new #
- Complete ChromaDB v2 API coverage: All endpoints implemented.
- Collections API: create, get, list, update, delete, count, fork.
- Records API: add, update, upsert, get, query, search, delete, count.
- Search API: Advanced hybrid search with filtering, grouping, ranking, and pagination.
- Functions API: attach, get, detach serverless functions.
- Multi-tenant: Full tenant and database management.
- Health API: heartbeat, version, pre-flight checks, healthcheck, reset.
- Auth API: User identity retrieval.
- Architecture:
- Interceptor chain (Auth → Logging → Error).
- Authentication: API key, Bearer token, custom OAuth via
AuthProvider. - Retry with exponential backoff + jitter (configurable
RetryPolicy). - Central
ChromaConfig(timeouts, retry policy, log level, baseUrl, tenant, database).
- High-level wrapper (
ChromaCollection):- Automatic embedding generation from documents, images, or URIs.
- Convenient query methods accepting text instead of embeddings.
- DataLoader interface for loading content from URIs.
- Input validation and error handling.
- Convenience constructors:
ChromaClient.local(),ChromaClient.withApiKey(). - Minimal dependencies: Only
httpandlogging. - Testing: 200+ unit tests covering models, resources, and error handling.
Breaking Changes #
- Resource-based API: Methods reorganized under strongly-typed resources:
client.health.*(heartbeat, version, healthcheck, reset)client.collections.*(low-level collection CRUD)client.records(collectionId).*(record operations)client.functions(collectionId).*(serverless functions)client.tenants.*,client.databases.*(multi-tenant)client.auth.*(identity)
- Configuration: New
ChromaConfigwithAuthProviderpattern (API key / bearer / custom). - Collection wrapper:
Collectionclass renamed toChromaCollection. - Metadata access:
collection.metadata→collection.metadata.metadatafor custom metadata. - Modify parameters:
name→newName,metadata→newMetadata. - Health methods moved:
client.heartbeat()→client.health.heartbeat(). - Return types: Primitives replaced with response objects (
HeartbeatResponse,VersionResponse). - Default includes changed:
get(),peek(),query()no longer include embeddings by default. - Exceptions: Replaced
ChromaApiClientExceptionwith typed hierarchy:ApiException,AuthenticationException,NotFoundException,ConflictException,RateLimitException,ServerException,ValidationException,TimeoutException,AbortedException.
See MIGRATION.md for step-by-step examples and mapping tables.
Commits #
- BREAKING FEAT: Complete v1.0.0 reimplementation (#9). (caae5d24)
- FEAT: Add support for custom HTTP headers (#20). (c1cc81cd)
- REFACTOR: Align client package architecture across SDK packages (#37). (cf741ee1)
- REFACTOR: Align API surface across all SDK packages (#36). (ed969cc7)
- DOCS: Pre-release documentation fixes (#43). (f16aab76)
- DOCS: Refactors repository URLs to new location. (76835268)
0.3.0 #
0.2.1 #
0.2.0+2 #
0.1.1 #
- Update a dependency to the latest release.
0.1.0 #
0.0.1-dev.1 #
- Bootstrap package.