Skip to content

2.22.1

Choose a tag to compare

@koriym koriym released this 17 Jul 16:57
· 33 commits to 2.x since this release

Added

  • Detect circular dependencies and report them with a dedicated exception, instead of recursing until the process dies (#319).
  • Add a binding provenance log recording how each binding was composed, and Ray\Bindings\Bindings snapshots for rendering it as Markdown or HTML — collected explicitly with $module->accept(new Bindings()) (#323, #331).
  • Add the Ray\Bindings\BindingsHtml viewer and the bin/bindings-html command (#325, #330).

Changed

  • Improve module composition compatibility and DI hot-path performance (#316, #319, #333).
  • Update the CI and development toolchain for PHP 8.5, PHPUnit 11, PHP_CodeSniffer 4, and mutation testing (#315, #317, #326).

Deprecated

  • Mark InvalidContext, InvalidToConstructorNameParameter, and the base Ray\Di\Exception as deprecated and relocate them to src-deprecated/; none has been thrown since earlier releases tightened the related method signatures (#329).

Fixed

  • Preserve provider constructor injection points during dependency resolution (#320).
  • Correct JIT binding recursion, singleton handling, multi-binding scope clearing, and multi-interceptor registration (#318, #319).
  • Fix assisted injection re-entry with Ray.Aop 2.22's parent-call dispatch, and preserve explicit null arguments during assisted injection (#328).
  • Reject a rename onto an index that already has a binding instead of silently destroying it (#319).

Included pull requests