Releases: nette/di
Releases · nette/di
Released version 3.0.7
- Compiler: triggers schema warnings
- uses nette/schema 1.1
- DecoratorExtension: throws exception if class not exists
Released version 3.0.6
- added PHP 8 attribute Inject
- cooperation with union types
- Resolver::
completeException()
appends entity to exception message when type is not known - DependencyChecker: checks types of properties
- DependencyChecker: fixed compatibility with PHP 8 #247
- DIExtension: detects Tracy by presence of service @tracy\Bar #245
- InjectExtension: updated exception messages
For the details you can have a look at the diff.
Released version 2.4.17
compatible with PHP 8.0
Released version 3.0.5
- compatible with PHP 8.0
- added new internal functions
bool()
,int()
,float()
,string()
- added
Helpers::escape()
- improved exception messages
For the details you can have a look at the diff.
Released version 3.0.4
- Resolver: fixed self-dependency #240
- InjectExtension: chooses a more specific type #234
- SearchExtension: Exception when class is not autoloaded.
- DecoratorExtension: resolves definitions before uses its
findByType()
- Container: added
getByName()
as alias forgetService()
- Compiler: moved Search extension before Decorator (#197)
- Resolver: better exception message (#233)
- InjectExtension: maintains natural order of inject methods (BC break)
For the details you can have a look at the diff.
Released version 3.0.3
- CompilerExtension: added $initialization as replacement for modifying
initialize()
method - class aliases are loaded on demand #226
- Statement: can be used as dynamic parameter #228
- parameters: dynamic parameters are resolved
- parameters: statements are replaced with null in Container
- %parameters% resolves to all parameters
- Revert "parameters can contain statements #221"
- ContainerPanel: uses capturing
For the details you can have a look at the diff.
Released version 3.0.2
- InjectExtension: accepts native type
- parameters can contain statements #221
- InjectExtension: scans resolved class #218
- SearchExtension: removes conflicting services before it starts to add them
- Resolver.
autowireArguments()
fixed counting optional args - Resolver::
autowireArguments()
refactoring, addedautowireArgument()
, Resolver|Container replaced with callback - ExtensionsExtension: better exception message #219
For the details you can have a look at the diff.
Released version 2.4.16
- supports PHP 7.4
- Helpers::
expand()
fixed expansion of dynamic parameters
For the details you can have a look at the diff.
Released version 3.0.1
- SearchExtension: ability to add factory definitions from interfaces with method
create()
(#200) - Revert "Container: deprecated support for dynamically added services (BC break)" #203
- ServiceDefinition: removed unnecessary $service variable #206
- Autowiring: bug fix & tests
- ExtensionsExtension: added extension type checking (#209)
- fixed bugs reported by PhpStan (#212)(#211)(#210)(#208)(#207)(#213)(#214)
- PHP 7.4 compatibility fixes
For the details you can have a look at the diff.
Released version 3.0.0 🎉
Features
- requires PHP 7.1
- uses declare(strict_types=1)
- uses PHP 7.1 scalar and return type hints
- autowiring via Service[] (#178)
- added collections via tagged() and typed()
- added SearchExtension
- added Schema & CompilerExtension::getConfigSchema() for automatic configuration validation with PHP 7.4 support #191
- added full validation of dynamic parameters
- configs are normalized before merge
- added AccessorDefinition, FactoryDefinition, LocatorDefinition & ImportedDefinition
- Container::addService() accepts factory closures
- Minification of metadata: added option 'di › export › types',
tags
andparameters
- added Reference, object representing reference to @service of @\Class
- better exception messages
- Helpers::expand() expands %params% in keys [Closes nette/nette#766]
- Helpers::expand() supports %dynamic.item% for dynamic parameters
- Compiler, CompilerExtension: improved Loader extendability (#62)
- ServiceDefinition::setArgument() added [Closes #171][Closes #172]
- Processor: names of anonymous services are just numbers
- ContainerBuilder::addDefinition(null) adds anonymous service
- added PhpStorm metadata for autocompletion
- added CompilerExtension::loadDefinitionsFromConfig()
- Loader: added support for %param% in 'include' section [Closes #170][Closes phpstan/phpstan#2020]
Changes
- removed deprecated support for inheritance 'child < parent' (BC break)
- some classes & members marked as final (BC break)
- Compiler: container has declare(strict_types=1)
- removed unused PhpReflection
- Processor::filterArguments() translates @service to object Reference
- Nette\DI\Helpers::filterArguments() moved to Nette\DI\Config\Processor
- Config\Processor: options 'class' & 'type', 'dynamic' & 'imported' are aliases
- Compiler::loadDefinitions() is not static and removed first parameter (BC break)
- Compiler::loadDefinition() is deprecated (BC break)
- Compiler: processing of config files moved to new class Nette\DI\Config\Processor
- ServiceDefinition divided into Definition & ServiceDefinition
- ContainerBuilder divided into Autowiring & Resolver
- ServiceDefinition & Statement moved to Nette\DI\Definitions namespace
- renamed Nette\DI\Config\IAdapter -> Adapter
- NeonAdapter: added deprecation notice for operator ?
- removed IniAdapter (BC break) (#177)
- ServiceBuilder::setType() & getType() as a replacements for setClass() and getClass()
- Compiler: added configuration option 'type' as replacement for 'class'
- ServiceDefinition::setClass() parameter $args is deprecated (BC break) (#146)
- Compiler::loadDefinitions() renamed to loadDefinitionsFromConfig(), better deprecation messages
- InjectExtension: tag 'inject' changed to 'nette.inject'
- DIExtension: tag 'run' is deprecated (BC break)
- Container: deprecated support for dynamically added services (BC break)
- Container: removed support for statically added createService* methods (BC break)
- Container::$meta divided to $types, $aliases, $tags & $wiring (BC break)
- Helpers::EXTENDS_KEY & OVERWRITE replaced with PREVENT_MERGING (BC break)