Skip to content

Releases: weaviate/java-client

6.0.0-beta1 - Async Client, Filters, BM25 and FetchObjects Queries, API-Key Authorization

17 Jun 12:48
ce0df8b
Compare
Choose a tag to compare

The first beta of client6 has arrived!

🔑 Use the new API Key authorization to securely connect to your Weaviate instance:

final var client = new WeaviateClient(
    Config.of("https", cfg -> cfg
        .httpHost("localhost").httpPort(443)
        .grpcHost("localhost").grpcPort(433)
        .authorization(Authorization.apiKey("my-api-key"))));

Similarly to Python and TS, client6 offers convenient helper .local() and .wcd() methods for connecting to you local instance or the one running in the Weaviate Cloud.

🔍 Search and retrieve objects using bm25 and fetchObjects queries:

final var books = client.collection.use("Books");

var crimeFiction = books.query.bm25("Sherlock Holmes", q -> q.queryProperties("main_character"));
var newestBooks = books.query.fetchObjects(
    query -> query
        .where(Where.property("yearPublished").gte(2024))
        .limit(200));

Explore other filters and query parameters by downloading the latest version from your local Maven Ce.....

💥 The first beta of client6 has arrived (asynchronously!!!) 💥

The Async Client presents the same familiar API. Its methods return an instance of CompletableFuture so they can be easily integrated with the existing processing pipelines. try it out!

// WeaviateClient and WeaviateClientAsync implement Closable
try (final var asyncClient = client.async()) {
    final var things = asyncClient.collections.use("Things");
    things.data.insert(Map.of("shape", "square"))
        .thenAccept(square -> System.out.println("square has id=" + square.metadata().uuid()));
}

What's Changed

  • 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

Full Changelog: 6.0.0-alpha2...6.0.0-beta1

5.3.0 - MUVERA, BM25 Search Operator

17 Jun 12:12
541afd8
Compare
Choose a tag to compare

The 5.3.0 release adds support for several major features introduced in Weaviate v1.31.0: BM25 And/Or search operators and MUVERA encoding for multi-vector indices.

We've also extended the collection management API with an ability to add named vectors to existing collections with client.schema().vectorAdder().

What's Changed

  • Add muvera config by @robbespo00 in #382
  • chore: add tests from WeaviateObject.Adapter by @bevzzz in #384
  • Adding named vectors to collections by @bevzzz in #385
  • feat: add searchOperator (minimum_should_match) to bm25 and hybrid arguments by @bevzzz in #386

New Contributors

Full Changelog: 5.2.1...5.3.0

6.0.0-alpha2

12 May 10:21
b3a5f4e
Compare
Choose a tag to compare
6.0.0-alpha2 Pre-release
Pre-release

Further expanding the surface covered by the v6 client. Notably:

  • Aggregations for TEXT and INT properties with optional NearVector filter
  • Reference properties: creating, inserting, retrieving in queries
  • BLOB data type and NearImage search
  • Partial support for NearText search (not possible to select target vectors)
  • New vectorizers: text2vec-contextionary, text2vec-weaviate, multi2vec-clip, and img2vec-neural

What's Changed

  • 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

Full Changelog: 6.0.0-alpha1...6.0.0-alpha2

5.2.1 - Security patches

29 Apr 17:11
1192482
Compare
Choose a tag to compare

Upgrade httpclient dependency to v5.4.3 which includes a fix for a high-severity vulnerability.

What's Changed

Full Changelog: 5.2.0...5.2.1

5.2.0 - Dynamic User Management

10 Apr 14:18
1dc69db
Compare
Choose a tag to compare

Dynamic User Management is an extension to the RBAC functionality introduced in Weaviate v1.29, which allows creating new users programmatically as well as managing their roles and API keys.

To avoid name clashes with users authenticated via OIDC, each user is assigned a user type qualifier: db | oidc.
The clients makes working with different types of users easy by providing dedicated methods for each one:

  • users().db() -- dynamically created users and users defined in the server's environment variables
  • users().oidc() -- users using OIDC authentication

To avoid confusion, all users APIs from v5.1.* as well as part of the roles APIs are deprecated in favor of their namespaced counterparts.

Deprecations

  • users().assignedRolesGetter()
  • users().revoker()
  • users().assigner()
  • roles().assignedUsersGetter()

What's Changed

  • feat: support dynamic user management in Weaviate v1.30 by @bevzzz in #369

Full Changelog: 5.1.3...5.2.0

6.0.0-alpha1 - NearVector Search

09 Apr 13:29
ba70b15
Compare
Choose a tag to compare
Pre-release

Preview of the first iteration of the client rewrite, including:

  • Simple collection creation
  • Data management: insert, get, delete
  • Near vector query

What's Changed

  • v6: Collection management and near vector search by @bevzzz in #362

Full Changelog: 5.1.1...6.0.0-alpha1

5.1.3 - Bugfixes and minor improvements

09 Apr 13:27
722085b
Compare
Choose a tag to compare

What's Changed

  • fix(experimental): handle null property values by @bevzzz in #363

Full Changelog: 5.1.2...5.1.3

5.1.2 - Batch error handling

14 Mar 11:53
a8798cd
Compare
Choose a tag to compare

What's Changed

  • fix: return batch errors alongside successfully inserted objects by @bevzzz in #358
  • fix(experimental): make metadata fields public by @bevzzz in #361

Full Changelog: 5.1.1...5.1.2

5.1.1 - ColBERT

04 Mar 08:08
109ef80
Compare
Choose a tag to compare

Support multi-vector embeddings (ColBERT, ColPali, etc.) in object creation/update, batch insert, and NearVector + Hybrid queries.

What's Changed

  • chore: update compile/test dependencies by @bevzzz in #357
  • feat(ColBERT): Create, update, batch insert, and query objects with multi-vector indices by @bevzzz in #356

Full Changelog: 5.1.0...5.1.1

5.1.0 - RBAC, Weaviate Embeddings

28 Feb 23:34
1706f69
Compare
Choose a tag to compare

This version adds support for RBAC, which is in GA starting with Weaviate 1.29 🌮

We've also removed the need to manually set authentication headers when using Weaviate Embeddings service as a vectorizer for a collection, as it will now be done automatically whenever ApiKey authentication is used.

🚧 Experimental syntax introduced in 5.1.0-alpha1 is still deemed experimental. It will not receive full support until the next major release.

What's Changed

  • Experimental syntax for nearVector search, object mapping, and partial gRPC support by @bevzzz in #351
  • fix: migrate actions/upload-artifact and actions/download-artifact to v4 by @bevzzz in #354
  • Update gRPC stubs to stable/v1.29 by @bevzzz in #352
  • Set authentication headers for Weaviate Embeddings service by @bevzzz in #355
  • feat: RBAC support (Sync/Async) by @bevzzz in #349

Full Changelog: 5.0.1...5.1.0