All Versions
18
Latest Version
Avg Release Cycle
122 days
Latest Release
1249 days ago

Changelog History
Page 1

  • v3.0.6 Changes

    November 25, 2020
    • ➕ 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.

  • v3.0.5 Changes

    August 13, 2020
    • ➕ added new internal functions bool(), int(), float(), string()
    • ➕ added Helpers::escape()
    • 🛠 fixed PHP 8.0 compatibility
    • 👌 improved exception messages

    For the details you can have a look at the diff.

  • v3.0.4 Changes

    May 15, 2020
    • 🛠 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 for getService()
    • 🚚 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.

  • v3.0.3 Changes

    January 20, 2020
    • 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.

  • v3.0.2 Changes

    December 27, 2019
    • 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, added autowireArgument(), Resolver|Container replaced with callback
    • 👻 ExtensionsExtension: better exception message #219

    For the details you can have a look at the diff.

  • v3.0.1 Changes

    August 07, 2019
    • 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.

  • v3.0.0 Changes

    April 03, 2019

    🔋 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 and parameters
    • ➕ 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)
  • v2.4.17 Changes

    November 25, 2020

    compatible with PHP 8.0

  • v2.4.16 Changes

    November 19, 2019
    • 👌 supports PHP 7.4
    • 🛠 Helpers::expand() fixed expansion of dynamic parameters

    For the details you can have a look at the diff.

  • v2.4.15 Changes

    January 30, 2019
    • compatibility with nette/php-generator 3.x #182
    • ⚡️ updated to nette/utils 2.5
    • ContainerBuilder: improved error messages
    • Container: removed leading __ from anonymous method names
    • Compiler: names of anonymous services are just numbers
    • Compiler::loadDefinitions() sorts definitions only if needed
    • Compiler: added option 'imported' as alias for 'dynamic'
    • 🖨 CompilerExtension::validateConfig() prints 'section › value' instead of section.value in exception message
    • ➕ added PhpStorm metadata for autocompletion
    • 🛠 PhpGenerator: fixed type of generated factories in Container $meta

    For the details you can have a look at the diff.