Compatibility
The table distinguishes Composer constraints from versions exercised by this repository's CI. Composer selects a mutually compatible version for the PHP runtime in the consuming project.
| Component | Supported constraint | Verification or notes |
|---|---|---|
| PHP | >=7.2
|
CI tests PHP 7.2 through 8.5; PHP 7.2 is also tested with lowest dependencies |
| JSON extension | ext-json
|
Required |
| PSR-18 | psr/http-client ^1.0
|
Pock\Client
implements ClientInterface
|
| PSR-7 | `psr/http-message ^1.0 | |
| HTTPlug | `php-http/httplug ^1.0 | |
| Multipart parser | riverline/multipart-parser ^2.0.1
|
Used by multipart request matching |
| Symfony HTTP Client | `^4.3 | |
| Symfony Serializer | `^5.2 | |
| JMS Serializer | `^2.0 | |
| Doctrine Annotations | `^1.13 |
The Composer PHP constraint is intentionally open-ended, but the currently verified upper bound is PHP 8.5. Treat newer PHP versions as unverified until they appear in the CI matrix.
XML extensions
Raw XML matching provides structural comparison when both DOM and XSL support are available. If XSL is unavailable, it falls back to exact text comparison. XML object serialization additionally depends on the requirements of the installed JMS or Symfony serializer.
Optional integrations
pock keeps Symfony HTTP Client and serializer packages out of production requirements. Install only the integration used by the test suite. Depending on pock therefore does not force a particular Symfony major into the application.