Skip to content

Releases: weaviate/java-client

6.0.1

03 Dec 11:46

Choose a tag to compare

What's Changed

Full Changelog: 6.0.0...6.0.1

6.0.0

28 Nov 12:01
45787aa

Choose a tag to compare

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 collections namespace by @bevzzz in #394
  • v6: Add missing data methods by @bevzzz in #395
  • v6: NearObject, Near, and Hybrid queries by @bevzzz in #396
  • v6: Complete collection configuration and missing config functionality 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 limit to 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.java by @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 float by @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 sourceProperties to text-based vectorizers by @bevzzz in #450
  • v6: Add sorting to query.fetchObjects by @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 where to filter by @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 null Quantizer in config update by @bevzzz in #512
  • Add dimensions parameters 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

Full Changelog: 5.5.0...6.0.0

6.0.0-RC2

25 Nov 18:18
49141db

Choose a tag to compare

6.0.0-RC2 Pre-release
Pre-release

What's Changed

  • v6: Guard against null Quantizer in config update by @bevzzz in #512
  • Add dimensions parameters to cohere vectorizers by @databyjp in #511
  • v6: Re-unite Read-/WriteWeaviateObject by @bevzzz in #513

Full Changelog: 6.0.0-RC1...6.0.0-RC2

6.0.0-RC1

25 Nov 18:16
e0fe030

Choose a tag to compare

6.0.0-RC1 Pre-release
Pre-release

What's Changed

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

07 Nov 13:31
50b2068

Choose a tag to compare

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:

  1. All vectorizer, generative, and reranker modules available in Weaviate as of v1.33 are available in client6 (except for the deprecated ones)
  2. Generative search and Dynamic RAG
  3. Support for multiple query targets in query, aggregate, and generate namespaces
  4. Backups, Replication, and Cluster+Nodes APIs
  5. Nested objects, PhoneNumber, and GeoCoordinates data types
  6. Filtered pagination!
  7. 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 🎧

Megadeth - Mission To Mars

What's Changed

New Contributors

  • @Dabz made their first contribution in #483

Full Changelog: 6.0.0-M1...6.0.0-M2

6.0.0-M1 - ORM, Aliases, OIDC, Sort, Tenants, Tokenization

29 Sep 08:01
3be4d45

Choose a tag to compare

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

Full Changelog: 6.0.0-beta4...6.0.0-M1

5.5.0 - RBAC Groups, ContainsNone and Not Filters

26 Sep 23:39
61f4fc3

Choose a tag to compare

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 overwriteAlias to backup restore by @bevzzz in #454
  • feat: add 'groups' namespace by @bevzzz in #456

Full Changelog: 5.4.0...5.5.0

6.0.0-beta4 - Error Handling

13 Aug 14:38
e34e09a

Choose a tag to compare

Pre-release

This release introduces several exception types to facilitate error handling and propagation when working with client6.

For example, most of the methods which result in calling one of Weaviate's public APIs (REST and gRPC) will throw WeaviateApiException if an error response code is returned. You can get more information about the underlying error by calling its public methods, e.g. .httpStatusCode() or .getError().

Errors which occur during pagination are wrapped in PaginationException, which contains the information necessary to resume pagination.

try {
    things.paginate().forEach(page -> {...});
} catch (PaginationException e) {
    if (e.getCause() instanceof TimeoutException) {
        // There was a network latency spike, let's continue after a brief pause
        Thread.sleep(100);
        things.paginate(p -> p.fromCursor(e.getCursor()))
            .forEach(page -> {...});
    }
}

Finally, use WeaviateException to catch any exceptions thrown by Weaviate client.

Notice too, that checked IOException which all synchronous methods throw must be handled separately. They indicate errors that are not specific to Weaviate, such as bad network, failed TLS handshakes, etc.

Minor improvements

Starting with beta4, the shaded version of the library published under all classifier will have all of it's gRPC dependencies (io.grpc.* and com.google.protobuf.*) relocated to avoid version conflicts with user's own dependencies.

What's Changed

  • v6: Relocate gRPC dependencies in a shaded library version by @bevzzz in #439
  • v6: Throw WeaviateApiException for error status codes by @bevzzz in #437

Full Changelog: 6.0.0-beta3...6.0.0-beta4

6.0.0-beta3 - Custom TrustStore, Fat JARs, Metadata Fields

31 Jul 12:42
2e61110

Choose a tag to compare

This iteration is all about QoL improvements:

Efficient vectors. We switched to float[] for representing embeddings to make the client more memory-efficient and GC-friendly.
Custom TrustStore. Users which manage their own SSL certificates can teach the client about them by passing a TrustManagerFactory.
Do more with less. Use collection.size() convenience method to count all objects in the collection idiomatically.
Complete metadata. Request score and explainScore metadata for Hybrid / BM25 queries.
Go big or go home. Every release comes with a shaded version of the lib, for users packaging their applications in uber-JARs.

What's Changed

  • v6: Start MockServer on a random port by @bevzzz in #417
  • v6: Add limit to 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.java by @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

New Contributors

Full Changelog: 6.0.0-beta2...6.0.0-beta3

5.4.0

23 Jul 10:51
88bdd7e

Choose a tag to compare

This release adds support for these Weaviate v1.32 features:

  • Collection alias: manage collection aliases and associated RBAC permissions-
  • Rotational Quantization: enable RQ in collection configuration
  • RBAC Restore Options: control if roles and db-users should be included in backup restores
  • Replication API: balance the load on the cluster nodes by moving shard replicas

What's Changed

Full Changelog: 5.3.0...5.4.0