Chris@0: CHANGELOG Chris@0: ========= Chris@0: Chris@14: 3.4.0 Chris@14: ----- Chris@14: Chris@14: * moved the `ExtensionCompilerPass` to before-optimization passes with priority -1000 Chris@14: * deprecated "public-by-default" definitions and aliases, the new default will be "private" in 4.0 Chris@14: * added `EnvVarProcessorInterface` and corresponding "container.env_var_processor" tag for processing env vars Chris@14: * added support for ignore-on-uninitialized references Chris@14: * deprecated service auto-registration while autowiring Chris@14: * deprecated the ability to check for the initialization of a private service with the `Container::initialized()` method Chris@14: * deprecated support for top-level anonymous services in XML Chris@14: * deprecated case insensitivity of parameter names Chris@14: * deprecated the `ResolveDefinitionTemplatesPass` class in favor of `ResolveChildDefinitionsPass` Chris@14: * added `TaggedIteratorArgument` with YAML (`!tagged foo`) and XML (``) support Chris@14: * deprecated `AutowireExceptionPass` and `AutowirePass::getAutowiringExceptions()`, use `Definition::addError()` and the `DefinitionErrorExceptionPass` instead Chris@14: Chris@14: Chris@14: 3.3.0 Chris@14: ----- Chris@14: Chris@14: * deprecated autowiring services based on the types they implement; Chris@14: rename (or alias) your services to their FQCN id to make them autowirable Chris@14: * added "ServiceSubscriberInterface" - to allow for per-class explicit service-locator definitions Chris@14: * added "container.service_locator" tag for defining service-locator services Chris@14: * added anonymous services support in YAML configuration files using the `!service` tag. Chris@14: * added "TypedReference" and "ServiceClosureArgument" for creating service-locator services Chris@14: * added `ServiceLocator` - a PSR-11 container holding a set of services to be lazily loaded Chris@14: * added "instanceof" section for local interface-defined configs Chris@14: * added prototype services for PSR4-based discovery and registration Chris@14: * added `ContainerBuilder::getReflectionClass()` for retrieving and tracking reflection class info Chris@14: * deprecated `ContainerBuilder::getClassResource()`, use `ContainerBuilder::getReflectionClass()` or `ContainerBuilder::addObjectResource()` instead Chris@14: * added `ContainerBuilder::fileExists()` for checking and tracking file or directory existence Chris@14: * deprecated autowiring-types, use aliases instead Chris@14: * added support for omitting the factory class name in a service definition if the definition class is set Chris@14: * deprecated case insensitivity of service identifiers Chris@14: * added "iterator" argument type for lazy iteration over a set of values and services Chris@14: * added file-wide configurable defaults for service attributes "public", "tags", Chris@14: "autowire" and "autoconfigure" Chris@14: * made the "class" attribute optional, using the "id" as fallback Chris@14: * using the `PhpDumper` with an uncompiled `ContainerBuilder` is deprecated and Chris@14: will not be supported anymore in 4.0 Chris@14: * deprecated the `DefinitionDecorator` class in favor of `ChildDefinition` Chris@14: * allow config files to be loaded using a glob pattern Chris@14: * [BC BREAK] the `NullDumper` class is now final Chris@14: Chris@0: 3.2.0 Chris@0: ----- Chris@0: Chris@0: * allowed to prioritize compiler passes by introducing a third argument to `PassConfig::addPass()`, to `Compiler::addPass` and to `ContainerBuilder::addCompilerPass()` Chris@0: * added support for PHP constants in YAML configuration files Chris@0: * deprecated the ability to set or unset a private service with the `Container::set()` method Chris@0: * deprecated the ability to check for the existence of a private service with the `Container::has()` method Chris@0: * deprecated the ability to request a private service with the `Container::get()` method Chris@12: * deprecated support for generating a dumped `Container` without populating the method map Chris@0: Chris@0: 3.0.0 Chris@0: ----- Chris@0: Chris@0: * removed all deprecated codes from 2.x versions Chris@0: Chris@0: 2.8.0 Chris@0: ----- Chris@0: Chris@0: * deprecated the abstract ContainerAware class in favor of ContainerAwareTrait Chris@0: * deprecated IntrospectableContainerInterface, to be merged with ContainerInterface in 3.0 Chris@0: * allowed specifying a directory to recursively load all configuration files it contains Chris@0: * deprecated the concept of scopes Chris@0: * added `Definition::setShared()` and `Definition::isShared()` Chris@0: * added ResettableContainerInterface to be able to reset the container to release memory on shutdown Chris@0: * added a way to define the priority of service decoration Chris@0: * added support for service autowiring Chris@0: Chris@0: 2.7.0 Chris@0: ----- Chris@0: Chris@0: * deprecated synchronized services Chris@0: Chris@0: 2.6.0 Chris@0: ----- Chris@0: Chris@0: * added new factory syntax and deprecated the old one Chris@0: Chris@0: 2.5.0 Chris@0: ----- Chris@0: Chris@0: * added DecoratorServicePass and a way to override a service definition (Definition::setDecoratedService()) Chris@0: * deprecated SimpleXMLElement class. Chris@0: Chris@0: 2.4.0 Chris@0: ----- Chris@0: Chris@0: * added support for expressions in service definitions Chris@0: * added ContainerAwareTrait to add default container aware behavior to a class Chris@0: Chris@0: 2.2.0 Chris@0: ----- Chris@0: Chris@0: * added Extension::isConfigEnabled() to ease working with enableable configurations Chris@0: * added an Extension base class with sensible defaults to be used in conjunction Chris@0: with the Config component. Chris@0: * added PrependExtensionInterface (to be able to allow extensions to prepend Chris@0: application configuration settings for any Bundle) Chris@0: Chris@0: 2.1.0 Chris@0: ----- Chris@0: Chris@0: * added IntrospectableContainerInterface (to be able to check if a service Chris@0: has been initialized or not) Chris@0: * added ConfigurationExtensionInterface Chris@0: * added Definition::clearTag() Chris@0: * component exceptions that inherit base SPL classes are now used exclusively Chris@0: (this includes dumped containers) Chris@0: * [BC BREAK] fixed unescaping of class arguments, method Chris@0: ParameterBag::unescapeValue() was made public