v3.0.0
The last release supporting PHP 8.2. Every dependency moves to the newest version
installable on 8.2, so the next major can raise the floor to 8.4 without also carrying
a backlog of dependency upgrades.
Breaking change
brick/math now requires ^0.18 (previously ^0.11 || ^0.12). Consumers pinned
to 0.11 or 0.12 cannot install this release.
brick/math 0.14.8 renamed the RoundingMode enum cases from HALF_UP to HalfUp,
and BigDecimal is part of this SDK's public surface via VatRate::getValue() and
VatRate::getDecimalValue() — so the old and new ranges cannot be spanned silently.
If you pass a rounding mode to a BigDecimal obtained from this SDK, use the new
spelling:
$rate->getDecimalValue()->dividedBy('100', 2, RoundingMode::HalfUp);The SDK's own src/ never referenced RoundingMode, so no behaviour changed — only
the constraint.
Dependency updates
| Package | 2.0.0 | 3.0.0 |
|---|---|---|
brick/math |
^0.11 || ^0.12 |
^0.18 |
phpunit/phpunit |
^10.5.62 |
^11.5.56 |
squizlabs/php_codesniffer |
^3.7 |
^4.0 |
phpunit/phpunit 11 required moving PHPUnit metadata out of doc-comments and into
attributes, because PHPUnit 12 removes doc-comment metadata entirely. @dataProvider
and @group became #[DataProvider] and #[Group]; @test was dropped rather than
converted, since every method carrying it is already test-prefixed and discovered by
name.
Fixed
Every test in the --group network CI step was running twice. The all PHPUnit
test suite re-collected files already claimed by the unit and integration suites,
producing 26 executions for 13 tests. PHPUnit 10 did this silently; 11 reports the
overlap as a runner warning, which failOnWarning makes fatal. The suite was
referenced nowhere and has been removed — a bare vendor/bin/phpunit still collects
all 203 tests.
Deliberately unchanged
php-vcr/php-vcr stays capped at <1.8.2. Raising it is impossible while PHP 8.2
is supported: php-soap/ext-soap-engine 1.7.0 is the only release installable on 8.2
(1.8.0+ requires 8.3+), and its AbusedClient::__doRequest() lacks the
$uriParserClass parameter that php-vcr 1.8.2+ adds to the parent it rewrites
SoapClient into. The mismatch is a fatal error raised before any test runs.
The SoapClient test doubles now accept that optional parameter anyway, so the cap
becomes a one-line change once the floor moves off 8.2. This affects development only,
not consumers of the SDK.
Next
The following major raises the floor to ^8.4. phpstan/phpstan v2 and
rector/rector v2 land there as a single change — they are a mutual deadlock, since
Rector 1.x requires phpstan ^1.x and Rector 2.x requires ^2.x, so neither can be
updated alone. The php-vcr cap lifts at the same time.
Full Changelog: v2.0.0...v3.0.0