Releases: nette/di
Releases · nette/di
Released version 3.2.6
A maintenance release laser-focused on type safety. Static analysis is now mandatory in CI, the codebase ships richer native and PHPDoc types, and the Tracy DI panel got a cleaner Latte rewrite. No behavioral changes – just a sturdier foundation for everything built on top.
- Native types – tightened parameter and return types across
Compiler,ContainerLoader,ServiceDefinitionand friends - ContainerPanel – Tracy panel template rewritten with
n:attributesfor noticeably cleaner Latte syntax - PHPStan-clean codebase – wide-ranging cleanup across DI internals so the whole tree passes strict analysis
- Richer PHPDoc – improved
@param,@returnand class descriptions acrossCompiler,Container,ContainerBuilder,Resolver,Helpers, definitions and extensions, giving IDEs and static analyzers far more to work with - Better generic types – sharpened PHPDoc generics in autowiring, container builder, definitions and resolver
Released version 3.2.5
- support for PHP 8.5
- optimized global function calls
- used generics for Container::createInstance() (#323)
Released version 3.2.4
- implemented support for lazy services in PHP 8.4
- Resolver: restrictions for named parameters have been removed
- Resolver: triggers error when reference is called with arguments
Released version 3.2.3
- support for PHP 8.4
- md5 replaced with xxHash
- fixed
ReflectionParameter::getDefaultValue()error #315
Released version 3.2.2
- Container: refactoring
- NeonAdapter: resolving of constants and enums moved here from
filterArguments()(BC break) Container::getServiceType()ignores dynamically added services (BC break)Container::getByType()fixed cooperation with dynamic factory #314- Resolver: better exception when
normalizeEntity()fails due to service replacement - Revert "LocatorDefinition: deprecated support for create($name) method (BC break)"
Released version 3.2.1
Released version 3.2.0
- requires PHP 8.1
- uses PHP 8.1 features
- Sensitive parameters are put in markers /sensitive{/ and /}/
- added support for first-class callable syntax in NEON
- SearchExtension: added 'exclude -> files'
- ServicesExtension: locator supports Statement (#294)
changes
- Resolver: only optional parameters are autowired with default value (BC break)
- generated accessors/factories must have defined return type (BC break)
- %parameters% is deprecated (BC break)
- LocatorDefinition: deprecated support for
create($name)method (BC break) - PhpGenerator: warns about suspicious dumping of objects
Released version 3.1.10
- ParametersExtension: exports both statements and dynamic parameters, preloads only the latter
- allowed %foo.bar% expansion of Statement
- SearchExtension: also searches for accessors
Resolver::autowireArgument()fixed handling of new-initializer with typehint #302- InjectExtension: added type checking
NeonAdapter::removeUnderscoreVisitor()checks if key doesn't exist
Released version 3.1.8
- ParametersExtension, Container: redesigned way of exporting dynamic parameters via
getParameter()#291 Helpers::expand()allow concatenation of Statements #288- more self explanatory message for factory and service mismatch (closes #199) (#284)
- Support list
<Type>syntax for autowiring a collection of services (#293) - Resolver: added support for named variadics #289
- ParametersExtension: better validation exception for dynamic parameters
- ContainerPanel: refactoring
- Container: detects circular reference for parameters
- ServiceDefinition: prepends
@selfto setup immediately - Option 'class' is allowed again
Released version 3.0.17
- Resolver: added support for named variadics #289
- Resolver: tolerates nullable types when resolving
- Container: added
initialize()