Releases: couchbase/libcouchbase
2.8.2
API documentation: http://docs.couchbase.com/sdk-api/couchbase-c-client-2.8.2/
Changes
-
CCBC-833, CCBC-834: Update real cluster integration in the test suite.
-
CCBC-860: cbc-connstr: Do not zero out C++ instances.
-
CCBC-859: Fix libm shared object detection on Debian 9.
-
Bugs reported by clang analyzer:
- CCBC-858: Fix memory leak for compressed packet.
- CCBC-857: Fix possible NULL pointer dereference in
mcreq_reserve_key
. - CCBC-856: Initialize response struct in
H_config
. - CCBC-855: Fix dead assignments in
contrib/genhash
. - CCBC-854: Init vbguess array before entry lookup.
- CCBC-853: cbc-proxy: do not use client object after free.
- CCBC-852: Do not free memory twice in N1QL index manager.
2.8.1
API documentation: http://docs.couchbase.com/sdk-api/couchbase-c-client-2.8.1/
Changes
-
Check nodes number for durability checks. The store with durability
requirements will report more specific error when the library cannot
fulfill the condition during failover.- Issues: CCBC-817
-
Handle enhanced error messages for subdoc operations. The subdoc
responses will now expose context and reference ID if present.- Issues: CCBC-846
-
Discover and bootstrap analytics service from cluster configuration.
- Issues: CCBC-840
-
Improve documentation of configuration parameters.
- Issues: CCBC-835
-
Enable Error Map feature by default.
- Issues: CCBC-838
-
Cleanup and extend
minimal
,libeventdirect
,instancepool
examples -
Tools:
- improve error reporting
- experimental subcommand
cbc-proxy
- fix memory leaks
- retry store operations during population phase in
cbc-pillowfight
2.8.0
API documentation: http://docs.couchbase.com/sdk-api/couchbase-c-client-2.8.0/
Changes
-
Add support for OpenSSL-1.1.
- Issues: CCBC-814
-
Mask
LOCKED
status code for backward compatibility. This code
(as well as others possible codes with 'item-locked' attribute)
replaced withLCB_KEY_EEXISTS
forSET
,REPLACE
andDELETE
operations, and withLCB_ETMPFAIL
for the rest.- Issues: CCBC-832
-
Stop enumerating bootstrap nodes and mechanisms when the server
returns authentication error.- Issues: CCBC-825
-
Fixed double free error with
lcb_ping3
.- Issues: CCBC-826
-
Exposed additional N1QL query parameters:
lcb_n1p_readonly
,
lcb_n1p_scancap
,lcb_n1p_pipelinecap
.- Issues: CCBC-823
-
Fixed
cbc-subdoc/upsert
without XATTR.- Issues: CCBC-823
-
XERROR attributes synchronized with recent list on server.
- Issues: CCBC-828
-
Add missing documentation, and update stability of the API.
-
Do not throttle background configuration polling by throttle interval
of configuration error handler.- Issues: CCBC-829
-
Turn on background polling by default. The library will try
to schedule configuration update every 2.5 seconds. To disable it
useconfig_poll_interval=0
.- Issues: CCBC-836
2.7.7
API documentation: http://docs.couchbase.com/sdk-api/couchbase-c-client-2.7.7/
Changes
-
Implement new function
lcb_ping3
, which sends NOOP-like message to
each service in the cluster and allows to measure latency along with
health status of the connection. Might be useful for application-side
keep-alive mechanisms.- Issues: CCBC-801
-
Detect and expose bucket type through
LCB_CNTL_BUCKETTYPE
:lcb_BTYPE type; lcb_cntl(instance, LCB_CNTL_GET, LCB_CNTL_BUCKETTYPE, &type);
- Issues: CCBC-790
-
Fixed setting expiration in subdoc mutations.
- Issues: CCBC-799
-
Fixed DNS SRV support of Fedora 26 and FreeBSD.
- Issues: CCBC-816
-
Fixed DNS SRV with SSL connections.
- Issues: CCBC-794
-
Define EREMOTEIO in libuv
- Issues: CCBC-812
-
New subdocument command to remove whole document
- Issues: CCBC-811
-
New cbc command:
cbc-subdoc
. It provides interactive shell, where
all subdocument commands accessible to inspect and modify documents
in the cluster. -
New cbc command:
cbc-ping
. It sends NOOP-like messages to all accessible
services in the cluster, and displays the status along with latency.- Issues: CCBC-801
-
Fix
cbc-cat --replica
, which now allows reading documents from replicas.- Issues: CCBC-820
-
Implement NOOP command and
cbc-pillowfight --noop
, which sends NOOP
instead of data manipulation commands.- Issues: CCBC-801
-
Clarify errors found in
.cbcrc
. Now it will display configuration path
along with error message.- Issues: CCBC-759
-
Update examples:
- Support username/password in subdoc and libeventdirect examples
- Added example for subdoc XATTRs
-
Integrate fix for parallel build with dtrace on FreeBSD
freebsd/freebsd-ports@a71e1a8 -
Make enhanced errors API public
- Issues: CCBC-803
-
Fixed various compiler and cppcheck warnings and documentation update.
2.7.6
API documentation: http://docs.couchbase.com/sdk-api/couchbase-c-client-2.7.6/
Changes
-
Expose enhanced errors for data commands. Couchbase Server 5 might return
additional information about errors in the response body. According to
SDK-RFC-28, the library allow user code to inspect this information using
following functions:lcb_resp_get_error_context(int, const lcb_RESPBASE *)
lcb_resp_get_error_ref(int, const lcb_RESPBASE *)
They both return non-NULL strings if any of error information accessible.
The lifetime of these fields limited by lifetime of the response object.- Issues: CCBC-781
-
Report contextualized error messages during negotiation. The event reference
could be used to find more details about authentication errors in the server
logs.- Issues: CCBC-780
-
Specify correct protocol level for
SO_KEEPALIVE
. This fixes setting
tcp_keepalive
option on connections.- Issues: CCBC-798
-
Implement Error Map Retries. This implements the mechanics needed to retry
commands on various errors based on dynamic settings supplied via the error map.- Issues: CCBC-783
-
Add cluster admin provider. This provider doesn't do anything except serve
as a source of management hostnames. And the library will fall back to it
when bucket is not specified for cluster management connections.- Issues: CCBC-797
-
Implement RBAC user management in cbc tools. In addition to
examples/users
,
this can be a demonstration of new security APIs which appear in Couchbase
Server 5.- Issues: CCBC-757
-
Allow to inspect query errors in
cbc-n1qlback
. The command will write
details for failed queries to file, specified with option--error-log
. -
Fix memory leak in io::Pool
- Issues: CCBC-791
-
Fix
LCB_SDCMD_GET_FULLDOC
. This would not actually work beforehand
because the opcode it's mapped to is 0, and we used 0 as a sentinel
value for an invalid opcode within the subdoc implementation.- Issues: CCBC-792
-
Add LCB_NOT_AUTHORIZED error code. This error code maps to
Memcached's EACCESS -
Don't send empty Authorization header for HTTP requests, If there's
no username and/or password- Issues: CCBC-789
-
Internal refactoring:
io::Pool
- remove empty dtor- Fix
BadPluginEnvironment
test on Fedora where libm.so is ld script - Add missing commands for
cbc-help
-
Documentation update:
- Add additional documentation for
lcb_n1ql_cancel()
- Typos
- Add additional documentation for