Releases: couchbase/libcouchbase
3.1.2
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
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 ofLCB_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 toLCB_ERR_CAS_MISMATCH
. Now it returned only in cases where concurrency problem detected by query engine. OtherwiseLCB_ERR_DML_FAILURE
will be used. -
CCBC-1373: Return
LCB_ERR_TIMEOUT
if the library is not able to resolve collection identifier. Previously eitherLCB_ERR_COLLECTION_NOT_FOUND
orLCB_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 withenable_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
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
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
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
andLCB_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 ofconfig_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 toLCB_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
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 tolcb_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
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 problestcp_keepintvl
(LCB_CNTL_KEEPINTVL
): the time (in seconds) between individual probestcp_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
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 ofsasl_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
withstd::shuffle
(fixes build ofcbc-n1qlback
tool)
3.0.4
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
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