Skip to content

Releases: couchbase/libcouchbase

3.1.2

26 Apr 16:20
3.1.2
Compare
Choose a tag to compare

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

  • CCBC-1396: Fix recalculaton of key length for alt packets.
  • CCBC-1395: Parse configuration revision as int64_t.
  • MB-45759: Allow building libcouchbase with external Snappy
  • CCBC-1386: remove legacy options for cbc-bucket-create
  • CCBC-1394: Do not expose LCB_ERR_BUCKET_NOT_FOUND in operation callbacks. Instead retry operation automatically until timeout.
  • CCBC-1330: cbc. detect unknown collection during "populate" phase
  • CCBC-1373: Do not send collection in the key. Sending collection specification in both key and body breaks protocol, and the server will close the socket

3.1.1

09 Apr 18:14
3.1.1
Compare
Choose a tag to compare

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

  • CCBC-1382: Return LCB_ERR_CAS_MISMATCH for operations with with REPLACE semantics instead of LCB_ERR_DOCUMENT_EXISTS.

  • CCBC-1389: Fixed default collection parsing.

  • CCBC-1383: Fixed protocol magic for durable remove. When durability level provided, the remove command should use "alternative request" as protocol magic byte.

  • CCBC-1381: Protocol changes for PROTOCOL_BINARY_CMD_COLLECTIONS_GET_CID (0xbb). The server now expects collection specification passed as a command value during collection ID resolution.

  • CCBC-1385: Restrict cases when Query error code 12009 is converted to LCB_ERR_CAS_MISMATCH. Now it returned only in cases where concurrency problem detected by query engine. Otherwise LCB_ERR_DML_FAILURE will be used.

  • CCBC-1373: Return LCB_ERR_TIMEOUT if the library is not able to resolve collection identifier. Previously either LCB_ERR_COLLECTION_NOT_FOUND or LCB_ERR_SCOPE_NOT_FOUND might be returned.

  • CCBC-1109: When dynamic authenticator is being used, the library will retry Query on error code 13014 (datastore.couchbase.insufficient_credentials).

  • CCBC-1392: Query commands now invoke retry strategy hook to make decision about retrying.

  • CCBC-1379: Error map could be disabled now using LCB_CNTL_ENABLE_ERRMAP or in the connection string with enable_errmap=false.

  • CCBC-1269: Expose setting for N1QL grace period. This is a port of CCBC-1122 (71b7700). The example below will add extra 100ms to each N1QL query:

    lcb_cntl_setu32(instance, LCB_CNTL_QUERY_GRACE_PERIOD, 100000);
    

3.1.0

03 Mar 13:54
3.1.0
Compare
Choose a tag to compare

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

  • CCBC-1376: propagate scope qualifier to prepare statements
  • CCBC-1283: add analytics support for scopes
  • CCBC-1374: reintroduce input error classification macro
  • CCBC-1375: translate query errors when scope/collection missing
  • CCBC-1368: fix project links in README
  • CCBC-1366: do not cache bucket-less configurations
  • CCBC-1363: allow using parent project's hdr_histogram_static target
  • CCBC-1361: allow "_default._default" collection for pre-collections servers
  • MB-42884: correctly define FILEVERSION for libcouchbase.dll
  • CCBC-1351: option to render cbc-ping output as a table
  • CCBC-1323: return LCB_ERR_DOCUMENT_EXISTS only for insert operation
  • CCBC-1346: return LCB_ERR_DOCUMENT_LOCKED for locked documents

2.10.9

03 Mar 11:05
2.10.9
Compare
Choose a tag to compare

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

  • CCBC-1130: Do not wipe new/reused pipelines. Fixes invalid memory access error.

3.0.7

