Releases: couchbase/libcouchbase
2.10.9
3.0.7
API documentation: https://docs.couchbase.com/sdk-api/couchbase-c-client-3.0.7
- CCBC-1350: Implement an option for
cbc-n1qlbackto 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_TRANSIENTandLCB_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_timeoutinstead 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_locktimeto 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_FAILUREand 5000 toLCB_ERR_INTERNAL_SERVER_FAILUREby 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_deletedsubdoc 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_idin ping report - CCBC-1176: Rename "scope" to "namespace" in ping report (also deprecate
lcb_respping_result_scopein 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_diagto avoid invalid access issues - CCBC-1314: Extra checks for socket state in
lcb_pingto 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_configoperation 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_forceconnection 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_shufflewithstd::shuffle(fixes build ofcbc-n1qlbacktool)
3.0.4
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
2.10.7
API documentation: http://docs.couchbase.com/sdk-api/couchbase-c-client-2.10.7
-
CCBC-1234: Fixed SRV resolution to work with large record sizes. In some cases, the answer records exceed the default answer buffer size causing SRV lookups to fail on otherwise correctly configured clusters. This specifically occured with Couchbase Cloud.
-
CCBC-1233: Updated RTO to independently specify
operation_name(in accorance to RFC). -
CCBC-1258: Fix port order in vbucket diff info log message.
-
MB-37768: Don't override
CMAKE_INSTALL_RPATH -
CCBC-1232: Fix build on CentOS 6
3.0.2
- CCBC-1200: Retry bootstrap on missing bucket until timeout. Bootstrap timeout controlled by "
config_total_timeout" in connection string orLCB_CNTL_CONFIGURATION_TIMEOUT - CCBC-1190: Fix automatic retries for temporary failures from the server.
- CCBC-1158: Fix retrying on unknown collection.
- CCBC-1254: Use separate option for default timeout of analytics queries (connection string
"analytics_timeout"). - CCBC-1178: Do not allow to set CAS for upsert and insert operations
- CCBC-1156: Fix enum value for analytics type of HTTP request
- CCBC-1251: No longer log error when using GCCCP on pre-6.5
- CCBC-1234: Fixed SRV resolution to work with large record sizes.
- CCBC-1222: Tracing thresholds for query and search in connection strings. Now they are correctly spelled as
tracing_threshold_searchandtracing_threshold_query. - CCBC-1187: Ensure
lcb_respexists_is_founddoes not true for deleted documents. - CCBC-1233: Updated RTO to independently specify
operation_name. - CCBC-1205: Do not include trailing zero for endpoint length for KV context
- CCBC-1215: Fixed segfault in exists calls.
- CCBC-1218: Fixed intermittent segfault in client durable store
- Documentation issues addressed (CCBC-1240, CCBC-1243, CCBC-1241, CCBC-1245)
3.0.1
- CCBC-1188: cbc-pillowfight: fixed
--collectionswitch. - CCBC-1173: Fix exporting
lcb_cmdquery_consistency_token_for_keyspace - CCBC-1168: expose
max_parallelismfor query - CCBC-1171: expose
profileoption for query - CCBC-1170: expose
scan_waitoption for query - CCBC-1159: Fix error codes for Management API
- MB-37768: Don't override
CMAKE_INSTALL_RPATH. - CCBC-1208: Add a fail-fast retry strategy.
- CCBC-1209: Rename functions of embedded
http_parserto avoid name clash. - Remove use of deprecated function
std::random_shuffle.std::random_shuffleis deprecated in C++14, removed in C++17. Replace withstd::shuffle. - Fixed several issues reported by coverity