Commit Graph

829 Commits

Author SHA1 Message Date
Robin Chalas
1ffdb50341 [DI] Do not suggest writing an implementation when multiple exist 2018-03-29 13:25:31 +02:00
Fabien Potencier
820b728a33 feature #26627 [DI] Add runtime service exceptions to improve the error message when controller arguments cannot be injected (nicolas-grekas)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[DI] Add runtime service exceptions to improve the error message when controller arguments cannot be injected

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

![image](https://user-images.githubusercontent.com/243674/37775694-e5c9814c-2de3-11e8-8290-8fd05086da28.png)

Commits
-------

9e8e0630a9 [DI] Add ContainerInterface::RUNTIME_EXCEPTION_ON_INVALID_REFERENCE
2018-03-28 20:04:39 +02:00
Roland Franssen
2c74fbc3c5 [DI] Validate env vars in config 2018-03-27 08:02:00 +02:00
Nicolas Grekas
9e8e0630a9 [DI] Add ContainerInterface::RUNTIME_EXCEPTION_ON_INVALID_REFERENCE 2018-03-24 17:54:13 +01:00
Nicolas Grekas
95fd81b5d8 [DI] deprecate TypedReference::canBeAutoregistered() and getRequiringClass() 2018-03-22 15:55:20 +01:00
Nicolas Grekas
9131bd1c4b Merge branch '4.0'
* 4.0:
  [DI] Dont tell about autoregistration in strict autowiring mode
  [DI] Cleanup remainings from autoregistration
  [Process] Remove a useless cast
  [PHPunit] suite variable should be used
2018-03-22 14:45:58 +01:00
Nicolas Grekas
0c8ca6acdb Merge branch '3.4' into 4.0
* 3.4:
  [DI] Dont tell about autoregistration in strict autowiring mode
  [PHPunit] suite variable should be used
2018-03-22 14:42:36 +01:00
Nicolas Grekas
5e922db4de [DI] Dont tell about autoregistration in strict autowiring mode 2018-03-22 12:44:08 +01:00
Nicolas Grekas
74afff8888 [DI] Cleanup remainings from autoregistration 2018-03-22 11:33:18 +01:00
Kévin Dunglas
24876f2adc [DI] Service decoration: autowire the inner service 2018-03-20 19:23:30 +01:00
Nicolas Grekas
a8dc953279 Merge branch '4.0'
* 4.0:
  [DI] Fix missing "id" normalization when dumping the container
  Add entry for `container.dumper.inline_class_loader` param at `UPGRADE-3.4.md` and `UPGRADE-4.0.md`
2018-03-02 15:22:00 +01:00
Nicolas Grekas
cb06d0f926 Merge branch '3.4' into 4.0
* 3.4:
  [DI] Fix missing "id" normalization when dumping the container
  Add entry for `container.dumper.inline_class_loader` param at `UPGRADE-3.4.md` and `UPGRADE-4.0.md`
2018-03-02 15:21:47 +01:00
Nicolas Grekas
4a5e43eae8 [DI] Fix missing "id" normalization when dumping the container 2018-03-02 14:51:21 +01:00
Nicolas Grekas
3609744ab8 Merge branch '4.0'
* 4.0:
  [Translation] Process multiple segments within a single unit.
  Document the container.autowiring.strict_mode option
  fix custom radios/inputs for checkbox/radio type
  Another PR template tweak
  [FrameworkBundle] Add missing XML config for circular_reference_handler. Add tests.
  fix CS
  [PropertyInfo] ReflectionExtractor: give a chance to other extractors if no properties
  Clean calls to http_build_query()
  [WebProfilerBundle] limit ajax request to 100 and remove the last one
  Add support for URL-like DSNs for the PdoSessionHandler
  removed version in @final @internal for version < 4.0
  [HttpFoundation] Fix missing "throw" in JsonResponse
  Improve the documentation of
  Suppress warning from sapi_windows_vt100_support on stream other than STDIO
  removed extra-verbose comments
  Fixes #26136: Avoid emitting warning in hasParameterOption()
  Added a README entry to the PR template
  [HttpFoundation] Add x-zip-compressed to MimeTypeExtensionGuesser.
  [DI] Add null check for removeChild
2018-02-22 12:40:25 +01:00
Fabien Potencier
ed27b12d2c removed version in @final @internal for version < 4.0 2018-02-19 13:18:43 +01:00
Nicolas Grekas
302f33702d Merge branch '4.0'
* 4.0:
  fix merge
  Fix lock strategy tests
  [travis] cache compiled php extensions
  fix merge
  Allow remember-me factory creation when multiple user providers are configured.
  Add tests for glob loaders
  Improve assertions
  [DI][Routing] Fix tracking of globbed resources
  [Config] Handle Service/EventSubscriberInterface in ReflectionClassResource
  always call the parent class' constructor
2018-02-04 14:10:55 +01:00
Nicolas Grekas
752c7cbbbe Merge branch '3.4' into 4.0
* 3.4:
  Fix lock strategy tests
  [travis] cache compiled php extensions
  fix merge
  Allow remember-me factory creation when multiple user providers are configured.
  Add tests for glob loaders
  Improve assertions
  [DI][Routing] Fix tracking of globbed resources
  [Config] Handle Service/EventSubscriberInterface in ReflectionClassResource
  always call the parent class' constructor
2018-02-04 14:08:26 +01:00
Nicolas Grekas
67e821b94f [Config] Handle Service/EventSubscriberInterface in ReflectionClassResource 2018-01-31 11:49:53 +01:00
Nicolas Grekas
87adf25091 Merge branch '4.0'
* 4.0:
  Have weak_vendors ignore deprecations from outside
  [HttpFoundation] fixed return type of method HeaderBag::get
  [HttpFoundation] Added "resource" type on Request::create docblock
  [Console] Fix using finally where the catch can also fail
  [Process] Skip environment variables with false value in Process
  Revert "bug #25789  Enableable ArrayNodeDefinition is disabled for empty configuration (kejwmen)"
  Formatting fix in upgrade 3.0 document
  don't split lines on carriage returns when dumping
  trim spaces from unquoted scalar values
  Revert "bug #25851 [Validator] Conflict with egulias/email-validator 2.0 (emodric)"
  [DI] compilation perf tweak
  [Validator] Conflict with egulias/email-validator 2.0
  [Validator] add missing parent isset and add test
2018-01-21 20:07:38 +01:00
Nicolas Grekas
ee04e5b58f Merge branch '3.4' into 4.0
* 3.4:
  Have weak_vendors ignore deprecations from outside
  [HttpFoundation] fixed return type of method HeaderBag::get
  [HttpFoundation] Added "resource" type on Request::create docblock
  [Process] Skip environment variables with false value in Process
  Revert "bug #25789  Enableable ArrayNodeDefinition is disabled for empty configuration (kejwmen)"
  Formatting fix in upgrade 3.0 document
  don't split lines on carriage returns when dumping
  Revert "bug #25851 [Validator] Conflict with egulias/email-validator 2.0 (emodric)"
  [DI] compilation perf tweak
  [Validator] Conflict with egulias/email-validator 2.0
  [Validator] add missing parent isset and add test
2018-01-21 20:06:11 +01:00
Nicolas Grekas
8d4e3c52c0 Merge branch '3.3' into 3.4
* 3.3:
  Have weak_vendors ignore deprecations from outside
  [HttpFoundation] fixed return type of method HeaderBag::get
  [HttpFoundation] Added "resource" type on Request::create docblock
  [Process] Skip environment variables with false value in Process
  Revert "bug #25789  Enableable ArrayNodeDefinition is disabled for empty configuration (kejwmen)"
  Formatting fix in upgrade 3.0 document
  don't split lines on carriage returns when dumping
  Revert "bug #25851 [Validator] Conflict with egulias/email-validator 2.0 (emodric)"
  [DI] compilation perf tweak
  [Validator] Conflict with egulias/email-validator 2.0
  [Validator] add missing parent isset and add test
2018-01-21 20:05:02 +01:00
Nicolas Grekas
ad8aff4203 [DI] compilation perf tweak 2018-01-20 09:34:19 +01:00
Nicolas Grekas
95dfa9343c Merge branch '4.0'
* 4.0: (23 commits)
  Clean up
  Update return type in docblock.
  PHP CS Fixer: no need to exclude xml and yml files
  PHP CS Fixer: no need to exclude json file
  [#22749] fix version in changelog
  Update LICENSE year... forever
  fixed some deprecation messages
  fixed CS
  Fixes for Oracle in PdoSessionHandler
  fixed some deprecation messages
  fixed some deprecation messages
  fixed some deprecation messages
  fixed some deprecation messages
  Remove dead code
  [TwigBundle/Brige] catch missing requirements to throw meaningful exceptions
  [DI] fix CS
  [HttpKernel] Call Response->setPrivate() instead of sending raw header() when session is started
  [FrameworkBundle] Make cache:clear "atomic" and consistent with cache:warmup
  Suggest to write an implementation if the interface cannot be autowired
  [Debug] Skip DebugClassLoader checks for already parsed files
  ...
2018-01-02 17:38:14 +01:00
Nicolas Grekas
f9fdb228ce Merge branch '3.4' into 4.0
* 3.4:
  Clean up
  Update return type in docblock.
  PHP CS Fixer: no need to exclude xml and yml files
  PHP CS Fixer: no need to exclude json file
  Update LICENSE year... forever
  fixed some deprecation messages
  fixed CS
  Fixes for Oracle in PdoSessionHandler
  fixed some deprecation messages
  fixed some deprecation messages
  fixed some deprecation messages
  fixed some deprecation messages
  [TwigBundle/Brige] catch missing requirements to throw meaningful exceptions
  [HttpKernel] Call Response->setPrivate() instead of sending raw header() when session is started
  [FrameworkBundle] Make cache:clear "atomic" and consistent with cache:warmup
  Suggest to write an implementation if the interface cannot be autowired
  [Debug] Skip DebugClassLoader checks for already parsed files
  [2.7][DX] Use constant message contextualisation for deprecations
  Remove group options without data and fix normalization
  Remove redundant translation path
2018-01-02 17:33:53 +01:00
Fabien Potencier
3a5c8a424e fixed some deprecation messages 2017-12-31 07:59:27 +01:00
Fabien Potencier
22c0e81d79 Merge branch '3.3' into 3.4
* 3.3:
  fixed some deprecation messages
  fixed some deprecation messages
  fixed some deprecation messages
  fixed some deprecation messages
  [2.7][DX] Use constant message contextualisation for deprecations
2017-12-31 07:07:31 +01:00
Fabien Potencier
74383b6e59 fixed some deprecation messages 2017-12-31 06:50:45 +01:00
Samuel ROZE
961e3e719c
Suggest to write an implementation if the interface cannot be autowired 2017-12-24 11:30:04 +01:00
Nicolas Grekas
7ecfc7fedc Merge branch '4.0'
* 4.0: (25 commits)
  [Form] fix how form type is referenced in test
  fix merge
  [Console] Fix console tests by adding the missing condition
  [Translation] Fix InvalidArgumentException when using untranslated plural forms from .po files
  Fixed exit code with non-integer throwable code
  [HttpFoundation] Support 0 bit netmask in IPv6 ()
  [DI] Impossible to set an environment variable and then an array as container parameter
  [Process] remove false-positive BC breaking exception on Windows
  Tweaking class not found autowiring error
  [LDAP] added missing dots at the end of some exception messages.
  [TwigBridge] Add missing dev requirement for workflow
  fixed #25440
  empty lines don't count for indent detection
  Set `width: auto` on WebProfiler toolbar's reset.
  [Lock] Fix incorrect phpdoc
  [Process] Dont rely on putenv(), it fails on ZTS PHP
  [HttpKernel] detect deprecations thrown by container initialization during tests
  [HttpKernel] Fix logging of post-terminate errors/exceptions
  [DI] Add context to service-not-found exceptions thrown by service locators
  [Debug] Fix catching fatal errors in case of nested error handlers
  ...
2017-12-12 09:59:50 +01:00
Nicolas Grekas
15915fddf1 Merge branch '3.4' into 4.0
* 3.4: (22 commits)
  fix merge
  [Translation] Fix InvalidArgumentException when using untranslated plural forms from .po files
  Fixed exit code with non-integer throwable code
  [HttpFoundation] Support 0 bit netmask in IPv6 ()
  [DI] Impossible to set an environment variable and then an array as container parameter
  [Process] remove false-positive BC breaking exception on Windows
  Tweaking class not found autowiring error
  [LDAP] added missing dots at the end of some exception messages.
  [TwigBridge] Add missing dev requirement for workflow
  fixed #25440
  empty lines don't count for indent detection
  Set `width: auto` on WebProfiler toolbar's reset.
  [Lock] Fix incorrect phpdoc
  [Process] Dont rely on putenv(), it fails on ZTS PHP
  [HttpKernel] detect deprecations thrown by container initialization during tests
  [HttpKernel] Fix logging of post-terminate errors/exceptions
  [DI] Add context to service-not-found exceptions thrown by service locators
  [Debug] Fix catching fatal errors in case of nested error handlers
  [VarDumper] Fixed file links leave blank pages when ide is configured
  Fix hidden currency element with Bootstrap 3 theme
  ...
2017-12-12 09:41:51 +01:00
Fabien Potencier
966687672b Merge branch '3.3' into 3.4
* 3.3:
  Tweaking class not found autowiring error
  [TwigBridge] Add missing dev requirement for workflow
  fixed #25440
  empty lines don't count for indent detection
2017-12-11 12:38:23 -08:00
Fabien Potencier
5b66c269d2 bug #25381 [DI] Add context to service-not-found exceptions thrown by service locators (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] Add context to service-not-found exceptions thrown by service locators

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes (DX)
| New feature?  | yes (...)
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #25342, #25196
| License       | MIT
| Doc PR        | -

Here hopefully is the fully-context aware message you're looking for @weaverryan @curry684.

![image](https://user-images.githubusercontent.com/243674/33726013-1db38a34-db74-11e7-91dd-ca9d53e58891.png)

Commits
-------

9512f268f4 [DI] Add context to service-not-found exceptions thrown by service locators
2017-12-11 12:28:19 -08:00
Ryan Weaver
48832e640a Tweaking class not found autowiring error 2017-12-11 12:15:52 -08:00
Nicolas Grekas
9512f268f4 [DI] Add context to service-not-found exceptions thrown by service locators 2017-12-09 20:32:41 +01:00
Nicolas Grekas
4ebea4e429 Merge branch '4.0'
* 4.0: (42 commits)
  fix merge
  Remove some unused variables and properties
  [appveyor] disable memory limit on composer up
  [HttpFoundation] don't prefix cookies with "Set-Cookie:"
  Remove some unused variables and properties
  [HttpFoundation] Fixed default user-agent (3.X -> 4.X)
  Fix debug:form definition
  Remove some unused variables, properties and methods
  fix some edge cases with indented blocks
  [ExpressionLanguage] Fix parse error on 5.3
  [HttpKernel] remove noisy frame in controller stack traces
  [DI] Force root-namespace for function calls in the dumper container
  [DI] Fix circular-aliases message
  register system cache clearer only if it's used
  doc : Namespace prefix must end with a "\"
  [ExpressionLanguage] throw an SyntaxError instead of letting a undefined index notice
  Prevent a loop in aliases within the `findDefinition` method
  [HttpKernel] Disable inlining on PHP 5
  Ensure that inlined services with parameterized class name can be dumped
  [DI] Fix non-string class handling in PhpDumper
  ...
2017-12-08 16:58:51 +01:00
Nicolas Grekas
0002c9b76d Merge branch '3.4' into 4.0
* 3.4: (37 commits)
  Remove some unused variables and properties
  [appveyor] disable memory limit on composer up
  [HttpFoundation] don't prefix cookies with "Set-Cookie:"
  Remove some unused variables and properties
  Fix debug:form definition
  Remove some unused variables, properties and methods
  fix some edge cases with indented blocks
  [ExpressionLanguage] Fix parse error on 5.3
  [HttpKernel] remove noisy frame in controller stack traces
  [DI] Force root-namespace for function calls in the dumper container
  [DI] Fix circular-aliases message
  register system cache clearer only if it's used
  doc : Namespace prefix must end with a "\"
  [ExpressionLanguage] throw an SyntaxError instead of letting a undefined index notice
  Prevent a loop in aliases within the `findDefinition` method
  [HttpKernel] Disable inlining on PHP 5
  Ensure that inlined services with parameterized class name can be dumped
  [DI] Fix non-string class handling in PhpDumper
  Throw a sensible exception when controller has been removed
  Remove LOCK_EX That Breaks Cache Usage on NFS
  ...
2017-12-08 16:46:13 +01:00
Nicolas Grekas
e9f7461ba9 Merge branch '3.3' into 3.4
* 3.3: (21 commits)
  [appveyor] disable memory limit on composer up
  Remove some unused variables and properties
  Remove some unused variables, properties and methods
  fix some edge cases with indented blocks
  [ExpressionLanguage] Fix parse error on 5.3
  [HttpKernel] remove noisy frame in controller stack traces
  [DI] Fix circular-aliases message
  [ExpressionLanguage] throw an SyntaxError instead of letting a undefined index notice
  Prevent a loop in aliases within the `findDefinition` method
  Fix php doc in Table class
  bumped Symfony version to 3.3.15
  updated VERSION for 3.3.14
  updated CHANGELOG for 3.3.14
  bumped Symfony version to 2.8.33
  updated VERSION for 2.8.32
  updated CHANGELOG for 2.8.32
  bumped Symfony version to 2.7.40
  updated VERSION for 2.7.39
  update CONTRIBUTORS for 2.7.39
  updated CHANGELOG for 2.7.39
  ...
2017-12-08 16:24:53 +01:00
Nicolas Grekas
344d93501e Merge branch '2.8' into 3.3
* 2.8:
  Remove some unused variables, properties and methods
  [ExpressionLanguage] Fix parse error on 5.3
  [HttpKernel] remove noisy frame in controller stack traces
  [ExpressionLanguage] throw an SyntaxError instead of letting a undefined index notice
  Fix php doc in Table class
  bumped Symfony version to 2.8.33
  updated VERSION for 2.8.32
  updated CHANGELOG for 2.8.32
  bumped Symfony version to 2.7.40
  updated VERSION for 2.7.39
  update CONTRIBUTORS for 2.7.39
  updated CHANGELOG for 2.7.39
2017-12-08 15:18:43 +01:00
Nicolas Grekas
af81bb5e24 Merge branch '2.7' into 2.8
* 2.7:
  Remove some unused variables, properties and methods
  [ExpressionLanguage] Fix parse error on 5.3
  [HttpKernel] remove noisy frame in controller stack traces
  [ExpressionLanguage] throw an SyntaxError instead of letting a undefined index notice
  Fix php doc in Table class
  bumped Symfony version to 2.7.40
  updated VERSION for 2.7.39
  update CONTRIBUTORS for 2.7.39
  updated CHANGELOG for 2.7.39
2017-12-08 13:32:59 +01:00
Titouan Galopin
30e227392a Remove some unused variables, properties and methods 2017-12-08 13:09:58 +01:00
Nicolas Grekas
19b03b5d7e Merge branch '4.0'
* 4.0:
  [DI] Fix missing unset leading to false-positive circular ref
  [DI] Fix deep-inlining of non-shared refs
  parse newlines in quoted multiline strings
  Fix collision between view properties and form fields
  Fix collision between view properties and form fields
  [SecurityBundle] Fix compat with HttpFoundation >=3.4
  [DI] turn $private to protected in dumped container, to make cache:clear BC
  Fix collision between view properties and form fields
2017-12-04 19:35:44 +01:00
Nicolas Grekas
8849fb907f Merge branch '3.4' into 4.0
* 3.4:
  [DI] Fix missing unset leading to false-positive circular ref
  [DI] Fix deep-inlining of non-shared refs
  parse newlines in quoted multiline strings
  Fix collision between view properties and form fields
  Fix collision between view properties and form fields
  [SecurityBundle] Fix compat with HttpFoundation >=3.4
  Fix collision between view properties and form fields
2017-12-04 19:34:52 +01:00
Fabien Potencier
9dff16479a Merge branch '3.3' into 3.4
* 3.3:
  [DI] Fix deep-inlining of non-shared refs
  parse newlines in quoted multiline strings
  Fix collision between view properties and form fields
2017-12-04 10:15:22 -08:00
Nicolas Grekas
eb2a15229a [DI] Fix deep-inlining of non-shared refs 2017-12-04 16:44:12 +01:00
Nicolas Grekas
5ed5dcf994 Merge branch '4.0'
* 4.0:
  SCA with Php Inspections (EA Extended)
  Add test case for #25264
  Fixed the null value exception case.
  Remove rc/beta suffix from composer.json files
  Ensure services & aliases can be referred to with `__toString`able objects
  Throw an exception is expression language is not installed
  [DI] Cast ids to string, as done on 3.4
  Fail as early and noisily as possible
  [Console][DI] Fail gracefully
  [FrameworkBundle] Fix visibility of a test helper
  [link] clear the cache after linking
  [DI] Trigger deprecation when setting a to-be-private synthetic service
  [Intl] Correct Typehint
  [link] Prevent warnings when running link with 2.7
  [Validator] ExpressionValidator should use OBJECT_TO_STRING to allow value in message
  do not eagerly filter comment lines
  [WebProfilerBundle], [TwigBundle] Fix Profiler breaking XHTML pages (Content-Type: application/xhtml+xml)
2017-12-04 13:32:14 +01:00
Nicolas Grekas
1da85910c7 Merge branch '3.4' into 4.0
* 3.4:
  SCA with Php Inspections (EA Extended)
  Add test case for #25264
  Fixed the null value exception case.
  Remove rc/beta suffix from composer.json files
  Throw an exception is expression language is not installed
  Fail as early and noisily as possible
  [Console][DI] Fail gracefully
  [FrameworkBundle] Fix visibility of a test helper
  [link] clear the cache after linking
  [DI] Trigger deprecation when setting a to-be-private synthetic service
  [link] Prevent warnings when running link with 2.7
  [Validator] ExpressionValidator should use OBJECT_TO_STRING to allow value in message
  do not eagerly filter comment lines
  [WebProfilerBundle], [TwigBundle] Fix Profiler breaking XHTML pages (Content-Type: application/xhtml+xml)
2017-12-04 13:31:58 +01:00
Nicolas Grekas
0b0542d45e bug #25285 [DI] Throw an exception if Expression Language is not installed (sroze)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] Throw an exception if Expression Language is not installed

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

The [`PhpDumper` already has this check](https://github.com/symfony/symfony/blob/master/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php#L1688-L1690) but it is missing here.

Commits
-------

75b21e9 Throw an exception is expression language is not installed
2017-12-04 13:20:58 +01:00
Samuel ROZE
75b21e9c86
Throw an exception is expression language is not installed 2017-12-03 13:07:37 +00:00
Fabien Potencier
87f5876842 feature #24937 [DependencyInjection] Added support for variadics in named arguments (PabloKowalczyk)
This PR was squashed before being merged into the 4.1-dev branch (closes #24937).

Discussion
----------

[DependencyInjection] Added support for variadics in named arguments

| Q             | A
| ------------- | ---
| Branch?       | 4.1
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #24935
| License       | MIT

Commits
-------

b5c0e8977c [DependencyInjection] Added support for variadics in named arguments
2017-12-01 06:31:07 -08:00
pkowalczyk
b5c0e8977c [DependencyInjection] Added support for variadics in named arguments 2017-12-01 06:31:04 -08:00
Nicolas Grekas
ee71106da5 bug #25155 [DependencyInjection] Detect case mismatch in autowiring (Simperfit, sroze)
This PR was merged into the 4.0 branch.

Discussion
----------

[DependencyInjection] Detect case mismatch in autowiring

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

If there is a case-sensitive typo in the service injection, this will suggest the non-typoed version.

Commits
-------

407f132 Test the suggestion of already registered services
decaf23 [DependencyInjection] Add more information to the message when passing miss matching class.
2017-11-30 15:32:51 +01:00
Samuel ROZE
407f132e43
Test the suggestion of already registered services 2017-11-30 11:00:15 +00:00
Nicolas Grekas
ff87b4c939 Merge branch '3.4' into 4.0
* 3.4:
  [DI] Fix circular reference when using setters
  [DI] Clear service reference graph
2017-11-29 17:55:50 +01:00
Nicolas Grekas
ad3ddebf90 bug #25204 [DI] Clear service reference graph (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] Clear service reference graph

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes (memory usage)
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

Spotted while playing with the container: we keep this graph in memory even it its stale already.
Clearing it also leave circular refs for the php garbage collector, better clean ourselves.

Commits
-------

2744b41 [DI] Clear service reference graph
2017-11-29 17:40:14 +01:00
Christian Flothmann
1897ea087a Merge branch '3.4' into 4.0
* 3.4:
  [HttpKernel] Fix race condition when clearing old containers
  [DI] Fix infinite loop in InlineServiceDefinitionsPass
  [HttpKernel] Keep legacy container files for concurrent requests
  Do not cache cache attributes if `attributes` is in the context
  Test that it do not remove the new flashes when displaying the existing ones
  [HttpFoundation] AutExpireFlashBag should not clear new flashes
  [FrameworkBundle][Serializer] Remove YamlEncoder definition if Yaml component isn't installed
  [DI] Fix tracking of env vars in exceptions
  [Form] Don't rely on  if http-foundation isn't in FileType
  Fix merge
  substitute aliases in inline mappings
  added ability for substitute aliases when mapping in YAML is on single line
  [Console] Fix global console flag when used in chain
2017-11-29 14:42:03 +01:00
Christian Flothmann
f74ecedd0b Merge branch '3.3' into 3.4
* 3.3:
  [DI] Fix infinite loop in InlineServiceDefinitionsPass
  Do not cache cache attributes if `attributes` is in the context
  Test that it do not remove the new flashes when displaying the existing ones
  [HttpFoundation] AutExpireFlashBag should not clear new flashes
  [FrameworkBundle][Serializer] Remove YamlEncoder definition if Yaml component isn't installed
  [DI] Fix tracking of env vars in exceptions
  [Form] Don't rely on  if http-foundation isn't in FileType
  Fix merge
  substitute aliases in inline mappings
  added ability for substitute aliases when mapping in YAML is on single line
  [Console] Fix global console flag when used in chain
2017-11-29 14:28:14 +01:00
Nicolas Grekas
2744b41c83 [DI] Clear service reference graph 2017-11-29 09:18:28 +01:00
Nicolas Grekas
b988aa7c59 [DI] Fix infinite loop in InlineServiceDefinitionsPass 2017-11-29 09:04:31 +01:00
Christian Flothmann
d2496ab5d2 Merge branch '3.4' into 4.0
* 3.4:
  [HttpKernel] Better handling of legacy cache
  modify definitions only if the do exist
  [DI] Prevent a ReflectionException during cache:clear when the parent class doesn't exist
  [FrameworkBundle] Make MicroKernelTraitTest green
  don't override existing verbosity env var
  [HttpKernel] Read $_ENV when checking SHELL_VERBOSITY
  Remove unreachable code
  Automatically enable the CSRF protection if CSRF manager exists
  bumped Symfony version to 3.4.0
  adding checks for the expression language
  updated VERSION for 3.4.0-RC2
  updated CHANGELOG for 3.4.0-RC2
2017-11-28 23:05:27 +01:00
Nicolas Grekas
73f1ac5ea2 [DI] Fix tracking of env vars in exceptions 2017-11-26 20:37:03 +01:00
Fabien Potencier
7c0a59ffed bug #25158 [DI] Remove unreachable code (GawainLynch)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] Remove unreachable code

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

#24033 added the ability to ignore uninitialized references, but the regex above the conditional would lead to an `InvalidArgumentException` being thrown.

Commits
-------

ced0857560 Remove unreachable code
2017-11-26 07:53:06 -08:00
Gawain Lynch
ced0857560
Remove unreachable code 2017-11-26 14:53:48 +01:00
Amrouche Hamza
decaf234dd
[DependencyInjection] Add more information to the message when passing miss matching class. 2017-11-25 14:01:35 +00:00
Nicolas Grekas
8b98282821 Merge branch '3.4' into 4.0
* 3.4:
  [DI] Dont resolve envs in service ids
  Add tests proving it can load annotated files
  [WebProfilerBundle] Reset letter-spacing in toolbar
  Prefer overflow-wrap to word-break
  remove more kernel.root_dir parameter refs
  [*Bundle] Replace some kernel.root_dir by kernel.project_dir
  removed some phpdocs
  [Routing] Fix "config-file-relative" annotation loader resources
  Make search in debug:container command case-insensitive
  `resolveEnvPlaceholders` will return a mixed value
  Update translation commands to work with default paths
  [FrameworkBundle] Fix AssetsInstallCommand
2017-11-24 15:34:08 +01:00
Nicolas Grekas
f897542cb2 Merge branch '3.3' into 3.4
* 3.3:
  [DI] Dont resolve envs in service ids
  Add tests proving it can load annotated files
  [WebProfilerBundle] Reset letter-spacing in toolbar
  Prefer overflow-wrap to word-break
  [Routing] Fix "config-file-relative" annotation loader resources
  Make search in debug:container command case-insensitive
  `resolveEnvPlaceholders` will return a mixed value
2017-11-24 15:13:49 +01:00
Nicolas Grekas
7921255faf [DI] Dont resolve envs in service ids 2017-11-24 13:44:22 +01:00
Nicolas Grekas
5b6c1b3132 Merge branch '3.4'
* 3.4:
  [Bridge/PhpUnit] Sync the bridge version installed in vendor/ and in phpunit clone
  [DI] Analyze setter-circular deps more precisely
  fixing that PropertyNormalizer supports parent properties
  [SecurityBundle] Don't trigger auto-picking notice if provider is set per listener
  [TwigBundle][FrameworkBundle] Remove the internals from debug autowiring
  [DI] Skip hot_path tag for deprecated services as their class might also be
  [Cache] Memcached options should ignore "lazy"
  [FrameworkBundle] Dont create empty bundles directory
2017-11-20 22:12:12 +01:00
Nicolas Grekas
9cc4a213c9 [DI] Analyze setter-circular deps more precisely 2017-11-20 18:46:17 +01:00
Nicolas Grekas
1775bba68f [DI] Skip hot_path tag for deprecated services as their class might also be 2017-11-19 23:04:27 +01:00
Nicolas Grekas
a36fb5427e Merge branch '3.4'
* 3.4: (26 commits)
  [Bridge\PhpUnit] Disable broken auto-require mechanism of phpunit
  [Console] Fix disabling lazy commands
  [DI] Remove scalar typehint in class used in test case
  Remove the `server:log` command if monolog is not loaded
  [SecurityBundle] Fix syntax error in test
  [Console] Remove remaining dead code
  Throw on service:method factory notation in PHP-based DI configuration
  Test that named arguments are prioritized over typehinted
  bumped Symfony version to 3.3.14
  bumped Symfony version to 2.8.32
  bumped Symfony version to 2.7.39
  Prove that change is working with tests
  updated VERSION for 3.3.13
  updated CHANGELOG for 3.3.13
  updated VERSION for 2.8.31
  updated CHANGELOG for 2.8.31
  updated VERSION for 2.7.38
  updated CHANGELOG for 2.7.38
  Replace array|\Traversable by iterable
  [DI] Fix by-type args injection
  ...
2017-11-19 20:43:46 +02:00
Nicolas Grekas
2176be74d8
[DI] Fix by-type args injection 2017-11-16 13:36:51 +02:00
Nicolas Grekas
dd82ca8a58 Merge branch '3.4'
* 3.4:
  [DI] Add "container.hot_path" tag to flag the hot path and inline related services
  [FrameworkBundle] Fine-tune generated annotations.php cache
  [HttpFoundation] Prevent PHP from sending Last-Modified on session start
  Micro optim using explicit root namespaces
2017-11-09 18:30:28 +01:00
Nicolas Grekas
f7cb559a06 [DI] Add "container.hot_path" tag to flag the hot path and inline related services 2017-11-09 15:14:31 +01:00
Nicolas Grekas
aaf2265203 Replace more docblocks by type-hints 2017-11-07 15:45:01 +01:00
Nicolas Grekas
d7547f2e95 Merge branch '3.4'
* 3.4:
  [3.4] Remove useless docblocks
  [3.3] More docblock fixes
  [2.7] More docblock fixes
  [TwigBridge] Fix BC break due required twig environment
  Random fixes
  Docblock fixes
  [DI] Fix cannot bind env var
  Fix some signatures in PHP-DSLs
  [HttpKernel] Enhance deprecation message
  bumped Symfony version to 3.4.0
  updated VERSION for 3.4.0-BETA3
  updated CHANGELOG for 3.4.0-BETA3
  [SecurityBundle] Fix the datacollector to properly support decision.object being null
2017-11-07 15:34:02 +01:00
Maxime Steinhausser
f8f3a15b7a [DI] Fix cannot bind env var 2017-11-07 09:01:11 +01:00
Nicolas Grekas
4c1de3fbff Merge branch '3.4'
* 3.4:
  [HttpFoundation] refactoring: calculate when need
  [Serializer] Fix extra attributes when no group specified
  [Intl] Make intl-data tests pass and save language aliases again
  [FrameworkBundle][Config] fix: do not add resource checkers for debug=false
  [DI] Fix "almost-circular" dependencies handling
  [Console] Fix CommandTester::setInputs() docblock
  Only enabling validation if it is present
  Fix displaying errors for bootstrap 4
  [Serializer] readd default argument value
  Fix reference dump for deprecated nodes
  [PhpUnitBridge] Fixed fatal error in CoverageListener when something goes wrong in Test::setUpBeforeClass
  [HttpKernel] Let the storage manage the session starts
  [VarDumper] fix trailling comma when dumping an exception
  [Validator] Fix TraceableValidator is reset on data collector instantiation
  Remove useless docblocks
  [FrameworkBundle] Fix docblocks
  [PropertyInfo] Remove useless docblocks
2017-11-05 17:26:21 +01:00
Nicolas Grekas
73982760f7 Merge branch '3.3' into 3.4
* 3.3:
  [Serializer] Fix extra attributes when no group specified
  [Intl] Make intl-data tests pass and save language aliases again
  [Console] Fix CommandTester::setInputs() docblock
  [Serializer] readd default argument value
  [VarDumper] fix trailling comma when dumping an exception
  Remove useless docblocks
  [FrameworkBundle] Fix docblocks
  [PropertyInfo] Remove useless docblocks
2017-11-05 17:10:10 +01:00
Nicolas Grekas
b354d6ca84 Merge branch '2.8' into 3.3
* 2.8:
  [Intl] Make intl-data tests pass and save language aliases again
  Remove useless docblocks
  [PropertyInfo] Remove useless docblocks
2017-11-05 16:47:03 +01:00
Nicolas Grekas
9bc9474ff0 Merge branch '2.7' into 2.8
* 2.7:
  [Intl] Make intl-data tests pass and save language aliases again
  Remove useless docblocks
2017-11-05 16:25:56 +01:00
Nicolas Grekas
2443511324 Remove useless docblocks 2017-10-29 10:49:53 +01:00
Nicolas Grekas
5c74f11b52 Merge branch '3.4'
* 3.4:
  Ensure DeprecationErrorHandler::collectDeprecations() is triggered
  Config: mark builder property deprecated
  fix CachePoolPrunerPass to use correct command service id
  [TwigBridge] Re-add Bootstrap 3 Checkbox Layout
  [FrameworkBundle] Allow to disable assets via framework:assets xml configuration
  fixed $_ENV/$_SERVER precedence in test framework
  [HttpFoundation] Fix FileBag issue with associative arrays
  [DI] Throw when a service name or an alias contains dynamic values (prevent an infinite loop)
  [HttpFoundation] Fix caching of session-enabled pages
  [Guard] remove invalid deprecation notice
  fix the phpdoc that is not really inherited from response
  Minor docblock cleanup
  Remove redundant sprintf arguments.
2017-10-28 18:54:10 +02:00
Nicolas Grekas
c7e59b3a5b Merge branch '3.3' into 3.4
* 3.3:
  Ensure DeprecationErrorHandler::collectDeprecations() is triggered
  [FrameworkBundle] Allow to disable assets via framework:assets xml configuration
  fixed $_ENV/$_SERVER precedence in test framework
  [HttpFoundation] Fix FileBag issue with associative arrays
  [DI] Throw when a service name or an alias contains dynamic values (prevent an infinite loop)
  fix the phpdoc that is not really inherited from response
  Minor docblock cleanup
  Remove redundant sprintf arguments.
2017-10-28 18:49:05 +02:00
Kévin Dunglas
14e30857ea [DI] Throw when a service name or an alias contains dynamic values (prevent an infinite loop) 2017-10-25 18:14:47 -07:00
Nicolas Grekas
5eab353117 Remove some visual debt by adding type hints on final methods/classes 2017-10-24 16:36:35 +02:00
Nicolas Grekas
4058f2f284 Merge branch '3.4'
* 3.4:
  [DI] minor docblock fixes
2017-10-24 16:16:56 +02:00
Nicolas Grekas
1e1b37753c Merge branch '3.3' into 3.4
* 3.3:
  [DI] minor docblock fixes
2017-10-24 16:12:06 +02:00
Nicolas Grekas
7fb9f614ee Merge branch '2.8' into 3.3
* 2.8:
  [DI] minor docblock fixes
2017-10-24 16:05:06 +02:00
Nicolas Grekas
2b95ba3299 Merge branch '2.7' into 2.8
* 2.7:
  [DI] minor docblock fixes
2017-10-24 15:48:52 +02:00
Nicolas Grekas
a13befe38e Merge branch '3.4'
* 3.4:
  [DI] Handle container.autowiring.strict_mode to opt-out from legacy autowiring
  [2.8] Fix some docblocks
  Escape trailing \ in QuestionHelper autocompletion
  [FrameworkBundle][Serializer] Remove outdated condition
  Add "doctrine/annotations" to top-level composer.json
  Fix phpdoc inconsistencies, simplify no-op sprintf.
  Remove inapplicable phpdoc comment
  nit: Fix phpdoc inconsistency and unreachable statement
  [DI] Register default env var provided types
  Fix phpdoc and unnecessary sprintf
  [FrameworkBundle][Workflow] Fix deprectation when checking workflow.registry service in dump command
  [Security] Fix BC layer for AbstractGuardAuthenticator subclasses
  Prefer line formatter on missing cli dumper
  [DI] Enhance service locator error message
2017-10-24 14:50:36 +02:00
Nicolas Grekas
cb5e7912c7 Merge branch '3.3' into 3.4
* 3.3:
  [2.8] Fix some docblocks
  Escape trailing \ in QuestionHelper autocompletion
  [FrameworkBundle][Serializer] Remove outdated condition
  Add "doctrine/annotations" to top-level composer.json
  Fix phpdoc inconsistencies, simplify no-op sprintf.
  Remove inapplicable phpdoc comment
  nit: Fix phpdoc inconsistency and unreachable statement
  Prefer line formatter on missing cli dumper
  [DI] Enhance service locator error message
2017-10-24 14:44:53 +02:00
Nicolas Grekas
2a5759d7b7 feature #24671 [DI] Handle container.autowiring.strict_mode to opt-out from legacy autowiring (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] Handle container.autowiring.strict_mode to opt-out from legacy autowiring

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

To preserve BC, autowiring still wires things in hybrid 2.8/3.3 modes.
But 2.8 mode is really a foot gun.
I propose to add a new parameter in SF3.4, to opt-out of this 2.8 mode, and enable this strict mode for all new projects.
WDYT?
(see https://github.com/symfony/recipes/pull/221 for corresponding change on Flex recipe)

Commits
-------

a4a0ae2 [DI] Handle container.autowiring.strict_mode to opt-out from legacy autowiring
2017-10-24 14:37:11 +02:00
Nicolas Grekas
0c9edaf336 [DI] minor docblock fixes 2017-10-24 13:40:19 +02:00
Nicolas Grekas
a4a0ae20ca [DI] Handle container.autowiring.strict_mode to opt-out from legacy autowiring 2017-10-24 09:38:31 +02:00
Roland Franssen
3cee7a65de [DI] Register default env var provided types 2017-10-21 10:39:15 +02:00
Nicolas Grekas
14de848cc4 Merge branch '3.4'
* 3.4:
  bumped Symfony version to 3.4.0
  updated VERSION for 3.4.0-BETA1
  updated CHANGELOG for 3.4.0-BETA1
  Do not process bindings in AbstractRecursivePass
  don't bind scalar values to controller method arguments
  Add extra autowiring aliases
  adding AdapterInterface alias for cache.app
  Adding a new debug:autowiring command
  [HttpFoundation] Make sessions secure and lazy
  [Routing] Ensure uniqueness without repeated check
  [Console] Sync ConsoleLogger::interpolate with the one in HttpKernel
2017-10-18 17:12:27 -07:00
Robin Chalas
6a6256c6a8 Do not process bindings in AbstractRecursivePass 2017-10-18 14:27:18 +02:00
Nicolas Grekas
fdb0ea9fdd [DI] Enhance service locator error message 2017-10-17 00:51:02 +02:00
Nicolas Grekas
2ab092034b Merge branch '3.4'
* 3.4:
  fix merge
  fix merge
  [FORM] Prevent forms from extending itself as a parent
  fix merge
  Fix 7.2 compat layer
  [DI] Prefixed env vars and load time inlining are incompatible
  bug #24499 [Bridge\PhpUnit] Fix infinite loop when running isolated method (bis) (nicolas-grekas)
  Fix PHP 7.2 support
  [HttpFoundation] Add missing session.lazy_write config option
  [DI] Exclude inline services declared in XML from autowiring candidates
  [HttpFoundation] Combine Cache-Control headers
  [Form] fix parsing invalid floating point numbers
  Escape command usage when displaying it in the text descriptor
  [DI] Throw accurate failures when accessing removed services
  [DI] Turn private defs to non-public ones before removing passes
  Use for=ID on radio/checkbox label.
2017-10-10 16:32:10 +02:00
Fabien Potencier
5904d34125 bug #24488 [DI] Prefixed env vars and load time inlining are incompatible (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] Prefixed env vars and load time inlining are incompatible

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

That's because env var processors are not registered yet.

Commits
-------

91c9287c55 [DI] Prefixed env vars and load time inlining are incompatible
2017-10-09 21:05:35 -07:00