Hi team, and thanks a lot for OpenSwoole — and for adding PIE support recently! 🙏
I ran into a small snag trying to install it through PIE and wanted to share what I found, in case it's an easy win.
What I'm seeing
pie install openswoole/ext-openswoole:^25.2 (and :^26.2) can't resolve a pinned version — on Packagist only dev-master shows up, so there's no stable version to pin to. The actual output:
$ pie install openswoole/ext-openswoole:^26.2
Could not install package: openswoole/ext-openswoole
Unable to find an installable package openswoole/ext-openswoole for version ^26.2, with minimum stability stable.
(same for ^25.2.)
What I think is happening
The composer.json with "type": "php-ext" looks great and was added to master in 45573e1b7 ("feat: pie", 2026-03-02), then improved in a7a74d31c. The thing is, the current release tags were cut just before that:
v26.2.0 — 2026-02-28 (PHP 8.5)
v25.2.0 — earlier (PHP 8.4)
Since Packagist reads composer.json per tag and those tags don't include it yet, only dev-master gets published — so PIE has no pinnable php-ext release to resolve.
Would it be possible to…
Cut a fresh tag from the current master (which already carries the right composer.json) whenever it's convenient? A 26.x tag (e.g. v26.2.1) would already cover PHP 8.3–8.5. And if it's easy, a 25.x tag too (e.g. v25.2.1, with the composer.json present on the 25.x line) would let anyone who wants to stay on the 25 line for PHP 8.4 pin it without jumping a major version.
If you get a chance, a quick check that the Packagist webhook/App is active would also help the new tags publish automatically. No urgency at all — happy to help test, or open a PR for anything that'd make this easier on your side.
What I verified
Using PIE with dev-master (currently the 26.2.0 line) on plain php:8.x-cli-alpine images:
dev-master builds and installs cleanly (✅ Extension is enabled and loaded), reporting openswoole 26.2.0 on both PHP 8.5.8 and PHP 8.4.22.
- So the
composer.json itself looks spot on — it's just missing from the stable tags, which is why pinned installs can't resolve.
Thanks again for all the work on this! 🙌
Hi team, and thanks a lot for OpenSwoole — and for adding PIE support recently! 🙏
I ran into a small snag trying to install it through PIE and wanted to share what I found, in case it's an easy win.
What I'm seeing
pie install openswoole/ext-openswoole:^25.2(and:^26.2) can't resolve a pinned version — on Packagist onlydev-mastershows up, so there's no stable version to pin to. The actual output:(same for
^25.2.)What I think is happening
The
composer.jsonwith"type": "php-ext"looks great and was added tomasterin45573e1b7("feat: pie", 2026-03-02), then improved ina7a74d31c. The thing is, the current release tags were cut just before that:v26.2.0— 2026-02-28 (PHP 8.5)v25.2.0— earlier (PHP 8.4)Since Packagist reads
composer.jsonper tag and those tags don't include it yet, onlydev-mastergets published — so PIE has no pinnablephp-extrelease to resolve.Would it be possible to…
Cut a fresh tag from the current
master(which already carries the right composer.json) whenever it's convenient? A 26.x tag (e.g.v26.2.1) would already cover PHP 8.3–8.5. And if it's easy, a 25.x tag too (e.g.v25.2.1, with the composer.json present on the 25.x line) would let anyone who wants to stay on the 25 line for PHP 8.4 pin it without jumping a major version.If you get a chance, a quick check that the Packagist webhook/App is active would also help the new tags publish automatically. No urgency at all — happy to help test, or open a PR for anything that'd make this easier on your side.
What I verified
Using PIE with
dev-master(currently the 26.2.0 line) on plainphp:8.x-cli-alpineimages:dev-masterbuilds and installs cleanly (✅ Extension is enabled and loaded), reportingopenswoole 26.2.0on both PHP 8.5.8 and PHP 8.4.22.composer.jsonitself looks spot on — it's just missing from the stable tags, which is why pinned installs can't resolve.Thanks again for all the work on this! 🙌