Releases: weaviate/java-client
6.2.0 - Server-Side Batching, Proxy, multi2multivec-weaviate, Drop Vector Index, Query Profiling
The new version brings support for a number of features introduced in Weaviate v1.36 and v1.37.
SSB
We are happy to announce that weaviate-java-client now features a client for the new Server-Side Batching protocol.
List<WeaviateObject<Map<String, Object>>> myObjects;
try (BatchContext<Map<String, Object>> batch = client.batch.start()) {
myObjects.forEach(batch::add);
} catch (InterruptedException e) { /* BatchContext is interruptible. */ }Proxy
Thanks to @fer-marino it is now possible to proxy your Weaviate connection and OIDC token-exchange requests.
Proxy proxy = new Proxy(
/* scheme */ "https",
/* host */ "example.com",
/* port */ 4505,
/* username */ "john_doe",
/* password */ "pa$$w0rd");
WeaviateClient.connectToLocal(conn -> conn.proxy(proxy));Third-party modules
The list of supported modules now includes multi2multivec-weaviate vectorizer.
The multi2vec-google module now also supports audio modality.
And more!
What's Changed
- test(oidc): fix assumption for client credentials test by @bevzzz in #544
- Add dedicated factory methods for Google Gemini vectorizer by @bevzzz in #545
- Server-side batching (SSB) by @bevzzz in #537
- test: Await batch items to be acked by @bevzzz in #549
- feat: integrate proxy support for REST/gRPC/OIDC and add new OIDC authentication grant by @fer-marino in #539
- Add audio modality to multi2vec-google vectorizers by @bevzzz in #548
- Support server-side query profiling by @bevzzz in #555
- chore(query): set alpha_param supported in the new server version by @bevzzz in #557
- Batch: Publish the total number of failed tasks by @bevzzz in #551
- feat(config): support dropping vector index by @bevzzz in #556
- Add MCP RBAC permission by @g-despot in #560
- ci: pin GitHub Actions to server SHAs by @mpartipilo in #563
- fix(config): initialize Stopwords with empty additions/removals lists by @bevzzz in #552
- feat(config): add baseURL parameter to Cohere reranker by @bevzzz in #558
- feat(config): add multi2multivec-weaviate module by @bevzzz in #559
- fix(config): read 'none' vector as its own index type by @bevzzz in #561
New Contributors
- @fer-marino made their first contribution in #539
Full Changelog: 6.1.0...6.2.0
6.1.0 - HFresh, Drop Index, Restore Cancelation, Async Replication Config
What's Changed
- Upgrade main branch to v6 by @bevzzz in #528
- Support new backup restore statuses by @parkerduckworth in #530
- chore(protocol): update protobufs by @bevzzz in #533
- chore(pom.xml): upgrade dependencies by @bevzzz in #534
- Update argument naming by @g-despot in #540
- Support canceling backup restore by @bevzzz in #535
- Async replication config for collections by @bevzzz in #538
- Add HFresh index configuration by @bevzzz in #541
- config: Drop property index by @bevzzz in #536
Full Changelog: 5.6.0...6.1.0
Artifact relocation
With v5.6.0 we are officially discontinuing our v5 client in favor of client6.
The artifact will be relocated and main branch updated to the tip of the now v6 branch.
The code for v5 will be available in the history and additionally in the v5 branch.
6.0.1
What's Changed
- v6: fix: serialize vectorizer sourceProperties to properties by @antas-marcin in #520
- v6: Add zstd comp options to enum by @databyjp in #517
Full Changelog: 6.0.0...6.0.1
6.0.0
What's Changed
- v6: Collection management and near vector search by @bevzzz in #362
- v6: Aggregate API by @bevzzz in #364
- v6: Cross-references in collection definition and queries by @bevzzz in #368
- v6: Implement feedback from Iteration I by @bevzzz in #381
- v6: Add async client to gRPC endpoints (query /aggregate) by @bevzzz in #383
- v6: Refactor REST endpoints and JSON de-/serialization by @bevzzz in #387
- v6: Filters and fetchObjects query by @bevzzz in #388
- v6: Authorization and connection helpers by @bevzzz in #389
- v6: add BM25 query by @bevzzz in #390
- v6: fix async toolchain by @bevzzz in #392
- v6: Add, replace, and delete object references by @bevzzz in #393
- v6: list, deleteAll, exists methods for
collectionsnamespace by @bevzzz in #394 - v6: Add missing
datamethods by @bevzzz in #395 - v6: NearObject, Near, and Hybrid queries by @bevzzz in #396
- v6: Complete collection configuration and missing
configfunctionality by @bevzzz in #397 - v6: Get and update shard status by @bevzzz in #401
- v6: Batch Operations (InsertMany, DeleteMany, AddReferencesMany) by @bevzzz in #400
- v6: Improved configuration options for WeaviateClient(-Async) by @bevzzz in #407
- v6: Create vector index Vectorizer-first style by @bevzzz in #406
- v6: Pagination by @bevzzz in #399
- v6: Update release configuration by @bevzzz in #408
- v6: Start MockServer on a random port by @bevzzz in #417
- v6: Add
limitto GroupBy parameter in Aggregate queries by @bevzzz in #416 - Fix incorrect httpPort assignment and other issues in
src/main/java/io/weaviate/client6/v1/api/Config.javaby @yazan-abu-obaideh in #426 - v6: add CollectionHandle
.size()shortcut by @bevzzz in #432 - v6: Remaining metadata fields by @bevzzz in #434
- v6: Use float[] instead of Float[] for vectors by @bevzzz in #428
- fix(v6): add defensive checks to JSON deserialization by @bevzzz in #435
- v6: Custom TrustStore by @bevzzz in #427
- 🔒 chore(v6): upgrade all dependencies to their latest stable versions by @bevzzz in #431
- v6: include a shaded version of client6 in deployment bundle by @bevzzz in #429
- v6: Relocate gRPC dependencies in a shaded library version by @bevzzz in #439
- v6: Throw WeaviateApiException for error status codes by @bevzzz in #437
- v6: Release SNAPSHOT versions by @bevzzz in #446
- v6: make b/k1 params in invertedIndex::bm25 type
floatby @bevzzz in #447 - v6: Per-collection-handle tenant by @bevzzz in #445
- v6: Extend supported data types by @bevzzz in #448
- v6: Support OIDC authentication by @bevzzz in #438
- v6: Support aliases by @bevzzz in #449
- v6: update dependencies by @bevzzz in #451
- v6: Add
sourcePropertiesto text-based vectorizers by @bevzzz in #450 - v6: Add sorting to
query.fetchObjectsby @bevzzz in #460 - v6: Per-property tokenization method by @bevzzz in #462
- v6: Metadata fields by @bevzzz in #463
- v6: Implement users' feedback by @bevzzz in #461
- v6: ORM by @bevzzz in #459
- v6: Support ContainsNone and Not operators by @bevzzz in #469
- v6: Fix copying / collecting maps with null values by @bevzzz in #470
- v6: Update README.md and write Javadoc by @bevzzz in #468
- v6: Assertions by @bevzzz in #471
- v6: Handle missing properties in ORM scanning by @bevzzz in #472
- v6: Drop flaky test by @bevzzz in #476
- fix: remove typos in PQ config and add unit tests by @bevzzz in #475
- v6: RBAC by @bevzzz in #474
- v6: Nested object properties by @bevzzz in #477
- v6: Backups by @bevzzz in #473
- Relocate slf4j dependencies by @Dabz in #483
- v6: Relocate SLF4J by @bevzzz in #484
- v6: Target vectors by @bevzzz in #482
- v6: Generative queries + Dynamic RAG by @bevzzz in #485
- v6: Dynamic vector index configuration by @bevzzz in #488
- v6: Reranker modules by @bevzzz in #490
- v6: PhoneNumber and GeoCoordinates types by @bevzzz in #489
- v6: Cluster/Nodes API by @bevzzz in #487
- v6: Sort listed backups by starting time by @bevzzz in #494
- v6: Replication API by @bevzzz in #495
- v6: Vectorizer modules config by @bevzzz in #492
- v6: DevEx feedback by @bevzzz in #496
- v6: use clientId from OIDC config on the server by @bevzzz in #499
- Rename generated, autocut, byId and module parameters by @g-despot in #500
- v6: Rename
wheretofilterby @g-despot in #501 - Add support voyageAI dimensions by @databyjp in #504
- v6: Rename dynamic to generative by @g-despot in #507
- v6: gRPC max message size by @bevzzz in #498
- v6: Update return types and rename object deletion by @g-despot in #509
- v6: Missing filters by @bevzzz in #505
- v6: Bugfixes and minor improvements by @bevzzz in #508
- v6: Simplify WeaviateObject interface by @bevzzz in #503
- v6: Update to latest Weaviate versions by @g-despot in #510
- v6: Enforce minimal server version by @bevzzz in #493
- v6: Guard against
nullQuantizer in config update by @bevzzz in #512 - Add
dimensionsparameters to cohere vectorizers by @databyjp in #511 - v6: Re-unite Read-/WriteWeaviateObject by @bevzzz in #513
- Migrate oidc AUTH tests to descope by @dirkkul in #514
- v6: Remove chunk size from backups by @g-despot in #515
- Model provider code updates by @databyjp in #516
New Contributors
- @yazan-abu-obaideh made their first contribution in #426
- @Dabz made their first contribution in #483
- @g-despot made their first contribution in #500
- @databyjp made their first contribution in #504
Full Changelog: 5.5.0...6.0.0
6.0.0-RC2
6.0.0-RC1
What's Changed
- v6: use clientId from OIDC config on the server by @bevzzz in #499
- Rename generated, autocut, byId and module parameters by @g-despot in #500
- v6: Rename
wheretofilterby @g-despot in #501 - Add support voyageAI dimensions by @databyjp in #504
- v6: Rename dynamic to generative by @g-despot in #507
- v6: gRPC max message size by @bevzzz in #498
- v6: Update return types and rename object deletion by @g-despot in #509
- v6: Missing filters by @bevzzz in #505
- v6: Bugfixes and minor improvements by @bevzzz in #508
- v6: Simplify WeaviateObject interface by @bevzzz in #503
- v6: Update to latest Weaviate versions by @g-despot in #510
- v6: Enforce minimal server version by @bevzzz in #493
New Contributors
Full Changelog: 6.0.0-M2...6.0.0-RC1
6.0.0-M2 - Generative Search, RBAC, Multi-Target Queries, Vectorizer Modules, Backups
With this release we consider the client to be generally feature-complete and ready for productive usage.
Compared to v5, this client only lacks the Batch API, which will be added as soon as Server-Side Dynamic Batching obtains the GA status.
In this iteration we've added support for a whole host of new features:
- All vectorizer, generative, and reranker modules available in Weaviate as of
v1.33are available inclient6(except for the deprecated ones) - Generative search and Dynamic RAG
- Support for multiple query targets in
query,aggregate, andgeneratenamespaces - Backups, Replication, and Cluster+Nodes APIs
- Nested objects, PhoneNumber, and GeoCoordinates data types
- Filtered pagination!
- Many smaller improvements to align with other client libraries
Got no plans this weekend? Update your pom.xml / build.gradle to use 6.0.0-M2 and have a go at the new APIs!
Soundtrack 🎧
What's Changed
- v6: Drop flaky test by @bevzzz in #476
- fix: remove typos in PQ config and add unit tests by @bevzzz in #475
- v6: RBAC by @bevzzz in #474
- v6: Nested object properties by @bevzzz in #477
- v6: Backups by @bevzzz in #473
- Relocate slf4j dependencies by @Dabz in #483
- v6: Relocate SLF4J by @bevzzz in #484
- v6: Target vectors by @bevzzz in #482
- v6: Generative queries + Dynamic RAG by @bevzzz in #485
- v6: Dynamic vector index configuration by @bevzzz in #488
- v6: Reranker modules by @bevzzz in #490
- v6: PhoneNumber and GeoCoordinates types by @bevzzz in #489
- v6: Cluster/Nodes API by @bevzzz in #487
- v6: Sort listed backups by starting time by @bevzzz in #494
- v6: Replication API by @bevzzz in #495
- v6: Vectorizer modules config by @bevzzz in #492
- v6: DevEx feedback by @bevzzz in #496
New Contributors
Full Changelog: 6.0.0-M1...6.0.0-M2
6.0.0-M1 - ORM, Aliases, OIDC, Sort, Tenants, Tokenization
Join us in celebrating our first milestone release! ◝(ᵔᵕᵔ)◜
This release includes many fixes and feedback points we've received from our early users and adds support for several collection-management APIs, like Aliases and Tenants. Furthermore, we're introducing our minimal ORM to let you read and write Weaviate objects into native Java records.
We've updated our README and written a lot of Javadoc. Check them out to learn more about using the new features.
What's Changed
- v6: Release SNAPSHOT versions by @bevzzz in #446
- v6: make b/k1 params in invertedIndex::bm25 type
floatby @bevzzz in #447 - v6: Per-collection-handle tenant by @bevzzz in #445
- v6: Extend supported data types by @bevzzz in #448
- v6: Support OIDC authentication by @bevzzz in #438
- v6: Support aliases by @bevzzz in #449
- v6: update dependencies by @bevzzz in #451
- v6: Add
sourcePropertiesto text-based vectorizers by @bevzzz in #450 - v6: Add sorting to
query.fetchObjectsby @bevzzz in #460 - v6: Per-property tokenization method by @bevzzz in #462
- v6: Metadata fields by @bevzzz in #463
- v6: Implement users' feedback by @bevzzz in #461
- v6: ORM by @bevzzz in #459
- v6: Support ContainsNone and Not operators by @bevzzz in #469
- v6: Fix copying / collecting maps with null values by @bevzzz in #470
- v6: Update README.md and write Javadoc by @bevzzz in #468
- v6: Assertions by @bevzzz in #471
- v6: Handle missing properties in ORM scanning by @bevzzz in #472
Full Changelog: 6.0.0-beta4...6.0.0-M1
5.5.0 - RBAC Groups, ContainsNone and Not Filters
What's Changed
- chore: update dependencies by @bevzzz in #452
- test: add unit test for batch reply unmarshalling by @bevzzz in #453
- feat: add ContainsNone operator by @bevzzz in #455
- feat: add
overwriteAliasto backup restore by @bevzzz in #454 - feat: add 'groups' namespace by @bevzzz in #456
Full Changelog: 5.4.0...5.5.0