diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..190b5c5 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,25 @@ +## 1.0.0 (2026-04-27) + +### Features + +* automated release pipeline with semantic-release ([552dc6e](https://github.com/convertcom/php-sdk/commit/552dc6e91d06d053a38b7ef3f59392499959df48)) +* **utils:** add LogUtils::toLoggable helper for safe logging of OpenAPI models ([d90e56a](https://github.com/convertcom/php-sdk/commit/d90e56a2118aedfcc59fa9416ca0311f0dd1cee9)), closes [#11](https://github.com/convertcom/php-sdk/issues/11) + +### Bug Fixes + +* ConvertSDK test update ([d4340d6](https://github.com/convertcom/php-sdk/commit/d4340d6c80f4cfa5888706b332699e57df0d75af)) +* **data,experience,bucketing,api:** wrap remaining log contexts via LogUtils::toLoggable ([3d22905](https://github.com/convertcom/php-sdk/commit/3d22905f2af4e9a33c84fc72b66c7628e6b72f4e)), closes [#11](https://github.com/convertcom/php-sdk/issues/11) +* integration test updates, CI and README fixes ([67ea9fe](https://github.com/convertcom/php-sdk/commit/67ea9fe5d3621208c8fc6a09148e650dd97f0991)) +* **release:** migrate rollover-version-plugin to conventional-commits-parser v6 API ([9ff166a](https://github.com/convertcom/php-sdk/commit/9ff166a583a19df7ce67b64ceef5b7626e3e6d55)) +* **release:** repair Packagist publishing pipeline ([d56be10](https://github.com/convertcom/php-sdk/commit/d56be107cde6da238a47dc974fe097a680e7e39a)) +* **release:** use node-modules linker for semantic-release compatibility ([47dddf1](https://github.com/convertcom/php-sdk/commit/47dddf1f275058849d59f0dd97b98c4f5f2afd3b)) +* rollover version plugin and release docs update ([8fd48d9](https://github.com/convertcom/php-sdk/commit/8fd48d9f2c1bb9ed2914ea90ba11566a95bf324e)) +* **rules:** wrap log context to prevent OpenAPI enum serialization error ([e6ea094](https://github.com/convertcom/php-sdk/commit/e6ea094abb0b0e60defab1096175d6289a682966)), closes [#11](https://github.com/convertcom/php-sdk/issues/11) [#11](https://github.com/convertcom/php-sdk/issues/11) +* test fixes and cleanup ([692664b](https://github.com/convertcom/php-sdk/commit/692664b22fe8d6b3598993e79fc525f64c50e0e0)) +* update CI workflow configuration ([caa6917](https://github.com/convertcom/php-sdk/commit/caa69179af03af7f5e8ef123281d37eb65ee3db2)) +* update full-chain integration test ([463c69a](https://github.com/convertcom/php-sdk/commit/463c69a36f632772115b702703847c9a37b972fe)) + +### Refactoring + +* reorganize Types package — move OpenAPI models to Generated/ ([a143a1d](https://github.com/convertcom/php-sdk/commit/a143a1d60df2aa22d26b71c0f2666c9b503b4473)) +* **sdk:** address adversarial-review findings on PR [#29](https://github.com/convertcom/php-sdk/issues/29) ([1d9d751](https://github.com/convertcom/php-sdk/commit/1d9d7515c1b4cd5e0ae8a45cee23cf1864cfe0dd)) diff --git a/packages/Api/composer.json b/packages/Api/composer.json index 7864e74..272a951 100644 --- a/packages/Api/composer.json +++ b/packages/Api/composer.json @@ -43,11 +43,11 @@ "psr/http-factory": "^1.0", "psr/http-message": "^1.1 || ^2.0", "php-http/discovery": "^1.19", - "convertcom/php-sdk-enums": ">=1.0.0", - "convertcom/php-sdk-event": ">=1.0.0", - "convertcom/php-sdk-utils": ">=1.0.0", - "convertcom/php-sdk-logger": ">=1.0.0", - "convertcom/php-sdk-types": ">=1.0.0" + "convertcom/php-sdk-enums": "^1.0.0", + "convertcom/php-sdk-event": "^1.0.0", + "convertcom/php-sdk-utils": "^1.0.0", + "convertcom/php-sdk-logger": "^1.0.0", + "convertcom/php-sdk-types": "^1.0.0" }, "require-dev": { "phpunit/phpunit": "^11.0", diff --git a/packages/Bucketing/composer.json b/packages/Bucketing/composer.json index f7ecae1..9f8d758 100644 --- a/packages/Bucketing/composer.json +++ b/packages/Bucketing/composer.json @@ -41,12 +41,12 @@ ], "require": { "php": "^8.2", - "convertcom/php-sdk-api": ">=1.0.0", - "convertcom/php-sdk-enums": ">=1.0.0", - "convertcom/php-sdk-logger": ">=1.0.0", - "convertcom/php-sdk-utils": ">=1.0.0", - "convertcom/php-sdk-event": ">=1.0.0", - "convertcom/php-sdk-types": ">=1.0.0" + "convertcom/php-sdk-api": "^1.0.0", + "convertcom/php-sdk-enums": "^1.0.0", + "convertcom/php-sdk-logger": "^1.0.0", + "convertcom/php-sdk-utils": "^1.0.0", + "convertcom/php-sdk-event": "^1.0.0", + "convertcom/php-sdk-types": "^1.0.0" }, "require-dev": { "phpunit/phpunit": "^11.0" @@ -56,4 +56,4 @@ "build": "php build.php" }, "version": "1.0.0" -} \ No newline at end of file +} diff --git a/packages/Data/composer.json b/packages/Data/composer.json index 92a6e03..19fb3d2 100644 --- a/packages/Data/composer.json +++ b/packages/Data/composer.json @@ -5,60 +5,60 @@ "license": "Apache-2.0", "version": "1.0.0", "authors": [ - { - "name": "Convert Insights, Inc" - } + { + "name": "Convert Insights, Inc" + } ], "autoload": { - "psr-4": { - "ConvertSdk\\": "src/", - "ConvertSdk\\Config\\": "../Php-sdk/src/Config/" - } + "psr-4": { + "ConvertSdk\\": "src/", + "ConvertSdk\\Config\\": "../Php-sdk/src/Config/" + } }, "repositories": { - "Enums": { - "type": "path", - "url": "../Enums" - }, - "Api": { - "type": "path", - "url": "../Api" - }, - "Logger": { - "type": "path", - "url": "../Logger" - }, - "Utils": { - "type": "path", - "url": "../Utils" - }, - "Event": { - "type": "path", - "url": "../Event" - }, - "Bucketing": { - "type": "path", - "url": "../Bucketing" - }, - "Rules": { - "type": "path", - "url": "../Rules" - }, - "Types": { - "type": "path", - "url": "../Types" - } + "Enums": { + "type": "path", + "url": "../Enums" + }, + "Api": { + "type": "path", + "url": "../Api" + }, + "Logger": { + "type": "path", + "url": "../Logger" + }, + "Utils": { + "type": "path", + "url": "../Utils" + }, + "Event": { + "type": "path", + "url": "../Event" + }, + "Bucketing": { + "type": "path", + "url": "../Bucketing" + }, + "Rules": { + "type": "path", + "url": "../Rules" + }, + "Types": { + "type": "path", + "url": "../Types" + } }, "require": { "php": "^8.2", - "convertcom/php-sdk-api": ">=1.0.0", - "convertcom/php-sdk-bucketing": ">=1.0.0", - "convertcom/php-sdk-enums": ">=1.0.0", - "convertcom/php-sdk-event": ">=1.0.0", - "convertcom/php-sdk-logger": ">=1.0.0", - "convertcom/php-sdk-rules": ">=1.0.0", - "convertcom/php-sdk-types": ">=1.0.0", - "convertcom/php-sdk-utils": ">=1.0.0", + "convertcom/php-sdk-api": "^1.0.0", + "convertcom/php-sdk-bucketing": "^1.0.0", + "convertcom/php-sdk-enums": "^1.0.0", + "convertcom/php-sdk-event": "^1.0.0", + "convertcom/php-sdk-logger": "^1.0.0", + "convertcom/php-sdk-rules": "^1.0.0", + "convertcom/php-sdk-types": "^1.0.0", + "convertcom/php-sdk-utils": "^1.0.0", "psy/psysh": "@stable" }, "require-dev": { @@ -67,11 +67,11 @@ "phpunit/phpunit": "^11.0" }, "scripts": { - "test": "phpunit", - "coverage": "vendor/bin/phpunit --coverage-text" + "test": "phpunit", + "coverage": "vendor/bin/phpunit --coverage-text" }, "config": { - "optimize-autoloader": true, - "sort-packages": true + "optimize-autoloader": true, + "sort-packages": true } - } +} diff --git a/packages/Enums/composer.json b/packages/Enums/composer.json index 7613128..e703860 100644 --- a/packages/Enums/composer.json +++ b/packages/Enums/composer.json @@ -1,22 +1,22 @@ { - "name": "convertcom/php-sdk-enums", - "description": "PHP implementation of Convert JS SDK enums", - "type": "library", - "license": "Apache-2.0", - "authors": [ - { - "name": "Convert Insights, Inc" - } - ], - "autoload": { - "psr-4": { - "ConvertSdk\\Enums\\": "src/" - } - }, - "require": { - "php": "^8.2" - }, - "minimum-stability": "stable", - "prefer-stable": true, - "version": "1.0.0" + "name": "convertcom/php-sdk-enums", + "description": "PHP implementation of Convert JS SDK enums", + "type": "library", + "license": "Apache-2.0", + "authors": [ + { + "name": "Convert Insights, Inc" + } + ], + "autoload": { + "psr-4": { + "ConvertSdk\\Enums\\": "src/" + } + }, + "require": { + "php": "^8.2" + }, + "minimum-stability": "stable", + "prefer-stable": true, + "version": "1.0.0" } diff --git a/packages/Event/composer.json b/packages/Event/composer.json index b51821e..4aa839c 100644 --- a/packages/Event/composer.json +++ b/packages/Event/composer.json @@ -5,14 +5,14 @@ "license": "Apache-2.0", "version": "1.0.0", "authors": [ - { - "name": "Convert Insights, Inc" - } + { + "name": "Convert Insights, Inc" + } ], "autoload": { - "psr-4": { - "ConvertSdk\\Event\\": "src/" - } + "psr-4": { + "ConvertSdk\\Event\\": "src/" + } }, "repositories": { "Enums": { @@ -25,18 +25,17 @@ } }, "require": { - "php": "^8.2", - "convertcom/php-sdk-enums": ">=1.0.0", - "convertcom/php-sdk-logger": ">=1.0.0" + "php": "^8.2", + "convertcom/php-sdk-enums": "^1.0.0", + "convertcom/php-sdk-logger": "^1.0.0" }, "require-dev": { - "phpunit/phpunit": "^11.0", - "vlucas/phpdotenv": "^5.5" + "phpunit/phpunit": "^11.0", + "vlucas/phpdotenv": "^5.5" }, "scripts": { - "test": "phpunit" + "test": "phpunit" }, "minimum-stability": "dev", "prefer-stable": true - } - \ No newline at end of file +} diff --git a/packages/Experience/composer.json b/packages/Experience/composer.json index 5f63f05..66ab633 100644 --- a/packages/Experience/composer.json +++ b/packages/Experience/composer.json @@ -1,80 +1,79 @@ { - "name": "convertcom/php-sdk-experience", - "description": "PHP SDK for Convert Experience Management", - "type": "library", - "license": "Apache-2.0", - "authors": [ - { - "name": "Convert Insights, Inc", - "email": "support@convert.com" - } - ], - "autoload": { - "psr-4": { - "ConvertSdk\\": "src/", - "ConvertSdk\\Config\\": "../Php-sdk/src/Config/" - - } - }, - "repositories": { - "Enums": { - "type": "path", - "url": "../Enums" + "name": "convertcom/php-sdk-experience", + "description": "PHP SDK for Convert Experience Management", + "type": "library", + "license": "Apache-2.0", + "authors": [ + { + "name": "Convert Insights, Inc", + "email": "support@convert.com" + } + ], + "autoload": { + "psr-4": { + "ConvertSdk\\": "src/", + "ConvertSdk\\Config\\": "../Php-sdk/src/Config/" + } }, - "Api": { - "type": "path", - "url": "../Api" + "repositories": { + "Enums": { + "type": "path", + "url": "../Enums" + }, + "Api": { + "type": "path", + "url": "../Api" + }, + "Logger": { + "type": "path", + "url": "../Logger" + }, + "Event": { + "type": "path", + "url": "../Event" + }, + "Rules": { + "type": "path", + "url": "../Rules" + }, + "Types": { + "type": "path", + "url": "../Types" + }, + "Utils": { + "type": "path", + "url": "../Utils" + }, + "Data": { + "type": "path", + "url": "../Data" + }, + "Bucketing": { + "type": "path", + "url": "../Bucketing" + } }, - "Logger": { - "type": "path", - "url": "../Logger" + "require": { + "php": "^8.2", + "convertcom/php-sdk-api": "^1.0.0", + "convertcom/php-sdk-enums": "^1.0.0", + "convertcom/php-sdk-event": "^1.0.0", + "convertcom/php-sdk-logger": "^1.0.0", + "convertcom/php-sdk-rules": "^1.0.0", + "convertcom/php-sdk-data": "^1.0.0", + "convertcom/php-sdk-bucketing": "^1.0.0", + "convertcom/php-sdk-types": "^1.0.0", + "convertcom/php-sdk-utils": "^1.0.0" }, - "Event": { - "type": "path", - "url": "../Event" + "require-dev": { + "phpunit/phpunit": "^11.0", + "mockery/mockery": "^1.4" }, - "Rules": { - "type": "path", - "url": "../Rules" + "scripts": { + "test": "phpunit --config phpunit.xml", + "clean": "rm -rf vendor/ composer.lock" }, - "Types": { - "type": "path", - "url": "../Types" - }, - "Utils": { - "type": "path", - "url": "../Utils" - }, - "Data": { - "type": "path", - "url": "../Data" - }, - "Bucketing": { - "type": "path", - "url": "../Bucketing" - } - }, - "require": { - "php": "^8.2", - "convertcom/php-sdk-api": ">=1.0.0", - "convertcom/php-sdk-enums": ">=1.0.0", - "convertcom/php-sdk-event": ">=1.0.0", - "convertcom/php-sdk-logger": ">=1.0.0", - "convertcom/php-sdk-rules": ">=1.0.0", - "convertcom/php-sdk-data": ">=1.0.0", - "convertcom/php-sdk-bucketing": ">=1.0.0", - "convertcom/php-sdk-types": ">=1.0.0", - "convertcom/php-sdk-utils": ">=1.0.0" - }, - "require-dev": { - "phpunit/phpunit": "^11.0", - "mockery/mockery": "^1.4" - }, - "scripts": { - "test": "phpunit --config phpunit.xml", - "clean": "rm -rf vendor/ composer.lock" - }, - "version": "1.0.0", - "minimum-stability": "stable", - "prefer-stable": true + "version": "1.0.0", + "minimum-stability": "stable", + "prefer-stable": true } diff --git a/packages/Logger/composer.json b/packages/Logger/composer.json index e900fe7..f7d4777 100644 --- a/packages/Logger/composer.json +++ b/packages/Logger/composer.json @@ -1,37 +1,37 @@ { - "name": "convertcom/php-sdk-logger", - "description": "PHP implementation of Convert SDK Logger package", - "type": "library", - "license": "Apache-2.0", - "version": "1.0.0", - "authors": [ - { - "name": "Convert Insights, Inc" - } - ], - "autoload": { - "psr-4": { - "ConvertSdk\\": "src/" - } - }, - "repositories": [ - { - "type": "path", - "url": "../Enums" - } - ], - "require": { - "php": "^8.2", - "convertcom/php-sdk-enums": ">=1.0.0", - "psr/log": "^3.0" - }, - "require-dev": { - "phpunit/phpunit": "^11.0", - "monolog/monolog": "^3.8" - }, - "scripts": { - "test": "phpunit" - }, - "minimum-stability": "stable", - "prefer-stable": true + "name": "convertcom/php-sdk-logger", + "description": "PHP implementation of Convert SDK Logger package", + "type": "library", + "license": "Apache-2.0", + "version": "1.0.0", + "authors": [ + { + "name": "Convert Insights, Inc" + } + ], + "autoload": { + "psr-4": { + "ConvertSdk\\": "src/" + } + }, + "repositories": [ + { + "type": "path", + "url": "../Enums" + } + ], + "require": { + "php": "^8.2", + "convertcom/php-sdk-enums": "^1.0.0", + "psr/log": "^3.0" + }, + "require-dev": { + "phpunit/phpunit": "^11.0", + "monolog/monolog": "^3.8" + }, + "scripts": { + "test": "phpunit" + }, + "minimum-stability": "stable", + "prefer-stable": true } diff --git a/packages/Php-sdk/composer.json b/packages/Php-sdk/composer.json index 51ed68b..6423d59 100644 --- a/packages/Php-sdk/composer.json +++ b/packages/Php-sdk/composer.json @@ -4,85 +4,85 @@ "type": "library", "license": "Apache-2.0", "authors": [ - { - "name": "Convert Insights, Inc" - } + { + "name": "Convert Insights, Inc" + } ], "autoload": { - "psr-4": { - "ConvertSdk\\": "src/" - } + "psr-4": { + "ConvertSdk\\": "src/" + } }, "repositories": { "Data": { - "type": "path", - "url": "../Data" + "type": "path", + "url": "../Data" }, "Enums": { - "type": "path", - "url": "../Enums" + "type": "path", + "url": "../Enums" }, "Api": { - "type": "path", - "url": "../Api" + "type": "path", + "url": "../Api" }, "Logger": { - "type": "path", - "url": "../Logger" + "type": "path", + "url": "../Logger" }, "Utils": { - "type": "path", - "url": "../Utils" + "type": "path", + "url": "../Utils" }, "Event": { - "type": "path", - "url": "../Event" + "type": "path", + "url": "../Event" }, "Bucketing": { - "type": "path", - "url": "../Bucketing" + "type": "path", + "url": "../Bucketing" }, "Rules": { - "type": "path", - "url": "../Rules" + "type": "path", + "url": "../Rules" }, "Experience": { - "type": "path", - "url": "../Experience" + "type": "path", + "url": "../Experience" }, "Types": { - "type": "path", - "url": "../Types" + "type": "path", + "url": "../Types" }, "Segments": { - "type": "path", - "url": "../Segments" + "type": "path", + "url": "../Segments" } - }, + }, "require": { - "php": "^8.2", - "php-http/discovery": "^1.19", - "psr/log": "^3.0", - "psr/simple-cache": "^3.0", - "convertcom/php-sdk-api": ">=1.0.0", - "convertcom/php-sdk-data": ">=1.0.0", - "convertcom/php-sdk-enums": ">=1.0.0", - "convertcom/php-sdk-event": ">=1.0.0", - "convertcom/php-sdk-logger": ">=1.0.0", - "convertcom/php-sdk-utils": ">=1.0.0", - "convertcom/php-sdk-bucketing": ">=1.0.0", - "convertcom/php-sdk-rules": ">=1.0.0", - "convertcom/php-sdk-experience": ">=1.0.0", - "convertcom/php-sdk-types": ">=1.0.0", - "convertcom/php-sdk-segments": ">=1.0.0" + "php": "^8.2", + "php-http/discovery": "^1.19", + "psr/log": "^3.0", + "psr/simple-cache": "^3.0", + "convertcom/php-sdk-api": "^1.0.0", + "convertcom/php-sdk-data": "^1.0.0", + "convertcom/php-sdk-enums": "^1.0.0", + "convertcom/php-sdk-event": "^1.0.0", + "convertcom/php-sdk-logger": "^1.0.0", + "convertcom/php-sdk-utils": "^1.0.0", + "convertcom/php-sdk-bucketing": "^1.0.0", + "convertcom/php-sdk-rules": "^1.0.0", + "convertcom/php-sdk-experience": "^1.0.0", + "convertcom/php-sdk-types": "^1.0.0", + "convertcom/php-sdk-segments": "^1.0.0" }, "require-dev": { - "phpunit/phpunit": "^11.0" + "phpunit/phpunit": "^11.0" }, "scripts": { - "test": "phpunit" + "test": "phpunit" }, "minimum-stability": "stable", "prefer-stable": true, "version": "1.0.0" - } +} diff --git a/packages/Rules/composer.json b/packages/Rules/composer.json index 878efb7..9e2268f 100644 --- a/packages/Rules/composer.json +++ b/packages/Rules/composer.json @@ -34,10 +34,10 @@ ], "require": { "php": "^8.2", - "convertcom/php-sdk-enums": ">=1.0.0", - "convertcom/php-sdk-logger": ">=1.0.0", - "convertcom/php-sdk-utils": ">=1.0.0", - "convertcom/php-sdk-types": ">=1.0.0" + "convertcom/php-sdk-enums": "^1.0.0", + "convertcom/php-sdk-logger": "^1.0.0", + "convertcom/php-sdk-utils": "^1.0.0", + "convertcom/php-sdk-types": "^1.0.0" }, "require-dev": { "phpunit/phpunit": "^11.0" diff --git a/packages/Segments/composer.json b/packages/Segments/composer.json index c72e925..a92f6dc 100644 --- a/packages/Segments/composer.json +++ b/packages/Segments/composer.json @@ -49,15 +49,15 @@ }, "require": { "php": "^8.2", - "convertcom/php-sdk-data": ">=1.0.0", - "convertcom/php-sdk-enums": ">=1.0.0", - "convertcom/php-sdk-bucketing": ">=1.0.0", - "convertcom/php-sdk-event": ">=1.0.0", - "convertcom/php-sdk-logger": ">=1.0.0", - "convertcom/php-sdk-rules": ">=1.0.0", - "convertcom/php-sdk-types": ">=1.0.0", - "convertcom/php-sdk-api": ">=1.0.0", - "convertcom/php-sdk-utils": ">=1.0.0" + "convertcom/php-sdk-data": "^1.0.0", + "convertcom/php-sdk-enums": "^1.0.0", + "convertcom/php-sdk-bucketing": "^1.0.0", + "convertcom/php-sdk-event": "^1.0.0", + "convertcom/php-sdk-logger": "^1.0.0", + "convertcom/php-sdk-rules": "^1.0.0", + "convertcom/php-sdk-types": "^1.0.0", + "convertcom/php-sdk-api": "^1.0.0", + "convertcom/php-sdk-utils": "^1.0.0" }, "require-dev": { "phpunit/phpunit": "^11.0" diff --git a/packages/Types/composer.json b/packages/Types/composer.json index cafaaa9..a2a6063 100644 --- a/packages/Types/composer.json +++ b/packages/Types/composer.json @@ -31,9 +31,16 @@ "phpunit/phpunit": "^11.0" }, "autoload": { - "psr-4": { "OpenAPI\\Client\\" : ["lib/", "lib/Generated/"] } + "psr-4": { + "OpenAPI\\Client\\": [ + "lib/", + "lib/Generated/" + ] + } }, "autoload-dev": { - "psr-4": { "OpenAPI\\Client\\Test\\" : "test/" } + "psr-4": { + "OpenAPI\\Client\\Test\\": "test/" + } } } diff --git a/packages/Utils/composer.json b/packages/Utils/composer.json index fe07d48..8526e85 100644 --- a/packages/Utils/composer.json +++ b/packages/Utils/composer.json @@ -5,30 +5,30 @@ "license": "Apache-2.0", "authors": [ { - "name": "Convert Insights, Inc", - "homepage": "https://www.convert.com" + "name": "Convert Insights, Inc", + "homepage": "https://www.convert.com" } ], "autoload": { "psr-4": { - "ConvertSdk\\Utils\\": "src/", - "ConvertSdk\\Tests\\": "tests/" + "ConvertSdk\\Utils\\": "src/", + "ConvertSdk\\Tests\\": "tests/" } }, "repositories": { "Enums": { - "type": "path", - "url": "../Enums" - }, + "type": "path", + "url": "../Enums" + }, "Types": { - "type": "path", - "url": "../Types" - } + "type": "path", + "url": "../Types" + } }, "require": { "php": "^8.2", - "convertcom/php-sdk-enums": ">=1.0.0", - "convertcom/php-sdk-types": ">=1.0.0", + "convertcom/php-sdk-enums": "^1.0.0", + "convertcom/php-sdk-types": "^1.0.0", "lastguest/murmurhash": "^2.1" }, "require-dev": { @@ -40,5 +40,4 @@ "minimum-stability": "stable", "prefer-stable": true, "version": "1.0.0" - } diff --git a/release.config.mjs b/release.config.mjs index 9cf3c16..642fee5 100644 --- a/release.config.mjs +++ b/release.config.mjs @@ -29,12 +29,18 @@ export default { // 3. Write CHANGELOG.md '@semantic-release/changelog', - // 4. Sync all 12 package versions via monorepo-builder + // 4. Sync inter-package version constraints via monorepo-builder. + // NOTE: do NOT chain `monorepo-builder release ""` here. + // That command creates its own commit + tag + push, which races + // @semantic-release/git and produces an orphan "prepare release" + // commit (the tag points to a commit that is never merged into main, + // leaving v* tags unreachable from main's history and breaking the + // "last release" lookup on every subsequent run). [ '@semantic-release/exec', { prepareCmd: - 'composer exec monorepo-builder bump-interdependency "^${nextRelease.version}" && composer exec monorepo-builder release "${nextRelease.version}"', + 'composer exec monorepo-builder bump-interdependency "^${nextRelease.version}"', }, ],