Skip to main content

Changelog - Version 7.0

Status: in development. This document tracks changes landing on the 7.0 branch. Nothing here is released yet, and the contents may still change.

Breaking Changes​

  • The generated WSDL now uses valid XML Schema types: bool is emitted as xsd:boolean (was xsd:bool) and mixed as xsd:anyType (was xsd:mixed), including inside array types. Clients generated from the old WSDL should be regenerated.

Bug Fixes​

  • WSDL: xsd:bool and xsd:mixed are not XML Schema types. They are now xsd:boolean and xsd:anyType.
  • ?httpmethod on an attribute-based service: a missing optional parameter shifted the parameters after it one position left, because the executor passed the arguments by position. They are now passed by name, so the omitted parameter takes its default value.
  • ?httpmethod with contentType: 'application/xml' and a non-string result: the result is now serialised to XML, as with text/xml. It used to fail with a TypeError.

Requirements​

  • PHP 8.3, 8.4, 8.5 and 8.6 are now supported: "php": ">=8.3 <8.7". The previous <8.6 upper bound excluded PHP 8.6, since <8.6 is exclusive.

ByJG dependencies​

  • byjg/jinja-php is now ^7.0.
  • byjg/serializer is now ^7.0.
  • byjg/webrequest is now ^7.0.

While 7.0 is unreleased these resolve to 7.0.x-dev from each component's 7.0 branch, via minimum-stability: dev with prefer-stable: true.

Toolchain​

  • PHPUnit updated to ^12.5.

  • Psalm is installed as psalm/phar instead of vimeo/psalm.

    vimeo/psalm lists the PHP versions it supports and no published release includes 8.6, so as a dev dependency it made composer install fail on the 8.6 build job before any test ran. psalm/phar requires only php ^8.2 and bundles its own dependencies, so it installs on every PHP version in the matrix and cannot conflict with the project's. Psalm itself still refuses to run on 8.6, which is why the Psalm job uses 8.5. composer psalm runs it.

  • PHPUnit 13 is deliberately not used. It requires PHP >=8.4.1, breaking the 8.3 floor.

Continuous Integration​

  • The build matrix now includes PHP 8.6.
  • The Psalm job runs on PHP 8.5.

Housekeeping​

  • phpunit.xml.dist renamed to phpunit.xml.