Skip to content

Implement Couchbase Lite 4.1 for JVM and Android - #68

Open
jeffdgr8 wants to merge 1 commit into
cbl-4.1-commonfrom
cbl-4.1-jvm
Open

Implement Couchbase Lite 4.1 for JVM and Android#68
jeffdgr8 wants to merge 1 commit into
cbl-4.1-commonfrom
cbl-4.1-jvm

Conversation

@jeffdgr8

Copy link
Copy Markdown
Owner

Implements the Couchbase Lite 4.1 common API for JVM and Android: couchbase-lite-java and couchbase-lite-android 4.1.0, vector search 2.0.0.

  • Collection-bound CollectionConfiguration, collections-based ReplicatorConfiguration
  • Document.timestamp, Replicator.correlationId, new log domains, KeyUsage-based TLSIdentity
  • CouchbaseLite.shutdown() (desktop-only 4.1 API) on JVM
  • Fixes Android compilation, broken since the 3.3.0 bump (java desktop 3.3 was never released, holding jvmCommon at the 3.2 signatures)
  • Tests updated to CBL 4.1 behavior following the upstream 4.1 suite (collection-based configs, timestamps, NOT_OPEN exceptions, covering-index query plans, version-vector revision IDs)

JVM tests green across all modules; Android compiles.

🤖 Generated with Claude Code

Updates couchbase-lite-java and couchbase-lite-android to 4.1.0 and
the vector search extension to 2.0.0.

- CollectionConfiguration is bound to its Collection; adds
  fromCollections
- ReplicatorConfiguration built from collection configurations;
  collections returns Set<CollectionConfiguration>
- Document.timestamp and Replicator.correlationId implemented
- LogDomain adds PEER_DISCOVERY and MULTIPEER
- TLSIdentity.createIdentity takes Set<KeyUsage>; KeyUsage typealias
- Listener configurations are collections-only
- CouchbaseLite.shutdown() added on JVM (desktop-only 4.1 API)
- ktx: removed deprecated Database.`as`() and from(Database)

Tests updated to CBL 4.1 behavior, following the upstream 4.1 test
suite: collection-based replicator configs, timestamp instead of
revision generation, CouchbaseLiteException(NOT_OPEN) on closed
databases, copy requires closed database, covering-index query
plans, out-of-range long coercion in getInt, version-vector revision
ids, and 4.1 log output in the Kermit log sink tests.

This also fixes Android compilation, broken since the 3.3.0 bump by
the CouchbaseLiteError constructor signature change (java desktop
3.3 was never released, holding jvmCommon at the 3.2 signature).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant