Releases: datasage/api-tools-hal
Release list
2.0.0
First major of this fork line. BC breaks relative to 1.13.1.
Removed the ServiceManager v2 back-compat shims across the factories — createService(), createDelegatorWithName(), setCreationOptions() and the v2 abstract-factory pair. Each was a proxy to a v3 method the class already implemented; this is the migration the deprecated v2 interfaces prescribe for themselves.
Migrated off the abandoned container-interop/container-interop to Psr\Container\ContainerInterface across 11 files. Interop extends the PSR interface, so this widens parameter types rather than narrowing them.
testInstantiatesHalJsonRendererWithV2 was deleted rather than migrated — it existed only to cover the v2 path, and the v3 test beside it makes the same assertions.
Constraints on sibling forks widened to accept their new majors.
1.13.1
Retired phpunit 10 and added a monthly dependabot configuration. Removed the tracked .coveralls.yml.
35 doc-comment annotations converted to attributes across nine files. getMockForAbstractClass() and four will($this->returnValue(...)) calls replaced; both are removed in phpunit 12.
Eleven doubles became stubs. The AbstractPluginManager double was dropped entirely for a real HelperPluginManager — HalViewHelperFactory never fetches ViewHelperManager and no test asserts on the instance.
Development tooling now at phpunit ^11.0 || ^12.0 || ^13.0, psalm ^6.14, laminas-coding-standard ^3.1.
No runtime behaviour changes. The only src/ edits are #[Override] attributes and their imports, so this is a patch release.
1.13.0
Supported PHP
~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0 — adds 8.5, drops 8.1.
Dependency declarations fixed
Four production dependencies were not declared correctly. All resolved by accident, transitively — the declarations were wrong rather than the build broken.
| dependency | uses in src/ |
was | now |
|---|---|---|---|
laminas/laminas-servicemanager |
10 | undeclared | require ^3.24 |
container-interop/container-interop |
10 | undeclared | require ^1.2 |
psr/container |
4 | undeclared | require ^1.1 || ^2.0 |
laminas/laminas-modulemanager |
2 | require-dev |
require ^2.19 |
Other changes
- Dependency floors raised to releases covering the whole supported range, so
--prefer-lowestis installable across it. Two stale dual constraints collapsed:laminas-hydrator^3.2.0 || ^4.0.1→^4.17, and the leftover laminas 2.x alternatives are gone. laminas-mvc^3.0.2→^3.8, plus adatasage/laminas-mvcVCS repository entry. Upstream has no 8.5 release, so 8.5 resolves the fork's 3.9.0; 8.2–8.4 still resolve upstream 3.8.0 without the fork.api-tools-api-problem→^1.10, a single version covering the whole range now that api-problem has an 8.2 floor.vimeo/psalm^5→^6.0. Psalm 5 caps at~8.3.0and cannot run on 8.4 or 8.5.- Removed 2 no-op
setAccessible()calls fromtest/, deprecated in 8.5 (no effect since 8.1).psalm-baseline.xmlregenerated for psalm 6 and the shifted line numbers; one deadInternalMethodsuppression block removed. config.platform.php8.1.99 → 8.2.99.- CI:
.laminas-ci.jsonnow excludes doc linting instead of ignoring platform requirements; removedrelease-on-milestone-closed.yml. - The lock regeneration also picks up
phpunit10.5.38 → 10.5.64, closing a high-severity advisory.
No src/ changes.
CI green on 8.2, 8.3, 8.4 and 8.5 across locked, lowest and latest. 214 tests, 3207 assertions.
Known issue
container-interop/container-interop is abandoned upstream in favour of psr/container, but Interop\Container is genuinely imported by 10 src/ classes, so it must be declared. Migrating those files to Psr\Container would let it be dropped; that changes parameter types on public methods, so it is left for a separate change.