This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
symfony/UPGRADE-3.3.md
Fabien Potencier 46daa359ea feature #21470 [Process] Deprecate not inheriting env vars + compat related settings (nicolas-grekas)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[Process] Deprecate not inheriting env vars + compat related settings

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | yes
| Tests pass?   | no
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

Turning compat on/off is not a feature in itself.

About env vars: if one has unwanted env vars, one will still be able to remove them explicitly for the command. From my experience, not having eg PATH or HTTP_PROXY, etc. is more problematic. I'd prefer people to care about setting/unsetting the environment vars **they know about**, rather than allowing them to start with no ENV and discover later that they missed setting some var.

Commits
-------

df14451a73 [Process] Deprecate not inheriting env vars + compat related settings
2017-02-01 13:16:10 -08:00

107 lines
3.1 KiB
Markdown

UPGRADE FROM 3.2 to 3.3
=======================
ClassLoader
-----------
* The component is deprecated and will be removed in 4.0. Use Composer instead.
Debug
-----
* The `ContextErrorException` class is deprecated. `\ErrorException` will be used instead in 4.0.
DependencyInjection
-------------------
* Autowiring-types have been deprecated, use aliases instead.
Before:
```xml
<service id="annotations.reader" class="Doctrine\Common\Annotations\AnnotationReader" public="false">
<autowiring-type>Doctrine\Common\Annotations\Reader</autowiring-type>
</service>
```
After:
```xml
<service id="annotations.reader" class="Doctrine\Common\Annotations\AnnotationReader" public="false" />
<service id="Doctrine\Common\Annotations\Reader" alias="annotations.reader" public="false" />
```
* The `Reference` and `Alias` classes do not make service identifiers lowercase anymore.
* Case insensitivity of service identifiers is deprecated and will be removed in 4.0.
* Using the `PhpDumper` with an uncompiled `ContainerBuilder` is deprecated and
will not be supported anymore in 4.0.
* The `DefinitionDecorator` class is deprecated and will be removed in 4.0, use
the `ChildDefinition` class instead.
EventDispatcher
---------------
* The `ContainerAwareEventDispatcher` class has been deprecated.
Use `EventDispatcher` with closure-proxy injection instead.
Finder
------
* The `ExceptionInterface` has been deprecated and will be removed in 4.0.
FrameworkBundle
---------------
* The `Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler\AddConsoleCommandPass` has been deprecated. Use `Symfony\Component\Console\DependencyInjection\AddConsoleCommandPass` instead.
HttpKernel
-----------
* The `Psr6CacheClearer::addPool()` method has been deprecated. Pass an array of pools indexed
by name to the constructor instead.
Process
-------
* Not inheriting environment variables is deprecated.
* Configuring `proc_open()` options is deprecated.
* Configuring Windows and sigchild compatibility is deprecated - they will be always enabled in 4.0.
Security
--------
* The `RoleInterface` has been deprecated. Extend the `Symfony\Component\Security\Core\Role\Role`
class in your custom role implementations instead.
SecurityBundle
--------------
* The `FirewallContext::getContext()` method has been deprecated and will be removed in 4.0.
Use the `getListeners()` method instead.
* The `FirewallMap::$map` and `$container` properties have been deprecated and will be removed in 4.0.
TwigBridge
----------
* The `TwigRendererEngine::setEnvironment()` method has been deprecated and will be removed
in 4.0. Pass the Twig Environment as second argument of the constructor instead.
Workflow
--------
* Deprecated class name support in `WorkflowRegistry::add()` as second parameter.
Wrap the class name in an instance of ClassInstanceSupportStrategy instead.
Yaml
----
* The constructor arguments `$offset`, `$totalNumberOfLines` and
`$skippedLineNumbers` of the `Parser` class are deprecated and will be
removed in 4.0