diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 27ba72c3..0ceb8610 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -198,6 +198,7 @@ jobs: check_name: ⛰️ caves, php-${{ matrix.php }} report_paths: results.xml require_tests: true + annotate_only: true build_linux_x86_64: needs: source @@ -299,6 +300,7 @@ jobs: check_name: 🐧caves, php-${{ matrix.php }}-${{ matrix.ts }} report_paths: results.xml require_tests: true + annotate_only: true build_macos_x86_64: needs: source @@ -402,6 +404,7 @@ jobs: check_name: 🍏caves, php-${{ matrix.php }}-${{ matrix.ts }} report_paths: results.xml require_tests: true + annotate_only: true build_macos_arm64: needs: source @@ -505,3 +508,4 @@ jobs: check_name: 🍎caves, php-${{ matrix.php }}-${{ matrix.ts }} report_paths: results.xml require_tests: true + annotate_only: true diff --git a/Couchbase/Exception/PermissionDeniedException.php b/Couchbase/Exception/PermissionDeniedException.php index 58db89ef..314feb53 100644 --- a/Couchbase/Exception/PermissionDeniedException.php +++ b/Couchbase/Exception/PermissionDeniedException.php @@ -22,4 +22,4 @@ class PermissionDeniedException extends CouchbaseException { -} \ No newline at end of file +} diff --git a/bin/package.rb b/bin/package.rb index 42ddd61a..00ffd4f0 100755 --- a/bin/package.rb +++ b/bin/package.rb @@ -235,7 +235,7 @@ def which(name, extra_locations = []) "src/wrapper/**/*.{cxx,hxx}", ].map do |glob| Dir.chdir(project_root) do - Dir[glob].select { |path| File.file?(path) } + Dir.glob(glob, File::FNM_DOTMATCH).select { |path| File.file?(path) } end end.flatten diff --git a/couchbase-sdk-php-black-duck-manifest.yaml b/couchbase-sdk-php-black-duck-manifest.yaml new file mode 100644 index 00000000..b337207f --- /dev/null +++ b/couchbase-sdk-php-black-duck-manifest.yaml @@ -0,0 +1,2 @@ +include-projects: + - couchbase-sdk-cxx diff --git a/package.xml.in b/package.xml.in index 0e37c331..e9d0d4d0 100644 --- a/package.xml.in +++ b/package.xml.in @@ -13,10 +13,10 @@ sergey@couchbase.com yes - + 2024-03-17 - 4.1.6 - 4.0.0 + 4.2.0 + 4.2.0 stable @@ -24,18 +24,111 @@ Apache V2 - * 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. + Enhancements + ============ + + * PCBC-979: Add static helpers to SearchQuery types (#149) + * PCBC-970: SDK Support for Scoped Search Indexes (#147) + * PCBC-968: Support for maxTTL value of -1 for collection "no expiry" (#144) + * PCBC-967: Support for vector search (#143) + * PCBC-965: Support DocNotLockedException and core update (#142) + * PCBC-960: Merge protostellar branch to master (#138, #153) + + 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++ - --------------------------- - * CXXCBC-376: Revisit what 'create' and 'update' bucket operations send to the server. Make optional bucket - settings fields optional, and do not send anything unless the settings explicitly specified. (#451) - * CXXCBC-359: Reduce default HTTP idle timeout to 1 second (#448) - * CXXCBC-367, CXXCBC-370: Add history retention settings to buckets/collection management. (#446) - * CXXCBC-119: Return booleans for subdocument 'exists' operation instead of error code. (#444, #452) - * Detect 'collection_not_found' error in 'update_collection' response (#450) + =========================== + + 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 + + * CXXCBC-456: handle 0x0d (config_only) status from KV (#523). + * CXXCBC-191: Create Index Key Encoding (#519) + * CXXCBC-442: Add support for raw_json and raw_string transcoders (#514, #515) + * Add full_set option to view query options (#517) + + ## 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 + + * CXXCBC-346: Support for maxTTL value of -1 for collection 'no expiry'. (#500) + * CXXCBC-442: Support for raw_json and raw_string transcoders. (#514) + * CXXCBC-440: Support for Scoped Search Indexes. (#512, #513) + + ## 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 + + * CXXCBC-100: Add ability to set timeout for ping. (#486) + * CXXCBC-412: Support `document_not_locked` response. (#491) + + 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 `get`s 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) + * Migrate cbc tools from `docopt` to `CLI11`. (#466) @@ -52,6 +145,32 @@ couchbase + + 2023-10-10 + + 4.1.6 + 4.0.0 + + + stable + stable + + Apache V2 + + * 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++ + --------------------------- + * CXXCBC-376: Revisit what 'create' and 'update' bucket operations send to the server. Make optional bucket + settings fields optional, and do not send anything unless the settings explicitly specified. (#451) + * CXXCBC-359: Reduce default HTTP idle timeout to 1 second (#448) + * CXXCBC-367, CXXCBC-370: Add history retention settings to buckets/collection management. (#446) + * CXXCBC-119: Return booleans for subdocument 'exists' operation instead of error code. (#444, #452) + * Detect 'collection_not_found' error in 'update_collection' response (#450) + + 2023-08-21 diff --git a/src/php_couchbase.hxx b/src/php_couchbase.hxx index 7c4b0bc5..9aa1c98a 100644 --- a/src/php_couchbase.hxx +++ b/src/php_couchbase.hxx @@ -19,7 +19,7 @@ #include -#define PHP_COUCHBASE_VERSION "4.1.6" +#define PHP_COUCHBASE_VERSION "4.2.0" #define PHP_COUCHBASE_EXTENSION_NAME "couchbase" #ifdef __cplusplus diff --git a/tests/PingTest.php b/tests/PingTest.php index 9c001eb7..e53016bf 100644 --- a/tests/PingTest.php +++ b/tests/PingTest.php @@ -65,7 +65,7 @@ public function testBucketPingNoParams() $cluster = $this->connectClusterUnique(); $bucketName = $this->env()->bucketName(); $bucket = $cluster->bucket($bucketName); - $bucket->defaultCollection()->upsert( $this->uniqueId("ping"), ['foo' => 'bar']); + $bucket->defaultCollection()->upsert($this->uniqueId("ping"), ['foo' => 'bar']); $result = $bucket->ping(); $this->assertNotEmpty($result['id']);