Commit Graph

3620 Commits

Author SHA1 Message Date
Nicolas Grekas
92c81b7258 [DI] fix dep 2019-11-12 12:50:59 +01:00
Nicolas Grekas
61c7c11a32 Last cleanups before beta 2019-11-12 12:24:05 +01:00
Nicolas Grekas
69cd75069a Merge branch '4.4'
* 4.4:
  [DI] fix loading env while env loaders are loaded
2019-11-08 22:16:29 +01:00
Nicolas Grekas
522bd5d99d [DI] fix loading env while env loaders are loaded 2019-11-08 21:45:30 +01:00
Nicolas Grekas
0cd837bf1a Merge branch '4.4'
* 4.4:
  [DI] fix locators with numeric keys
  Add support for NO_COLOR env var
  [DI][FrameworkBundle] add EnvVarLoaderInterface - remove SecretEnvVarProcessor
  Fix error when we use VO for the marking property
  [DI] Remove LazyString from 4.4, before adding back to the String component
2019-11-08 17:32:03 +01:00
Nicolas Grekas
7c111bdcf3 minor #34290 [DI] Remove LazyString from 4.4, before adding back to the String component (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[DI] Remove LazyString from 4.4, before adding back to the String component

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | no
| Deprecations? | no
| Tickets       | -
| License       | MIT
| Doc PR        | -

In #34190 I'm proposing to move LazyString to the Service contracts, but String might be a better fit actually. Let's remove the class from 4.4 where it's not really needed, and add it back on 5.0 in the String component.

Commits
-------

b1a3ee76ac [DI] Remove LazyString from 4.4, before adding back to the String component
2019-11-08 17:26:52 +01:00
Nicolas Grekas
f459fd01a2 Merge branch '4.3' into 4.4
* 4.3:
  [DI] fix locators with numeric keys
  Fix error when we use VO for the marking property
2019-11-08 17:24:33 +01:00
Nicolas Grekas
618aec6abe Merge branch '3.4' into 4.3
* 3.4:
  [DI] fix locators with numeric keys
