Skip to content

Releases: couchbase/couchbase-php-client

4.2.3

28 Aug 00:24
4.2.3
Compare
Choose a tag to compare

4.2.2

24 Jul 17:54
4.2.2
Compare
Choose a tag to compare

API docs: https://docs.couchbase.com/sdk-api/couchbase-php-client-4.2.2
Full Changelog: 4.2.1...4.2.2

Fixes

  • PCBC-997: Do not export development files. (#172)
    Exclude C++ files, tests and development scripts, so that Packagist will
    not install them to the application ./vendor directory.

  • PCBC-991: Add consistency utility for testing (#168)

  • PCBC-989: Rollback to cmake 3.19 (#167)

  • PCBC-988: Fix type annotation for JsonSerializable implementations (#166)

Enhancements

4.2.1

23 Apr 22:35
4.2.1
321e898
Compare
Choose a tag to compare

API docs: https://docs.couchbase.com/sdk-api/couchbase-php-client-4.2.1
Full Changelog: 4.2.0...4.2.1

Fixes

  • PCBC-987: Fix consistency vector encoding for FTS (#163)
  • PCBC-985: Use system DNS config by default, and disable DNS-SRV if OS does not provide DNS server. (#159)

Enhancements

Notable changes in core C++

Enhancements

Fixes

  • CXXCBC-487: Check if alternate addressing is used when bootstrapping. (#545)
  • CXXCBC-503: Ignore configuration if it contains an empty vBucketMap. (#556, #558)
  • CXXCBC-30: Inconsistent behaviour when using subdoc opcodes incorrectly (#559)
  • CXXCBC-492: Use retry strategy in collections_component's get_collection_id. (#552)
  • CXXCBC-494: Fix memory issue in range scan implementation. (#549)
  • Always attempt to extract common query code if error has not been set. (#561) Fixes quota/rate limit checks for older servers.

Build and Tests Fixes

  • CXXCBC-502: Apply /bigobj for SDK objects only. (#550) Avoid using global add_definitions() as it might leak to non-CXX languages (like ASM_NASM on Windows).
  • Add feature check for scoped analyze_document in tests (#555)

4.2.0

18 Mar 08:33
4.2.0
4807e92
Compare
Choose a tag to compare

API docs: https://docs.couchbase.com/sdk-api/couchbase-php-client-4.2.0
Full Changelog: 4.1.6...4.2.0

Enhancements

Fixes

  • PCBC-964: Wait until the core connection is closed (#141)
  • PCBC-972: Fix C++ detection on MacOS X (#145)
  • Add missing use statement in class DecrementOptions (#146)
  • Update core and rename query_index_create fields to keys (#148)

Notable changes in core C++

Since 1.0.0-dp.14

Fixes

  • CXXCBC-482: Range scan orchestrator should use best effort retry strategy by default. (#542)
  • CXXCBC-481: Fix potential crash when parsing search result hits. (#541)
  • CXXCBC-461: Do not send ping to nodes that have not completed bootstrap. (#540)
  • CXXCBC-480: LookupInAnyReplica should not enforce any limits on number of specs in the library. (#539)
  • CXXCBC-479: Fix capabilities check for replica LookupIn operations. (#537)
  • CXXCBC-336: Do not fallback to 8.8.8.8, if we cannot obtain system DNS server (#533)

Since 1.0.0-dp.13

New features and enhancements

Fixes

  • CXXCBC-345: Range scan improvements & resolve concurrency issues (#525).
  • CXXCBC-284: Do not use session that is not bootstrapped to poll for config (#528)
  • CXXCBC-447: Use addresses from the config to bootstrap bucket (#516)
  • CXXCBC-450: Reset bootstrap handler before re-bootstrap (#524).
  • Update view design_document rev to be optional (#526).
  • Change encoded search request showrequest param from string to boolean. (#518)
  • CXXCBC-452: Update capabilities and fail fast when selected feature is not available. (#522, #513)
    • CXXCBC-431: Add check for history retention bucket capability in collection create/update (#502, #505)
    • CXXCBC-421: Return feature_not_available when query preserve expiry is not supported (#510)

Since 1.0.0-dp.12

New features and enhancements

Fixes

  • CXXCBC-284: Reduce network traffic when polling for cluster configuration. (#504)
  • CXXCBC-422: Add insufficient credentials error code to common query error code conversion. (#511)
  • CXXCBC-421: Return feature_not_available when query preserve expiry is not supported. (#510)
  • CXXCBC-426: Get with very large projection test is returning fields outside of the projection. (#499)

Since 1.0.0-dp.11

Fixes

  • CXXCBC-404: KV_LOCKED status should be exposed as cas_mismatch for unlock. (#479)
  • CXXCBC-403: Allow retries for KV not_my_vbucket response. (#480)
  • CXXCBC-368: Subscribe to clustermap notifications to speedup failover. (#490)
  • CXXCBC-419: Ensure that MCBP protocol parser starts with clean state. Fixes protocol parsing issues when bootstrap sequence is being retried. (#496)
  • CXXCBC-409: Add handling for 'index does not exist' query error. (#492)
  • CXXCBC-391: Fix transactions API inconsistencies. (#482)
    • Remove kv_timeout
    • Rename expiration_time to timeout

New features and enhancements

Since 1.0.0-dp.10

Fixes

  • CXXCBC-383: Map subdoc_doc_too_deep KV status to path_too_deep error code. (#455)
  • CXXCBC-382: Fix raw_binary_transcoder so that gets on binary data are possible. (#459)

New features and enhancements

  • CXXCBC-377: Implement ExtParallelUnstaging in transactions. (#457)
  • CXXCBC-363: Add examples for bulk operations. (#442)
  • Add more information to diagnose timeouts on NMV responses. (#475)

4.1.6

11 Oct 03:03
4.1.6
dac7e56
Compare
Choose a tag to compare

API docs: https://docs.couchbase.com/sdk-api/couchbase-php-client-4.1.6
Full Changelog: 4.1.5...4.1.6

  • PCBC-955: do not allow trailing garbage in encoded CAS value (#134)
  • PCBC-956: Update wrapper side bucket settings (#132)
  • PCBC-950: Support bucket settings for no dedup feature (#131)
  • Updates to support PHP 8.3. zend_bool was removed from 8.3.

Notable changes in core C++

4.1.5

21 Aug 12:36
4.1.5
5b1b578
Compare
Choose a tag to compare

API docs: https://docs.couchbase.com/sdk-api/couchbase-php-client-4.1.5
Full Changelog: 4.1.4...4.1.5

  • PCBC-939: Support query with read from replica. (#118)
  • PCBC-831: Implement search index management. (#115)
  • PCBC-945: Expose expiry options for increment/decrement. (#120)
  • PCBC-937: Fix removeMulti, which didn't remove documents. (#123)
  • PCBC-938: Override exception constructor in PHP Extension, which allows to initialize context in derived classes. (#117)
  • PCBC-940: Support for subdoc read from replica. (#121)
  • PCBC-884: Support for Native KV range scans. (#122, #127)

Notable changes in core C++

4.1.4

26 May 13:52
4.1.4
c4a662a
Compare
Choose a tag to compare

API docs: https://docs.couchbase.com/sdk-api/couchbase-php-client-4.1.4
Full Changelog: 4.1.3...4.1.4

Enhancements

  • Add couchbase:: namespace to durability_level, fixes using Sync Durability. (#102)
  • PCBC-934: Fixed setting timeout for transaction.

Notable changes in core C++

  • CXXCBC-327: bundle Mozilla certificates with the library (#405, #408)
  • CXXCBC-324: check port and network name on session restart (#401)
  • CXXCBC-323: parse bootstrap_timeout and resolve_timeout in connection string (#400)
  • introduce option dump_configuration for debugging (#398)

4.1.3

13 Apr 13:46
4.1.3
8963a09
Compare
Choose a tag to compare

API docs: https://docs.couchbase.com/sdk-api/couchbase-php-client-4.1.3
Full Changelog: 4.1.2...4.1.3

Enhancements

  • PCBC-915: Fixed timestamp as expiry in mutation options (#88)
  • PCBC-828: Implemented collection management (#89)
  • PCBC-918: Extra attributes in ExistsResult now optional (deleted, expiry, flags, and sequenceNumber) (#95)

Notable changes in core C++

4.1.2

20 Mar 14:30
4.1.2
3886e66
Compare
Choose a tag to compare

API docs: https://docs.couchbase.com/sdk-api/couchbase-php-client-4.1.2

Enhancements

  • PCBC-888 handle query context changes (#68)
  • Added optional context to CouchbaseException constructor (#85)

Notable changes in core C++

4.1.1

24 Feb 08:50
4.1.1
6f82355
Compare
Choose a tag to compare

API docs: https://docs.couchbase.com/sdk-api/couchbase-php-client-4.1.1

Enhancements

  • PCBC-869: Implemented changePassword for management API (#55, #56)
  • PCBC-891: Append extension version info to HELLO indentifier (#58)
  • PCBC-901: Attach error details to management exceptions (#71)
  • Increase required PHP version up to 8.0 (#76)

Fixes

  • PCBC-890: Scope must implement ScopeInterface (#57)
  • PCBC-902: Make sure that new account is usable in changePassword test (#72)
  • PCBC-899: Ensure the connection will be closed on error (#70)
  • PCBC-900: Don't set "function" property on exceptions. (#74)
  • PCBC-905: Don't dereference empty optional if option is not set (#75)
  • PCBC-907: assign meta to view query result (#79)
  • Fix missing header for GCC 13 (#63)

Notable changes in core C++ 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).

  • Resource management and performance improvements:

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

    • Fix build with gcc-13
    • Fix gcc 12 issue
  • Enhancements:

    • Include OS name in SDK identifier