Skip to content

1.0.0-dp.4

Pre-release
Pre-release
Compare
Choose a tag to compare
@avsej avsej released this 21 Feb 14:51
· 322 commits to main since this release
1.0.0-dp.4
ec53d75

API documentation: https://docs.couchbase.com/sdk-api/couchbase-cxx-client-1.0.0-dp.4

  • CXXCBC-275: Update implementation query context fields passed to the server. In future versions of the server versions it will become mandatory to specify context of the statement (bucket, scope and collection). This change ensures that both future and current server releases supported transparently.

  • CXXCBC-296: Force PLAIN SASL auth if TLS enabled. Using SCRAM SASL mechanisms over TLS protocol is unnecesary complication, that slows down initial connection bootstrap and potentially limits server ability to improve security and evolve credentials management.

  • CXXCBC-295: The get with projections opration should not fail if one of the the paths is missing in the document, because the semantics is "get the partial document" and not "get individual fields" like in lookup_in operation.

  • CXXCBC-294: In the Public API, if get operation requested to return expiry time, zero expiry should not be interpreted as absolute expiry timestamp (zero seconds from UNIX epoch), but rather as absense of the expiry.

  • CXXCBC-291: Allow to disable mutation tokens for Key/Value mutations (use enable_mutation_tokens in connection string or cluster options).

  • CXXCBC-188: Implement ChangePassword in user management API.

  • Resource management and performance improvements:

    • Fix tracer and meter ref-counting (#370)
    • Replace minstd_rand with mt19937_64, as it gives less collisions (#356)
    • CXXCBC-285: Write to sockets from IO threads, to eliminate potential race conditions. (#348)
    • Eliminate looping transform in mcbp_parser::next (#347)
    • CXXCBC-205: Use thread-local UUID generator (#340)
    • CXXCBC-293: Performance improvements:
      • Speed up UUID serialization to string (#346)
      • Don't allow to copy mcbp_message objects (#345)
      • Avoid extra allocation and initialization (#344)
  • Build system fixes:

    • Fix build with gcc-13 (#372)
    • Fix gcc 12 issue (#367)
    • Include branch name in CI badge links (#352)
    • Set build timeouts for github actions (#351)
  • CLI tools:

    • Added cbc tool, similar to what libcouchbase provides. At the moment three sub-commands available: version, get and query. (#366)
    • tool_kv_loader: allow to use generated value in loader tool (#343)
    • tool_kv_loader: allow to exit after certain number ops executed (#341)
  • Enhancements:

    • Allow to get list of available configuration profiles. Useful for validation and UX. (#362)
    • Add more fmt helpers: query_scan_consistency, query_status, and change cas representation into fixed length base-16 number. (#361)
    • Include bucketless KV service when ping is requested. (#339)
    • CXXCBC-290: add header with feature macros (#355)
    • Include OS name in SDK identifier (#349)
    • Expose more functions to get version info (#353)
    • Add function to generate semantic version from git-describe (#354)
    • CXXCBC-286: Decode value of user_agent_extra argument when it is URL-encoded and passed through connection string. (#350)
  • Transactions:

    • CXXCBC-289: Refactor transactions logging to match rest of C++ SDK.