Skip to content

Implement Couchbase Lite 4.1 for Linux and Windows - #70

Open
jeffdgr8 wants to merge 1 commit into
cbl-4.1-applefrom
cbl-4.1-native
Open

Implement Couchbase Lite 4.1 for Linux and Windows#70
jeffdgr8 wants to merge 1 commit into
cbl-4.1-applefrom
cbl-4.1-native

Conversation

@jeffdgr8

Copy link
Copy Markdown
Owner

Implements the Couchbase Lite 4.1 common API for Linux and Windows: vendors libcblite 4.1.0 (CE and EE) for linux x86_64/arm64 and windows x86_64.

  • linuxMingw actuals for the 4.1 API: collection-bound configs, Document.timestamp (CBLDocument_Timestamp), Replicator.correlationId (CBLReplicator_CorrelationID), re-signed collection-scoped pending-document APIs
  • LogDomain.PEER_DISCOVERY/MULTIPEER entries exist but are never produced (no C SDK equivalents)
  • Removes the private CBLDocument_Generation declaration from libcblite.def (symbol no longer exported by 4.x; replaced by the public timestamp API)

Verified by compiling and linking the linuxX64/mingwX64 test binaries; test execution requires Linux and Windows hosts.

🤖 Generated with Claude Code

Vendors libcblite 4.1.0 (CE and EE) for linux x86_64/arm64 and
windows x86_64, replacing 3.2.4, and updates the version catalog.

linuxMingw actuals updated to 4.1:
- CollectionConfiguration bound to its Collection; fromCollections
- ReplicatorConfiguration built from collection configurations with
  same-database validation matching the other platforms
- Document.timestamp (CBLDocument_Timestamp, new in 4.0)
- Replicator.correlationId (CBLReplicator_CorrelationID, new in 4.1)
- Replicator pending-document APIs use the re-signed collection-scoped
  CBLReplicator_PendingDocumentIDs/IsDocumentPending (the *2 variants
  are deprecated in 4.x)
- LogDomain adds PEER_DISCOVERY and MULTIPEER (no C SDK equivalents;
  never produced on these platforms)
- KeyUsage actual; TLSIdentity.createIdentity(Set<KeyUsage>, ...)
  (still unsupported at runtime on these platforms)
- Listener configurations are collections-only

Removes the private CBLDocument_Generation declaration from
libcblite.def: the symbol is no longer exported by libcblite 4.x
(replaced by the public timestamp API).

Verified: linuxX64/linuxArm64/mingwX64 main and test sources compile
and test binaries link against libcblite 4.1.0. Tests require Linux
and Windows hosts to run.

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