codewithkyrian/chromadb-php
PHP client for ChromaDB, making it easy to create collections, add and query embeddings, and manage documents/metadata from your Laravel or PHP apps. Lightweight API wrapper to integrate vector search and retrieval workflows without leaving PHP.
This release represents a complete overhaul of the ChromaDB PHP client to support Chroma v1.0 and the Chroma v2 API. The package has been refactored with modern PHP standards, improved type safety, and enhanced developer experience.
ChromaDB::cloud() helper method for easy Chroma Cloud connectionsRecord and ScoredRecord classes for structured data handlingRecord::make('id')->withDocument('text')->withMetadata(['key' => 'value'])add, update, upsert) now accept arrays of Record objectsget, query) can convert results to records via asRecords()Where query builder for filteringWhere::field('category')->eq('news')Where::document()->contains('text')Where::all(), Where::any()Includes enum for specifying response fieldsChromaDB::local() helper method for local/self-hosted instancesCollectionResource wrapper - Collection is now the direct resourcelistCollections() can be used immediatelyChromaDB::client() is deprecated - use ChromaDB::local()->connect() or ChromaDB::factory()->connect() insteadChromaDB::reset() static method removed - use $client->reset() instance method insteadFactory::withAuthToken() is deprecated - use Factory::withHeader('X-Chroma-Token', $token) insteadFactory::withHttpClient() method removed - HTTP client is now auto-discovered via PSR-18CollectionResource class removed - Collection is now the direct resource modellistCollections() now returns Collection[] instead of CollectionResource[]ChromaNotFoundException → NotFoundExceptionChromaConnectionException → ConnectionExceptionChromaValueException → ValueExceptionChromaUniqueConstraintException → UniqueConstraintExceptionChromaDimensionalityException → DimensionalityExceptionChromaInvalidCollectionException → InvalidCollectionExceptionChromaTypeException → TypeExceptionChromaInvalidArgumentException → InvalidArgumentExceptionGenerated\Exceptions to ExceptionsChromaException::throwSpecific() to ChromaException::create()ChromaApiClient class removed - replaced with Api classguzzlehttp/guzzle moved from require to require-dev - package now requires PSR-18/PSR-17 compatible HTTP clients (auto-discovered)composer.json to require ^1.0ChromaDB::client() with ChromaDB::local()->connect()withAuthToken() with withHeader('X-Chroma-Token', $token)ChromaDB::reset() with $client->reset()Thank you to all contributors and users who provided feedback during the development of this major release.
Full Changelog: https://github.com/CodeWithKyrian/chromadb-php/compare/0.4.0...1.0.0
Full Changelog: https://github.com/CodeWithKyrian/chromadb-php/compare/0.3.0...0.4.0
Full Changelog: https://github.com/CodeWithKyrian/chromadb-php/compare/v0.2.1...0.3.0
Full Changelog: https://github.com/CodeWithKyrian/chromadb-php/compare/v0.2.0...v0.2.1
Full Changelog: https://github.com/CodeWithKyrian/chromadb-php/compare/v0.1.0...v0.2.0
These highlights showcase the foundational features and capabilities introduced in the inaugural release, laying the groundwork for a robust and efficient ChromaDB PHP client.
Refer to our documentation or README for guidance on getting started with this release.
How can I help you explore Laravel packages today?