2.23.0
Added
- Write
bindings.mdat composition time: the injector records how the container was composed — every binding with its provenance — viaBindingLog,BindingEvent, and the coreRay\Di\BindingsMarkdownrenderer (#336). - Add
Ray\Di\ModuleVisitorInterfaceas the stable route for tools to visit a module's composed container viaAbstractModule::accept()(#336).
Removed
- Move rich binding visualization out of core:
Ray\Bindings\Bindings,Ray\Bindings\BindingsHtml,Ray\Bindings\BindingsMarkdown, and thebin/bindings-htmlcommand now live in the standaloneray/bindingspackage (composer require --dev ray/bindings). These APIs were introduced in 2.22.1; the composition-timebindings.mdabove remains in core (#336).
Fixed
- Fix multibindings being lost from all but the first installed module (#340).
- Distinguish an empty multibinding set from an undeclared one (#341).
- Keep the first install's entry on a same-key multibinding collision (#348).
- Exclude the MultiBindings index from the BindingLog (#347).
- Roll back the singleton cache when
@PostConstructthrows (#346). - Fix exception messages to follow the value-only convention (#339).
Full Changelog: https://github.com/ray-di/Ray.Di/blob/2.x/CHANGELOG.md