Skip to content

Releases: couchbase/libcouchbase

3.3.17

12 Jun 01:21
3.3.17
Compare
Choose a tag to compare

API documentation: https://docs.couchbase.com/sdk-api/couchbase-c-client-3.3.17
Full Changelog: 3.3.16...3.3.17

  • CCBC-1666: Do not schedule config request during shutdown. With completion-based IO (libuv, Windows IOCP), the library might try to schedule configuration update on already deallocated pipeline and cause use-after-free condition.

3.3.16

02 Jun 06:32
3.3.16
Compare
Choose a tag to compare

API documentation: https://docs.couchbase.com/sdk-api/couchbase-c-client-3.3.16
Full Changelog: 3.3.15...3.3.16

  • CCBC-1664: Register read event watcher for KV socket if duplex is enabled. Fixes missing configuration updates on newer server versions (7.6.5+).
  • CCBC-1662: Ignore server-side notification during bootstrap. Libcouchbase reports protocol error and stop bootstrapping the connection if the server sends configuration notification during the initial handshake.
  • Define LCB_CC_STRING for MS VS 17 to fix packaging scripts.
  • CCBC-1658: Add support for encrypted TLS keys. The key password should be specified in connection options with lcb_createopts_tls_key_password().

3.3.15

11 Mar 15:52
3.3.15
Compare
Choose a tag to compare

API documentation: https://docs.couchbase.com/sdk-api/couchbase-c-client-3.3.15
Full Changelog: 3.3.14...3.3.15

  • CCBC-1652: allow to force SASL when client certificate is being used

3.3.14

12 Nov 21:35
3.3.14
Compare
Choose a tag to compare

API documentation: https://docs.couchbase.com/sdk-api/couchbase-c-client-3.3.14
Full Changelog: 3.3.13...3.3.14

  • CCBC-1653: Fix setting timeout for analytics query.
  • CCBC-1651: Ensure that purged packets get their memory released, it fixes memory leak in case of network issues.
  • CCBC-1646: Server groups for replica reads.
  • CCBC-1555: Remove extra prefix in tapset probes.
  • CCBC-1598: Fix documentation for cbc tools.
  • Fix tests on 7.6 server

3.3.13

23 Sep 23:39
3.3.13
Compare
Choose a tag to compare

API documentation: https://docs.couchbase.com/sdk-api/couchbase-c-client-3.3.13
Full Changelog: 3.3.12...3.3.13

  • CCBC-1647: Handle server-side query timeout (status 1080).
  • CCBC-1643: fix memory leak of pending buffers in IO context.
  • CCBC-1645: do not use explicit initialization for OpenSSL 1.1+.
  • Fix build with -DLCB_DUMP_PACKETS=ON
  • Fix pkg-config for MacOS

3.3.12

02 Mar 20:27
3.3.12
Compare
Choose a tag to compare

API documentation: https://docs.couchbase.com/sdk-api/couchbase-c-client-3.3.12
Full Changelog: 3.3.11...3.3.12

  • CCBC-1636: Deallocate old packet when updating collection ID.
    mcreq_renew_packet() requires the caller to deallocate original copy, otherwise the memory will be only released by pipeline destructor.

  • CCBC-1634: Fix reporting unresponsive nodes in lcb_ping().

    • do not retry NOOP commands, as they might be routed to different pipeline, instead fail fast NOOPs to reflect network issues more precisely.
    • use pipeline address as ping entry identifier instead of socket address, as socket might not be existing (not connected) due to network failures.
    • lcb_ping still have report even when overall status is not LCB_SUCCESS, so cbc-ping should still try to print report instead just printing overall status code.
  • CCBC-1630: Check collection id before storing packet to pipeline.
    Every time check_collection_id() is invoked, the caller should ensure that this function potentially is rewriting the packet, if it decides to insert/update encoded collection ID.

  • CCBC-1627: Fix bodylen value when ffextlen (flexible frame extra length) is not zero.

3.3.11

25 Jan 19:01
3.3.11
Compare
Choose a tag to compare

API documentation: https://docs.couchbase.com/sdk-api/couchbase-c-client-3.3.11
Full Changelog: 3.3.10...3.3.11

  • CCBC-1618: Update query error codes for dynamic authenticator. This is an update to internal interface, that allows more granular detection of stale authentication conditions for query service.

  • Prevent full rebuild on every run of cmake. Do not render built timestamp into the header, but instead only use it in object file.

3.3.10

10 Oct 18:59
3.3.10
Compare
Choose a tag to compare

API documentation: https://docs.couchbase.com/sdk-api/couchbase-c-client-3.3.10
Full Changelog: 3.3.9...3.3.10

  • CCBC-1616:
    A wait_for_config check is now applied for all pipelines. Previously, the lcb_wait function would wait for the pending configuration updates, but didn't do it if the configuration update operation was being retried. Now, the operation also will not wait for pending configuration updates, rather it will return from lcb_wait as soon as the operation completes.

    • The old behaviour still works when wait_for_config=true is passed in the connection string (or LCB_CNTL_WAIT_FOR_CONFIG is set to non-zero value): in this case the library will wait for the configuration.
    • This setting does not affect the mode when the event loop is executed by the application, and without lcb_wait.

3.3.9

22 Sep 20:48
3.3.9
Compare
Choose a tag to compare

API documentation: https://docs.couchbase.com/sdk-api/couchbase-c-client-3.3.9
Full Changelog: 3.3.8...3.3.9

  • CCBC-1608: reduce timeout for idle HTTP connections to 1 second

  • CCBC-1615: handle rate limit codes during bootstrap

  • CCBC-1612: Improve recovery time during rebalance for upcoming Server 7.6.

    • do not throttle CCCP provider in faster failover mode.
    • try to refresh configuration in case of network errors to speed up the recovery process during failover.
  • CCBC-1611: Handle 0x0d (ECONFIG_ONLY) status code. Treat this status code as a signal to refresh configuration.
    The new or failed over nodes are set into config-only mode, where all data operations will be failed with code 0x0d. It is possible that the SDK might be using stale configuration and send requests to the node, that is not part of the cluster anymore, so to work around this, the library will update the configuration and retry the operation.

  • CCBC-1610: Fix memory issues when setting collection id in the cluster with mixed server versions, where some of the nodes do not support collections.

3.3.8

16 Aug 21:12
3.3.8
Compare
Choose a tag to compare

API documentation: https://docs.couchbase.com/sdk-api/couchbase-c-client-3.3.8

  • CCBC-1584: Update documentation on how to use collections with pillowfight

  • CCBC-1607: Fix collection id encoding in mixed cluster

  • CCBC-1602: Implement Faster Failover.
    This implements the set of protocol optimizations that help the SDK to save network traffic when tracking cluster topology. The feature will be only activated if the server supports it (7.6+).

  • CCBC-1603: Do not log if logger is not accessible in iotssl_log_errors.

  • CCBC-1599: Account NUL-byte when format IPv6 address (fixes potential invalid memory access).