2019-11-08 17:22:27 +01:00
Nicolas Grekas
dad4344793 [DI] fix locators with numeric keys 2019-11-08 17:18:30 +01:00
Nicolas Grekas
ba2148fff3 [DI][FrameworkBundle] add EnvVarLoaderInterface - remove SecretEnvVarProcessor 2019-11-08 15:47:02 +01:00
Nicolas Grekas
b1a3ee76ac [DI] Remove LazyString from 4.4, before adding back to the String component 2019-11-08 11:42:01 +01:00
Nicolas Grekas
38f86e6758 [DI] fix merge 2019-11-08 10:32:27 +01:00
Nicolas Grekas
c4226e4128 Merge branch '4.4'
* 4.4:
  [DI] Dont cache classes with missing parents
  [HttpClient] Fix a crash when calling CurlHttpClient::__destruct()
  Unallow symfony/http-kernel ^5.0
  [FrameworkBundle] fix SodiumVault after stof review
  [HttpClient] allow arbitrary JSON values in requests
  [DependencyInjection] Added option `ignore_errors: not_found` while importing config files
  [Validator] Add the missing translations for the Hebrew (\"he\") locale and fix 2 typos
  [FrameworkBundle][Translation] Invalidate cached catalogues when the scanned directories change
2019-11-08 10:16:28 +01:00
Nicolas Grekas
585c0df909 feature #31310 [DependencyInjection] Added option ignore_errors: not_found for imported config files (pulzarraider)
This PR was merged into the 4.4 branch.

Discussion
----------

[DependencyInjection] Added option `ignore_errors: not_found` for imported config files

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

If someone want to add optional config file. The only available choice was to add `ignore_errors: true` option

e.g.
```
imports:
    - { resource: parameters.yml, ignore_errors: true }
```

But this will hide all errors in imported file. We ran in many situations that broke our Symfony applications because we had a typo in this imported files.

This PR introduce new possible value `not_found` for `ignore_errors` option. It can be used for optional config files like the `ignore_errors: true`, but it will ignore only the file non-existence, not the possible syntax errors inside.

Usage:
```
imports:
    - { resource: parameters.yml, ignore_errors: not_found}
```

Commits
-------

e0ee01c10d [DependencyInjection] Added option `ignore_errors: not_found` while importing config files
2019-11-08 09:53:35 +01:00
Nicolas Grekas
8aaa8c5fc6 Merge branch '4.3' into 4.4
* 4.3:
  [DI] Dont cache classes with missing parents
  [HttpClient] Fix a crash when calling CurlHttpClient::__destruct()
  [Validator] Add the missing translations for the Hebrew (\"he\") locale and fix 2 typos
  [FrameworkBundle][Translation] Invalidate cached catalogues when the scanned directories change
2019-11-08 09:33:02 +01:00
Nicolas Grekas
a1fc280bf2 Merge branch '3.4' into 4.3
* 3.4:
  [DI] Dont cache classes with missing parents
  [Validator] Add the missing translations for the Hebrew (\"he\") locale and fix 2 typos
2019-11-08 09:31:27 +01:00
Nicolas Grekas
1606430cfd [DI] Dont cache classes with missing parents 2019-11-08 09:28:59 +01:00
Andrej Hudec
e0ee01c10d [DependencyInjection] Added option ignore_errors: not_found while importing config files 2019-11-07 12:06:31 +01:00
Nicolas Grekas
9dd60645d9 Merge branch '4.4'
* 4.4:
  Skip validation of services that make the CI fail
2019-11-06 18:06:06 +01:00
Nicolas Grekas
403fdf4a59 Skip validation of services that make the CI fail 2019-11-06 17:48:56 +01:00
Nicolas Grekas
5e358e33c9 Merge branch '4.4'
* 4.4: (39 commits)
  [Console] Fix #33915, Detect dimensions using mode CON if vt100 is supported
  [PhpUnitBridge] Also search for composer.phar in git root folder
  [HttpKernel][DataCollectorInterface] Ease compatibility
  Add tests to ensure defaultLocale is properly passed to the URL generator
  [DependencyInjection] Fix broken references in tests
  [VarDumper] display the method we're in when dumping stack traces
  [HttpClient] Retry safe requests when then fail before the body arrives
  [Console] Rename some methods related to redraw frequency
  Avoid using of kernel after shutdown
  Simplify PHP CS Fixer configuration
  [PropertyInfo] Fixed type extraction for nullable collections of non-nullable elements
  [FrameworkBundle] [HttpKernel] fixed correct EOL and EOM month
  Fix CS
  [Serializer] Fix property name usage for denormalization
  Name test accordingly to the tested class
  Fix MockFileSessionStorageTest::sessionDir being used after it's unset
  [Security] Fix SwitchUserToken wrongly deauthenticated
  Supporting Bootstrap 4 custom switches
  Add new Form WeekType
  bumped Symfony version to 4.3.7
  ...
2019-11-05 18:15:52 +01:00
Nicolas Grekas
4cd3dc8d7f Merge branch '4.3' into 4.4
* 4.3: (26 commits)
  [Console] Fix #33915, Detect dimensions using mode CON if vt100 is supported
  [HttpKernel][DataCollectorInterface] Ease compatibility
  Add tests to ensure defaultLocale is properly passed to the URL generator
  [DependencyInjection] Fix broken references in tests
  [HttpClient] Retry safe requests when then fail before the body arrives
  Avoid using of kernel after shutdown
  Simplify PHP CS Fixer configuration
  [PropertyInfo] Fixed type extraction for nullable collections of non-nullable elements
  [FrameworkBundle] [HttpKernel] fixed correct EOL and EOM month
  [Serializer] Fix property name usage for denormalization
  Name test accordingly to the tested class
  Fix MockFileSessionStorageTest::sessionDir being used after it's unset
  bumped Symfony version to 4.3.7
  updated VERSION for 4.3.6
  updated CHANGELOG for 4.3.6
  bumped Symfony version to 3.4.34
  updated VERSION for 3.4.33
  update CONTRIBUTORS for 3.4.33
  updated CHANGELOG for 3.4.33
  [HttpClient] Fix perf issue when doing thousands of requests with curl
  ...
2019-11-05 17:11:08 +01:00
Nicolas Grekas
448d0d6728 Merge branch '3.4' into 4.3
* 3.4:
  [DependencyInjection] Fix broken references in tests
  Avoid using of kernel after shutdown
  Simplify PHP CS Fixer configuration
  [FrameworkBundle] [HttpKernel] fixed correct EOL and EOM month
  Fix MockFileSessionStorageTest::sessionDir being used after it's unset
  bumped Symfony version to 3.4.34
  updated VERSION for 3.4.33
  update CONTRIBUTORS for 3.4.33
  updated CHANGELOG for 3.4.33
  [Stopwatch] Fixed a bug in stopwatch event getStartTime
  [Stopwatch] Fixed bug in getDuration when counting multiple ongoing periods
  Adding some validations tags on validators.et.xlf
  add missing translation for 94 (it)
2019-11-05 15:48:09 +01:00
Chi-teck
bd1ead251c [DependencyInjection] Fix broken references in tests 2019-11-04 20:58:26 +01:00
Nicolas Grekas
13dd18c8a6 feature #31587 [Routing][Config] Allow patterns of resources to be excluded from config loading (tristanbes)
This PR was merged into the 4.4 branch.

Discussion
----------

[Routing][Config] Allow patterns of resources to be excluded from config loading

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

The PR will fix the following RFC: #31516

Like resource loading for services, this PR offers a way to exclude patterns of resources like:

```yml
// config/routes/annotations.yaml
controllers:
    resource: ../../src/Controller/*
    type: annotation
    exclude: '../src/Controller/{DebugEmailController}.php'
```

All the annotation routes inside `Controller/` will be loaded in this example except all the one present inside the `Controller/DebugEmailController.php`

Commits
-------

332ff8811c [Routing][Config] Allow patterns of resources to be excluded from config loading
2019-11-04 11:53:20 +01:00
Nicolas Grekas
29fd51f272 feature #32256 [DI] Add compiler pass and command to check that services wiring matches type declarations (alcalyn, GuilhemN, nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[DI] Add compiler pass and command to check that services wiring matches type declarations

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

PR replacing https://github.com/symfony/symfony/pull/27825.

It adds a `lint:container` command asserting the type hints used in your code are correct.

Commits
-------

8230a1543e Make it really work on real apps
4b3e9d4c96 Fix comments, improve the feature
a6292b917b [DI] Add compiler pass to check arguments type hint
2019-11-04 11:27:29 +01:00
Fabien Potencier
25baf75edb Fix CS 2019-11-03 12:51:47 +01:00
Fabien Potencier
71873fc770 feature #33854 [DI] Add ability to choose behavior of decorations on non existent decorated services (mtarld)
This PR was merged into the 4.4 branch.

Discussion
----------

[DI] Add ability to choose behavior of decorations on non existent decorated services

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | yes
| Deprecations? | no
| Tickets       | #33522
| License       | MIT
| Doc PR        | https://github.com/symfony/symfony-docs/pull/12442

# Handling decorations on non existent decorated services
Handle decorations on non existent decorated services by either throwing the service not found exception, silently ignoring services (decorator & decorated) all together or leave the decorated service to null (current behavior)

Something almost similar to how missing services as parameters are handles.

## Yaml configuration
```yaml
decorator:
    decorates: decorated
    decoration_on_invalid: ignore
```
Available values: `exception`, `ignore`, `null`. `exception` if nothing is specified.

## Xml configuration
```xml
<service id="decorator" decorates="decorated" decoration-on-invalid="ignore" />
```
Available values: `exception`, `ignore`, `null`. `exception` if nothing is specified.

## Behavior
- `exception`: Throws a `ServiceNotFoundException` telling that the decorator's dependency is missing
- `ignore`: Remove decorator definition. Decorator and decorated will not be available at all.
- `null`: Keep decorator but set decorated to null. Therefore, decorator `__construct` should be written with a nullable decorated dependency (`public function __contruct(?DecoratedInterface $decorated) {}`) and check should be done in other methods

Commits
-------

f167c77eaf Handle non existent decorated services
2019-11-03 12:49:07 +01:00
Tobias Schultze
0ea2855cdf Merge branch '4.4' 2019-11-01 13:49:41 +01:00
Nicolas Grekas
8cf0698e85 bug #34163 [DI] fix regexp for anonymous services with no class set (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[DI] fix regexp for anonymous services with no class set

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | -
| License       | MIT
| Doc PR        | -

Follows #33782

Commits
-------

a302d2050e [DI] fix regexp for anonymous services with no class set
2019-10-30 17:53:52 +01:00
Fabien Potencier
5dc29c402f Merge branch '4.4'
* 4.4:
  [HttpFoundation][FrameworkBundle] allow configuring the session handler with a DSN
  [Validator] Add AutoMapping constraint to enable or disable auto-validation
  [DI] Fix "!tagged" related upgrade/changelog notes
2019-10-30 11:44:38 +01:00
Robin Chalas
81b9c3c682 [DI] Fix "!tagged" related upgrade/changelog notes 2019-10-29 21:21:43 +01:00
Nicolas Grekas
89901e6345 Merge branch '4.4'
* 4.4:
  Re-allow to use "tagged" in service definitions
  [HttpFoundation] Allow to not pass a parameter to Request::isMethodSafe()
  Add missing lock connection string in FrameworkExtension
  [DomCrawler] normalizeWhitespace should be true by default
  [DoctrineBridge] Auto-validation must work if no regex are passed
  Allows URL DSN in Lock and Cache
2019-10-29 15:23:29 +01:00
Kévin Dunglas
7b7dc0df9a
Re-allow to use "tagged" in service definitions 2019-10-29 15:11:25 +01:00
Nicolas Grekas
a302d2050e [DI] fix regexp for anonymous services with no class set 2019-10-29 12:56:37 +01:00
Nicolas Grekas
5a855408e1 Merge branch '4.4'
* 4.4:
  [OptionsResolve] Revert change in tests for a not-merged change in code
  [HttpClient] fix handling of 3xx with no Location header - ignore Content-Length when no body is expected
  [Workflow] Made the configuration more robust for the 'property' key
  [Security/Core] make NativePasswordEncoder use sodium to validate passwords when possible
  [FrameworkBundle] make SodiumVault report bad decryption key accurately
  cs fix
  [Security] Allow to set a fixed algorithm
  [Security/Core] make encodedLength computation more generic
  [Security/Core] add fast path when encoded password cannot match anything
  #30432 fix an error message
  fix paths to detect code owners
  [HttpClient] ignore the body of responses to HEAD requests
  [Validator] Ensure numeric subpaths do not cause errors on PHP 7.4
  [SecurityBundle] Fix wrong assertion
  Remove unused local variables in tests
  [Yaml][Parser] Remove the getLastLineNumberBeforeDeprecation() internal unused method
  Make sure to collect child forms created on *_SET_DATA events
  [WebProfilerBundle] Improve display in Email panel for dark theme
  do not render errors for checkboxes twice
2019-10-28 22:51:41 +01:00
Nicolas Grekas
05f7f4e147 Merge branch '4.3' into 4.4
* 4.3:
  [OptionsResolve] Revert change in tests for a not-merged change in code
  [HttpClient] fix handling of 3xx with no Location header - ignore Content-Length when no body is expected
  [Workflow] Made the configuration more robust for the 'property' key
  [Security/Core] make NativePasswordEncoder use sodium to validate passwords when possible
  #30432 fix an error message
  fix paths to detect code owners
  [HttpClient] ignore the body of responses to HEAD requests
  [Validator] Ensure numeric subpaths do not cause errors on PHP 7.4
  [SecurityBundle] Fix wrong assertion
  Remove unused local variables in tests
  [Yaml][Parser] Remove the getLastLineNumberBeforeDeprecation() internal unused method
  Make sure to collect child forms created on *_SET_DATA events
  [WebProfilerBundle] Improve display in Email panel for dark theme
  do not render errors for checkboxes twice
2019-10-28 21:30:34 +01:00
Nicolas Grekas
6d5c91bb47 Merge branch '3.4' into 4.3
* 3.4:
  #30432 fix an error message
  fix paths to detect code owners
  [Validator] Ensure numeric subpaths do not cause errors on PHP 7.4
  Remove unused local variables in tests
  Make sure to collect child forms created on *_SET_DATA events
  do not render errors for checkboxes twice
2019-10-28 18:07:32 +01:00
Mathias Arlaud
f167c77eaf Handle non existent decorated services 2019-10-28 09:31:16 +01:00
Thomas Calvet
c07cee8f61 Remove unused local variables in tests 2019-10-24 17:33:53 +02:00
Tristan Bessoussa
332ff8811c [Routing][Config] Allow patterns of resources to be excluded from config loading 2019-10-24 13:56:35 +02:00
Nicolas Grekas
76776943cd Merge branch '4.4'
* 4.4:
  [Debug] remove return types that break FC badly
  [Mailer][MailchimpBridge] Don't send address names if empty string
  [ExpressionLanguage][Lexer] Exponential format for number
  [Mailer] Fix SES Message Id retrieval
  Add .gitignore to .gitattributes
2019-10-22 19:21:12 +02:00
Fabien Potencier
f00390ffd7 minor #33963 Add .gitignore to .gitattributes (reedy)
This PR was merged into the 4.4 branch.

Discussion
----------

Add .gitignore to .gitattributes

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | #33946
| License       | MIT

Commits
-------

246c5fdf43 Add .gitignore to .gitattributes
2019-10-22 17:44:54 +02:00
Nicolas Grekas
34f5655089 Merge branch '4.4'
* 4.4:
  [ErrorRenderer] FlattenException cannot be final
  Fixing issue where worker-only middleware were run in all contexts
  [Messenger] Removing "sync" transport and replacing it with much nicer config trick
  Use port 465 for SES SMTP transport
  [DI] made the `%env(base64:...)%` processor able to decode base64url
  [VarDumper] improve displaying cut closures
  Set ReturnType of LockFactory to LockInterface
  [EventDispatcher] handle lazy-callable invokable
2019-10-22 17:27:40 +02:00
Nicolas Grekas
3d12e46692 [DI] made the %env(base64:...)% processor able to decode base64url 2019-10-22 08:40:11 +02:00
Nicolas Grekas
99098f8662 Merge branch '4.4'
* 4.4:
  [DI] add `LazyString` for lazy computation of string values injected into services
  [Dotenv] allow LF in single-quoted strings
  Replace STDIN by php://stdin
  [Yaml] Throw exception for tagged invalid inline elements
  [Mailer] Fix Mandrill Transport API payload with named addresses
  [HttpClient] improve StreamWrapper
2019-10-18 16:28:29 +02:00
Nicolas Grekas
ccb03650a2 [DI] add LazyString for lazy computation of string values injected into services 2019-10-18 14:17:42 +02:00
Christian Flothmann
006c09a4da Merge branch '4.4'
* 4.4:
  fix PHP 5.6 compatibility
  [Cache] fixed TagAwareAdapter returning invalid cache
  Add plus character `+` to legal mime subtype
  Make Symfony\Contracts\Service\Test\ServiceLocatorTest abstract
  bug #33942 [DI] Add extra type check to php dumper
  [Dotenv] search variable values in ENV first then env file
  [PropertyInfo] Respect property name case when guessing from public method name
  [VarDumper] fix resetting the "bold" state in CliDumper
  Missing argument in method_exists
  SCA: added missing break in a loop
2019-10-14 14:37:23 +02:00
Christian Flothmann
ae808b0a74 Merge branch '4.3' into 4.4
* 4.3:
  fix PHP 5.6 compatibility
  [Cache] fixed TagAwareAdapter returning invalid cache
  Add plus character `+` to legal mime subtype
  Make Symfony\Contracts\Service\Test\ServiceLocatorTest abstract
  bug #33942 [DI] Add extra type check to php dumper
  [Dotenv] search variable values in ENV first then env file
  [PropertyInfo] Respect property name case when guessing from public method name
  [VarDumper] fix resetting the "bold" state in CliDumper
  Missing argument in method_exists
  SCA: added missing break in a loop
2019-10-14 14:27:06 +02:00
Nicolas Grekas
8230a1543e Make it really work on real apps 2019-10-13 15:20:26 +02:00
Guilhem Niot
4b3e9d4c96 Fix comments, improve the feature 2019-10-12 12:35:35 +02:00
Julien Maulny
a6292b917b [DI] Add compiler pass to check arguments type hint 2019-10-12 11:48:25 +02:00
Reedy
246c5fdf43 Add .gitignore to .gitattributes 2019-10-12 01:35:04 +01:00
Gildas Quéméner
b17ebdf081
bug #33942 [DI] Add extra type check to php dumper 2019-10-11 18:58:45 +02:00
Nicolas Grekas
68c6e72cd5 Merge branch '4.4'
* 4.4: (26 commits)
  cs fix
  [Validator] sync NO and NB translations
  [Cache] improve perf of pruning for fs-based adapters
  [Cache] cs fix
  [Cache] clean tags folder on invalidation
  [Cache] remove implicit dependency on symfony/filesystem
  Allow to set cookie_samesite to 'none'
  [Dotenv] support setting default env var values
  [VarDumper] fix array key error for class SymfonyCaster
  [Cache] Improve RedisTagAwareAdapter invalidation logic & requirements
  Adds missing translations for no nb
  [HttpKernel] fix $dotenvVars in data collector
  Add the missing translations for the Swedish ("sv") locale
  Prevent ProgressBar redraw when message is same
  [DI] enable improved syntax for defining method calls in Yaml
  bumped Symfony version to 4.3.6
  updated VERSION for 4.3.5
  updated CHANGELOG for 4.3.5
  bumped Symfony version to 3.4.33
  updated VERSION for 3.4.32
  ...
2019-10-09 16:45:46 +02:00
Nicolas Grekas
cdc7446051 [DI] enable improved syntax for defining method calls in Yaml 2019-10-07 18:41:11 +02:00
Nicolas Grekas
e3e502ef6f Merge branch '4.4'
* 4.4: (27 commits)
  [Validator] add notice in UPGRADE file for new Range constraint option
  [CssSelector] Support *:only-of-type pseudo class selector
  [Intl] Update the ICU data to 65.1 (4.4 branch)
  [Intl] Update the ICU data to 65.1 (4.3 branch)
  Replace deprecated calls in tests
  [Intl] Update the ICU data to 65.1
  Delete 5_Security_issue.md
  [DI] Whitelist error_renderer.renderer tag  in UnusedTagsPass
  [DI] Whitelist validator.auto_mapper in UnusedTagsPass
  Update CHANGELOG.md
  [HttpClient] Fixed #33832 NO_PROXY option ignored in NativeHttpClient::request() method
  [EventDispatcher] A compiler pass for aliased userland events.
  [Cache] give 100ms before starting the expiration countdown
  [Cache] fix logger usage in CacheTrait::doGet()
  [VarDumper] fix dumping uninitialized SplFileInfo
  Added missing translations.
  [Form] Added CountryType option for using alpha3 country codes
  Fixed invalid changelog 4.0.0 for VarDumper
  [Workflow] Fixed BC break on WorkflowInterface
  Fix wrong expression language value
  ...
2019-10-07 11:06:09 +02:00
Grégoire Pineau
c1917c2999 [DependencyInjection] added Ability to define a priority method for tagged service 2019-10-02 17:30:24 +02:00
Nicolas Grekas
3ee9dbd17b Merge branch '4.4'
* 4.4: (24 commits)
  [Console] Command::execute() should always return int - deprecate returning null
  [FrameworkBundle] Fix wrong returned status code in ConfigDebugCommand
  [AnnotationCacheWarmer] add RedirectController to annotation cache
  [WebProfilerBundle] Try to display the most useful panel by default
  Add note about deprecating the XmlEncoder::TYPE_CASE_ATTRIBUTES constant in the upgrade guide
  fix merge
  [DI] add tests loading calls with returns-clone
  [DI] dont mandate a class on inline services with a factory
  Fixed Redis Sentinel usage when only one Sentinel specified
  [EventDispatcher] Added tests for aliased events.
  Sync Twig templateExists behaviors
  Fix the :only-of-type pseudo class selector
  Deprecate the XmlEncoder::TYPE_CASE_ATTRIBUTES constant
  [Mailer] Tweak some code
  [Serializer] Add CsvEncoder tests for PHP 7.4
  Copy phpunit.xsd to a predictable path
  [WebserverBundle] Remove duplicated deprecation message
  remove duplicated test
  [Security/Http] fix parsing X509 emailAddress
  [FrameworkBundle] conflict with VarDumper < 4.4
  ...
2019-10-02 17:00:37 +02:00
Nicolas Grekas
3354bacc02 Merge branch '4.3' into 4.4
* 4.3:
  [FrameworkBundle] Fix wrong returned status code in ConfigDebugCommand
  [AnnotationCacheWarmer] add RedirectController to annotation cache
  [DI] add tests loading calls with returns-clone
  [EventDispatcher] Added tests for aliased events.
  [DI] Add CSV env var processor tests
2019-10-02 16:41:32 +02:00
Nicolas Grekas
1fea53330d bug #33744 [DI] Add CSV env var processor tests / support PHP 7.4 (ro0NL)
This PR was merged into the 4.3 branch.

Discussion
----------

[DI] Add CSV env var processor tests / support PHP 7.4

| Q             | A
| ------------- | ---
| Branch?       | 4.3
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #... <!-- prefix each issue number with "Fix #", if any -->
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

Similar as #32051

Commits
-------

82f341864c [DI] Add CSV env var processor tests
2019-10-02 14:58:58 +02:00
Nicolas Grekas
9a48def0c0 [DI] add tests loading calls with returns-clone 2019-10-02 10:03:02 +02:00
Nicolas Grekas
a2665d17cd [DI] dont mandate a class on inline services with a factory 2019-10-02 09:19:13 +02:00
Nicolas Grekas
10be999069 Merge branch '4.4'
* 4.4:
  sync phpunit script with master
  [HttpFoundation] allow additinal characters in not raw cookies
  [Console] Deprecate abbreviating hidden command names using  Application->find()
  Do not include hidden commands in suggested alternatives
  [Messenger] Improve error message when routing to an invalid transport (closes #31613)
  [DependencyInjection] Fix wrong exception when service is synthetic
  [Security] add "anonymous: lazy" mode to firewalls
2019-09-28 18:14:00 +02:00
Nicolas Grekas
399e0fb06f Merge branch '4.3' into 4.4
* 4.3:
  Do not include hidden commands in suggested alternatives
  [DependencyInjection] Fix wrong exception when service is synthetic
2019-09-28 16:56:00 +02:00
Nicolas Grekas
8033fc5a1d Merge branch '3.4' into 4.3
* 3.4:
  Do not include hidden commands in suggested alternatives
  [DependencyInjection] Fix wrong exception when service is synthetic
2019-09-28 16:55:46 +02:00
Roland Franssen
82f341864c [DI] Add CSV env var processor tests 2019-09-28 11:59:10 +02:00
k0d3r1s
152dec95bc [DependencyInjection] Fix wrong exception when service is synthetic 2019-09-27 17:47:48 +02:00
Nicolas Grekas
8f1c4f1f86 Merge branch '4.4'
* 4.4: (28 commits)
  [FrameworkBundle] Fix framework bundle lock configuration not working as expected
  [Validator] Add the missing translations for the Azerbaijani locale
  [HttpClient] workaround bad Content-Length sent by old libcurl
  [Cache] dont override native Memcached options
  Fix CS
  Fix exceptions (PDOException) error code type
  [ErrorHandler] fix return-type patching logic
  [Messenger] Added support for `from_transport` attribute on `messenger.message_handler` tag
  [ErrorHandler] don't throw deprecations for return-types by default
  ensure legacy event dispatcher compatibility
  ensure legacy event dispatcher compatibility
  Fix return type of Process::restart().
  [Cache] fail gracefully when locking is not supported
  [HttpKernel] compress files generated by the profiler
  tweak deprecation messages and changelog
  fix version in @deprecated annotation
  Use VarCloner data instead of legacy array for query params
  [Security] use LegacyEventDispatcherProxy
  [HttpClient] fix undefined index access
  [HttpClient] fix race condition when reading response with informational status
  ...
2019-09-27 00:15:24 +02:00
Fabien Potencier
db5cf1a83e bug #33350 [DI] scope singly-implemented interfaces detection by file (daniel-iwaniec, nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[DI] scope singly-implemented interfaces detection by file

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | yes
| Deprecations? | no
| Tests pass?   | yes
| License       | MIT

[DependencyInjection] fixed handling singly implemented interfaces when importing multiple resources

for example:
```yaml
App\Adapter\:
    resource: '../src/Adapter/*'
App\Port\:
    resource: '../src/Port/*'
```

this configuration wont create service for interface (in other words singly implemented interface wont be autowired) and this chage fixes it

**Also** this will prevent false positives - for example if I had one implementation in \App\Port namespace and another in \App\Adapter then interface service would still be registered

but that could potentially break exisitng code not aware of this bug

Commits
-------

c1f39709ff [DI] add FileLoader::registerAliasesForSinglyImplementedInterfaces()
bec38900d8 [DI] scope singly-implemented interfaces detection by file
2019-09-25 21:03:45 +02:00
Nicolas Grekas
4442a3f2ac Merge branch '4.4'
* 4.4:
  Re-enable previously failing PHP 7.4 test cases
  [PhpUnitBridge] fix uninitialized variable
  [ErrorRenderer] fix Cannot use object of type ErrorException as array exception #33631
  [Twig] Add missing check
  Revert "bug #33618 fix tests depending on other components' tests (xabbuh)"
  install from source to include components tests
  Fix undefined constant and other minor issues
  [Twig] Add NotificationEmail
  ensure compatibility with type resolver 0.5
  Call AssertEquals with proper parameters
  [DependencyInjection] Allow binding iterable and tagged services
  [Twig] Fix Twig config extra keys
  fix tests depending on other components' tests
  Fix lint commands frozen on empty stdin
2019-09-19 18:03:37 +02:00
Nicolas Grekas
4c69a26d82 Merge branch '4.3' into 4.4
* 4.3:
  Re-enable previously failing PHP 7.4 test cases
  [PhpUnitBridge] fix uninitialized variable
  Revert "bug #33618 fix tests depending on other components' tests (xabbuh)"
  install from source to include components tests
2019-09-19 17:56:27 +02:00
Nicolas Grekas
627833b5e6 Merge branch '3.4' into 4.3
* 3.4:
  Re-enable previously failing PHP 7.4 test cases
  Revert "bug #33618 fix tests depending on other components' tests (xabbuh)"
  install from source to include components tests
2019-09-19 17:51:53 +02:00
Nicolas Grekas
9e4e191535 Re-enable previously failing PHP 7.4 test cases 2019-09-19 17:32:51 +02:00
Grégoire Pineau
2055a558fe [DependencyInjection] Allow binding iterable and tagged services 2019-09-18 13:00:14 +02:00
Fabien Potencier
21d9320be2 Merge branch '4.4'
* 4.4:
  Adding .gitattributes to remove Tests directory from "dist"
  [Messenger] Don't deep merge routing.senders config option
2019-09-16 10:16:50 +02:00
Nyholm
ac7dc24bcb Adding .gitattributes to remove Tests directory from "dist" 2019-09-16 10:12:51 +02:00
Nicolas Grekas
ee94e8595c Merge branch '4.4'
* 4.4:
  Re-enable push support for HttpClient
  [DependencyInjection] Accept existing interfaces as valid named args
  Fixed incompatibility between ServiceSubscriberTrait and classes with protected $container property
  [Cache] Added reserved characters constant for CacheItem
  [DI] cascade preloading only to public parameters/properties
  Move Anonymous config to a SecurityFactory
2019-09-11 10:39:10 +02:00
Nicolas Grekas
789448b65c Merge branch '4.3' into 4.4
* 4.3:
  Re-enable push support for HttpClient
  [DependencyInjection] Accept existing interfaces as valid named args
  Fixed incompatibility between ServiceSubscriberTrait and classes with protected $container property
2019-09-11 10:38:59 +02:00
Thomas Calvet
6612e9a939 [DependencyInjection] Accept existing interfaces as valid named args 2019-09-11 09:42:51 +02:00
Nicolas Grekas
0e3ea8f8c9 [DI] cascade preloading only to public parameters/properties 2019-09-10 19:54:02 +02:00
Nicolas Grekas
70963e390b Merge branch '4.4'
* 4.4:
  Update GitHub PR template
  [DI] fix related to preloading
  [HttpKernel] fix compat with legacy DebugClassLoader
  [WebProfilerBundle] Assign automatic colors to custom Stopwatch categories
  [DI] use dirname() when possible
  Simplify usage of dirname()
  Remove Google references when not needed
  Simplify usage of dirname()
  don't dump a scalar tag value on its own line
  Remove Google references when not needed
  [DI] fix Preloader
  [HttpClient] fix calling the buffer-enabling callback
  [HttpClient] fix php notice on push
  do not perform string operations on null
  Require exact match when reading from stdin with a dash
2019-09-10 19:00:13 +02:00
Nicolas Grekas
e25c5957e0 [DI] fix related to preloading 2019-09-10 17:50:40 +02:00
Nicolas Grekas
541f80c635 minor #33529 [DI] use dirname() when possible (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[DI] use dirname() when possible

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

On second look, I think this works :)

Commits
-------

2eae300537 [DI] use dirname() when possible
2019-09-10 15:08:12 +02:00
Nicolas Grekas
2eae300537 [DI] use dirname() when possible 2019-09-10 15:02:59 +02:00
Fabien Potencier
c709d43878 Merge branch '4.3' into 4.4
* 4.3:
  Remove Google references when not needed
  Simplify usage of dirname()
  Remove Google references when not needed
2019-09-10 13:27:29 +02:00
Fabien Potencier
c4d44eb089 Simplify usage of dirname() 2019-09-10 13:22:25 +02:00
Nicolas Grekas
4cc8641326 [DI] fix Preloader 2019-09-10 11:11:45 +02:00
Nicolas Grekas
6b6562cf13 Merge branch '4.4'
* 4.4: (21 commits)
  [appveyor] exclude tty group
  [HttpFoundation] Add types to private/final/internal methods and constructors.
  Add types to private/final/internal methods and constructors.
  SCA: minor code tweaks
  Tweak output
  [FrameworkBundle] Added --sort option for TranslationUpdateCommand
  [HttpClient] fallbackto CURLMOPT_MAXCONNECTS when CURLMOPT_MAX_HOST_CONNECTIONS is not available
  [DI] generate preload.php file for PHP 7.4 in cache folder
  Allow version 2 of the contracts package.
  [Serializer] Allow multi-dimenstion object array in AbstractObjectNormalizer
  fixed typo
  [HttpKernel] Fix Apache mod_expires Session Cache-Control issue
  deprecated not passing dash symbol (-) to STDIN commands
  [VarDumper] display ellipsed FQCN for nested classes
  [VarDumper] Display fully qualified title
  [Mailer] Change the syntax for DSNs using failover or roundrobin
  Removed workaround introduced in 4.3
  [Console] Added support for definition list
  [OptionsResolver] Display full nested options hierarchy in exceptions
  New welcome page
  ...
2019-09-08 22:44:36 +02:00
Alexander M. Turek
def0ac7a2b Add types to private/final/internal methods and constructors. 2019-09-08 21:37:35 +02:00
Fabien Potencier
afad96285e feature #32032 [DI] generate preload.php file for PHP 7.4 in cache folder (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[DI] generate preload.php file for PHP 7.4 in cache folder

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

This PR makes the PhpDumper generate a preloading file suited for PHP 7.4.
On a skeleton app, the generated file is `var/cache/dev/srcApp_KernelDevDebugContainer.preload.php` (of course, this varies by env name + kernel class)

One missing thing is listing some classes that are always needed but are not related to services.

Typically: `Request` and `Response`. We might need a new mechanism to make this list extensible.

I did not measure the benefit of this on PHP 7.4. I would really appreciate if someone could give it a try on PHP 7.4 with preloading enabled.

Commits
-------

c4dad0de5d [DI] generate preload.php file for PHP 7.4 in cache folder
2019-09-08 19:24:47 +02:00
Nicolas Grekas
c4dad0de5d [DI] generate preload.php file for PHP 7.4 in cache folder 2019-09-08 17:48:39 +02:00
Alexander M. Turek
a1ee32039b Allow version 2 of the contracts package. 2019-09-08 12:38:38 +02:00
Nicolas Grekas
c1f39709ff [DI] add FileLoader::registerAliasesForSinglyImplementedInterfaces() 2019-09-07 23:26:04 +02:00
Daniel Iwaniec
bec38900d8 [DI] scope singly-implemented interfaces detection by file 2019-09-07 22:48:51 +02:00
Nicolas Grekas
2ec3e47001 Merge branch '4.4'
* 4.4:
  [HttpClient] Fix a bug preventing Server Pushes to be handled properly
  [HttpClient] fix support for 103 Early Hints and other informational status codes
  fix typo
  [DI] fix failure
  [Validator] Add ConstraintValidator::formatValue() tests
  [HttpClient] improve handling of HTTP/2 PUSH
  Fix #33427
  lint all templates from configured Twig paths if no argument was provided
  Nullable message id?
  [Validator] Only handle numeric values in DivisibleBy
  [Validator] Sync string to date behavior and throw a better exception
  Check phpunit configuration for listeners
  registering basic exception handler for late failures
  [DI] fix support for "!tagged_locator foo"
  [Mailer] Add a more precise exception
  [ErrorHandler][Bridge/PhpUnit] display deprecations for not-autoloaded classes
2019-09-03 23:48:54 +02:00
Nicolas Grekas
b0abc10617 Merge branch '4.3' into 4.4
* 4.3:
  [HttpClient] Fix a bug preventing Server Pushes to be handled properly
  [HttpClient] fix support for 103 Early Hints and other informational status codes
  [DI] fix failure
  [Validator] Add ConstraintValidator::formatValue() tests
  [HttpClient] improve handling of HTTP/2 PUSH
  Fix #33427
  [Validator] Only handle numeric values in DivisibleBy
  [Validator] Sync string to date behavior and throw a better exception
  Check phpunit configuration for listeners
  [DI] fix support for "!tagged_locator foo"
2019-09-03 23:44:11 +02:00
Nicolas Grekas
3b40cb19a2 [DI] fix failure 2019-09-03 21:14:00 +02:00
Nicolas Grekas
a9f75692c9 [DI] fix support for "!tagged_locator foo" 2019-09-02 19:38:36 +02:00
Alexander M. Turek
ec8215c386 Add parameter type declarations to magic methods. 2019-08-30 11:44:03 +02:00