16 Dec 10:40
3.0.7
Compare
Choose a tag to compare

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

  • CCBC-1350: Implement an option for cbc-n1qlback to control prepared/adhoc switch
  • CCBC-1345: Ensure all KV sockets select bucket on lcb_open
  • CCBC-1348: Include bucket name into diag report
  • CCBC-1308: Define FATAL and TRANSIENT classes for errors. Also defines corresponding macros for easy access LCB_ERROR_IS_TRANSIENT and LCB_ERROR_IS_FATAL
  • CCBC-1342: Check if collections supported by server before using them.
  • CCBC-1334: Preserve status of KV protocol response for retry queue
  • CCBC-1339: Do not relocate get with replica on failover. The library should not relocate replica reads when new configuration applied.
  • CCBC-1344: Consume response after retried command to avoid logging the command as "timed out"
  • CCBC-1343: Do not schedule NMV immediately by default and use retry strategy instead.
  • CCBC-1335: Fix next timeout computation on requesting config using operation_timeout instead of config_node_timeout
  • CCBC-1337: Expose setting for to control default search timeout
  • CCBC-1331: Fix error at bootstrap callback, now it returns original error code, that caused the bootstrap failure.
  • CCBC-1333: Allow setting lcb_cmdget_locktime to zero to use server default time.
  • CCBC-1324: define HTTP type for Eventing management
  • Retry operations when the node is not ready
  • Report LCB_ERR_BUCKET_NOT_FOUND if Key/Value service is not configured
  • Update error codes for Query. Translate code 4300 to LCB_ERR_PLANNING_FAILURE and 5000 to LCB_ERR_INTERNAL_SERVER_FAILURE by default.
  • Fix collection validation, it should pass empty string as valid collection specification element.
  • Remove verbosity and mcversions commands. These parts of API are non-standard and volatile
  • Bundle HdrHistogram_c v0.11.2 and allow to fall back to it
  • Build and stability improvements

3.0.6

21 Oct 10:36
3.0.6
Compare
Choose a tag to compare

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

  • CCBC-1311: Implement create_as_deleted subdoc feature.
  • CCBC-1263: Update ping to report analytics as analytics service instead of query
  • CCBC-1175: Allow to specify timeout for lcb_ping
  • CCBC-1262: Add accessor for report_id in ping report
  • CCBC-1176: Rename "scope" to "namespace" in ping report (also deprecate lcb_respping_result_scope in favour to lcb_respping_result_namespace)
  • CCBC-1261: Set namespace length of service in ping report to zero if not applicable
  • CCBC-1194: Add extra checks for socket state in lcb_diag to avoid invalid access issues
  • CCBC-1314: Extra checks for socket state in lcb_ping to avoid invalid access issues
  • CCBC-1316: Fix two-step bootstrap (lcb_connect + lcb_open) for memcached bucket.

2.10.8

22 Sep 18:18
2.10.8
Compare
Choose a tag to compare

API documentation: http://docs.couchbase.com/sdk-api/couchbase-c-client-2.10.8

  • CCBC-1298: allow to adjust TCP keepalive settings

    • tcp_keepcnt (LCB_CNTL_TCP_KEEPCNT): the maximum number of keepalive probles
    • tcp_keepintvl (LCB_CNTL_KEEPINTVL): the time (in seconds) between individual probes
    • tcp_keepidle (LCB_CNTL_TCP_KEEPIDLE): the time (in seconds) the connection need to remain idle before TCP start sending probes.
  • Detect configuration change when replica indexes changed. libcouchbase will apply new configuration, when node is re-added after failover.

  • Do not re-arm config provider timer for existing connection. Each request_config operation has its own timer associated with the command.

3.0.5

21 Sep 12:26
3.0.5
Compare
Choose a tag to compare

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

  • CCBC-1307: allow to select any mechanisms for SASL regardless network protocol being used.
    But by default, try to avoid downgrading to PLAIN on non-TLS connections. Also the change allows to specify list of
    preferred mechanisms instead of only one (use comma in the value of sasl_mech_force connection string option).
  • CCBC-1276: allow to hint flex index usage in query options
  • CCBC-1312: fix return values for lcb_cmdquery_scope_*
  • CCBC-1313: replace std::random_shuffle with std::shuffle (fixes build of cbc-n1qlback tool)

3.0.4

26 Aug 11:21
3.0.4
Compare
Choose a tag to compare

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

  • CCBC-1281: Implement scope qualifier for queries
  • CCBC-1301: expose cmake option to help dissecting TLS traffic
  • Detect configuration change when replica indexes changed.

3.0.3

27 Jul 11:35
3.0.3
Compare
Choose a tag to compare

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

  • CCBC-1265: enable out of order execution by default
  • CCBC-1189: Validate collection and scope names early. The library will return error if the collection name is not valid without sending command to the server.
  • CCBC-1278: Fix stripping payload over TLS connection. The library might propagate zero return code from recv() even when previous calls of recv() successfully transferred bytes to SSL context. In this case we might lose these trailing bytes and just close the socket.
  • CCBC-1264: Fix calculating key size when durability level specified
  • CCBC-1258: fix port order in vbucket diff info message
  • CCBC-1274: Fix pointer casting in HTTP callback of cbc tool.
  • CCBC-1167: Fix tests build on MacOS
  • CCBC-1248: Always request error map feature and send HELLO message to speedup bootstrap
  • Implement tick for IOCP plugin on Windows
  • Improved build on Windows (fixed static build, and PDB installation)
  • Fix collections issues for future server release