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