From cb48c93c409cf5547978ae4c1e7165591dcf6f40 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 6 Aug 2026 15:41:19 +0000 Subject: [PATCH 1/2] chore: pin lisachenko/z-engine to ^8.4 z-engine 8.4.0 is tagged and on Packagist, and its master now targets PHP 8.5 - tracking dev-master would break this PHP 8.4 library on the next update. The minimum-stability/prefer-stable overrides covered only the z-engine dev dependency, so they go too. README installation notes updated accordingly; the package itself stays dev-master-installable until the next release is tagged (see #12). Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01HRDZ2XsoVuB5uG4qXKL3ny --- README.md | 6 +++--- composer.json | 4 +--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index e5d7d6a..70373c6 100644 --- a/README.md +++ b/README.md @@ -63,10 +63,10 @@ The maths is plain PHP. The magic is only in getting the engine to call it. ## Installation ```bash -composer require lisachenko/z-engine:dev-master lisachenko/native-php-matrix:dev-master +composer require lisachenko/native-php-matrix:dev-master ``` -Z-Engine does not yet have a stable tag with PHP 8.4 support, so both packages are consumed from `dev-master`. Composer only resolves development stability at the **root** level, which is why the requirement has to be written into your own project rather than inherited — your `composer.json` needs: +Z-Engine ships stable PHP 8.4 releases (`8.4.0` and up), and this package requires it as `^8.4` — no dev dependency there anymore. Until the next native-php-matrix release is tagged, the package itself is still consumed from `dev-master`; Composer only resolves development stability at the **root** level, so your `composer.json` needs: ```json { @@ -75,7 +75,7 @@ Z-Engine does not yet have a stable tag with PHP 8.4 support, so both packages a } ``` -Once a stable 8.4-capable Z-Engine release exists, both constraints collapse back to ordinary version ranges. +Once a native-php-matrix release covering the current code is tagged, this collapses to a plain `composer require lisachenko/native-php-matrix`. No initialization call is needed: `bootstrap.php` ships in the package's `files` autoload and sets everything up behind `require vendor/autoload.php`. diff --git a/composer.json b/composer.json index e17dea2..8825b72 100644 --- a/composer.json +++ b/composer.json @@ -13,7 +13,7 @@ "require": { "php": "~8.4.0", "ext-ffi": "*", - "lisachenko/z-engine": "dev-master" + "lisachenko/z-engine": "^8.4" }, "require-dev": { "friendsofphp/php-cs-fixer": "^3.75", @@ -26,8 +26,6 @@ }, "files": ["bootstrap.php"] }, - "minimum-stability": "dev", - "prefer-stable": true, "scripts": { "test": "phpunit", "phpstan": "phpstan analyse", From ce0a25f2c9cf32f8cae3a1e48c9b53e16c5fb727 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 6 Aug 2026 15:48:11 +0000 Subject: [PATCH 2/2] fix: tighten z-engine constraint to ~8.4.0 Review feedback: ^8.4 would also accept z-engine 8.5+ up to 9.0, but z-engine minors track PHP minors and are not interchangeable - this library is the PHP 8.4 line, so the constraint mirrors php ~8.4.0. README wording follows. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01HRDZ2XsoVuB5uG4qXKL3ny --- README.md | 2 +- composer.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 70373c6..1f56447 100644 --- a/README.md +++ b/README.md @@ -66,7 +66,7 @@ The maths is plain PHP. The magic is only in getting the engine to call it. composer require lisachenko/native-php-matrix:dev-master ``` -Z-Engine ships stable PHP 8.4 releases (`8.4.0` and up), and this package requires it as `^8.4` — no dev dependency there anymore. Until the next native-php-matrix release is tagged, the package itself is still consumed from `dev-master`; Composer only resolves development stability at the **root** level, so your `composer.json` needs: +Z-Engine ships stable PHP 8.4 releases (`8.4.0` and up), and this package requires it as `~8.4.0` (z-engine minors track PHP minors and are not interchangeable) — no dev dependency there anymore. Until the next native-php-matrix release is tagged, the package itself is still consumed from `dev-master`; Composer only resolves development stability at the **root** level, so your `composer.json` needs: ```json { diff --git a/composer.json b/composer.json index 8825b72..8007b12 100644 --- a/composer.json +++ b/composer.json @@ -13,7 +13,7 @@ "require": { "php": "~8.4.0", "ext-ffi": "*", - "lisachenko/z-engine": "^8.4" + "lisachenko/z-engine": "~8.4.0" }, "require-dev": { "friendsofphp/php-cs-fixer": "^3.75",