Chris@0: CHANGELOG Chris@0: ========= Chris@0: Chris@0: 3.4.0 Chris@0: ----- Chris@0: Chris@0: * moved the `ExtensionCompilerPass` to before-optimization passes with priority -1000 Chris@0: * deprecated "public-by-default" definitions and aliases, the new default will be "private" in 4.0 Chris@0: * added `EnvVarProcessorInterface` and corresponding "container.env_var_processor" tag for processing env vars Chris@0: * added support for ignore-on-uninitialized references Chris@0: * deprecated service auto-registration while autowiring Chris@0: * deprecated the ability to check for the initialization of a private service with the `Container::initialized()` method Chris@0: * deprecated support for top-level anonymous services in XML Chris@0: * deprecated case insensitivity of parameter names Chris@0: * deprecated the `ResolveDefinitionTemplatesPass` class in favor of `ResolveChildDefinitionsPass` Chris@0: * added `TaggedIteratorArgument` with YAML (`!tagged foo`) and XML (``) support Chris@0: * deprecated `AutowireExceptionPass` and `AutowirePass::getAutowiringExceptions()`, use `Definition::addError()` and the `DefinitionErrorExceptionPass` instead Chris@0: Chris@0: Chris@0: 3.3.0 Chris@0: ----- Chris@0: Chris@0: * deprecated autowiring services based on the types they implement; Chris@0: rename (or alias) your services to their FQCN id to make them autowirable Chris@0: * added "ServiceSubscriberInterface" - to allow for per-class explicit service-locator definitions Chris@0: * added "container.service_locator" tag for defining service-locator services Chris@0: * added anonymous services support in YAML configuration files using the `!service` tag. Chris@0: * added "TypedReference" and "ServiceClosureArgument" for creating service-locator services Chris@0: * added `ServiceLocator` - a PSR-11 container holding a set of services to be lazily loaded Chris@0: * added "instanceof" section for local interface-defined configs Chris@0: * added prototype services for PSR4-based discovery and registration Chris@0: * added `ContainerBuilder::getReflectionClass()` for retrieving and tracking reflection class info Chris@0: * deprecated `ContainerBuilder::getClassResource()`, use `ContainerBuilder::getReflectionClass()` or `ContainerBuilder::addObjectResource()` instead Chris@0: * added `ContainerBuilder::fileExists()` for checking and tracking file or directory existence Chris@0: * deprecated autowiring-types, use aliases instead Chris@0: * added support for omitting the factory class name in a service definition if the definition class is set Chris@0: * deprecated case insensitivity of service identifiers Chris@0: * added "iterator" argument type for lazy iteration over a set of values and services Chris@0: * added file-wide configurable defaults for service attributes "public", "tags", Chris@0: "autowire" and "autoconfigure" Chris@0: * made the "class" attribute optional, using the "id" as fallback Chris@0: * using the `PhpDumper` with an uncompiled `ContainerBuilder` is deprecated and Chris@0: will not be supported anymore in 4.0 Chris@0: * deprecated the `DefinitionDecorator` class in favor of `ChildDefinition` Chris@0: * allow config files to be loaded using a glob pattern Chris@0: * [BC BREAK] the `NullDumper` class is now final Chris@0: 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@0: * 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