Commit Graph

28557 Commits

Author SHA1 Message Date
Nicolas Grekas
212dc53431 bug #34967 [HttpFoundation] fix redis multi host dsn not recognized (Jan Christoph Beyer)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpFoundation] fix redis multi host dsn not recognized

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

#34177 added support configurating session handlers with DSNs. It was no possible to pass a redis-DSN like
`redis:?host[localhost]&host[localhost:6379]&host[/var/run/redis.sock:]&auth=my-password&redis_cluster=1'`

since the check was
`case 0 === strpos($connection, 'redis://'):`

Commits
-------

81ba07aa26 fix redis multi host dsn not recognized
2019-12-13 12:54:36 +01:00
Jan Christoph Beyer
81ba07aa26 fix redis multi host dsn not recognized 2019-12-13 12:54:15 +01:00
Nicolas Grekas
0636177aa6 bug #34963 [Lock] fix constructor argument type declaration (xabbuh)
This PR was merged into the 4.4 branch.

Discussion
----------

[Lock] fix constructor argument type declaration

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

Commits
-------

201af4f31d fix constructor argument type declaration
2019-12-13 12:50:28 +01:00
Christian Flothmann
201af4f31d fix constructor argument type declaration 2019-12-13 09:10:41 +01:00
Nicolas Grekas
331765b95d Merge branch '5.0'
* 5.0:
  Fix leftover from doctrine/persistence < 1.3
  Require doctrine/persistence ^1.3
2019-12-12 16:10:59 +01:00
Nicolas Grekas
9a88f527a6 Merge branch '4.4' into 5.0
* 4.4:
  Fix leftover from doctrine/persistence < 1.3
  Require doctrine/persistence ^1.3
2019-12-12 16:09:39 +01:00
Nicolas Grekas
96f04d9b32 Fix leftover from doctrine/persistence < 1.3 2019-12-12 16:05:14 +01:00
Nicolas Grekas
866de0fb8b Merge branch '4.3' into 4.4
* 4.3:
  Require doctrine/persistence ^1.3
2019-12-12 16:02:38 +01:00
Morten Wulff
ef0aa4dc87 [Mailer] fixed undefined index when sending mail
When a Mandrill API request is succesful, it returns an array of
results, one for each recipient. To get rid of the undefined index
error, we grab the message ID from the first recipient in the array.
2019-12-12 15:08:08 +01:00
Nicolas Grekas
5690b97f7a [Lock] Fix merge 2019-12-12 14:59:51 +01:00
Nicolas Grekas
20811cea21 Merge branch '5.0'
* 5.0:
  [Messenger] Fix deprecation
2019-12-12 14:56:34 +01:00
Nicolas Grekas
5b06e01348 Merge branch '4.4' into 5.0
* 4.4:
  [Messenger] Fix deprecation
2019-12-12 14:55:59 +01:00
Nicolas Grekas
a656a57736 [Messenger] Fix deprecation 2019-12-12 14:54:44 +01:00
Nicolas Grekas
b94f9e5868 Merge branch '5.0'
* 5.0:
  Fix merge
  [DoctrineBridge] try to fix deprecations from doctrine/persistence
  [DI] Add support for immutable setters in CallTrait
  [Cache] Propagate expiry when syncing items in ChainAdapter
  Removed request header "Content-Type" from the preferred format guessing mechanism
  [Routing] fix memoryleak when loading compiled routes
  [Translation] fix memoryleak in PhpFileLoader
  fix triggering deprecation in file locator
  bug #34877 [TwigBundle] fix findTemplate() to return `null`
2019-12-12 14:04:26 +01:00
Nicolas Grekas
cf073e563f Merge branch '4.4' into 5.0
* 4.4:
  Fix merge
  [DoctrineBridge] try to fix deprecations from doctrine/persistence
  [DI] Add support for immutable setters in CallTrait
  [Cache] Propagate expiry when syncing items in ChainAdapter
  Removed request header "Content-Type" from the preferred format guessing mechanism
  [Routing] fix memoryleak when loading compiled routes
  [Translation] fix memoryleak in PhpFileLoader
  fix triggering deprecation in file locator
  bug #34877 [TwigBundle] fix findTemplate() to return `null`
2019-12-12 14:03:32 +01:00
Nicolas Grekas
a31119b89c Merge branch '4.3' into 4.4
* 4.3:
  Fix merge
  [DoctrineBridge] try to fix deprecations from doctrine/persistence
  [DI] Add support for immutable setters in CallTrait
  [Cache] Propagate expiry when syncing items in ChainAdapter
  [Routing] fix memoryleak when loading compiled routes
  [Translation] fix memoryleak in PhpFileLoader
2019-12-12 13:53:52 +01:00
Nicolas Grekas
72936e457f Merge branch '3.4' into 4.3
* 3.4:
  [DoctrineBridge] try to fix deprecations from doctrine/persistence
  [Translation] fix memoryleak in PhpFileLoader
2019-12-12 13:39:14 +01:00
Nicolas Grekas
53a4711520 [DoctrineBridge] try to fix deprecations from doctrine/persistence 2019-12-12 13:13:32 +01:00
Nicolas Grekas
d294085689 bug #34923 [DI] Fix support for immutable setters in CallTrait (Lctrs)
This PR was merged into the 4.3 branch.

Discussion
----------

[DI] Fix support for immutable setters in CallTrait

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

Commits
-------

90ace51328 [DI] Add support for immutable setters in CallTrait
2019-12-11 13:26:30 +01:00
Lctrs
90ace51328 [DI] Add support for immutable setters in CallTrait 2019-12-11 13:18:17 +01:00
Fabien Potencier
93f430b94f Fix CS 2019-12-11 01:47:24 +01:00
Joe Bennett
a6bfa5931e [Lock] add mongodb store 2019-12-11 01:40:35 +01:00
Fabien Potencier
d91efd31f6 bug #34921 [HttpFoundation] Removed "Content-Type" from the preferred format guessing mechanism (yceruto)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpFoundation] Removed "Content-Type" from the preferred format guessing mechanism

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #34906, Fix #34857
| License       | MIT
| Doc PR        | -

Confirmed, inferring the `Content-Type` of the response using the `Content-Type` provided for the request body is NOT a good idea. The HTTP RFC explicitly states that `Accept` must be used to hint a preferred response format (`Content-Type` on the request indicates the type of associated its the body).

Use `Accept` if provided (a best practice anyway), and fallback to the default value (HTML by default) otherwise.

Commits
-------

776523e56a Removed request header "Content-Type" from the preferred format guessing mechanism
2019-12-11 01:19:19 +01:00
Fabien Potencier
6bf764a4ed bug #34886 [HttpKernel] fix triggering deprecation in file locator (xabbuh)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpKernel] fix triggering deprecation in file locator

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

Commits
-------

142b1793e0 fix triggering deprecation in file locator
2019-12-11 01:18:36 +01:00
Fabien Potencier
349ea047e6 bug #34918 [Translation] fix memoryleak in PhpFileLoader (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[Translation] fix memoryleak in PhpFileLoader

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

This happens when running the test suite with opcache disabled (as it is the case by default since `opcache.enable_cli=0`).
Doing this "require" in a loop (for each test case) compiles the file at each iteration and doesn't reclaim memory (there is no garbage collector for opcodes).

Commits
-------

5c9e3bac96 [Translation] fix memoryleak in PhpFileLoader
2019-12-11 01:14:09 +01:00
Fabien Potencier
ebadf51543 bug #34920 [Routing] fix memoryleak when loading compiled routes (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

[Routing] fix memoryleak when loading compiled routes

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

Same as #34918 for Routing. That's the last significant memory hog I've identified.

Commits
-------

85371a174e [Routing] fix memoryleak when loading compiled routes
2019-12-11 01:13:19 +01:00
Javier Eguiluz
24f32f8bf8 [ErrorHandler] Enabled the dark theme for exception pages 2019-12-10 17:56:21 +01:00
Trevor North
77138acea6 [Cache] Propagate expiry when syncing items in ChainAdapter
If a lower adapter provides item metadata, propagate the expiry time when
syncing the item to upper ones.
2019-12-10 17:45:08 +01:00
Nicolas Grekas
65a988880d Merge branch '5.0'
* 5.0:
  Fix CS
2019-12-10 16:15:37 +01:00
Nicolas Grekas
af04885358 Merge branch '4.4' into 5.0
* 4.4:
  Fix CS
2019-12-10 16:15:29 +01:00
Nicolas Grekas
648544f432 Merge branch '4.3' into 4.4
* 4.3:
  Fix CS
2019-12-10 16:11:53 +01:00
Nicolas Grekas
5da657bcf3 Merge branch '3.4' into 4.3
* 3.4:
  Fix CS
2019-12-10 16:11:12 +01:00
Nicolas Grekas
c90cf3301a Fix CS 2019-12-10 16:06:53 +01:00
Yonel Ceruto
776523e56a Removed request header "Content-Type" from the preferred format guessing mechanism 2019-12-10 09:58:16 -05:00
Nicolas Grekas
85371a174e [Routing] fix memoryleak when loading compiled routes 2019-12-10 15:07:26 +01:00
Nicolas Grekas
2df13e1735 Merge branch '5.0'
* 5.0:
  [Cache] fix merge
2019-12-10 14:56:31 +01:00
Nicolas Grekas
418b8d9b7a [Cache] fix merge 2019-12-10 14:56:26 +01:00
Nicolas Grekas
c7d8accc9b Merge branch '5.0'
* 5.0:
  [Validator] fix low deps
  Don't patch BadFileName.php fixture file
2019-12-10 14:45:02 +01:00
Nicolas Grekas
c6eae73d15 Merge branch '4.4' into 5.0
* 4.4:
  [Validator] fix low deps
  Don't patch BadFileName.php fixture file
2019-12-10 14:44:54 +01:00
Nicolas Grekas
5c9e3bac96 [Translation] fix memoryleak in PhpFileLoader 2019-12-10 13:51:10 +01:00
Christian Flothmann
142b1793e0 fix triggering deprecation in file locator 2019-12-10 13:26:43 +01:00
Nicolas Grekas
c2181b0887 Merge branch '5.0'
* 5.0:
  [Validator] Fix auto-mapping constraints should not be validated
  [Debug] Updated the README to deprecate the component
  [Cache] fix memory leak when using PhpFilesAdapter
  [Yaml] Implement multiline string as scalar block for tagged values
  [HttpFoundation] Use `Cache-Control: must-revalidate` only if explicit lifetime has been given
  [FrameworkBundle] Use UserInterface to @return in getUser method
  [CI] Replace php7.4snapshot with php7.4 in Travis configuration
  [ExpressionLanguage][Node][BinaryNode] Process division by zero
  Fixing bad order of operations with null coalescing operator
  forward caught exception
  [Validator][ConstraintValidator] Stop passing unnecessary timezone argument to \DateTime
  add tags before processing them
  [FrameworkBundle][ContainerLintCommand] Reinitialize bundles when the container is reprepared
  [Process] change the syntax of portable prepared command lines
  [MonologBridge] Fix debug processor datetime type
2019-12-10 12:07:17 +01:00
Nicolas Grekas
5f50769825 Merge branch '4.4' into 5.0
* 4.4:
  [Validator] Fix auto-mapping constraints should not be validated
  [Debug] Updated the README to deprecate the component
  [Cache] fix memory leak when using PhpFilesAdapter
  [Yaml] Implement multiline string as scalar block for tagged values
  [HttpFoundation] Use `Cache-Control: must-revalidate` only if explicit lifetime has been given
  [FrameworkBundle] Use UserInterface to @return in getUser method
  [CI] Replace php7.4snapshot with php7.4 in Travis configuration
  [ExpressionLanguage][Node][BinaryNode] Process division by zero
  Fixing bad order of operations with null coalescing operator
  forward caught exception
  [Validator][ConstraintValidator] Stop passing unnecessary timezone argument to \DateTime
  add tags before processing them
  [FrameworkBundle][ContainerLintCommand] Reinitialize bundles when the container is reprepared
  [Process] change the syntax of portable prepared command lines
  [MonologBridge] Fix debug processor datetime type
2019-12-10 12:06:55 +01:00
Nicolas Grekas
ea5ad5c40b minor #34912 [Debug] Updated the README to deprecate the component (javiereguiluz)
This PR was merged into the 4.4 branch.

Discussion
----------

[Debug] Updated the README to deprecate the component

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets       | https://github.com/symfony/symfony-docs/issues/12775
| License       | MIT
| Doc PR        | -

Commits
-------

ab9e0eb2f5 [Debug] Updated the README to deprecate the component
2019-12-10 12:00:13 +01:00
Nicolas Grekas
7049b94aed bug #34694 [Validator] Fix auto-mapping constraints should not be validated (ogizanagi)
This PR was squashed before being merged into the 4.4 branch.

Discussion
----------

[Validator] Fix auto-mapping constraints should not be validated

| Q             | A
| ------------- | ---
| Branch?       | 4.4 <!-- see below -->
| Bug fix?      | yes
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets       | #34672 <!-- prefix each issue number with "Fix #", if any -->
| License       | MIT
| Doc PR        | N/A

As for `Traverse`, I don't think we should add these "constraints" to the list.

I'm also wondering if it really makes sense to have these annotations as constraints. I think it should rather behave like the `GroupSequence` annotation to add the info the generic metadata at loading time, but we don't need to rely on the constraints behavior at all.

Commits
-------

bc53e4bca0 [Validator] Fix auto-mapping constraints should not be validated
2019-12-10 11:58:52 +01:00
Maxime Steinhausser
bc53e4bca0 [Validator] Fix auto-mapping constraints should not be validated 2019-12-10 11:58:45 +01:00
Nicolas Grekas
2e7032420f bug #34848 [Process] change the syntax of portable command lines (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[Process] change the syntax of portable command lines

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

An alternative to #34845

Right now, portable command lines use `"$FOO"` for placeholders.
But because we validate that a corresponding variable exists before running the command, this fails with `Command line is missing a value for key "$FOO"` when `FOO` is not defined.

This PR proposes to use `"${:FOO}"` instead. The difference with the previous syntax is that this cannot collide with existing shell scripts as it is invalid for them.

When this is merged, we'll have to update https://symfony.com/blog/new-in-symfony-4-1-prepared-commands too.

Commits
-------

3c7b775b3e [Process] change the syntax of portable prepared command lines
2019-12-10 11:51:39 +01:00
Javier Eguiluz
ab9e0eb2f5 [Debug] Updated the README to deprecate the component 2019-12-10 11:48:09 +01:00
Nicolas Grekas
e77059825c Merge branch '4.3' into 4.4
* 4.3:
  [Cache] fix memory leak when using PhpFilesAdapter
  [Yaml] Implement multiline string as scalar block for tagged values
  [HttpFoundation] Use `Cache-Control: must-revalidate` only if explicit lifetime has been given
  [FrameworkBundle] Use UserInterface to @return in getUser method
  [CI] Replace php7.4snapshot with php7.4 in Travis configuration
  [ExpressionLanguage][Node][BinaryNode] Process division by zero
  forward caught exception
  [Validator][ConstraintValidator] Stop passing unnecessary timezone argument to \DateTime
  add tags before processing them
  [MonologBridge] Fix debug processor datetime type
2019-12-10 11:33:21 +01:00
Nicolas Grekas
7f2d9c2b1e Merge branch '3.4' into 4.3
* 3.4:
  [Yaml] Implement multiline string as scalar block for tagged values
  [HttpFoundation] Use `Cache-Control: must-revalidate` only if explicit lifetime has been given
  [FrameworkBundle] Use UserInterface to @return in getUser method
  [CI] Replace php7.4snapshot with php7.4 in Travis configuration
  [ExpressionLanguage][Node][BinaryNode] Process division by zero
  forward caught exception
  [Validator][ConstraintValidator] Stop passing unnecessary timezone argument to \DateTime
  add tags before processing them
  [MonologBridge] Fix debug processor datetime type
2019-12-10 11:30:59 +01:00
Nicolas Grekas
5aff4a66f1 bug #34896 [Cache] fix memory leak when using PhpFilesAdapter (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

[Cache] fix memory leak when using PhpFilesAdapter

| Q             | A
| ------------- | ---
| Branch?       | 4.3
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #34687
| License       | MIT
| Doc PR        | -

Similar to #34839 but for `PhpFilesAdapter`, as the "appendOnly" mode is a v4-only feature.

Commits
-------

0b46226648 [Cache] fix memory leak when using PhpFilesAdapter
2019-12-10 11:24:37 +01:00
Nicolas Grekas
0b46226648 [Cache] fix memory leak when using PhpFilesAdapter 2019-12-10 11:09:22 +01:00
Nicolas Grekas
42712ee006 bug #34438 [HttpFoundation] Use Cache-Control: must-revalidate only if explicit lifetime has been given (mpdude)
This PR was merged into the 3.4 branch.

Discussion
----------

[HttpFoundation] Use `Cache-Control: must-revalidate` only if explicit lifetime has been given

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

This is really nit-picking: The conservative, safe default for `Cache-Control` is `private, no-cache` which means the response must not be served from cache unless it has been validated.

If `Last-Modified` or `Expires` are present, we can relax `no-cache` to be `must-revalidate`, which means that _once the response has become stale_, it must be revalidated.

An `ETag` alone does not give the response a lifetime, so IMO sticking with `no-cache` in this case would be more consistent.

Commits
-------

1b1002b426 [HttpFoundation] Use `Cache-Control: must-revalidate` only if explicit lifetime has been given
2019-12-10 10:07:44 +01:00
Nicolas Grekas
035d8a3925 bug #34449 [Yaml] Implement multiline string as scalar block for tagged values (natepage)
This PR was squashed before being merged into the 3.4 branch.

Discussion
----------

[Yaml] Implement multiline string as scalar block for tagged values

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets       | Fix #... <!-- prefix each issue number with "Fix #", if any -->
| License       | MIT

At the moment you can parse a tagged value defined as a scalar block. But you can't actually dump a multiline string as scalar block when using a tagged value.

This PR implements the multiline string as scalar block for tagged values as well.

Commits
-------

84241d4e62 [Yaml] Implement multiline string as scalar block for tagged values
2019-12-10 09:51:28 +01:00
natepage
84241d4e62 [Yaml] Implement multiline string as scalar block for tagged values 2019-12-10 09:51:22 +01:00
Matthias Pigulla
1b1002b426 [HttpFoundation] Use Cache-Control: must-revalidate only if explicit lifetime has been given 2019-12-10 09:49:31 +01:00
Thomas Calvet
3b1b994cb3 [Validator][ConstraintValidator] Safe fail on invalid timezones
Co-authored-by: Scott Dawson <scott@loyaltycorp.com.au>
2019-12-10 09:48:07 +01:00
Nicolas Grekas
2eacbc5b54 bug #34842 [ExpressionLanguage] Process division by zero (tigr1991)
This PR was merged into the 3.4 branch.

Discussion
----------

[ExpressionLanguage] Process division by zero

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

To be able to catch the error in expression like ` 1 / 0`

**Before PR:**
```
try {
    1 / 0;
} catch (\Throwable $e) {
    // It won't be caught anyway
    // PHP Warning:  Division by zero in...
}

try {
    1 % 0;
} catch (\Throwable $e) {
    // It will be caught since PHP7
    // \DivisionByZeroError with message `Modulo by zero`
}
```
**After PR:**
```
try {
    1 / 0;
} catch (\Throwable $e) {
    // It will be caught
    // \DivisionByZeroError with message `Division by zero`
}

try {
    1 % 0;
} catch (\Throwable $e) {
    // It will be caught
    // \DivisionByZeroError with message `Modulo by zero`
}
```

Commits
-------

02ab72ab30 [ExpressionLanguage][Node][BinaryNode] Process division by zero
2019-12-10 09:19:19 +01:00
Ivan
02ab72ab30 [ExpressionLanguage][Node][BinaryNode] Process division by zero 2019-12-10 09:18:51 +01:00
Nicolas Grekas
429b18e28e minor #34895 [Validator][ConstraintValidator] Stop passing unnecessary timezone argument to \DateTime (fancyweb)
This PR was merged into the 3.4 branch.

Discussion
----------

[Validator][ConstraintValidator] Stop passing unnecessary timezone argument to \DateTime

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

Since we format the \DateTimeImmutable with the "e" character, it uses this timezone identifier and do not consider the passed one. See https://www.php.net/manual/en/datetime.construct.php:

> The $timezone parameter and the current timezone are ignored when the $time parameter either is a UNIX timestamp (e.g. @946684800) or specifies a timezone (e.g. 2010-01-28T15:00:00+02:00).

Commits
-------

03dbcf8794 [Validator][ConstraintValidator] Stop passing unnecessary timezone argument to \DateTime
2019-12-10 09:11:51 +01:00
Ryan Weaver
629126435d Fixing bad order of operations with null coalescing operator 2019-12-09 15:51:18 -05:00
Christian Flothmann
98e18d33df forward caught exception 2019-12-09 21:23:16 +01:00
Thomas Calvet
03dbcf8794 [Validator][ConstraintValidator] Stop passing unnecessary timezone argument to \DateTime 2019-12-09 14:42:15 +01:00
Antonio Pauletich
4fde51745b
Enable auto alias compiler pass by default 2019-12-09 00:11:53 +01:00
Nicolas Grekas
ae00ff4cfa Merge branch '5.0'
* 5.0: (38 commits)
  [Security] Check UserInterface::getPassword is not null before calling needsRehash
  gracefully handle missing event dispatchers
  Fix TokenStorage::reset not called in stateless firewall
  [DotEnv] Remove `usePutEnv` property default value
  [HttpFoundation] get currently session.gc_maxlifetime if ttl doesnt exists
  Set up typo fix
  [DependencyInjection] Handle env var placeholders in CheckTypeDeclarationsPass
  [Cache] fix memory leak when using PhpArrayAdapter
  [Validator] Allow underscore character "_" in URL username and password
  [TwigBridge] Update bootstrap_4_layout.html.twig
  [DoctrineBridge] Removed QueryBuilder type hint in getLoader()
  [FrameworkBundle][SodiumVault] Create secrets directory only when needed
  fix parsing negative octal numbers
  [String] implement __sleep()/__wakeup() on strings
  Fixed translations file dumper behavior
  [Routing][ObjectLoader] Remove forgotten deprecation after merge
  [SecurityBundle] Passwords are not encoded when algorithm set to \"true\"
  [DependencyInjection] Resolve expressions in CheckTypeDeclarationsPass
  [SecurityBundle] Properly escape regex in AddSessionDomainConstraintPass
  do not validate passwords when the hash is null
  ...
2019-12-07 17:42:39 +01:00
Nicolas Grekas
1d1e29c8cd Merge branch '4.4' into 5.0
* 4.4: (30 commits)
  [Security] Check UserInterface::getPassword is not null before calling needsRehash
  gracefully handle missing event dispatchers
  Fix TokenStorage::reset not called in stateless firewall
  [DotEnv] Remove `usePutEnv` property default value
  [HttpFoundation] get currently session.gc_maxlifetime if ttl doesnt exists
  Set up typo fix
  [DependencyInjection] Handle env var placeholders in CheckTypeDeclarationsPass
  [Cache] fix memory leak when using PhpArrayAdapter
  [Validator] Allow underscore character "_" in URL username and password
  [TwigBridge] Update bootstrap_4_layout.html.twig
  [FrameworkBundle][SodiumVault] Create secrets directory only when needed
  fix parsing negative octal numbers
  [SecurityBundle] Passwords are not encoded when algorithm set to \"true\"
  [DependencyInjection] Resolve expressions in CheckTypeDeclarationsPass
  [SecurityBundle] Properly escape regex in AddSessionDomainConstraintPass
  do not validate passwords when the hash is null
  [DI] fix resolving bindings for named TypedReference
  [Config] never try loading failed classes twice with ClassExistenceResource
  [Mailer] Fix SMTP Authentication when using STARTTLS
  [DI] Fix making the container path-independent when the app is in /app
  ...
2019-12-07 17:40:37 +01:00
Nicolas Grekas
6e44447e5d Merge branch '4.3' into 4.4
* 4.3:
  gracefully handle missing event dispatchers
  [Cache] fix memory leak when using PhpArrayAdapter
  fix parsing negative octal numbers
  [SecurityBundle] Properly escape regex in AddSessionDomainConstraintPass
  [Config] never try loading failed classes twice with ClassExistenceResource
2019-12-07 17:27:44 +01:00
Nicolas Grekas
a492e72129 Merge branch '3.4' into 4.3
* 3.4:
  [Cache] fix memory leak when using PhpArrayAdapter
  fix parsing negative octal numbers
  [SecurityBundle] Properly escape regex in AddSessionDomainConstraintPass
  [Config] never try loading failed classes twice with ClassExistenceResource
2019-12-07 17:25:26 +01:00
Fabien Potencier
b4c8d51fed bug #34760 [Mailer] Fix SMTP Authentication when using STARTTLS (DjLeChuck)
This PR was merged into the 4.4 branch.

Discussion
----------

[Mailer] Fix SMTP Authentication when using STARTTLS

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

When the mail server uses STARTTLS, the SMTP Authentication is not performed because the AUTH capabilities are not send during the first EHLO call, but during the second one.

Example of problematic exchange solved by this PR:
```
      < 220 mydomain.tld ESMTP Postcow
      > EHLO [127.0.0.1]
      < 250-mydomain.tld
      < 250-PIPELINING
      < 250-SIZE 104857600
      < 250-ETRN
      < 250-STARTTLS
      < 250-ENHANCEDSTATUSCODES
      < 250-8BITMIME
      < 250-DSN
      < 250 CHUNKING
      > STARTTLS
      < 220 2.0.0 Ready to start TLS
      > EHLO [127.0.0.1]
      < 250-mydomain.tld
      < 250-PIPELINING
      < 250-SIZE 104857600
      < 250-ETRN
      < 250-AUTH PLAIN LOGIN
      < 250-AUTH=PLAIN LOGIN
      < 250-ENHANCEDSTATUSCODES
      < 250-8BITMIME
      < 250-DSN
      < 250 CHUNKING
      > MAIL FROM:<noreply@XXX>
      < 250 2.1.0 Ok
      > RCPT TO:<XXX>
      < 554 5.7.1 <XXX>: Client host rejected: Access denied
```

Commits
-------

75b54542ab [Mailer] Fix SMTP Authentication when using STARTTLS
2019-12-07 15:09:53 +01:00
Fabien Potencier
d84e92c965 feature #34769 [DependencyInjection] Autowire public typed properties (Plopix)
This PR was merged into the 5.1-dev branch.

Discussion
----------

[DependencyInjection] Autowire public typed properties

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| Deprecations? | no
| License       | MIT

### Description

This PR adds the Autowiring of **public typed properties** in PHP 7.4.
It is only on "public" properties.

It could let people think that services are better injected in "public".
I don't know what to think about it, you?

### How about "private" properties - further thinking

Even if I think that it would be awesome to be able to inject in "private" properties, we discussed it with @nicolas-grekas, and I agree Symfony should not break any standard logic. If the property is private then it is private the DI cannot touch it.

But that could/would remove a lot of boilerplate, and if it is declarative, that might still be something to do.
Maybe we could introduce a new annotation for injection in "private": `@requiredPrivated` ?

Commits
-------

cad7fbb9f7 [DI] Autowire public typed properties
2019-12-07 14:48:36 +01:00
Fabien Potencier
c0b2ade0a3 bug #34762 [Config] never try loading failed classes twice with ClassExistenceResource (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[Config] never try loading failed classes twice with ClassExistenceResource

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #34658
| License       | MIT
| Doc PR        | -

Commits
-------

90c9a80863 [Config] never try loading failed classes twice with ClassExistenceResource
2019-12-07 14:42:18 +01:00
Fabien Potencier
53f2878827 bug #34783 [DependencyInjection] Handle env var placeholders in CheckTypeDeclarationsPass (fancyweb)
This PR was merged into the 4.4 branch.

Discussion
----------

[DependencyInjection] Handle env var placeholders in CheckTypeDeclarationsPass

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

A case we forgot to handle.

Commits
-------

c3574858b5 [DependencyInjection] Handle env var placeholders in CheckTypeDeclarationsPass
2019-12-07 14:39:57 +01:00
Fabien Potencier
7dbc4c677b bug #34839 [Cache] fix memory leak when using PhpArrayAdapter (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[Cache] fix memory leak when using PhpArrayAdapter

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #34687
| License       | MIT
| Doc PR        | -

Thanks to @adrienfr, I've been able to understand what causes this massive memory leak when using `PhpArrayAdapter`:
![image](https://user-images.githubusercontent.com/243674/70262187-303b1b00-1794-11ea-9fcb-21ae29c31ff0.png)

When tests run, a new kernel is booted for each test case. This means a new instance of `PhpArrayAdapter` is created, which means it loads its state again and again using `include` for e.g. `annotations.php` in this example.

The first obvious thing is that we see this doing `compile::*`: this means PHP is parsing the same file again and again. But shouldn't opcache prevent this? Well, it's disabled by default because `opcache.enable_cli=0`. To prove the point, here is a comparison with the same tests run with `php -dopcache.enable_cli=1`. The comparison is swapped, but you'll get it:

![image](https://user-images.githubusercontent.com/243674/70262616-fb7b9380-1794-11ea-81c3-6fea0145a63b.png)

But that's not over: because of https://bugs.php.net/76982 (see #32236 also), we still have a memory leak when the included file contains closures. And this one does.

This PR fixes the issue by storing the return value of the include statement into a static property. This fits the caching model of `PhpArrayAdapter`: it's a read-only storage for system caches - i.e. its content is immutable.

Commits
-------

4194c4c56d [Cache] fix memory leak when using PhpArrayAdapter
2019-12-07 14:38:12 +01:00
Fabien Potencier
ed3e111e1d bug #34801 [String] implement __sleep()/__wakeup() on strings (nicolas-grekas)
This PR was merged into the 5.0 branch.

Discussion
----------

[String] implement __sleep()/__wakeup() on strings

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

This resets the transient ignoreCase state on unserialized instances.

Commits
-------

416e40d943 [String] implement __sleep()/__wakeup() on strings
2019-12-07 14:35:22 +01:00
Fabien Potencier
b3f513a9a6 bug #34782 [String] inline Latin-ASCII rules (nicolas-grekas)
This PR was merged into the 5.0 branch.

Discussion
----------

[String] inline Latin-ASCII rules

| Q             | A
| ------------- | ---
| Branch?       | 5.0
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #34751
| License       | MIT
| Doc PR        | -

Makes the component a bit more portable.

Commits
-------

976a938736 [String] inline Latin-ASCII rules
2019-12-07 14:33:40 +01:00
Fabien Potencier
8f2cd5bd67 bug #34812 [Yaml] fix parsing negative octal numbers (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[Yaml] fix parsing negative octal numbers

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

Commits
-------

7ab53f9a39 fix parsing negative octal numbers
2019-12-07 14:29:49 +01:00
Fabien Potencier
9a025b44d9 bug #34854 [Messenger] gracefully handle missing event dispatchers (xabbuh)
This PR was merged into the 4.3 branch.

Discussion
----------

[Messenger] gracefully handle missing event dispatchers

| Q             | A
| ------------- | ---
| Branch?       | 4.3
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #34852
| License       | MIT
| Doc PR        |

Commits
-------

d4ae85fc72 gracefully handle missing event dispatchers
2019-12-07 05:52:32 +01:00
dbrekelmans
8e4cf497cd [Security] Check UserInterface::getPassword is not null before calling needsRehash 2019-12-06 21:36:15 +01:00
Christian Flothmann
d4ae85fc72 gracefully handle missing event dispatchers 2019-12-06 19:13:02 +01:00
Christian Flothmann
de0df4637d mark the Composite constraint as internal 2019-12-06 14:36:16 +01:00
Christian Flothmann
33146778b5 Merge branch '4.3' into 4.4
* 4.3:
  [DotEnv] Remove `usePutEnv` property default value
  Set up typo fix
  [Validator] Allow underscore character "_" in URL username and password
  [SecurityBundle] Passwords are not encoded when algorithm set to \"true\"
  do not validate passwords when the hash is null
  [DI] fix resolving bindings for named TypedReference
  [DI] Fix making the container path-independent when the app is in /app
  Allow copy instead of symlink for ./link script
  [FrameworkBundle] resolve service locators in `debug:*` commands
  bumped Symfony version to 4.3.10
  updated VERSION for 4.3.9
  updated CHANGELOG for 4.3.9
  bumped Symfony version to 3.4.37
  updated VERSION for 3.4.36
  update CONTRIBUTORS for 3.4.36
  updated CHANGELOG for 3.4.36
  Add test on ServerLogHandler
2019-12-06 14:32:19 +01:00
Christian Flothmann
2ac56093a5 Merge branch '3.4' into 4.3
* 3.4:
  [Validator] Allow underscore character "_" in URL username and password
  [SecurityBundle] Passwords are not encoded when algorithm set to \"true\"
  do not validate passwords when the hash is null
  [DI] Fix making the container path-independent when the app is in /app
  Allow copy instead of symlink for ./link script
  [FrameworkBundle] resolve service locators in `debug:*` commands
  bumped Symfony version to 3.4.37
  updated VERSION for 3.4.36
  update CONTRIBUTORS for 3.4.36
  updated CHANGELOG for 3.4.36
2019-12-06 14:11:20 +01:00
Tugdual Saunier
362c339fa6
[DotEnv] Remove usePutEnv property default value
The value is already set in the constructor (and changes in 5.0) and the class is final.
2019-12-06 12:04:06 +01:00
Nicolas Grekas
3c7b775b3e [Process] change the syntax of portable prepared command lines 2019-12-06 11:06:46 +01:00
Rafael Tovar
b6253e2336 [HttpFoundation] get currently session.gc_maxlifetime if ttl doesnt exists 2019-12-06 10:28:38 +01:00
Alex Bacart
b0daf020de Set up typo fix 2019-12-06 10:25:38 +01:00
Thomas Calvet
c3574858b5 [DependencyInjection] Handle env var placeholders in CheckTypeDeclarationsPass 2019-12-05 23:06:19 +01:00
Nicolas Grekas
4194c4c56d [Cache] fix memory leak when using PhpArrayAdapter 2019-12-05 19:35:35 +01:00
Romain Neutron
869518bc7e
[Validator] Allow underscore character "_" in URL username and password 2019-12-05 15:05:00 +01:00
Christian Flothmann
7ab53f9a39 fix parsing negative octal numbers 2019-12-04 12:33:46 +01:00
Nicolas Grekas
416e40d943 [String] implement __sleep()/__wakeup() on strings 2019-12-04 09:11:16 +01:00
Robin Chalas
bea74560e1 [Security} Make remember-me user providers lazy 2019-12-04 08:39:48 +01:00
Fabien Potencier
7f567584a5 bug #34794 [DependencyInjection] Resolve expressions in CheckTypeDeclarationsPass (fancyweb)
This PR was merged into the 4.4 branch.

Discussion
----------

[DependencyInjection] Resolve expressions in CheckTypeDeclarationsPass

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | https://github.com/symfony/symfony/issues/34752
| License       | MIT
| Doc PR        | -

One more case we forgot 😅

Commits
-------

b6c5a54cfd [DependencyInjection] Resolve expressions in CheckTypeDeclarationsPass
2019-12-04 07:43:26 +01:00
Fabien Potencier
98694d8677 bug #34795 [Routing][ObjectLoader] Remove forgotten deprecation after merge (fancyweb)
This PR was merged into the 5.0 branch.

Discussion
----------

[Routing][ObjectLoader] Remove forgotten deprecation after merge

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

https://github.com/symfony/symfony/pull/34621 needs to be gone on 5.0. We want to throw here. I think it was forgotten when merging in 5.0.

Commits
-------

4e60b9db22 [Routing][ObjectLoader] Remove forgotten deprecation after merge
2019-12-04 07:40:02 +01:00
Fabien Potencier
fb08d9c101 Merge branch '4.4' into 5.0
* 4.4:
  Fixed translations file dumper behavior
  When set, get secret from config variable
  [FrameworkBundle] Set the parameter bag as resolved in ContainerLintCommand
  [SecurityBundle] Fix switch_user provider configuration handling
2019-12-04 07:31:37 +01:00
Yonel Ceruto
1c41ae7631 Fixed translations file dumper behavior 2019-12-03 23:35:13 -05:00
Thomas Calvet
4e60b9db22 [Routing][ObjectLoader] Remove forgotten deprecation after merge 2019-12-03 23:29:20 +01:00
Thomas Calvet
b6c5a54cfd [DependencyInjection] Resolve expressions in CheckTypeDeclarationsPass 2019-12-03 21:47:51 +01:00
Christian Flothmann
5699cb22bb do not validate passwords when the hash is null 2019-12-03 19:05:24 +01:00
Nicolas Grekas
c732122b57 Merge branch '5.0'
* 5.0:
  [Security/Core] Fix checking for SHA256/SHA512 passwords
  [Cache][Lock] fix tests
  bumped Symfony version to 5.0.2
  updated VERSION for 5.0.1
  updated CHANGELOG for 5.0.1
  bumped Symfony version to 4.4.2
  updated VERSION for 4.4.1
  updated CHANGELOG for 4.4.1
2019-12-03 17:36:15 +01:00
Nicolas Grekas
9dbeab93f2 Merge branch '4.4' into 5.0
* 4.4:
  [Security/Core] Fix checking for SHA256/SHA512 passwords
  [Cache][Lock] fix tests
  bumped Symfony version to 4.4.2
  updated VERSION for 4.4.1
  updated CHANGELOG for 4.4.1
2019-12-03 17:35:18 +01:00
Nicolas Grekas
1f0070521c minor #34778 [Cache][Lock] fix tests (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[Cache][Lock] fix tests

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

Commits
-------

5845c3f8cd [Cache][Lock] fix tests
2019-12-03 17:13:30 +01:00
Nicolas Grekas
976a938736 [String] inline Latin-ASCII rules 2019-12-03 16:53:46 +01:00
David Brooks
799c85b67c [Security/Core] Fix checking for SHA256/SHA512 passwords 2019-12-03 15:57:37 +01:00
Nicolas Grekas
5845c3f8cd [Cache][Lock] fix tests 2019-12-03 11:28:45 +01:00
Nicolas Grekas
62c227e368 [DI] fix resolving bindings for named TypedReference 2019-12-03 10:36:50 +01:00
Morel Sébastien
cad7fbb9f7
[DI] Autowire public typed properties 2019-12-03 01:03:38 -08:00
Fabien Potencier
6c163906f2 feature #34771 Deprecate *Response::create() methods (fabpot)
This PR was merged into the 5.1-dev branch.

Discussion
----------

Deprecate *Response::create() methods

| Q             | A
| ------------- | ---
| Branch?       | master <!-- see below -->
| Bug fix?      | no
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | yes <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets       | n/a<!-- prefix each issue number with "Fix #", if any -->
| License       | MIT
| Doc PR        | -

The `::create()` methods of the `Response` class hierarchy are not needed anymore in modern PHP versions as we can use parenthesis around the new operator. So `Response::create()->...()` is equivalent to `(new Response)->...()`.

Let's deprecate the static method. It's also good as the first parameter type changes depending on the sub-class.

Commits
-------

ebb13e7c99 Deprecate *Response::create() methods
2019-12-03 09:14:46 +01:00
Javier Eguiluz
138200cd88 [Form] Allow to translate each language into its language in LanguageType 2019-12-03 09:12:30 +01:00
Nicolas Grekas
90c9a80863 [Config] never try loading failed classes twice with ClassExistenceResource 2019-12-03 08:51:16 +01:00
Fabien Potencier
ebb13e7c99 Deprecate *Response::create() methods 2019-12-03 07:30:08 +01:00
Vivien
75b54542ab [Mailer] Fix SMTP Authentication when using STARTTLS 2019-12-02 17:18:01 +01:00
Nicolas Grekas
b33b9a6ad9 [DI] Fix making the container path-independent when the app is in /app 2019-12-02 16:26:29 +01:00
Dmitry Pigin
ab9b49b5c6 [Notifier] Added possibility to extract path from provided DSN 2019-12-01 21:12:29 +02:00
Fabien Potencier
08a8e77991 bumped Symfony version to 5.0.2 2019-12-01 15:15:07 +01:00
Fabien Potencier
ffd6087323 updated VERSION for 5.0.1 2019-12-01 15:11:30 +01:00
Fabien Potencier
f75e9d583c bumped Symfony version to 4.4.2 2019-12-01 15:09:53 +01:00
Fabien Potencier
5009b8a838 updated VERSION for 4.4.1 2019-12-01 15:06:38 +01:00
Fabien Potencier
e9366b4d17 bumped Symfony version to 4.3.10 2019-12-01 15:05:41 +01:00
Fabien Potencier
7ac4f9062d updated VERSION for 4.3.9 2019-12-01 15:00:23 +01:00
Fabien Potencier
7a13ea3efb bumped Symfony version to 3.4.37 2019-12-01 14:59:33 +01:00
Fabien Potencier
ae2514cd03 updated VERSION for 3.4.36 2019-12-01 14:50:37 +01:00
Nicolas Grekas
e0f6cdb1c7 Merge branch '5.0'
* 5.0:
  [HttpClient] Fix deps
  Fix tests
2019-12-01 12:19:04 +01:00
Nicolas Grekas
a266b35bbd [HttpClient] Fix deps 2019-12-01 12:18:54 +01:00
Nicolas Grekas
af81b8bbb7 Fix tests 2019-12-01 12:14:36 +01:00
Nicolas Grekas
861fb4b520 Merge branch '5.0'
* 5.0:
  Fix failures on PHP 7.4
  Fix tests
  [Console] fix typos
  [Console] fix tests
2019-12-01 11:51:31 +01:00
Nicolas Grekas
572117a660 Merge branch '4.4' into 5.0
* 4.4:
  Fix failures on PHP 7.4
  Fix tests
  [Console] fix typos
  [Console] fix tests
2019-12-01 11:51:15 +01:00
Nicolas Grekas
febff9b1fd Merge branch '4.3' into 4.4
* 4.3:
  Fix failures on PHP 7.4
2019-12-01 11:50:45 +01:00
Nicolas Grekas
54e2ad7c88 Merge branch '3.4' into 4.3
* 3.4:
  Fix failures on PHP 7.4
2019-12-01 11:50:31 +01:00
Nicolas Grekas
a94e76a866 Fix failures on PHP 7.4 2019-12-01 11:45:41 +01:00
Nicolas Grekas
9ad38b2e5f Fix tests 2019-12-01 11:19:36 +01:00
Nicolas Grekas
c22b36ef50 Merge branch '4.3' into 4.4
* 4.3:
  [Console] fix typos
  [Console] fix tests
2019-12-01 11:06:17 +01:00
Nicolas Grekas
a489c529ef Merge branch '3.4' into 4.3
* 3.4:
  [Console] fix typos
2019-12-01 11:04:59 +01:00
Nicolas Grekas
abc2880be4 [Console] fix typos 2019-12-01 11:04:45 +01:00
Nicolas Grekas
cd2a8d2628 [Console] fix tests 2019-12-01 10:59:54 +01:00
Fabien Potencier
324272111c Merge branch '5.0'
* 5.0:
  Add missing use statement
  [Notifier] Add telegram tests
  [Notifier] Add Slack bridge tests
2019-12-01 10:14:14 +01:00
Fabien Potencier
32b5d07139 Merge branch '4.4' into 5.0
* 4.4:
  Add missing use statement
2019-12-01 10:14:07 +01:00
Fabien Potencier
f3a670fb4a Add missing use statement 2019-12-01 10:13:30 +01:00
Fabien Potencier
c147ef4bc7 Merge branch '4.4'
* 4.4:
  Fix CS
  Fix CS
  Fix CS
  [DependencyInjection][Xml] Fix the attribute 'tag' is not allowed in 'bind' tag
2019-12-01 09:49:37 +01:00
Fabien Potencier
c13974cc20 Merge branch '4.4' into 5.0
* 4.4:
  Fix CS
  Fix CS
  Fix CS
  [DependencyInjection][Xml] Fix the attribute 'tag' is not allowed in 'bind' tag
2019-12-01 09:48:26 +01:00
Fabien Potencier
23e5d1aa8e Fix CS 2019-12-01 09:46:01 +01:00
Fabien Potencier
9b10c167ef Merge branch '4.3' into 4.4
* 4.3:
  Fix CS
  Fix CS
2019-12-01 09:39:58 +01:00
Fabien Potencier
2c04fad016 Fix CS 2019-12-01 09:39:44 +01:00
Fabien Potencier
d5ca9ec2c7 Merge branch '3.4' into 4.3
* 3.4:
  Fix CS
2019-12-01 09:34:52 +01:00
Fabien Potencier
861783cc15 Fix CS 2019-12-01 09:33:36 +01:00
Fabien Potencier
a6527464e7 minor #34539 [Notifier] Add telegram tests (Jeroeny)
This PR was squashed before being merged into the 5.0 branch (closes #34539).

Discussion
----------

[Notifier] Add telegram tests

| Q             | A
| ------------- | ---
| Branch?       | 5.0
| Bug fix?      | no
| New feature?  | no
| Deprecations? | no
| Tickets       | See #33687
| License       | MIT

Adds tests for the Telegram bridge of the Notifier component. Not sure if this is the right way to go, but would love some feedback.

#SymfonyHackday

Commits
-------

3b4d83cb4a [Notifier] Add telegram tests
2019-11-30 19:15:43 +01:00
Jeroeny
3b4d83cb4a [Notifier] Add telegram tests 2019-11-30 19:15:37 +01:00
Fabien Potencier
0be4647bd9 minor #34549 [Notifier] Add Slack bridge tests (Jeroeny)
This PR was squashed before being merged into the 5.0 branch (closes #34549).

Discussion
----------

[Notifier] Add Slack bridge tests

| Q             | A
| ------------- | ---
| Branch?       | 5.0
| Bug fix?      | no
| New feature?  | no
| Deprecations? | no
| Tickets       | See #33687
| License       | MIT

Adds tests for the Slack bridge of the Notifier component.

#SymfonyHackday

Commits
-------

626fdaa9a4 [Notifier] Add Slack bridge tests
2019-11-30 19:14:26 +01:00
Jeroeny
626fdaa9a4 [Notifier] Add Slack bridge tests 2019-11-30 19:14:20 +01:00
tien.xuan.vo
e38f7d41ef [DependencyInjection][Xml] Fix the attribute 'tag' is not allowed in 'bind' tag 2019-11-30 23:34:06 +07:00
Nicolas Grekas
c62bb82e27 Merge branch '5.0'
* 5.0:
  [DI] auto-register singly implemented interfaces by default
  [DI] fix overriding existing services with aliases for singly-implemented interfaces
  remove service when base class is missing
  do not depend on the QueryBuilder from the ORM
  [Security/Http] call auth listeners/guards eagerly when they "support" the request
  [Messenger] add tests to FailedMessagesShowCommand
  Fix the translation commands when a template contains a syntax error
  [Security] Fix clearing remember-me cookie after deauthentication
  [Validator] Update Slovenian translations
  [HttpClient] remove conflict rule with HttpKernel that prevents using the component in Symfony 3.4
  [Config][ReflectionClassResource] Handle parameters with undefined constant as their default values
  Fix compatibility with Monolog 2
  fix dumping number-like string parameters
  Fix CI
  [Console] Fix autocomplete multibyte input support
  [Config] don't break on virtual stack frames in ClassExistenceResource
  more robust initialization from request
  Changing the multipart form-data behavior to use the form name as an array, which makes it recognizable as an array by PHP on the $_POST globals once it is coming from the HttpClient component
2019-11-30 15:13:05 +01:00
Nicolas Grekas
bb11cac33e Merge branch '4.4' into 5.0
* 4.4:
  [DI] auto-register singly implemented interfaces by default
  [DI] fix overriding existing services with aliases for singly-implemented interfaces
  remove service when base class is missing
  do not depend on the QueryBuilder from the ORM
  [Security/Http] call auth listeners/guards eagerly when they "support" the request
  [Messenger] add tests to FailedMessagesShowCommand
  Fix the translation commands when a template contains a syntax error
  [Security] Fix clearing remember-me cookie after deauthentication
  [Validator] Update Slovenian translations
  [HttpClient] remove conflict rule with HttpKernel that prevents using the component in Symfony 3.4
  [Config][ReflectionClassResource] Handle parameters with undefined constant as their default values
  fix dumping number-like string parameters
  Fix CI
  [Console] Fix autocomplete multibyte input support
  [Config] don't break on virtual stack frames in ClassExistenceResource
  more robust initialization from request
  Changing the multipart form-data behavior to use the form name as an array, which makes it recognizable as an array by PHP on the $_POST globals once it is coming from the HttpClient component
2019-11-30 15:12:50 +01:00
Nicolas Grekas
9b658ed4a2 bug #34729 [DI] auto-register singly implemented interfaces by default (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[DI] auto-register singly implemented interfaces by default

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

Commits
-------

209b330fd6 [DI] auto-register singly implemented interfaces by default
2019-11-30 15:05:16 +01:00
Nicolas Grekas
c222aaae70 bug #34728 [DI] fix overriding existing services with aliases for singly-implemented interfaces (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[DI] fix overriding existing services with aliases for singly-implemented interfaces

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

Commits
-------

739357656d [DI] fix overriding existing services with aliases for singly-implemented interfaces
2019-11-30 15:04:25 +01:00
Nicolas Grekas
df379f0d07 Merge branch '4.3' into 4.4
* 4.3:
  [Messenger] add tests to FailedMessagesShowCommand
  Fix the translation commands when a template contains a syntax error
  [Security] Fix clearing remember-me cookie after deauthentication
  [Validator] Update Slovenian translations
  [Config][ReflectionClassResource] Handle parameters with undefined constant as their default values
  fix dumping number-like string parameters
  Fix CI
  [Console] Fix autocomplete multibyte input support
  [Config] don't break on virtual stack frames in ClassExistenceResource
  more robust initialization from request
2019-11-30 15:03:57 +01:00
Nicolas Grekas
cad14177dc Merge branch '3.4' into 4.3
* 3.4:
  [Security] Fix clearing remember-me cookie after deauthentication
  more robust initialization from request
2019-11-30 14:16:45 +01:00
LIBERT Jérémy
d6ccd4c40f Added MimeType for ".msg" 2019-11-30 14:04:25 +01:00
Fabien Potencier
9b3cc04522 bug #34649 more robust initialization from request (dbu)
This PR was merged into the 3.4 branch.

Discussion
----------

more robust initialization from request

Request::getPort is declared as int|string but can actually return null.

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

I discovered this problem with a functional test where i dispatch the RequestEvent with a `new Request()`. This used to work in symfony 4 and now triggers an error `Argument 1 passed to Symfony\Component\Routing\RequestContext::setHttpPort() must be of the type int, null given`

In regular web requests, this should probably never happen, but it seems to me if Request is not robust, the RequestContext should be robust about it.

Commits
-------

c6ed0f0208 more robust initialization from request
2019-11-30 13:57:32 +01:00
Nicolas Grekas
209b330fd6 [DI] auto-register singly implemented interfaces by default 2019-11-30 13:50:03 +01:00
Nicolas Grekas
739357656d [DI] fix overriding existing services with aliases for singly-implemented interfaces 2019-11-30 13:15:17 +01:00
Fabien Potencier
4d11bca474 bug #34627 [Security/Http] call auth listeners/guards eagerly when they "support" the request (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[Security/Http] call auth listeners/guards eagerly when they "support" the request

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #34614, Fix #34679
| License       | MIT
| Doc PR        | -

This fixes the form authenticator linked to #34614.
Since laziness is here to provide compatibility with HTTP caching, it should be disabled when the request cannot be cached.

Tests don't pass yet, but I'm on the path to something here.

The PR now introduces a new `AbstractListener` that splits the handling logic in two:
- `supports(Request): ?bool` is always called eagerly and tells whether the listener matches the request for an earger call or a lazy call
- `authenticate(RequestEvent)` does the rest of the job when `supports()` allows so - lazily or not depending on the return value of `supports()`.

Of course, this remains compatible with non-lazy logics, see `AbstractListener::__invoke()`.

Commits
-------

b20ebe6b90 [Security/Http] call auth listeners/guards eagerly when they "support" the request
2019-11-30 10:56:08 +01:00
Nicolas Grekas
b20ebe6b90 [Security/Http] call auth listeners/guards eagerly when they "support" the request 2019-11-30 10:49:41 +01:00
Fabien Potencier
d2a5c057c5 bug #34671 [Security] Fix clearing remember-me cookie after deauthentication (chalasr)
This PR was merged into the 3.4 branch.

Discussion
----------

[Security] Fix clearing remember-me cookie after deauthentication

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #26379
| License       | MIT
| Doc PR        | -

If you are using the `remember_me` listener and the refreshed user is deauthenticated, you are still logged in because the remember-me cookie does not get cleared.
This fixes it.

Commits
-------

d625a73705 [Security] Fix clearing remember-me cookie after deauthentication
2019-11-30 09:47:34 +01:00
Fabien Potencier
270247aa74 feature #34705 [Validator] Label regex in date validator (kristofvc)
This PR was merged into the 5.1-dev branch.

Discussion
----------

[Validator] Label regex in date validator

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

This change makes sure that when extending the DateValidator you can easily change the format withouth changing anything else.
eg. you can change the pattern to
`/^(?<day>\d{2})/(?<month>\d{2})/(?<year>\d{4})$/` but the implementation still checks your date correctly.

Commits
-------

ec09f7e630 Label regex in date validator
2019-11-30 09:31:28 +01:00
Fabien Potencier
2a9c31e6cf Merge branch '3.4' into 4.3
* 3.4:
  Fix the translation commands when a template contains a syntax error
  [Validator] Update Slovenian translations
2019-11-30 09:28:34 +01:00
Fabien Potencier
6cc2c293bc bug #34032 [Mime] Fixing multidimensional array structure with FormDataPart (jvahldick)
This PR was merged into the 4.4 branch.

Discussion
----------

[Mime] Fixing multidimensional array structure with FormDataPart

| Q             | A
| ------------- | ---
| Branch?       | 4.3
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #33063 #34031
| License       | MIT
| Doc PR        | -

The issue is pretty much described on #34031
The current structure of the raw body build on FormDataPart is not well recognized by the server. It considers all the fields as a root type, when actually it is possible to send arrays by html forms.

Lets the following structure on the html
```html
<input type="text" name="names[]" value="John" />
<input type="text" name="names[]" value="Doe" />
```

It creates the following raw body:
```
----------------------------466490401959219490193856
Content-Disposition: form-data; name="names[]"

John
----------------------------466490401959219490193856
Content-Disposition: form-data; name="names[]"

Doe
----------------------------466490401959219490193856--
```

Meanwhile, the FormDataPart on Mime component generates the following body:
```
--_=_symfony_1571410799_b7846b3b4e86d821cdec4379e62b4068_=_
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Content-Disposition: form-data

John
--_=_symfony_1571410799_b7846b3b4e86d821cdec4379e62b4068_=_
Content-Type: text/plain; charset=utf-8; name=1
Content-Transfer-Encoding: 8bit
Content-Disposition: form-data; name=1

Doe
--_=_symfony_1571410799_b7846b3b4e86d821cdec4379e62b4068_=_--
```

For more complex structures, the $_POST doesn't even recognize properly the field names and values.

Commits
-------

ca630e5351 Changing the multipart form-data behavior to use the form name as an array, which makes it recognizable as an array by PHP on the $_POST globals once it is coming from the HttpClient component
2019-11-30 09:27:26 +01:00
Fabien Potencier
1d03e0e1a8 minor #34641 [Messenger] add tests to FailedMessagesShowCommand (ahmedash95)
This PR was squashed before being merged into the 4.3 branch (closes #34641).

Discussion
----------

[Messenger] add tests to FailedMessagesShowCommand

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

Add missing tests to FailedMessagesShowCommand in Messenger component

Commits
-------

4b9b93f5d6 [Messenger] add tests to FailedMessagesShowCommand
2019-11-30 09:26:46 +01:00
Ahmed
4b9b93f5d6 [Messenger] add tests to FailedMessagesShowCommand 2019-11-30 09:26:41 +01:00
Robin Chalas
d625a73705 [Security] Fix clearing remember-me cookie after deauthentication 2019-11-30 02:46:11 +01:00
Kristof Van Cauwenbergh
ec09f7e630 Label regex in date validator 2019-11-29 21:04:48 +01:00
Peter Kokot
b2ae60a73b [Validator] Update Slovenian translations 2019-11-29 20:07:18 +01:00
Nicolas Grekas
73ea89b4c2 Merge branch '3.4' into 4.3
* 3.4:
  [Config][ReflectionClassResource] Handle parameters with undefined constant as their default values
  fix dumping number-like string parameters
  [Console] Fix autocomplete multibyte input support
  [Config] don't break on virtual stack frames in ClassExistenceResource
2019-11-29 18:37:27 +01:00
Nicolas Grekas
d9c6476407 [HttpClient] remove conflict rule with HttpKernel that prevents using the component in Symfony 3.4 2019-11-29 17:55:58 +01:00
Nicolas Grekas
9eafff5ec0 bug #34560 [Config][ReflectionClassResource] Handle parameters with undefined constant as their default values (fancyweb)
This PR was merged into the 3.4 branch.

Discussion
----------

[Config][ReflectionClassResource] Handle parameters with undefined constant as their default values

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | https://github.com/symfony/symfony/issues/34053
| License       | MIT
| Doc PR        | -

Basically we can fix this bug by "reimplementing" php src way of building the __toString() of the method except that we avoid to call the undefined constant. Obviously we cannot invalidate the resource if the value of the constant changes since we never knew it. However, it's still better than now.

Commits
-------

8de2a226a8 [Config][ReflectionClassResource] Handle parameters with undefined constant as their default values
2019-11-29 17:06:11 +01:00
Thomas Calvet
8de2a226a8 [Config][ReflectionClassResource] Handle parameters with undefined constant as their default values 2019-11-29 17:04:16 +01:00
Nicolas Grekas
2d2dd6244c bug #34695 [Config] don't break on virtual stack frames in ClassExistenceResource (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[Config] don't break on virtual stack frames in ClassExistenceResource

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #34665
| License       | MIT
| Doc PR        | -

Commits
-------

fffeccd744 [Config] don't break on virtual stack frames in ClassExistenceResource
2019-11-29 17:02:06 +01:00
Christian Flothmann
e0851737ab bug #34716 [DependencyInjection] fix dumping number-like string parameters (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[DependencyInjection] fix dumping number-like string parameters

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #34689
| License       | MIT
| Doc PR        |

Commits
-------

a1ce0ed086 fix dumping number-like string parameters
2019-11-29 16:39:50 +01:00
Grégoire Pineau
0a91f9baa1 feature #34591 [Workflow] Added Registry::has() to check if a workflow exists (lyrixx)
This PR was merged into the 5.1-dev branch.

Discussion
----------

[Workflow] Added `Registry::has()` to check if a workflow exists

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| Deprecations? | no
| Tickets       | Fix #34584
| License       | MIT
| Doc PR        |

---

Allow to use
```php
$registry->has($subject);
// or
$registry->has($subject, 'workflow_a')
```

Commits
-------

8a4f03dee8 [Workflow] Added `Registry::has()` to check if a workflow exists
2019-11-29 16:39:47 +01:00
Christian Flothmann
a1ce0ed086 fix dumping number-like string parameters 2019-11-29 16:28:12 +01:00
Jan Schädlich
2640dfedfa [Yaml] Introduce yaml-lint binary 2019-11-29 10:38:36 +01:00
Thomas Calvet
a1129f938c [Console] Fix autocomplete multibyte input support 2019-11-29 10:09:40 +01:00
Nicolas Grekas
fffeccd744 [Config] don't break on virtual stack frames in ClassExistenceResource 2019-11-28 16:42:08 +01:00
Nicolas Grekas
746614807a Merge branch '5.0'
* 5.0:
  Fix merge
2019-11-28 15:32:46 +01:00
Nicolas Grekas
7c7d98135a Fix merge 2019-11-28 15:32:28 +01:00
Nicolas Grekas
d7cc01cd76 Merge branch '5.0'
* 5.0: (30 commits)
  bug #34554 [HttpClient] Fix early cleanup of pushed HTTP/2 responses (lyrixx)
  Fix tests
  [Console] Fix commands description with numeric namespaces
  [HttpFoundation] Fixed typo
  [DI] Skip unknown method calls for factories in check types pass
  [EventDispatcher] Better error reporting when arguments to dispatch() are swapped
  [errorHandler] Remove old references from the old debug component
  improve upgrade instructions for twig.exception_controller configuration
  [HttpFoundation] Update CHANGELOG for PdoSessionHandler BC BREAK in 4.4
  [Serializer] CsvEncoder::NO_HEADERS_KEY ignored when used in constructor
  [Form] Keep preferred_choices order for choice groups
  [Debug] work around failing chdir() on Darwin
  [PhpUnitBridge] Read configuration CLI directive
  [DI] Missing test on YamlFileLoader
  Revert "minor #34608 [Process] add tests for php executable finder if file does not exist (ahmedash95)"
  Simpler example for Apache basic auth workaround
  [Console] Fix trying to access array offset on value of type int
  [Config] Remove extra sprintf arg
  [HttpKernel] fix typo
  [HttpKernel] Support typehint to deprecated FlattenException in controller
  ...
2019-11-28 15:26:02 +01:00
Nicolas Grekas
3aa2a770b8 Merge branch '4.4' into 5.0
* 4.4: (28 commits)
  bug #34554 [HttpClient] Fix early cleanup of pushed HTTP/2 responses (lyrixx)
  Fix tests
  [Console] Fix commands description with numeric namespaces
  [HttpFoundation] Fixed typo
  [DI] Skip unknown method calls for factories in check types pass
  [EventDispatcher] Better error reporting when arguments to dispatch() are swapped
  improve upgrade instructions for twig.exception_controller configuration
  [HttpFoundation] Update CHANGELOG for PdoSessionHandler BC BREAK in 4.4
  [Serializer] CsvEncoder::NO_HEADERS_KEY ignored when used in constructor
  [Form] Keep preferred_choices order for choice groups
  [Debug] work around failing chdir() on Darwin
  [PhpUnitBridge] Read configuration CLI directive
  [DI] Missing test on YamlFileLoader
  Revert "minor #34608 [Process] add tests for php executable finder if file does not exist (ahmedash95)"
  Simpler example for Apache basic auth workaround
  [Console] Fix trying to access array offset on value of type int
  [Config] Remove extra sprintf arg
  [HttpKernel] fix typo
  [HttpKernel] Support typehint to deprecated FlattenException in controller
  Add preview mode support for Html and Serializer error renderers
  ...
2019-11-28 15:20:16 +01:00
Nicolas Grekas
475967cbc1 Merge branch '4.3' into 4.4
* 4.3:
  bug #34554 [HttpClient] Fix early cleanup of pushed HTTP/2 responses (lyrixx)
2019-11-28 15:12:27 +01:00
Nicolas Grekas
53127c54a1 bug #34554 [HttpClient] Fix early cleanup of pushed HTTP/2 responses (lyrixx)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpClient] Fix early cleanup of pushed HTTP/2 responses

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

Commits
-------

0f51da6ec7 [HttpClient] Fix early cleanup of pushed HTTP/2 responses
2019-11-28 15:09:27 +01:00
Nicolas Grekas
3e917dbfe3 Merge branch '4.3' into 4.4
* 4.3:
  Fix tests
  [Console] Fix commands description with numeric namespaces
  [HttpFoundation] Fixed typo
  [EventDispatcher] Better error reporting when arguments to dispatch() are swapped
  [Serializer] CsvEncoder::NO_HEADERS_KEY ignored when used in constructor
  [Form] Keep preferred_choices order for choice groups
  [Debug] work around failing chdir() on Darwin
  [PhpUnitBridge] Read configuration CLI directive
  [DI] Missing test on YamlFileLoader
  Revert "minor #34608 [Process] add tests for php executable finder if file does not exist (ahmedash95)"
  Simpler example for Apache basic auth workaround
  [Console] Fix trying to access array offset on value of type int
  [Config] Remove extra sprintf arg
  [VarDumper] notice on potential undefined index
  [HttpClient] turn exception into log when the request has no content-type
  [Process] add tests for php executable finder if file does not exist
  [Cache] Make sure we get the correct number of values from redis::mget()
  [TwigBridge] Add row_attr to all form themes
  [Serializer] Fix MetadataAwareNameConverter usage with string group
2019-11-28 14:33:56 +01:00
Nicolas Grekas
845943ab10 Merge branch '3.4' into 4.3
* 3.4:
  [Console] Fix commands description with numeric namespaces
  [HttpFoundation] Fixed typo
2019-11-28 14:29:27 +01:00
Nicolas Grekas
fa783f9697 bug #34130 [Console] Fix commands description with numeric namespaces (fancyweb)
This PR was merged into the 3.4 branch.

Discussion
----------

[Console] Fix commands description with numeric namespaces

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | https://github.com/symfony/symfony/issues/34111
| License       | MIT
| Doc PR        | -

This PR fixes the linked ticket case.

It also changes the keys sorting to display the numeric namespaces first.

It also fixes another bug if your command name starts with `_global:`. In this special case the command is considered global but its full name is still `_global:xxx`. We can't do better without more refactoring since the final array of namespaces and global commands is shared, `_global` just being a special key. Currently, if your command starts with `_global`, all global commands are not displayed at all so it's better like this anyway.

It also fixes another bug if your command starts with `0:` (cf `'' ===` comparison).

Commits
-------

4d47868125 [Console] Fix commands description with numeric namespaces
2019-11-28 14:28:57 +01:00
Nicolas Grekas
51045927da Fix tests 2019-11-28 14:25:45 +01:00
Thomas Calvet
4d47868125 [Console] Fix commands description with numeric namespaces 2019-11-28 14:20:50 +01:00
Thomas Bisignani
3378890e70 [HttpFoundation] Fixed typo 2019-11-28 13:52:59 +01:00
Nicolas Grekas
8378d958e2 bug #34562 [DI] Skip unknown method calls for factories in check types pass (fancyweb)
This PR was merged into the 4.4 branch.

Discussion
----------

[DI] Skip unknown method calls for factories in check types pass

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | https://github.com/symfony/symfony/issues/34559
| License       | MIT
| Doc PR        | -

Ref https://github.com/symfony/symfony/issues/30885 and https://github.com/symfony/symfony/pull/30889.

Commits
-------

592bff88f2 [DI] Skip unknown method calls for factories in check types pass
2019-11-28 13:12:35 +01:00
Thomas Calvet
592bff88f2 [DI] Skip unknown method calls for factories in check types pass 2019-11-28 13:12:16 +01:00
Nicolas Grekas
28c3b3e3e7 bug #34677 [EventDispatcher] Better error reporting when arguments to dispatch() are swapped (rimas-kudelis)
This PR was squashed before being merged into the 4.3 branch.

Discussion
----------

[EventDispatcher] Better error reporting when arguments to dispatch() are swapped

| Q             | A
| ------------- | ---
| Branch?       | 4.3
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #34676
| License       | MIT

Incorrect error is currently being reported when the second argument is an instance of `Symfony\Contracts\EventDispatcher\Event`.

Commits
-------

54aac56ab8 [EventDispatcher] Better error reporting when arguments to dispatch() are swapped
2019-11-28 12:54:58 +01:00
Rimas Kudelis
54aac56ab8 [EventDispatcher] Better error reporting when arguments to dispatch() are swapped 2019-11-28 12:54:51 +01:00
Vincent
326df983ca [errorHandler] Remove old references from the old debug component 2019-11-28 12:50:50 +01:00
Nicolas Grekas
8d22819443 minor #34582 [HttpFoundation] Update CHANGELOG for PdoSessionHandler BC BREAK in 4.4 (tseho)
This PR was squashed before being merged into the 4.4 branch.

Discussion
----------

[HttpFoundation] Update CHANGELOG for PdoSessionHandler BC BREAK in 4.4

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

As explained in https://github.com/symfony/symfony/issues/34491, there was a BC BREAK between 4.3 and 4.4, when using `PdoSessionHandler` with MySQL, where the column `sess_lifetime` was modified from `MEDIUMINT` to `INTEGER UNSIGNED`.

This PR updates `UPGRADE-4.4.md` with a suggested query for updating the database accordingly.

Commits
-------

eda4d68f7d [HttpFoundation] Update CHANGELOG for PdoSessionHandler BC BREAK in 4.4
2019-11-28 12:41:55 +01:00
Quentin Favrie
eda4d68f7d [HttpFoundation] Update CHANGELOG for PdoSessionHandler BC BREAK in 4.4 2019-11-28 12:41:49 +01:00
Nicolas Grekas
50db43fc4c bug #34019 [Serializer] CsvEncoder::NO_HEADERS_KEY ignored when used in constructor (Dario Savella)
This PR was squashed before being merged into the 4.3 branch.

Discussion
----------

[Serializer] CsvEncoder::NO_HEADERS_KEY ignored when used in constructor

| Q             | A
| ------------- | ---
| Branch?       | 4.3
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| License       | MIT

My first pull request...
The following code:
```
$data = <<<EOD
a,b
c,d
EOD;
$encoder = new CsvEncoder([CsvEncoder::NO_HEADERS_KEY=>true]);
var_dump($encoder->decode($data,'csv'));
```
produces:
```
array(2) {
  'a' =>
  string(1) "c"
  'b' =>
  string(1) "d"
}
```
instead of the expected:
```
array(2) {
  [0] =>
  array(2) {
    [0] =>
    string(1) "a"
    [1] =>
    string(1) "b"
  }
  [1] =>
  array(2) {
    [0] =>
    string(1) "c"
    [1] =>
    string(1) "d"
  }
}
```

Commits
-------

a0430f6917 [Serializer] CsvEncoder::NO_HEADERS_KEY ignored when used in constructor
2019-11-28 12:29:50 +01:00
Dario Savella
a0430f6917 [Serializer] CsvEncoder::NO_HEADERS_KEY ignored when used in constructor 2019-11-28 12:29:45 +01:00
Nicolas Grekas
ab5e7fa706 bug #34083 [Form] Keep preferred_choices order for choice groups (vilius-g)
This PR was squashed before being merged into the 4.3 branch.

Discussion
----------

[Form] Keep preferred_choices order for choice groups

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

Since 4.3 ordering of `preferred_choices` is preserved when displaying form. But this only works for flat options. When the choices are grouped, the preferred groups are in default order.

Now the preferred choice group order is derived by taking the first matching choice from `preferred_choices` and using its position to sort the groups.

Commits
-------

75404e5287 [Form] Keep preferred_choices order for choice groups
2019-11-28 12:24:09 +01:00
Vilius Grigaliūnas
75404e5287 [Form] Keep preferred_choices order for choice groups 2019-11-28 12:22:21 +01:00
Nicolas Grekas
3688c3aebb Merge branch '3.4' into 4.3
* 3.4:
  [DI] Missing test on YamlFileLoader
2019-11-28 12:13:33 +01:00
Nicolas Grekas
84b5db3a44 minor #34675 [DI] Missing test on YamlFileLoader (maxhelias)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] Missing test on YamlFileLoader

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

Missing test on YamlFileLoader

Commits
-------

b9d5237f67 [DI] Missing test on YamlFileLoader
2019-11-28 12:10:43 +01:00
Nicolas Grekas
789c863233 bug #34091 [Debug] work around failing chdir() on Darwin (mary2501)
This PR was merged into the 4.3 branch.

Discussion
----------

[Debug] work around failing chdir() on Darwin

| Q             | A
| ------------- | ---
| Branch?       |  4.3 for bug fixes <!-- see below -->
| Bug fix?      | yes
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets       | Fix https://github.com/happybottoms/coverd/issues/15 <!-- prefix each issue number with "Fix #", if any -->
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->
<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.

Additionally (see https://symfony.com/roadmap):
 - Always add tests and ensure they pass.
 - Never break backward compatibility (see https://symfony.com/bc).
 - Bug fixes must be submitted against the lowest maintained branch where they apply
   (lowest branches are regularly merged to upper ones so they get the fixes too.)
 - Features and deprecations must be submitted against branch 4.4.
 - Legacy code removals go to the master branch.
-->

Commits
-------

f40373eb7c [Debug] work around failing chdir() on Darwin
2019-11-28 11:55:21 +01:00
Maria Grazia Patteri
f40373eb7c [Debug] work around failing chdir() on Darwin 2019-11-28 11:53:46 +01:00
Nicolas Grekas
33731bf287 bug #34490 [Serializer] Fix MetadataAwareNameConverter usage with string group (antograssiot)
This PR was merged into the 4.3 branch.

Discussion
----------

[Serializer] Fix MetadataAwareNameConverter usage with string group

| Q             | A
| ------------- | ---
| Branch?       | 4.3
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #34455
| License       | MIT
| Doc PR        |

Allow to use the short syntax for serialization context group like `['groups' => 'user']`

Commits
-------

d4f749a465 [Serializer] Fix MetadataAwareNameConverter usage with string group
2019-11-28 11:19:20 +01:00
Maxime Helias
b9d5237f67 [DI] Missing test on YamlFileLoader 2019-11-28 11:09:39 +01:00
Nicolas Grekas
53241df2df Revert "minor #34608 [Process] add tests for php executable finder if file does not exist (ahmedash95)"
This reverts commit 5cacc5dd69, reversing
changes made to f0a6de2736.
2019-11-28 11:05:51 +01:00
Nicolas Grekas
4375742f2c Merge branch '3.4' into 4.3
* 3.4:
  Simpler example for Apache basic auth workaround
  [Console] Fix trying to access array offset on value of type int
  [Process] add tests for php executable finder if file does not exist
  [Cache] Make sure we get the correct number of values from redis::mget()
2019-11-28 11:05:26 +01:00
Roy-Orbison
388528da50 Simpler example for Apache basic auth workaround
Uses a simpler regex and existing back-reference instead of reading header twice.
2019-11-28 10:37:24 +01:00
Ali Tavafi
069d214210 [Console] Fix trying to access array offset on value of type int 2019-11-28 10:13:48 +01:00
David Buchmann
c6ed0f0208 more robust initialization from request
Request::getPort is declared as int|string but can actually return null.
2019-11-28 09:59:10 +01:00
Maxime Steinhausser
9f19ae185d [Config] Remove extra sprintf arg 2019-11-28 09:31:09 +01:00
Nicolas Grekas
ed22c85635 [HttpKernel] fix typo 2019-11-28 09:08:13 +01:00
Nicolas Grekas
396da3726b bug #34669 [HttpClient] turn exception into log when the request has no content-type (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

[HttpClient] turn exception into log when the request has no content-type

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

Spotted while merging a PR with ext-curl disabled:

```
  [Symfony\Component\HttpClient\Exception\TransportException]
  fopen(): Content-type not specified assuming application/x-www-form-urlencoded
```

This is now a log.

Commits
-------

4c671a4487 [HttpClient] turn exception into log when the request has no content-type
2019-11-28 09:02:16 +01:00
Nicolas Grekas
f9e6f11bea bug #34662 [HttpKernel] Support typehint to deprecated FlattenException in controller (andrew-demb)
This PR was squashed before being merged into the 4.4 branch.

Discussion
----------

[HttpKernel] Support typehint to deprecated FlattenException in controller

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

We should support converting throwable to `FlattenException` with typehint to deprecated class also

Commits
-------

26b4e372dd [HttpKernel] Support typehint to deprecated FlattenException in controller
2019-11-28 08:56:36 +01:00
Andrii Dembitskyi
26b4e372dd [HttpKernel] Support typehint to deprecated FlattenException in controller 2019-11-28 08:56:28 +01:00
Yonel Ceruto
38493b3e4b Add preview mode support for Html and Serializer error renderers 2019-11-28 08:51:03 +01:00
Sylvain METAYER
d4c34e00ac [VarDumper] notice on potential undefined index 2019-11-28 08:25:37 +01:00
Nicolas Grekas
4c671a4487 [HttpClient] turn exception into log when the request has no content-type 2019-11-27 23:48:43 +01:00
Ahmed
2b62dc3fc5 [Process] add tests for php executable finder if file does not exist 2019-11-27 23:46:56 +01:00
Emanuele Panzeri
685c36c3d2 [Cache] Make sure we get the correct number of values from redis::mget() 2019-11-27 19:56:02 +01:00
Robin Chalas
2b97a0f5f1 Merge branch '5.0'
* 5.0: (47 commits)
  reset the kernel cache after each test
  [HttpKernel] Ability to define multiple kernel.reset tags
  [Routing] Continue supporting single colon in object route loaders
  [FWBundle] Remove unused parameter
  [Intl] [Workflow] fixes English grammar typos
  [Filesystem] [Serializer] fixes English grammar typo
  mailer: mailchimp bridge is throwing undefined index _id when setting message id in mandrill http transport
  has_roles should be is_granted in security upgrade file
  has_roles should be is_granted in upgrade files
  [HttpClient] Fix early cleanup of pushed HTTP/2 responses
  skip test on incompatible PHP versions
  [HttpKernel] Don't cache "not-fresh" state
  Drop WebServerBundle directory
  [FrameworkBundle][Cache] Don't deep-merge cache pools configuration
  [Messenger] Adding exception to amqp transport in case amqp ext is not installed
  [SecurityBundle] Don't require a user provider for the anonymous listener
  [DoctrineBridge] Fixed cs in DoctrineType
  [Monolog Bridge] Fixed accessing static property as non static.
  Improve Symfony description
  [Mailer] Add UPGRADE entries about Envelope and MessageEvent
  ...
2019-11-27 01:54:57 +01:00
Robin Chalas
e5f0e60a44 Merge branch '4.4' into 5.0
* 4.4: (38 commits)
  reset the kernel cache after each test
  [HttpKernel] Ability to define multiple kernel.reset tags
  [Routing] Continue supporting single colon in object route loaders
  [FWBundle] Remove unused parameter
  [Intl] [Workflow] fixes English grammar typos
  [Filesystem] [Serializer] fixes English grammar typo
  mailer: mailchimp bridge is throwing undefined index _id when setting message id in mandrill http transport
  has_roles should be is_granted in upgrade files
  [HttpClient] Fix early cleanup of pushed HTTP/2 responses
  skip test on incompatible PHP versions
  [HttpKernel] Don't cache "not-fresh" state
  [FrameworkBundle][Cache] Don't deep-merge cache pools configuration
  [Messenger] Adding exception to amqp transport in case amqp ext is not installed
  [SecurityBundle] Don't require a user provider for the anonymous listener
  [Monolog Bridge] Fixed accessing static property as non static.
  Improve Symfony description
  [Mailer] Add UPGRADE entries about Envelope and MessageEvent
  [FrameworkBundle] fix leftover mentioning "secret:" processor
  Add DateTimeZoneNormalizer into Dependency Injection
  [Messenger] Error when specified default bus is not among the configured
  ...
2019-11-27 00:25:11 +01:00
Robin Chalas
cde2538849 Merge branch '4.3' into 4.4
* 4.3:
  [FWBundle] Remove unused parameter
  [Intl] [Workflow] fixes English grammar typos
  [Filesystem] [Serializer] fixes English grammar typo
  [Messenger] Adding exception to amqp transport in case amqp ext is not installed
  [Monolog Bridge] Fixed accessing static property as non static.
  Improve Symfony description
  Add DateTimeZoneNormalizer into Dependency Injection
  [Messenger] Error when specified default bus is not among the configured
  [Validator] Add Japanese translation
  [Workflow] Apply the same logic of precedence between the apply() and the buildTransitionBlockerList() method
  Remove some unused methods parameters
  Avoid empty \"If-Modified-Since\" header in validation request
  [Security] Fix SwitchUser is broken when the User Provider always returns a valid user
  Fix error message according to the new regex
  compatibility with DoctrineBundle 2
  [Validator] ConstraintValidatorTestCase: add missing return value to mocked validate method calls
2019-11-27 00:16:41 +01:00
Fabien Potencier
51d756f65a bug #34621 [Routing] Continue supporting single colon in object route loaders (fancyweb)
This PR was merged into the 4.4 branch.

Discussion
----------

[Routing] Continue supporting single colon in object route loaders

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | https://github.com/symfony/symfony/issues/34612
| License       | MIT
| Doc PR        | -

https://github.com/symfony/symfony/pull/32582#discussion_r304824139 was a bad idea. The new `ObjectLoader` class is used directly on 4.4 since we detagged the old service (and the old one). So we need to support the old notation on it. It changes the exception message but it should be alright.

Commits
-------

3c796e120c [Routing] Continue supporting single colon in object route loaders
2019-11-26 14:01:00 +01:00
Christian Flothmann
4633993cc1 minor #34625 [HttpKernel] reset the kernel cache after each test (xabbuh)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpKernel] reset the kernel cache after each test

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

Commits
-------

5b5927b93b reset the kernel cache after each test
2019-11-26 12:29:28 +01:00
Nicolas Grekas
59b6cfef4c bug #34554 [HttpClient] Fix early cleanup of pushed HTTP/2 responses (lyrixx)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpClient] Fix early cleanup of pushed HTTP/2 responses

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

Commits
-------

0f51da6ec7 [HttpClient] Fix early cleanup of pushed HTTP/2 responses
2019-11-26 10:41:30 +01:00
Christian Flothmann
5b5927b93b reset the kernel cache after each test 2019-11-26 10:38:45 +01:00
Nicolas Grekas
127ebeee1f bug #34607 [HttpKernel] Ability to define multiple kernel.reset tags (rmikalkenas)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpKernel] Ability to define multiple kernel.reset tags

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

All info #34606

Commits
-------

6f8dbf1a5f [HttpKernel] Ability to define multiple kernel.reset tags
2019-11-26 10:37:37 +01:00
Rokas Mikalkėnas
6f8dbf1a5f [HttpKernel] Ability to define multiple kernel.reset tags 2019-11-26 10:37:14 +01:00
Thomas Calvet
3c796e120c [Routing] Continue supporting single colon in object route loaders 2019-11-26 09:26:36 +01:00
Fabien Potencier
877376a8b3 minor #34603 [Intl] [Workflow] fixes English grammar typos (hhamon)
This PR was merged into the 4.3 branch.

Discussion
----------

[Intl] [Workflow] fixes English grammar typos

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

Also related to #34604

Commits
-------

492e1b5afd [Intl] [Workflow] fixes English grammar typos
2019-11-26 04:45:55 +01:00
Fabien Potencier
4daa83e8fc Merge branch '3.4' into 4.3
* 3.4:
  [Filesystem] [Serializer] fixes English grammar typo
  [Monolog Bridge] Fixed accessing static property as non static.
  Improve Symfony description
  [Validator] Add Japanese translation
  Remove some unused methods parameters
  Avoid empty \"If-Modified-Since\" header in validation request
  [Validator] ConstraintValidatorTestCase: add missing return value to mocked validate method calls
2019-11-26 04:44:44 +01:00
Hugo Hamon
492e1b5afd [Intl] [Workflow] fixes English grammar typos 2019-11-25 17:40:38 +01:00
Hugo Hamon
7524ac2866 [Filesystem] [Serializer] fixes English grammar typo 2019-11-25 17:36:22 +01:00
Grégoire Pineau
8a4f03dee8 [Workflow] Added Registry::has() to check if a workflow exists 2019-11-25 16:20:18 +01:00
Hugo Monteiro
fa3f901cf8 mailer: mailchimp bridge is throwing undefined index _id when setting message id in mandrill http transport 2019-11-25 14:55:17 +00:00
Lynn
2f1336e79f has_roles should be is_granted in security upgrade file 2019-11-25 15:08:41 +01:00
Grégoire Pineau
cc400f867e bug #34569 [Workflow] Apply the same logic of precedence between the apply() and the buildTransitionBlockerList() method (lyrixx)
This PR was merged into the 4.3 branch.

Discussion
----------

[Workflow] Apply the same logic of precedence between the apply() and the buildTransitionBlockerList() method

| Q             | A
| ------------- | ---
| Branch?       | 4.3
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #34489
| License       | MIT
| Doc PR        |

Commits
-------

2ff3496d62 [Workflow] Apply the same logic of precedence between the apply() and the buildTransitionBlockerList() method
2019-11-25 15:05:10 +01:00
Grégoire Pineau
0f51da6ec7 [HttpClient] Fix early cleanup of pushed HTTP/2 responses 2019-11-25 13:42:17 +01:00
Fabien Potencier
7719fc709e feature #32937 [Routing] Deprecate RouteCollectionBuilder (vudaltsov)
This PR was squashed before being merged into the 5.1-dev branch (closes #32937).

Discussion
----------

[Routing] Deprecate RouteCollectionBuilder

| Q             | A
| ------------- | ---
| Branch?       | 5.1
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | yes
| Tests pass?   | yes
| Fixed tickets | #32240
| License       | MIT
| Doc PR        | https://github.com/symfony/symfony-docs/pull/12688
| Recipe PR | https://github.com/symfony/recipes/pull/690

A lot to be done here after the implementation is accepted:
- [x] finish deprecations in the MicroKernelTrait
- [x] deprecate the class
- [x] mention in the CHANGELOG file
- [x] mention in the UPGRADE file
- [x] mark tests as legacy
- [x] add a doc PR
- [x] update the recipe

Ping @Tobion , @nicolas-grekas .

Commits
-------

e641cbdd46 [Routing] Deprecate RouteCollectionBuilder
2019-11-25 13:06:39 +01:00
Valentin Udaltsov
e641cbdd46 [Routing] Deprecate RouteCollectionBuilder 2019-11-25 13:05:32 +01:00
Christian Flothmann
986cfc6580 skip test on incompatible PHP versions 2019-11-25 11:39:47 +01:00
Nicolas Grekas
be80db3dc8 [HttpKernel] Don't cache "not-fresh" state 2019-11-25 10:10:35 +01:00
Fabien Potencier
3888312ba9 feature #34557 [PropertyInfo] Add support for typed properties (PHP 7.4) (dunglas)
This PR was squashed before being merged into the 5.1-dev branch (closes #34557).

Discussion
----------

[PropertyInfo] Add support for typed properties (PHP 7.4)

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets       | n/a <!-- prefix each issue number with "Fix #", if any -->
| License       | MIT
| Doc PR        | n/a

Add support for [typed properties](https://wiki.php.net/rfc/typed_properties_v2), a new feature introduced in PHP 7.4:

```php
class Foo
{
    public Bar $bar;
    private ?bool $nullableBoolProp;
}

$this->extractor->getTypes(Foo::class, 'bar'); // Type[]
$this->extractor->getTypes(Foo::class, 'nullableBoolProp'); // Type[]
```

#SymfonyHackday

Commits
-------

7edfe4f741 [PropertyInfo] Add support for typed properties (PHP 7.4)
2019-11-25 08:09:07 +01:00
Kévin Dunglas
7edfe4f741 [PropertyInfo] Add support for typed properties (PHP 7.4) 2019-11-25 08:09:01 +01:00
Fabien Potencier
f6c4b67fe3 bug #34515 [DependencyInjection] definitions are valid objects (xabbuh)
This PR was merged into the 4.4 branch.

Discussion
----------

[DependencyInjection] definitions are valid objects

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

Commits
-------

0acaa5cfb3 definitions are valid objects
2019-11-25 08:06:53 +01:00
Christopher Hertel
f15e0e6a43 [Messenger] Adding exception to amqp transport in case amqp ext is not installed 2019-11-25 07:26:43 +01:00
Fabien Potencier
adbc1dff56 feature #34573 [DX] [Workflow] Added a way to specify a message when blocking a transition + better default message in case it is not set (lyrixx)
This PR was merged into the 5.1-dev branch.

Discussion
----------

[DX] [Workflow] Added a way to specify a message when blocking a transition + better default message in case it is not set

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #34466
| License       | MIT
| Doc PR        |

Commits
-------

169bb2ff51 [Workflow] Added a way to specify a message when blocking a transition + better default message in case it is not set
2019-11-24 19:23:34 +01:00
Fabien Potencier
692d0e75e1 feature #34457 Added context to exceptions thrown in apply method (koenreiniers)
This PR was squashed before being merged into the 5.1-dev branch (closes #34457).

Discussion
----------

Added context to exceptions thrown in apply method

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets       |
| License       | MIT
| Doc PR        |

During the workflow and state machines workshop at SymfonyCon, we noticed that the context in the apply method was not passed to the exceptions that are thrown. This could prove to be convenient for debugging purposes.

Commits
-------

8f86c337f7 Added context to exceptions thrown in apply method
2019-11-24 19:20:30 +01:00
Koen Reiniers
8f86c337f7 Added context to exceptions thrown in apply method 2019-11-24 19:20:23 +01:00
Fabien Potencier
212931e43c minor #34543 Add missing defaultPriorityMethod field in TaggedIteratorArgument (alexandrunastase)
This PR was merged into the 4.4 branch.

Discussion
----------

 Add missing defaultPriorityMethod field in TaggedIteratorArgument

| Q             | A
| ------------- | ---
| Branch?       | 4.4 <!-- see below -->
| Bug fix?      | yes
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets       | <!-- prefix each issue number with "Fix #", if any -->
| License       | MIT
| Doc PR        |  <!-- required for new features -->
<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.

Additionally (see https://symfony.com/roadmap):
 - Always add tests and ensure they pass.
 - Never break backward compatibility (see https://symfony.com/bc).
 - Bug fixes must be submitted against the lowest maintained branch where they apply
   (lowest branches are regularly merged to upper ones so they get the fixes too.)
 - Features and deprecations must be submitted against branch master.
-->

#SymfonyHackday

Commits
-------

f5bd421597  Add missing defaultPriorityMethod field in TaggedIteratorArgument
2019-11-24 19:11:43 +01:00
Fabien Potencier
0ea13868fa bug #34552 [Dotenv] don't fail when referenced env var does not exist (xabbuh)
This PR was merged into the 4.4 branch.

Discussion
----------

[Dotenv] don't fail when referenced env var does not exist

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

Commits
-------

8026609dc9 don't fail when referenced env var does not exist
2019-11-24 19:05:55 +01:00
Grégoire Pineau
169bb2ff51 [Workflow] Added a way to specify a message when blocking a transition + better default message in case it is not set 2019-11-24 19:01:59 +01:00
Issei.M
6cea35a108 [Validator] Add Japanese translation 2019-11-24 18:47:24 +01:00
Fabien Potencier
e757512f8f bug #34513 [Validator] remove return type declaration from __sleep() (xabbuh)
This PR was merged into the 4.4 branch.

Discussion
----------

[Validator] remove return type declaration from __sleep()

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

Commits
-------

bedad35e59 remove return type declaration from __sleep()
2019-11-24 18:43:39 +01:00
Fabien Potencier
df6c635df2 minor #34561 Remove some unused methods parameters (fancyweb)
This PR was merged into the 3.4 branch.

Discussion
----------

Remove some unused methods parameters

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

This PR removes some useless private method parameters.

Commits
-------

026730e913 Remove some unused methods parameters
2019-11-24 18:40:20 +01:00
Grégoire Pineau
2ff3496d62 [Workflow] Apply the same logic of precedence between the apply() and the buildTransitionBlockerList() method 2019-11-24 18:22:56 +01:00
Thomas Calvet
026730e913 Remove some unused methods parameters 2019-11-23 21:30:33 +01:00
Christophe Coevoet
7d87ebce2c bug #34385 Avoid empty "If-Modified-Since" header in validation request (mpdude)
This PR was squashed before being merged into the 3.4 branch (closes #34385).

Discussion
----------

Avoid empty "If-Modified-Since" header in validation request

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

Just noticed that when a response has been cached that is `public` and has an `maxAge` but does _not_ provide `Last-Modified`, the validation subrequest will have an empty `If-Modified-Since` header value.

Commits
-------

960faef66f Avoid empty \"If-Modified-Since\" header in validation request
2019-11-23 16:08:00 +01:00
Matthias Pigulla
960faef66f Avoid empty \"If-Modified-Since\" header in validation request 2019-11-23 16:07:54 +01:00
Christian Flothmann
8026609dc9 don't fail when referenced env var does not exist 2019-11-23 15:53:46 +01:00
Tugdual Saunier
2bf6cd2eea
[Security] Fix SwitchUser is broken when the User Provider always returns a valid user 2019-11-23 15:44:33 +01:00
Alexandru Năstase
f5bd421597
Add missing defaultPriorityMethod field in TaggedIteratorArgument 2019-11-23 11:53:09 +01:00
Thiago Cordeiro
5c3c295873 [HttpKernel] Fix write signature 2019-11-23 11:47:49 +01:00
elementaire
7425d2c69d
Fix error message according to the new regex
Complete https://github.com/symfony/symfony/pull/34448
2019-11-22 15:36:52 +01:00
Christian Flothmann
6ff20f0122 compatibility with DoctrineBundle 2 2019-11-22 14:37:01 +01:00
Christian Flothmann
93685026b0 drop return type declaration
The configured memory limit can exceed the range that can be represented
by an integer.
2019-11-22 14:14:59 +01:00
Christian Flothmann
0acaa5cfb3 definitions are valid objects 2019-11-22 13:53:53 +01:00
Christian Flothmann
bedad35e59 remove return type declaration from __sleep() 2019-11-22 13:40:21 +01:00
tien.xuan.vo
b435b1aab6 [Messenger] Ignore stamps in in-memory transport 2019-11-21 19:55:17 +07:00
Anto
d4f749a465
[Serializer] Fix MetadataAwareNameConverter usage with string group
fixes 34455
2019-11-21 13:47:16 +01:00
Fabien Potencier
255f557a30 Bump Symfony version to 5.0.1 2019-11-21 09:56:56 +01:00
Fabien Potencier
bac8c50706 Update VERSION for 5.0.0 2019-11-21 09:51:01 +01:00
Fabien Potencier
a7fe2b29d2 Bump Symfony version to 4.4.1 2019-11-21 08:13:22 +01:00
Fabien Potencier
65ec3b47e8 Update VERSION for 4.4.0 2019-11-21 08:08:15 +01:00
Nicolas Grekas
1b4ab81085 Merge branch '5.0'
* 5.0:
  [Routing] fix tests
  [DI] minor cleanup
  [Form] group constraints when calling the validator
  Remove wrong @group legacy annotations
  [DependencyInjection] Fix dumping multiple deprecated aliases
  allow button names to start with uppercase letter
  Allow PHP ^7.2.5
  States that the HttpClient provides a Http Async implementation
  [Routing] Fix ContainerLoader and ObjectLoaderTest
  [HttpKernel] Make ErrorListener::onKernelException()'s dispatcher argument explicit
  [HttpKernel] Drop deprecated ExceptionListener
  Removed extra whitespace
  [Security] Fix best encoder not wired using migrate_from
2019-11-21 08:02:52 +01:00
Nicolas Grekas
0f8fe5d74b Merge branch '4.4' into 5.0
* 4.4:
  [Routing] fix tests
  [Form] group constraints when calling the validator
  Remove wrong @group legacy annotations
  [DependencyInjection] Fix dumping multiple deprecated aliases
  allow button names to start with uppercase letter
  States that the HttpClient provides a Http Async implementation
2019-11-21 08:02:40 +01:00
Nicolas Grekas
2c1b1bad6e bug #34464 [Form] group constraints when calling the validator (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[Form] group constraints when calling the validator

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

Follow up of https://github.com/symfony/symfony/pull/34081
Spotted during the workshop at SymfonyCon, while trying to fix deprecation notices on symfony-demo:
the Form component currently passes constraints one by one for validation, effectively preventing the validator from taking care of cross-constraints dependencies.

This PR fixes it.

This will prevent ppl from having to fix things like
> Using the "Symfony\Component\Validator\Constraints\Length" constraint with the "min" option without setting the "allowEmptyString" one is deprecated and defaults to true. In 5.0, it will become optional and default to false.

Commits
-------

d15f77f33e [Form] group constraints when calling the validator
2019-11-21 08:01:17 +01:00
Nicolas Grekas
698cc6bb3b [Routing] fix tests 2019-11-20 14:44:34 +01:00
Nicolas Grekas
c41fa26069 [DI] minor cleanup 2019-11-20 14:33:09 +01:00
Nicolas Grekas
6f110581df Merge branch '4.3' into 4.4
* 4.3:
  [DependencyInjection] Fix dumping multiple deprecated aliases
2019-11-20 14:27:43 +01:00
Nicolas Grekas
d15f77f33e [Form] group constraints when calling the validator 2019-11-20 13:58:23 +01:00
Fabien Potencier
9624a444d4 minor #34443 Allow PHP ^7.2.5 (nicolas-grekas)
This PR was merged into the 5.0 branch.

Discussion
----------

Allow PHP ^7.2.5

| Q             | A
| ------------- | ---
| Branch?       | 5.0
| Bug fix?      | no
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #34442
| License       | MIT
| Doc PR        | -

Let's what the CI says.

Will need tagging all contracts as v2.0.1 after merge.

Commits
-------

6194c2a96c Allow PHP ^7.2.5
2019-11-20 12:12:35 +01:00
Nicolas Grekas
8d84ac34a5 Remove wrong @group legacy annotations 2019-11-20 11:44:55 +01:00
Maxime Steinhausser
8d1f32613b [Validator] ConstraintValidatorTestCase: add missing return value to mocked validate method calls 2019-11-19 17:21:35 +01:00
Soner Sayakci
60b0dae174
[DependencyInjection] Fix dumping multiple deprecated aliases 2019-11-19 16:12:52 +01:00
Nicolas Grekas
12f00e3e15 Merge branch '4.3' into 4.4
* 4.3:
  allow button names to start with uppercase letter
2019-11-19 13:20:06 +01:00
Christian Flothmann
d811b0e9b5 allow button names to start with uppercase letter 2019-11-19 08:55:12 +01:00
Nicolas Grekas
6194c2a96c Allow PHP ^7.2.5 2019-11-18 18:27:11 +01:00
Baptiste Clavié
8a460cefef
States that the HttpClient provides a Http Async implementation 2019-11-18 13:47:27 +01:00
Thomas Calvet
0e5db6a033 [Routing] Fix ContainerLoader and ObjectLoaderTest 2019-11-18 10:36:08 +01:00
Nicolas Grekas
15f7ea1362 Merge branch '4.4' into 5.0
* 4.4:
  [HttpKernel] Make ErrorListener::onKernelException()'s dispatcher argument explicit
  Removed extra whitespace
  [Security] Fix best encoder not wired using migrate_from
2019-11-18 08:34:28 +01:00
Robin Chalas
aab9b43d03 [HttpKernel] Make ErrorListener::onKernelException()'s dispatcher argument explicit 2019-11-18 00:49:10 +01:00
Robin Chalas
dede9145dc [HttpKernel] Drop deprecated ExceptionListener 2019-11-18 00:44:50 +01:00
Robin Chalas
76d3112d8e bug #34428 [Security] Fix best encoder not wired using migrate_from (chalasr)
This PR was merged into the 4.4 branch.

Discussion
----------

[Security] Fix best encoder not wired using migrate_from

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

Thanks @wouterj for spotting it.

Commits
-------

4132a60392 [Security] Fix best encoder not wired using migrate_from
2019-11-17 23:59:41 +01:00
Graham Campbell
754fbe41fb
Removed extra whitespace 2019-11-17 22:49:13 +00:00
Robin Chalas
4132a60392 [Security] Fix best encoder not wired using migrate_from 2019-11-17 23:41:50 +01:00
Nicolas Grekas
d2649f2f78 minor #34427 Relax requirements for experimental components (nicolas-grekas)
This PR was merged into the 5.1-dev branch.

Discussion
----------

Relax requirements for experimental components

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

Reverts #34316 for 5.1 only.

Commits
-------

0c1c4ede48 Relax requirements for experimental components
2019-11-17 22:58:32 +01:00
Nicolas Grekas
a06a0d8a71 Merge branch '5.0'
* 5.0:
  [Finder] Fixed docs
  Fix PR template
  Adjust pull request template for 5.0 branchout
  Update HttpKernel.php
  bumped Symfony version to 4.4.0
  updated VERSION for 4.4.0-RC1
  updated CHANGELOG for 4.4.0-RC1
2019-11-17 22:58:13 +01:00
Nicolas Grekas
eb4f5a8d06 Merge branch '4.4' into 5.0
* 4.4:
  [Finder] Fixed docs
  Fix PR template
  Adjust pull request template for 5.0 branchout
  Update HttpKernel.php
  bumped Symfony version to 4.4.0
  updated VERSION for 4.4.0-RC1
  updated CHANGELOG for 4.4.0-RC1
2019-11-17 22:57:12 +01:00
Nicolas Grekas
80e4ed1a32 Merge branch '4.3' into 4.4
* 4.3:
  [Finder] Fixed docs
  Fix PR template
  Adjust pull request template for 5.0 branchout
  Update HttpKernel.php
2019-11-17 22:56:56 +01:00
Nicolas Grekas
90431e78e2 Merge branch '3.4' into 4.3
* 3.4:
  [Finder] Fixed docs
  Fix PR template
  Adjust pull request template for 5.0 branchout
  Update HttpKernel.php
2019-11-17 22:56:13 +01:00
Markus Staab
e7d0787a4d [Finder] Fixed docs 2019-11-17 22:55:15 +01:00
Nicolas Grekas
0c1c4ede48 Relax requirements for experimental components 2019-11-17 22:48:42 +01:00
Fabien Potencier
44d79c4a57 Fix version in Kernel 2019-11-17 21:26:07 +01:00
Nardberjean
7b7f966711 Update HttpKernel.php 2019-11-17 21:23:00 +01:00
Fabien Potencier
e60a876201 updated version to 5.1 2019-11-17 19:31:35 +01:00
Fabien Potencier
10aac86d6f Bump Symfony version to 5.0.0 2019-11-17 18:19:46 +01:00
Fabien Potencier
e4cc7cd698 Update VERSION for 5.0.0-RC1 2019-11-17 18:09:30 +01:00
Fabien Potencier
7ed6d35f2c bumped Symfony version to 4.4.0 2019-11-17 15:29:13 +01:00
Fabien Potencier
bef727c673 updated VERSION for 4.4.0-RC1 2019-11-17 15:24:08 +01:00
Nicolas Grekas
b30ea0c7a8 Merge branch '4.4'
* 4.4:
  [Cache] Disable igbinary on PHP >= 7.4
2019-11-17 12:01:19 +01:00
Nicolas Grekas
0c12b9e31b Merge branch '4.3' into 4.4
* 4.3:
  [Cache] Disable igbinary on PHP >= 7.4
2019-11-17 12:01:12 +01:00
Nicolas Grekas
a2c924d772 [Cache] Disable igbinary on PHP >= 7.4 2019-11-17 11:56:39 +01:00
Nicolas Grekas
3d222c6cd5 Merge branch '4.4'
* 4.4:
  [Messenger] Perform no deep merging of bus middleware
  [HttpFoundation] Added possibility to configure expiration time in redis session handler
  [FrameworkBundle] Remove project dir from Translator cache vary scanned directories
  [HttpFoundation] Allow redirecting to URLs that contain a semicolon
  Drop useless executable bit
  [DoctrineBridge] Improve queries parameters display in Profiler
  catch exceptions when using PDO directly
  [SecurityBundle] fix failing test
2019-11-17 11:12:24 +01:00
Nicolas Grekas
88cf8a7d48 Merge branch '4.3' into 4.4
* 4.3:
  [FrameworkBundle] Remove project dir from Translator cache vary scanned directories
  [HttpFoundation] Allow redirecting to URLs that contain a semicolon
  catch exceptions when using PDO directly
  [SecurityBundle] fix failing test
2019-11-17 11:10:42 +01:00
Nicolas Grekas
d20f544e14 Merge branch '3.4' into 4.3
* 3.4:
  [HttpFoundation] Allow redirecting to URLs that contain a semicolon
2019-11-17 11:10:32 +01:00
Fabien Potencier
2b05b71999 feature #34405 [HttpFoundation] Added possibility to configure expiration time in redis session handler (mantulo)
This PR was squashed before being merged into the 4.4 branch (closes #34405).

Discussion
----------

[HttpFoundation] Added possibility to configure expiration time in redis session handler

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

Add possibility to manually configure expiration time in redis session handler.

Commits
-------

4a9d947b1a [HttpFoundation] Added possibility to configure expiration time in redis session handler
2019-11-17 11:00:25 +01:00
Vladimir
4a9d947b1a [HttpFoundation] Added possibility to configure expiration time in redis session handler 2019-11-17 11:00:20 +01:00
Mark Beech
bd0637ebe4 [HttpFoundation] Allow redirecting to URLs that contain a semicolon 2019-11-17 10:18:38 +01:00
David Prévot
1883af4d4b Drop useless executable bit 2019-11-16 08:59:35 -10:00
Nicolas Grekas
1fbe6157ba bug #34408 [Cache] catch exceptions when using PDO directly (xabbuh)
This PR was merged into the 4.3 branch.

Discussion
----------

[Cache] catch exceptions when using PDO directly

| Q             | A
| ------------- | ---
| Branch?       | 4.3
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix symfony/symfony-docs#12632
| License       | MIT
| Doc PR        |

Commits
-------

5c1f5594f5 catch exceptions when using PDO directly
2019-11-16 18:08:55 +01:00
Christian Flothmann
5c1f5594f5 catch exceptions when using PDO directly 2019-11-16 17:52:07 +01:00
Nicolas Grekas
df63cc59f1 Merge branch '4.4'
* 4.4: (23 commits)
  [HttpFoundation] fix docblock
  [HttpKernel] Flatten "exception" controller argument if not typed
  Fix MySQL column type definition.
  Link the right file depending on the new version
  [Cache] Redis Tag Aware warn on wrong eviction policy
  [HttpClient] fix HttpClientDataCollector
  [HttpKernel] collect bundle classes, not paths
  [Config] fix id-generation for GlobResource
  [HttpKernel] dont check cache freshness more than once per process
  [Finder] Allow ssh2 stream wrapper for sftp
  [FrameworkBundle] fix wiring of httplug client
  add FrameworkBundle requirement
  [SecurityBundle] add tests with empty authenticator
  [Security] always check the token on non-lazy firewalls
  [DI] Use reproducible entropy to generate env placeholders
  [WebProfilerBundle] Require symfony/twig-bundle
  [Mailer] Add UPGRADE entry about the null transport DSN
  bumped Symfony version to 4.3.9
  updated VERSION for 4.3.8
  updated CHANGELOG for 4.3.8
  ...
2019-11-16 16:24:47 +01:00
Nicolas Grekas
4ac626a482 Merge branch '4.3' into 4.4
* 4.3:
  [HttpFoundation] fix docblock
  Fix MySQL column type definition.
  Link the right file depending on the new version
  [Config] fix id-generation for GlobResource
  [Finder] Allow ssh2 stream wrapper for sftp
  [DI] Use reproducible entropy to generate env placeholders
  [WebProfilerBundle] Require symfony/twig-bundle
  bumped Symfony version to 4.3.9
  updated VERSION for 4.3.8
  updated CHANGELOG for 4.3.8
  bumped Symfony version to 3.4.36
  updated VERSION for 3.4.35
  updated CHANGELOG for 3.4.35
2019-11-16 16:22:42 +01:00
Nicolas Grekas
769aced459 Merge branch '3.4' into 4.3
* 3.4:
  Fix MySQL column type definition.
2019-11-16 16:18:16 +01:00
Nicolas Grekas
4d9b6f1bbd [HttpFoundation] fix docblock 2019-11-16 16:17:02 +01:00
Robin Chalas
585216a8e8 [HttpKernel] Flatten "exception" controller argument if not typed 2019-11-16 13:16:23 +01:00
Jérémie Broutier
51c5f69274 Fix MySQL column type definition.
Fix wrong MySQL column type definition causing Numeric value out of range exception.

Ref #34409
2019-11-16 12:41:30 +01:00
Nicolas Grekas
476042d0fb Merge branch '3.4' into 4.3
* 3.4:
  Link the right file depending on the new version
  [Finder] Allow ssh2 stream wrapper for sftp
  [WebProfilerBundle] Require symfony/twig-bundle
  bumped Symfony version to 3.4.36
  updated VERSION for 3.4.35
  updated CHANGELOG for 3.4.35
2019-11-16 10:07:40 +01:00
Nicolas Grekas
278dcfb380 bug #34403 [Cache] Redis Tag Aware warn on wrong eviction policy (andrerom)
This PR was squashed before being merged into the 4.4 branch.

Discussion
----------

[Cache] Redis Tag Aware warn on wrong eviction policy

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| Deprecations? | no
| Tickets       | n.a.
| License       | MIT
| Doc PR        | n.a.

Adds validation to make sure Redis has been setup with the supported eviction policy to avoid surprises when cache suddenly is inconsistent.

This PR replaces #34178, and instead of checking in constructor and throwing it only checks on save, warns about this and refuses to save cache as suggested on the other PR.

TODO:
- [x] ~Adapt test setups for this to set correct eviction policy~ _It already uses default noeviction_

Commits
-------

e77f6de1e8 [Cache] Redis Tag Aware warn on wrong eviction policy
2019-11-16 09:53:59 +01:00
André R
e77f6de1e8 [Cache] Redis Tag Aware warn on wrong eviction policy 2019-11-16 09:53:52 +01:00
Nicolas Grekas
fda36e84b3 bug #34400 [HttpKernel] collect bundle classes, not paths (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpKernel] collect bundle classes, not paths

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

Commits
-------

7824d75ac3 [HttpKernel] collect bundle classes, not paths
2019-11-16 09:51:49 +01:00
Nicolas Grekas
a90de43a8e bug #34398 [Config] fix id-generation for GlobResource (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

[Config] fix id-generation for GlobResource

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

I never encountered any issues related to this but still, it's a fix.

Commits
-------

6adbfa2ae7 [Config] fix id-generation for GlobResource
2019-11-16 09:51:12 +01:00
Nicolas Grekas
114a4b86ac bug #34404 [HttpClient] fix HttpClientDataCollector (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpClient] fix HttpClientDataCollector

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

Commits
-------

f51adc53f8 [HttpClient] fix HttpClientDataCollector
2019-11-16 09:50:26 +01:00
Nicolas Grekas
f51adc53f8 [HttpClient] fix HttpClientDataCollector 2019-11-16 09:45:13 +01:00
Fabien Potencier
1374abd6e8 minor #34399 [HttpKernel] dont check cache freshness more than once per process (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpKernel] dont check cache freshness more than once per process

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

While running some functional tests in a loop, I noticed that half the time is spent computing cache freshness. This makes no sense - this mechanism is supposed to run once per process.

Here is the Blackfire comparison:
https://blackfire.io/profiles/compare/a4f2eb44-ae85-440b-ae87-edf43c2b2ef7/graph

![image](https://user-images.githubusercontent.com/243674/68955196-c5667780-07c5-11ea-9a19-f8e765664a8e.png)

Commits
-------

7f9556ce19 [HttpKernel] dont check cache freshness more than once per process
2019-11-15 18:39:48 +01:00
Nicolas Grekas
7824d75ac3 [HttpKernel] collect bundle classes, not paths 2019-11-15 17:50:43 +01:00
Nicolas Grekas
6adbfa2ae7 [Config] fix id-generation for GlobResource 2019-11-15 16:28:20 +01:00
Nicolas Grekas
7f9556ce19 [HttpKernel] dont check cache freshness more than once per process 2019-11-15 16:26:40 +01:00
Damien Alexandre
e6c9d77b63
[Finder] Allow ssh2 stream wrapper for sftp
Same fix as #28604 but for the ss2.sftp wrapper.
2019-11-15 15:28:29 +01:00
Nicolas Grekas
b8f8ac947e bug #34358 [Security] always check the token on non-lazy firewalls (nicolas-grekas, lyrixx)
This PR was merged into the 4.4 branch.

Discussion
----------

 [Security] always check the token on non-lazy firewalls

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

Commits
-------

2c2632a04c [SecurityBundle] add tests with empty authenticator
797450d6b8 [Security] always check the token on non-lazy firewalls
2019-11-15 12:06:35 +01:00
Nicolas Grekas
797450d6b8 [Security] always check the token on non-lazy firewalls 2019-11-14 23:50:50 +01:00
Nicolas Grekas
600ae33262 [DI] Use reproducible entropy to generate env placeholders 2019-11-14 21:13:17 +01:00
karser
8a08c2090a Added HostnameValidator 2019-11-14 19:31:20 +02:00
Maxime Steinhausser
abcf63aaa8 [Mailer] Add UPGRADE entry about the null transport DSN 2019-11-14 15:24:33 +01:00
Nicolas Grekas
818e2911d7 Merge branch '4.4'
* 4.4:
  [DI] fix detecting singly implemented interfaces
  [FrameworkBundle] Disallow WebProfilerBundle < 4.4.
  [Form] Allow symfony/service-contracts v2.
  bumped Symfony version to 4.4.0
  updated VERSION for 4.4.0-BETA2
  updated CHANGELOG for 4.4.0-BETA2
2019-11-14 10:04:42 +01:00
Nicolas Grekas
2a2d2bc0c0 minor #34367 [Form] Allow symfony/service-contracts v2 (derrabus)
This PR was merged into the 4.4 branch.

Discussion
----------

[Form] Allow symfony/service-contracts v2

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

In Symfony 4.4 applications, the Form component currently prevents the installation of `symfony/service-contracts` 2.0.0. That should not be the case.

Commits
-------

4755e160be [Form] Allow symfony/service-contracts v2.
2019-11-14 09:55:14 +01:00
Nicolas Grekas
eccb937d97 [DI] fix detecting singly implemented interfaces 2019-11-13 22:56:53 +01:00
Alexander M. Turek
4755e160be [Form] Allow symfony/service-contracts v2. 2019-11-13 22:07:47 +01:00
Fabien Potencier
c3455b46eb bumped Symfony version to 5.0.0 2019-11-13 10:24:14 +01:00
Fabien Potencier
20933dab0a updated VERSION for 5.0.0-BETA2 2019-11-13 10:19:33 +01:00
Fabien Potencier
29a2f17124 bumped Symfony version to 4.4.0 2019-11-13 10:18:19 +01:00
Fabien Potencier
8c47650d53 updated VERSION for 4.4.0-BETA2 2019-11-13 10:13:36 +01:00
Fabien Potencier
d863fc2b4b bumped Symfony version to 4.3.9 2019-11-13 10:11:31 +01:00
Fabien Potencier
3a50fa397d updated VERSION for 4.3.8 2019-11-13 10:07:28 +01:00
Fabien Potencier
8a68d2d358 bumped Symfony version to 3.4.36 2019-11-13 09:48:47 +01:00
Fabien Potencier
02257c8098 updated VERSION for 3.4.35 2019-11-13 09:44:50 +01:00
Nicolas Grekas
f2daa534b9 Merge branch '4.4'
* 4.4:
  [Console] Constant STDOUT might be undefined.
  Add missing conflict with symfony/serializer <4.4
  Allow returning null from NormalizerInterface::normalize
  bumped Symfony version to 4.4.0
  updated VERSION for 4.4.0-BETA1
  updated CHANGELOG for 4.4.0-BETA1
  [Security\Core] throw AccessDeniedException when switch user fails
  [Mime] fix guessing mime-types of files with leading dash
  [HttpFoundation] fix guessing mime-types of files with leading dash
  [VarExporter] fix exporting some strings
  [Cache] forbid serializing AbstractAdapter and TagAwareAdapter instances
  Use constant time comparison in UriSigner
2019-11-13 08:42:48 +01:00
Nicolas Grekas
ae3552685d Merge branch '4.3' into 4.4
* 4.3:
  [Console] Constant STDOUT might be undefined.
  Allow returning null from NormalizerInterface::normalize
  [Security\Core] throw AccessDeniedException when switch user fails
  [Mime] fix guessing mime-types of files with leading dash
  [HttpFoundation] fix guessing mime-types of files with leading dash
  [VarExporter] fix exporting some strings
  [Cache] forbid serializing AbstractAdapter and TagAwareAdapter instances
  Use constant time comparison in UriSigner
2019-11-13 08:39:40 +01:00
Nicolas Grekas
983b5d1d5f Merge branch '3.4' into 4.3
* 3.4:
  [Console] Constant STDOUT might be undefined.
  Allow returning null from NormalizerInterface::normalize
2019-11-13 08:29:07 +01:00
Nicolas Grekas
32bde39f63 bug #34344 [Console] Constant STDOUT might be undefined (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[Console] Constant STDOUT might be undefined

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #34341
| License       | MIT
| Doc PR        | N/A

Commits
-------

bb8c82c0b5 [Console] Constant STDOUT might be undefined.
2019-11-13 08:27:07 +01:00
Nicolas Grekas
53dc781814 minor #34340 Allow returning null from NormalizerInterface::normalize (teohhanhui)
This PR was merged into the 3.4 branch.

Discussion
----------

Allow returning null from NormalizerInterface::normalize

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

Looking at the code, it seems that a normalizer might be called with a `null` value for `$data`, and thus it's only sensible that it be allowed to return `null` too:

7064ff35f2/src/Symfony/Component/Serializer/Serializer.php (L141-L148)

Updating the phpdoc to match.

Commits
-------

1c8edc55ad Allow returning null from NormalizerInterface::normalize
2019-11-13 08:26:33 +01:00
Nicolas Grekas
bb8c82c0b5 [Console] Constant STDOUT might be undefined. 2019-11-13 08:12:39 +01:00
Robin Chalas
3fcf543f75 [Serializer] Fix ProblemNormalizer signature mismatch 2019-11-13 06:32:44 +01:00
Fabien Potencier
92748b6c22 bumped Symfony version to 5.0.0 2019-11-12 18:59:43 +01:00
Fabien Potencier
7debf6d54b updated VERSION for 5.0.0-BETA1 2019-11-12 18:55:30 +01:00
Teoh Han Hui
1c8edc55ad
Allow returning null from NormalizerInterface::normalize 2019-11-12 18:51:12 +01:00
Fabien Potencier
839c6b4256 bumped Symfony version to 4.4.0 2019-11-12 18:50:34 +01:00
Fabien Potencier
88927e1640 updated VERSION for 4.4.0-BETA1 2019-11-12 18:37:44 +01:00
Nicolas Grekas
6917ec6b2e Merge branch '4.4'
* 4.4:
  Fix some \Throwable support remaining issues
2019-11-12 18:26:48 +01:00
Thomas Calvet
47bd32e16f Fix some \Throwable support remaining issues 2019-11-12 18:18:47 +01:00
Nicolas Grekas
4e2b5e0a76 Merge branch '4.4'
* 4.4:
  Revert "feature #34329 [ExpressionLanguage] add XOR operator (ottaviano)"
  Allow \Throwable $previous everywhere
2019-11-12 15:58:10 +01:00
Nicolas Grekas
7cee181e08 feature #34333 Revert "feature #34329 [ExpressionLanguage] add XOR operator (ottaviano)" (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

Revert "feature #34329 [ExpressionLanguage] add XOR operator (ottaviano)"

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

This reverts commit d1d4bc8bad, reversing
changes made to f63976fcbb.

Commits
-------

adb716dd2c Revert "feature #34329 [ExpressionLanguage] add XOR operator (ottaviano)"
2019-11-12 15:57:18 +01:00
Nicolas Grekas
686e9b7d72 feature #34332 Allow \Throwable $previous everywhere (fancyweb)
This PR was merged into the 4.4 branch.

Discussion
----------

Allow \Throwable $previous everywhere

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

Commits
-------

59e044dfb1 Allow \Throwable $previous everywhere
2019-11-12 15:56:48 +01:00
Nicolas Grekas
adb716dd2c Revert "feature #34329 [ExpressionLanguage] add XOR operator (ottaviano)"
This reverts commit d1d4bc8bad, reversing
changes made to f63976fcbb.
2019-11-12 15:53:53 +01:00
Thomas Calvet
59e044dfb1 Allow \Throwable $previous everywhere 2019-11-12 15:51:11 +01:00
Nicolas Grekas
8f89f62621 Merge branch '4.4'
* 4.4:
  [ExpressionLanguage] add XOR operator
2019-11-12 15:01:04 +01:00
Nicolas Grekas
d1d4bc8bad feature #34329 [ExpressionLanguage] add XOR operator (ottaviano)
This PR was merged into the 4.4 branch.

Discussion
----------

[ExpressionLanguage] add XOR operator

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

👋
little PR for adding the best logical operator: `XOR`

Commits
-------

46fe91781d [ExpressionLanguage] add XOR operator
2019-11-12 15:00:30 +01:00
Dimitri Gritsajuk
46fe91781d [ExpressionLanguage] add XOR operator 2019-11-12 15:00:18 +01:00
Nicolas Grekas
417d2e1c75 minor #34316 more strict requirements of experimental components (xabbuh)
This PR was merged into the 5.0-dev branch.

Discussion
----------

more strict requirements of experimental components

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

Commits
-------

23bc40b764 more strict requirements of experimental components
2019-11-12 14:57:12 +01:00
Nicolas Grekas
6417770530 Merge branch '4.4'
* 4.4:
  [TwigBundle] Restore the preview mechanism
2019-11-12 14:56:01 +01:00
Yonel Ceruto
d3f1121885 [TwigBundle] Restore the preview mechanism 2019-11-12 08:42:17 -05:00
Nicolas Grekas
bcfc282d42 [Security\Core] throw AccessDeniedException when switch user fails 2019-11-12 14:12:56 +01:00
Nicolas Grekas
77ddabf2e7 [Mime] fix guessing mime-types of files with leading dash 2019-11-12 14:10:02 +01:00
Nicolas Grekas
227e73d164 security #cve-2019-11325 [VarExporter] fix exporting some strings (nicolas-grekas)
This PR was merged into the 4.3 branch.
2019-11-12 14:08:52 +01:00
Nicolas Grekas
2baf53aa7a Merge branch '3.4' into 4.3
* 3.4:
  [HttpFoundation] fix guessing mime-types of files with leading dash
  [Cache] forbid serializing AbstractAdapter and TagAwareAdapter instances
  Use constant time comparison in UriSigner
2019-11-12 14:07:20 +01:00
Nicolas Grekas
4cc37df2fb security #cve-2019-18889 [Cache] forbid serializing AbstractAdapter and TagAwareAdapter instances (nicolas-grekas)
This PR was merged into the 3.4 branch.
2019-11-12 13:50:33 +01:00
Nicolas Grekas
b21025b139 security #cve-2019-18888 [HttpFoundation] fix guessing mime-types of files with leading dash (nicolas-grekas)
This PR was merged into the 3.4 branch.
2019-11-12 13:49:04 +01:00
Nicolas Grekas
010213408e security #cve-2019-18887 [HttpKernel] Use constant time comparison in UriSigner (stof)
This PR was merged into the 3.4 branch.
2019-11-12 13:47:53 +01:00
Nicolas Grekas
92c81b7258 [DI] fix dep 2019-11-12 12:50:59 +01:00
Nicolas Grekas
ee07c70b00 bug #34327 Last cleanups before beta (nicolas-grekas)
This PR was merged into the 5.0-dev branch.

Discussion
----------

Last cleanups before beta

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

Commits
-------

61c7c11a32 Last cleanups before beta
2019-11-12 12:25:25 +01:00
Nicolas Grekas
61c7c11a32 Last cleanups before beta 2019-11-12 12:24:05 +01:00
Nicolas Grekas
ddb80de959 Merge branch '4.4'
* 4.4:
  [ErrorHandler] fix return type
2019-11-12 12:21:24 +01:00
Nicolas Grekas
32c81a5f2e [ErrorHandler] fix return type 2019-11-12 12:21:15 +01:00
Nicolas Grekas
621f48cce1 Merge branch '4.4'
* 4.4:
  [ErrorHandler] add missing return types
  Sync UPGRADE-5.0 before beta
  [HttpKernel] fix deps
  [TwigBundle] fix conflict rule
2019-11-12 12:20:44 +01:00
Nicolas Grekas
810e4a136f [ErrorHandler] add missing return types 2019-11-12 12:16:57 +01:00
Nicolas Grekas
7ec445b130 [HttpKernel] fix deps 2019-11-12 12:00:56 +01:00
Nicolas Grekas
8b8299e9c7 Merge branch '4.4'
* 4.4:
  [Workflow] fix lowest dep
  Cleanup deps on var-dumper
  [HttpKernel] Fix missing import in GetResponseForExceptionEvent
2019-11-12 11:18:18 +01:00
Nicolas Grekas
a0708cca7f Merge branch '4.3' into 4.4
* 4.3:
  [Workflow] fix lowest dep
2019-11-12 11:13:59 +01:00
Nicolas Grekas
4bc7e9c614 Merge branch '3.4' into 4.3
* 3.4:
  [Workflow] fix lowest dep
2019-11-12 11:07:11 +01:00
Nicolas Grekas
7064ff35f2 [Workflow] fix lowest dep 2019-11-12 11:06:38 +01:00
Nicolas Grekas
36aca86545 Cleanup deps on var-dumper 2019-11-12 11:02:34 +01:00
Thomas Calvet
bc46a3a6dd [HttpKernel] Fix missing import in GetResponseForExceptionEvent 2019-11-12 10:28:52 +01:00
Nicolas Grekas
a3376918ba Merge branch '4.4'
* 4.4:
  [ErrorHandler] help finish the PR
  [ErrorHandler] merge and remove the ErrorRenderer component
2019-11-12 10:25:44 +01:00
Fabien Potencier
0b867be27b feature #34312 [ErrorHandler] merge and remove the ErrorRenderer component (nicolas-grekas, yceruto)
This PR was merged into the 4.4 branch.

Discussion
----------

[ErrorHandler] merge and remove the ErrorRenderer component

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

This PR supersedes #34288.

Here is what it does:
- Merge the `ErrorRenderer` component into `ErrorHandler`
- Add `ErrorRendererInterface::render(\Throwable $e): FlattenException` and refactor error renderers around it.
- Add `FlattenException::setAsString()` to make the previous possible.
- Add `CliErrorRenderer` to render error on the CLI too. This means `VarDumper` is now a required dependency of `ErrorHandler`. This paves the way to use it also for rendering HTML - the logic there is much more advanced than what `HtmlErrorRenderer` provides and ever should provide.
- Make `BufferingLogger` map its collected logs to `error_log()` if they are not emptied before.
- Remove some classes that are not needed anymore (`ErrorRenderer`, `ErrorRendererPass`, `HtmlErrorRendererInterface`)
- Simplified the logic in `Debug::enable()` - nobody uses its arguments
- Fix a few issues found meanwhile.

With these changes, the component can be used standalone. One is now able to require only it, register it either with either `ErrorHandler::register()` or `Debug::enable()` and profit.

Commits
-------

d1bf1cada4 [ErrorHandler] help finish the PR
6c9157bbc2 [ErrorHandler] merge and remove the ErrorRenderer component
2019-11-12 10:05:23 +01:00
Yonel Ceruto
d1bf1cada4 [ErrorHandler] help finish the PR 2019-11-12 10:04:13 +01:00
Yonel Ceruto
4939f0e323 Fix handling of empty_data's \Closure value in Date/Time form types 2019-11-11 13:06:09 -05:00
Fabien Potencier
7ddb19c702 bumped Symfony version to 4.3.8 2019-11-11 17:42:32 +01:00
Fabien Potencier
a2fd583db3 updated VERSION for 4.3.7 2019-11-11 17:38:54 +01:00
Fabien Potencier
3445e5c602 Merge branch '4.4'
* 4.4:
  [HttpFoundation] fix typo
  [HttpFoundation][Lock] Connection parameter corrected
  Removed declare(strict_types=1) in DispatchAfterCurrentBusStamp
2019-11-11 17:28:28 +01:00
Fabien Potencier
be987f4926 Merge branch '4.3' into 4.4
* 4.3:
  Removed declare(strict_types=1) in DispatchAfterCurrentBusStamp
2019-11-11 17:28:16 +01:00
Fabien Potencier
a4c4f00e17 bumped Symfony version to 3.4.35 2019-11-11 17:24:44 +01:00
Fabien Potencier
d7601fa827 updated VERSION for 3.4.34 2019-11-11 17:11:23 +01:00
Nicolas Grekas
01d9c9dc80 [HttpFoundation] fix typo 2019-11-11 14:11:43 +01:00
wimg
27207c3056 [HttpFoundation][Lock] Connection parameter corrected 2019-11-11 14:09:26 +01:00
Nicolas Grekas
6be5cc75a4 [HttpFoundation] fix guessing mime-types of files with leading dash 2019-11-11 13:53:10 +01:00
Nicolas Grekas
d446d7733a [VarExporter] fix exporting some strings 2019-11-11 13:48:54 +01:00
Christian Flothmann
eba2d8efc9 make ExceptionEvent handle all throwables 2019-11-11 12:53:44 +01:00
Christian Flothmann
da437e2de8 Merge branch '4.4'
* 4.4:
  [HttpKernel] make ExceptionEvent able to propagate any throwable
  [Security] Avoid unnecessary usage of Reflection
  Disallow symfony/contracts v2.
  minor add missing loop break
  [Security] Add migrating encoder configuration
  [Security] Fix defining multiple roles per access_control rule
2019-11-11 12:15:58 +01:00
Christian Flothmann
23bc40b764 more strict requirements of experimental components 2019-11-11 11:03:58 +01:00
Fabien Potencier
81a177df61 minor #34074 [5.0][Security] Minor clarification of the new isGranted signature (wouterj)
This PR was merged into the 5.0-dev branch.

Discussion
----------

[5.0][Security] Minor clarification of the new isGranted signature

| Q             | A
| ------------- | ---
| Branch?       | 5.0
| Bug fix?      | no
| New feature?  | no
| Deprecations? | no
| Tickets       | n/a
| License       | MIT
| Doc PR        | n/a

As we now only allow a single attribute for `isGranted()` in Symfony 5, let's adapt the PHPdoc and parameter name as well.

Commits
-------

e41e6b48a9 Clarified single attribute to isGranted() a bit more
2019-11-11 10:48:22 +01:00
Nicolas Grekas
6c9157bbc2 [ErrorHandler] merge and remove the ErrorRenderer component 2019-11-10 18:54:30 +01:00
Fabien Potencier
10a349c37d feature #34309 [HttpKernel] make ExceptionEvent able to propagate any throwable (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpKernel] make ExceptionEvent able to propagate any throwable

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

An alternative to #34306.

As a reminder, the goal of this series of PRs is to remove the `FatalThrowableError` wrapper that we introduced to seamlessly handle throwables when they were introduced in PHP 7.

From the changelog of `HttpKernel`:
 * Deprecated methods `ExceptionEvent::get/setException()`, use `get/setThrowable()` instead
 * Deprecated class `ExceptionListener`, use `ErrorListener` instead

And the final target: removed `Symfony\Component\ErrorHandler\Exception\ErrorException` (`FatalThrowableError` is already deprecated.)

Commits
-------

6f67f0e0c0 [HttpKernel] make ExceptionEvent able to propagate any throwable
2019-11-10 14:19:52 +01:00
Valentin Udaltsov
7b9f752b47 Removed declare(strict_types=1) in DispatchAfterCurrentBusStamp 2019-11-10 12:50:21 +03:00
Nicolas Grekas
6f67f0e0c0 [HttpKernel] make ExceptionEvent able to propagate any throwable 2019-11-10 10:37:33 +01:00
Robin Chalas
2377418443 [Security] Avoid unnecessary usage of Reflection 2019-11-09 23:08:03 +01:00
Robin Chalas
040d93d5b5 minor add missing loop break 2019-11-09 13:08:24 +01:00
Fabien Potencier
758e266f48 bug #34304 [Security] Fix defining multiple roles per access_control rule (chalasr)
This PR was merged into the 4.4 branch.

Discussion
----------

[Security] Fix defining multiple roles per access_control rule

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | -
| License       | MIT
| Doc PR        |  https://github.com/symfony/symfony-docs/pull/12371 needs to be reverted

#33584 deprecated passing multiple attributes to `AccessDecisionManager::decide()`, but this change must not impact `access_control` as you cannot define multiple rules with the same criteria for request matching (the first match wins).

Commits
-------

338b3dfd9f [Security] Fix defining multiple roles per access_control rule
2019-11-09 12:16:35 +01:00
Fabien Potencier
d688a79b5a feature #34139 [Security] Add migrating encoder configuration (chalasr)
This PR was merged into the 4.4 branch.

Discussion
----------

[Security] Add migrating encoder configuration

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

Commits
-------

80955be45d [Security] Add migrating encoder configuration
2019-11-09 12:12:07 +01:00
Robin Chalas
80955be45d [Security] Add migrating encoder configuration 2019-11-09 11:20:37 +01:00
Nicolas Grekas
12a8b6937b [Translator] fix compat with translation-contracts v2 2019-11-09 10:30:00 +01:00
Alexander M. Turek
4de3773979 Add parameter type declarations to contracts. 2019-11-09 10:18:34 +01:00
Nicolas Grekas
55559f48b5 [IdentityTranslator] fix compat with translation-contracts v2 2019-11-09 09:49:52 +01:00
Robin Chalas
338b3dfd9f [Security] Fix defining multiple roles per access_control rule 2019-11-09 09:18:51 +01:00
Nicolas Grekas
2a1a266573 Merge branch '4.4'
* 4.4:
  [Messenger] Fixed bad event dispatcher mocks.
  [Workflow] Simplified EventDispatcherMock.
  [Routing] revert the return type for UrlGeneratorInterface::generate to remove null
  [HttpFoundation] Add a way to anonymize IPs
2019-11-09 09:06:17 +01:00
Nicolas Grekas
a20e1ad138 Merge branch '4.3' into 4.4
* 4.3:
  [Workflow] Simplified EventDispatcherMock.
  [Routing] revert the return type for UrlGeneratorInterface::generate to remove null
2019-11-09 09:06:11 +01:00
Fabien Potencier
fd7c676172 minor #34303 [Messenger] Fixed bad event dispatcher mocks (derrabus)
This PR was merged into the 4.4 branch.

Discussion
----------

[Messenger] Fixed bad event dispatcher mocks

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

`EventDispatcherInterface::dispatch()` must return the passed event object. This PR fixes two mocks that violated this contract.

Commits
-------

103930039b [Messenger] Fixed bad event dispatcher mocks.
2019-11-09 07:45:24 +01:00
Fabien Potencier
4463791d0e minor #34299 [Routing] revert the return type for UrlGeneratorInterface::generate to remove null (shieldo)
This PR was merged into the 3.4 branch.

Discussion
----------

[Routing] revert the return type for UrlGeneratorInterface::generate to remove null

…to remove null

| Q             | A
| ------------- | ---
| Branch?       | 3.4 (only)
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| License       | MIT

Bit of a casualty of commit tennis this:

A change to add `null` here as an option for how `UrlGeneratorInterface::generate()` (rather than the concrete `UrlGenerator`) was merged in https://github.com/symfony/symfony/pull/28321, but then [reverted](90494c20cc) for the reason [that this could be seen as a BC break](https://github.com/symfony/symfony/pull/28321#issuecomment-418540080), as the `null` return had not previously been documented (and is still not as part of the interface method docs).

However, in a subsequent change (https://github.com/symfony/symfony/pull/33252) with a wider scope, this doc change was added _back_ in order to reflect the underlying implementation as a result of a PHPStorm plugin complaining. There's no indication though of what a `null` return here though would mean, and for the same reason as the first revert (that this should be seen as a BC break), I'd like to submit this to be reverted for the 3.4 branch. (In 4.4 the `null` has already been removed.)

Having the interface indicating that this method can return `null` necessitates introducing a lot of actually redundant null checks in code that is covered by static analysis tools such as PHPStan.

Commits
-------

9f853f324f [Routing] revert the return type for UrlGeneratorInterface::generate to remove null
2019-11-09 07:39:26 +01:00
Fabien Potencier
f4c925418b feature #32194 [HttpFoundation] Add a way to anonymize IPs (Seldaek)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpFoundation] Add a way to anonymize IPs

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets |
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features --> TODO

This is helpful for GDPR compliance reasons, and it isn't much code saved but it's also good if you don't have to think about how to do it.

Commits
-------

9e62330bc4 [HttpFoundation] Add a way to anonymize IPs
2019-11-09 07:36:01 +01:00
Wouter J
e41e6b48a9 Clarified single attribute to isGranted() a bit more
Also, allow the array type for a single attribute.
2019-11-09 00:23:23 +01:00
Alexander M. Turek
103930039b [Messenger] Fixed bad event dispatcher mocks. 2019-11-09 00:05:14 +01:00
Nicolas Grekas
9e554cee75 [EventDispatcher] dont allow event-dispatcher-contracts ^2 2019-11-08 23:40:51 +01:00
Alexander M. Turek
5aee181c83 [Workflow] Simplified EventDispatcherMock. 2019-11-08 23:25:20 +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
Douglas Greenshields
9f853f324f
[Routing] revert the return type for UrlGeneratorInterface::generate to remove null 2019-11-08 17:25:00 +00:00
Jordi Boggiano
9e62330bc4
[HttpFoundation] Add a way to anonymize IPs 2019-11-08 18:11:01 +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
bc726f7d50 bug #34294 [Workflow] Fix error when we use ValueObject for the marking property (FabienSalles)
This PR was merged into the 4.3 branch.

Discussion
----------

[Workflow] Fix error when we use ValueObject for the marking property

| Q             | A
| ------------- | ---
| Branch?       | 4.3
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #28203 #22031
| License       | MIT

Fix Illegal offset type in `MethodMarkingStore` class when we use Value Object for
the marking property.

Now, we can avoid to use only a string an we can have a Subject class with a Value Object like this :
```php
final class State
{
    public const DRAFT = 'draft';
    public const REVIEWED = 'reviewed';
    public const REJECTED = 'rejected';
    public const PUBLISHED = 'published';

     /** @var string */
    private $state;

    public function __construct(string $state)
    {
        // some validation
        $this->state = $state;
    }

    public function __toString()
     {
         return $this->state;
    }

    public static function Draft()
     {
         return new self(self::DRAFT);
     }
    ...
}

final class Subject
{
    private $marking;

    public function __construct(State $marking = null)
    {
        $this->marking = $marking;
    }

    public function getMarking()
    {
        return $this->marking;
    }

    public function setMarking($marking)
    {
        $this->marking = $marking instanceof State ? $marking : new State($marking);
    }

```

Commits
-------

6570d5cbe2 Fix error when we use VO for the marking property
2019-11-08 17:23: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
97577aea66 feature #34252 [Console] Add support for NO_COLOR env var (Seldaek)
This PR was merged into the 4.4 branch.

Discussion
----------

[Console] Add support for NO_COLOR env var

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

Adds support for https://no-color.org/ - ideally this would be considered a bugfix and added to older releases IMO, but submitting as new feature for now.

cc @johnstevenson

Commits
-------

c1b0a8e956 Add support for NO_COLOR env var
2019-11-08 17:06:42 +01:00
Jordi Boggiano
c1b0a8e956
Add support for NO_COLOR env var 2019-11-08 16:59:14 +01:00
Nicolas Grekas
ba2148fff3 [DI][FrameworkBundle] add EnvVarLoaderInterface - remove SecretEnvVarProcessor 2019-11-08 15:47:02 +01:00
FabienSalles
6570d5cbe2 Fix error when we use VO for the marking property
Fix Illegal offset type when we use ValueObject instead of string for
the marking property #28203 #22031
2019-11-08 12:45:38 +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
4cc88b1ce1 minor #34265 Remove \Throwable bubbling down support deprecation layer (fancyweb)
This PR was merged into the 5.0-dev branch.

Discussion
----------

Remove \Throwable bubbling down support deprecation layer

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

Remove deprecation layer of https://github.com/symfony/symfony/pull/33065

Commits
-------

ffcfdb42a7 Remove \Throwable support deprecation layer
2019-11-08 10:01:31 +01:00
Thomas Calvet
ffcfdb42a7 Remove \Throwable support deprecation layer 2019-11-08 10:00:49 +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
Thomas Calvet
e7456547bd [ErrorHandler] Remove Symfony ClassLoader support in an error enhancer 2019-11-08 09:41:40 +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
Kévin Dunglas
d2c5ffda52 [HttpClient] Fix a crash when calling CurlHttpClient::__destruct() 2019-11-08 09:23:45 +01:00
Thomas Calvet
da454db947 Unallow symfony/http-kernel ^5.0 2019-11-07 18:22:59 +01:00
Peter Schultz
e98731aabf [HttpClient] allow arbitrary JSON values in requests
Allow arbitrary values in the "json" request option. Previously values were
limitated to arrays and objects of type JsonSerializable. This doesn't account
for scalar values and classes with public properties (which don't need to
implement JsonSerializable), all of which are perfectly acceptable arguments to
json_encode.
2019-11-07 13:44:51 +01:00
Nicolas Grekas
3d8cca8a73 minor #34266 [VarDumper] Clean casters @final annotations (fancyweb)
This PR was merged into the 5.0-dev branch.

Discussion
----------

[VarDumper] Clean casters @final annotations

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

Clean https://github.com/symfony/symfony/pull/33882 on master.

Commits
-------

ce35ca2d01 [VarDumper] Clean casters @final annotations
2019-11-07 13:07:34 +01:00
Yonel Ceruto
48937fc27b minor #34269 [ErrorHandler] Clean @final annotation from ErrorHandler (fancyweb)
This PR was merged into the 5.0-dev branch.

Discussion
----------

[ErrorHandler] Clean @final annotation from ErrorHandler

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

Clean leftover `@final` annotation.

Commits
-------

bf7fc2b [ErrorHandler] Clean @final annotation from ErrorHandler
2019-11-07 06:16:48 -05:00
Andrej Hudec
e0ee01c10d [DependencyInjection] Added option ignore_errors: not_found while importing config files 2019-11-07 12:06:31 +01:00
Yonel Ceruto
c90b53e54e minor #34272 [Debug] Remove it from master (fancyweb)
This PR was merged into the 5.0-dev branch.

Discussion
----------

[Debug] Remove it from master

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

Looks like it came back from the dead 😅

Commits
-------

54ffd46 [Debug] Remove it from master
2019-11-06 18:40:12 -05:00
Fabien Potencier
4056baf0f4 bug #34129 [FrameworkBundle][Translation] Invalidate cached catalogues when the scanned directories change (fancyweb)
This PR was merged into the 4.3 branch.

Discussion
----------

[FrameworkBundle][Translation] Invalidate cached catalogues when the scanned directories change

| Q             | A
| ------------- | ---
| Branch?       | 4.3
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | https://github.com/symfony/symfony/issues/33992
| License       | MIT
| Doc PR        | -

The cache file name needs to depend on the scanned directories list. Otherwise, when a new directory is added, even if the container is rebuilt and the `FWB Translator` gets the new scanned directories list, the cached catalogue name is still the same and is resolved accordingly.

An alternative would be to make the `Translation Translator` `getCatalogueCachePath()` method and `fallbackLocales` `@internal` and `protected` to just override everything in the `FWB Translator`. The `cacheVary` argument has the benefit to be reusable by all the `Translation` component users.

Note that there is a negative minor performance impact that increases when the list of scanned directories grows.

Commits
-------

6cbee0944c [FrameworkBundle][Translation] Invalidate cached catalogues when the scanned directories change
2019-11-07 00:21:49 +01:00
Thomas Calvet
54ffd4672d [Debug] Remove it from master 2019-11-06 22:56:05 +01:00
Thomas Calvet
bf7fc2b3f3 [ErrorHandler] Clean @final annotation from ErrorHandler 2019-11-06 22:38:32 +01:00
Thomas Calvet
ce35ca2d01 [VarDumper] Clean casters @final annotations 2019-11-06 19:00:00 +01:00
Yonel Ceruto
bf27a83064 minor #34212 [Form] fix exception messages (xabbuh)
This PR was merged into the 5.0-dev branch.

Discussion
----------

[Form] fix exception messages

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

Commits
-------

be8cb4e fix exception messages
2019-11-06 12:58:36 -05: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
d4ae37457a Merge branch '4.4'
* 4.4:
  [Serializer] Use context to compute MetadataAwareNameConverter cache
  [VarDumper] Mark StubCaster as @final
2019-11-06 17:13:58 +01:00
Nicolas Grekas
a1155ea6e2 Merge branch '4.3' into 4.4
* 4.3:
  [Serializer] Use context to compute MetadataAwareNameConverter cache
2019-11-06 17:13:44 +01:00
Anto
0ac5346bf5
[Serializer] Use context to compute MetadataAwareNameConverter cache 2019-11-06 17:10:14 +01:00
Thomas Calvet
d25b60961f [VarDumper] Mark StubCaster as @final 2019-11-06 17:06:09 +01:00
Nicolas Grekas
4c401ebdd6 [HttpKernel] backport FC compat code 2019-11-06 15:42:08 +01:00
Nicolas Grekas
98b457aa36 Merge branch '4.4'
* 4.4:
  conflict with FrameworkBundle < 4.4
  [DoctrineBridge] Reopen DoctrineDataCollector to extensibility
  [HttpClient] fix support for NTLM auth
2019-11-06 15:14:36 +01:00
Nicolas Grekas
3a4d60f298 minor #34260 [Messenger] conflict with FrameworkBundle < 4.4 (xabbuh)
This PR was merged into the 4.4 branch.

Discussion
----------

[Messenger] conflict with FrameworkBundle < 4.4

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

Commits
-------

cddf3e9083 conflict with FrameworkBundle < 4.4
2019-11-06 15:12:58 +01:00
Christian Flothmann
cddf3e9083 conflict with FrameworkBundle < 4.4 2019-11-06 15:11:47 +01:00
Nicolas Grekas
370c4379a5 [HttpClient] fix support for NTLM auth 2019-11-06 14:41:42 +01:00
Christian Flothmann
9733bef488 bug #34213 [Notifier][Telegram] Fixing Telegram token (chr-hertel)
This PR was merged into the 5.0-dev branch.

Discussion
----------

[Notifier][Telegram] Fixing Telegram token

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

Thanks, i really love this integration! i needed to do two minor changes while playing around:

- token needs to contain user and password, see https://core.telegram.org/bots/api#making-requests
- channel should be optional for bot interaction, using `chat_id` as message option instead

Commits
-------

c2c3e70e6b fixing telegram token
2019-11-06 14:40:22 +01:00
Nicolas Grekas
4e703258a1 Merge branch '4.4'
* 4.4:
  [HttpClient] fix after merge from 4.3
  [HttpClient] expose only gzip when doing transparent compression
  [VarDumper] fix tests & displaying generators
  Fix WeekType tests
  add species to inflector and inflector tests
  Add handling for delayed message to redis transport
2019-11-06 13:04:01 +01:00
Nicolas Grekas
62bf1f5002 bug #34255 [HttpClient] fix after merge from 4.3 (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpClient] fix after merge from 4.3

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

Commits
-------

3c6dc96ab4 [HttpClient] fix after merge from 4.3
2019-11-06 13:03:36 +01:00
Nicolas Grekas
3932642619 bug #34250 [VarDumper] fix tests & displaying generators (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[VarDumper] fix tests & displaying generators

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

Replaces #34248

Commits
-------

bcf43a4593 [VarDumper] fix tests & displaying generators
2019-11-06 13:03:12 +01:00
Nicolas Grekas
dac61d0667 Merge branch '4.3' into 4.4
* 4.3:
  [HttpClient] expose only gzip when doing transparent compression
  add species to inflector and inflector tests
2019-11-06 13:02:32 +01:00
Nicolas Grekas
3c6dc96ab4 [HttpClient] fix after merge from 4.3 2019-11-06 12:53:36 +01:00
Nicolas Grekas
6571dddc4c [HttpClient] expose only gzip when doing transparent compression 2019-11-06 11:21:02 +01:00
Nicolas Grekas
bcf43a4593 [VarDumper] fix tests & displaying generators 2019-11-06 10:36:47 +01:00
Thomas Calvet
906b82eb97 Fix WeekType tests 2019-11-05 23:24:16 +01:00
Fabien Potencier
9151698d85 minor #34135 [Validator] Add the missing translations for the Hebrew ("he") locale and fix 2 typos (Tamarpe)
This PR was squashed before being merged into the 3.4 branch (closes #34135).

Discussion
----------

[Validator] Add the missing translations for the Hebrew ("he") locale and fix 2 typos

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | no
| New feature?  | yes
| Deprecations? | no
| Tickets       | Fix #30166
| License       | MIT

Ref #30166

Commits
-------

022cf67f19 [Validator] Add the missing translations for the Hebrew (\"he\") locale and fix 2 typos
2019-11-05 23:03:38 +01:00
tamar peled
022cf67f19 [Validator] Add the missing translations for the Hebrew (\"he\") locale and fix 2 typos 2019-11-05 23:03:33 +01:00
jeffreymoelands
cc87e40a8f add species to inflector and inflector tests 2019-11-05 20:58:22 +01:00
Alexander Schranz
cfece10569 Add handling for delayed message to redis transport 2019-11-05 19:40:51 +01:00
Nicolas Grekas
1cc66db290 Merge branch '4.4'
* 4.4:
  [Messenger] use events consistently in worker
  Deprecate things that prevent \Throwable from bubbling down
2019-11-05 18:32:06 +01:00
Tobias Schultze
201f159303 [Messenger] use events consistently in worker 2019-11-05 18:28:25 +01:00
Thomas Calvet
abef506e89 Deprecate things that prevent \Throwable from bubbling down 2019-11-05 18:23:20 +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
620e8942a2 bug #34085 [Console] Detect dimensions using mode CON if vt100 is supported (rtek)
This PR was merged into the 4.3 branch.

Discussion
----------

[Console] Detect dimensions using mode CON if vt100 is supported

| Q             | A
| ------------- | ---
| Branch?       | 4.3
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #33915
| License       | MIT

This fixes color support detection for users of Win10 + git-bash.  If vt100 support is detected, the terminal will not try to use `stty` to test for dimensions. Calling such command implicitly disables vt100 support on STDOUT.

Commits
-------

fdeceff85e [Console] Fix #33915, Detect dimensions using mode CON if vt100 is supported
2019-11-05 16:00:49 +01:00
rtek
fdeceff85e [Console] Fix #33915, Detect dimensions using mode CON if vt100 is supported 2019-11-05 16:00:28 +01:00
Nicolas Grekas
e0c7ab0700 bug #34199 [HttpClient] Retry safe requests using HTTP/1.1 when HTTP/2 fails (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

[HttpClient] Retry safe requests using HTTP/1.1 when HTTP/2 fails

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

cURL support of HTTP/2 is not as robust as HTTP/1.1. When doing >1k requests, the stream can break for buggy reasons. New versions of cURL are fixed already, but let's make our logic more resilient anyway, and switch to HTTP/1.1 when a *safe* request fails for send/recv reasons.

Commits
-------

9f7cd66004 [HttpClient] Retry safe requests when then fail before the body arrives
2019-11-05 15:50:06 +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
Thomas Calvet
761df46993 [HttpKernel][DataCollectorInterface] Ease compatibility 2019-11-05 14:42:27 +01:00
Nicolas Grekas
dc8bb309b5 feature #34184 [VarDumper] display the method we're in when dumping stack traces (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[VarDumper] display the method we're in when dumping stack traces

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

This PR adds the line in blue:
![image](https://user-images.githubusercontent.com/243674/68152006-131bee00-ff43-11e9-8270-1d547732a7e5.png)

Without it, we're missing some context as the method is from a trait. This allows knowing which class is actually importing and using the method.

Commits
-------

23600cc8e1 [VarDumper] display the method we're in when dumping stack traces
2019-11-05 00:35:38 +01:00
Nicolas Grekas
a56ac78269 bug #34192 [Routing] Fix URL generator instantiation (X-Coder264, HypeMC)
This PR was merged into the 4.3 branch.

Discussion
----------

[Routing] Fix URL generator instantiation

| Q             | A
| ------------- | ---
| Branch?       | 4.3
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| License       | MIT

After merging my fix (PR https://github.com/symfony/symfony/pull/31023) from the 4.2 branch to 4.3 (which was master at the time) one code path which instantiates the url generator was missed. This new code path was added via https://github.com/symfony/symfony/pull/28865 and was missed during the merge because there was no merge conflict there as that code path didn't exist on 4.2.

So the current state on the 4.3 branch is:

- https://github.com/symfony/symfony/blob/v4.3.5/src/Symfony/Component/Routing/Router.php#L356 (default locale is properly passed to the constructor)

- https://github.com/symfony/symfony/blob/v4.3.5/src/Symfony/Component/Routing/Router.php#L372 (default locale is **NOT** properly passed to the constructor)

- https://github.com/symfony/symfony/blob/v4.3.5/src/Symfony/Component/Routing/Router.php#L378 (default locale is properly passed to the constructor)

I noticed this in my app because tests started to fail on the branch where we are upgrading our app from SF 4.2 to 4.3 due to this. This PR fixes the inconsistency (now the default locale is passed on all three places) which fixes the bug.

Commits
-------

9aa66e2f59 Add tests to ensure defaultLocale is properly passed to the URL generator
16c9bafee4 Fix URL generator instantiation
2019-11-04 21:23:21 +01:00
HypeMC
9aa66e2f59 Add tests to ensure defaultLocale is properly passed to the URL generator 2019-11-04 21:23:03 +01:00
Chi-teck
bd1ead251c [DependencyInjection] Fix broken references in tests 2019-11-04 20:58:26 +01:00
Nicolas Grekas
23600cc8e1 [VarDumper] display the method we're in when dumping stack traces 2019-11-04 20:39:01 +01:00
Nicolas Grekas
9f7cd66004 [HttpClient] Retry safe requests when then fail before the body arrives 2019-11-04 16:10:28 +01:00
Fabien Potencier
14080ce5b5 minor #34197 [ErrorRenderer] Show generic message in non-debug mode (yceruto)
This PR was merged into the 4.4 branch.

Discussion
----------

[ErrorRenderer] Show generic message in non-debug mode

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

I agree with @Tobion here https://github.com/symfony/symfony/pull/34158#issuecomment-548181099, so let's always show the detail message, but for 5xx errors we'll send a generic message instead.

/cc @dunglas wdyt?

Commits
-------

45f1a5ee06 Show generic message in non-debug mode
2019-11-04 13:48:39 +01:00
Fabien Potencier
e4c661901e feature #33732 [Console] Rename some methods related to redraw frequency (javiereguiluz)
This PR was squashed before being merged into the 4.4 branch (closes #33732).

Discussion
----------

[Console] Rename some methods related to redraw frequency

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

In #26339 we added `preventRedrawFasterThan()` and `forceRedrawSlowerThan()`. While merging the docs for them (https://github.com/symfony/symfony-docs/pull/12364) I thought that the method names are a bit hard to understand.

In this PR I propose a renaming for your consideration. Thanks!

In the following example, we want to update the progress bar every 100 iterations, but not faster than 100ms or slower than 200ms.

**Before**

```php
$progressBar = new ProgressBar($output, 50000);
$progressBar->start();

$progressBar->setRedrawFrequency(100);
$progressBar->preventRedrawFasterThan(0.1);
$progressBar->forceRedrawSlowerThan(0.2);
```

**After**

```php
$progressBar = new ProgressBar($output, 50000);
$progressBar->start();

$progressBar->setRedrawFrequency(100);
$progressBar->maxRefreshInterval(0.1);
$progressBar->minRefreshInterval(0.2);
```

Commits
-------

e6ee7b07f3 [Console] Rename some methods related to redraw frequency
2019-11-04 13:46:19 +01:00
Javier Eguiluz
e6ee7b07f3 [Console] Rename some methods related to redraw frequency 2019-11-04 13:46:13 +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
e057a9c89f bug #34134 [Messenger] fix retry of messages losing the routing key and properties (Tobion)
This PR was merged into the 4.3 branch.

Discussion
----------

[Messenger] fix retry of messages losing the routing key and properties

| Q             | A
| ------------- | ---
| Branch?       | 4.3
| Bug fix?      | yes
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets       | Fix #32994 <!-- prefix each issue number with "Fix #", if any -->
| License       | MIT
| Doc PR        |

Messages sent for retry in rabbitmq lost the routing key and properties like the priority. Now we read those original properties and sent the retry message with the same properties (unless those properties have already been set manually before).

Commits
-------

75c674debc [Messenger] fix retry of messages losing the routing key and properties
2019-11-04 07:59:16 +01:00
Fabien Potencier
0af10ccd0d minor #34160 Adding some validations tags on validators.et.xlf (glodzienski)
This PR was merged into the 3.4 branch.

Discussion
----------

Adding some validations tags on validators.et.xlf

| Q             | A
| ------------- | ---
| Branch?       | 4.4 for features / 3.4 or 4.3 for bug fixes <!-- see below -->
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | https://github.com/symfony/symfony/issues/30160
| License       | MIT

I saw an issue in the **Issues Page** and i want to help to improve the repository, even with a simple modification

Commits
-------

16bd71b5b1 Adding some validations tags on validators.et.xlf
2019-11-03 18:41:53 +01:00
Fabien Potencier
78bdf1a307 minor #34153 [Validator] add missing translation for 94 (it) (garak)
This PR was merged into the 3.4 branch.

Discussion
----------

[Validator] add missing translation for 94 (it)

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | None
| License       | MIT
| Doc PR        | not needed

Italian translation for validator is missing last item (id 94)

Commits
-------

1dc7ce1159 add missing translation for 94 (it)
2019-11-03 18:21:08 +01:00
Fabien Potencier
9162892fd4 bug #34181 [Stopwatch] Fixed bug in getDuration when counting multiple ongoing periods (TimoBakx)
This PR was merged into the 3.4 branch.

Discussion
----------

[Stopwatch] Fixed bug in getDuration when counting multiple ongoing periods

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #34087
| License       | MIT
| Doc PR        | N/A

When running multiple periods in StopwatchEvent (start multiple times and not stop them all), the getDuration() method would return unexpected values.

This was because at every stop, the last entry in the `started` array was removed, while the `getDuration` method was still expecting all the started events to still be there.

Now, when calling `getDuration`, the duration of all the finished periods are added together with the unfinished counts.

Commits
-------

af00d8deab [Stopwatch] Fixed bug in getDuration when counting multiple ongoing periods
2019-11-03 18:17:59 +01:00
Fabien Potencier
142bdddece bug #34165 [PropertyInfo] Fixed type extraction for nullable collections of non-nullable elements (happyproff)
This PR was squashed before being merged into the 4.3 branch (closes #34165).

Discussion
----------

[PropertyInfo] Fixed type extraction for nullable collections of non-nullable elements

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

When an annotation is declared as `int[]|null`, it is handled like `(int|null)[]|null`. So array values are also nullable.

Now this behavior is fixed that `int[]|null` is either a collection of integers only or null.

How to reproduce:
```php
class Dummy
{
    /** @var int[]|null */
    public $nullableCollectionOfNonNullableElements;
}

/** @var Type[] $types */
$types = (new PhpDocExtractor())->getTypes(Dummy::class, 'nullableCollectionOfNonNullableElements');

$collectionType = $types[0];
assert($collectionType->isCollection() === true); // OK
assert($collectionType->isNullable() === true); // OK
assert($collectionType->getCollectionValueType()->getBuiltinType() === Type::BUILTIN_TYPE_INT); // OK
assert($collectionType->getCollectionValueType()->isNullable() === false); // FAILED
```

Commits
-------

5e394c40f0 [PropertyInfo] Fixed type extraction for nullable collections of non-nullable elements
2019-11-03 13:19:19 +01:00
Stanislav Gamayunov
5e394c40f0 [PropertyInfo] Fixed type extraction for nullable collections of non-nullable elements 2019-11-03 13:19:12 +01:00
Fabien Potencier
767b265681 bug #34179 [Stopwatch] Fixed a bug in StopwatchEvent::getStartTime (TimoBakx)
This PR was merged into the 3.4 branch.

Discussion
----------

[Stopwatch] Fixed a bug in StopwatchEvent::getStartTime

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #34088
| License       | MIT
| Doc PR        | N/A

When using a `StopwatchEvent` with an `$origin` that's smaller than the first start time, calling `getStartTime()` before ending the event will give `0` instead of the correct number.

The proposed fix in #34088 fixes this.

Commits
-------

b2b7eab949 [Stopwatch] Fixed a bug in stopwatch event getStartTime
2019-11-03 13:11:53 +01:00
Eric Schildkamp
613717d71f [FrameworkBundle] [HttpKernel] fixed correct EOL and EOM month
* Added a hardcoded day 01 in order to output the proper month November
which is the correct EOL and EOM month.
* \DateTime::createFromFormat('mY') will output December for every month
where day 31 exists.
2019-11-03 13:06:33 +01:00
Fabien Potencier
14da17044b bug #34219 [Security] Add back ROLE_PREVIOUS_ADMIN to impersonated user (chalasr)
This PR was merged into the 5.0-dev branch.

Discussion
----------

[Security] Add back ROLE_PREVIOUS_ADMIN to impersonated user

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

Still useful as per https://symfony.com/doc/master/security/impersonating_user.html#knowing-when-impersonation-is-active

Commits
-------

64f4430cda [Security] Add back ROLE_PREVIOUS_ADMIN to impersonated user
2019-11-03 13:02:10 +01:00
Fabien Potencier
08a218c79f bug #34218 [Security] Fix SwitchUserToken wrongly deauthenticated (chalasr)
This PR was merged into the 4.4 branch.

Discussion
----------

[Security] Fix SwitchUserToken wrongly deauthenticated

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

Commits
-------

e47b31c43c [Security] Fix SwitchUserToken wrongly deauthenticated
2019-11-03 13:01:14 +01:00
Fabien Potencier
0c784d2879 feature #32061 Add new Form WeekType (dFayet)
This PR was merged into the 4.4 branch.

Discussion
----------

Add new Form WeekType

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | yes <!-- please update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | #32029
| License       | MIT
| Doc PR        | <!--symfony/symfony-docs#...--> coming soon

----
#### Update

After the first try, I've updated the field to have more options, and be more "straight".
The field acts like the `DateTimeType` or `TimeType`,  various fields type (pure text, html5 type, select boxes), data validation, ....

For that I took the choice to update the `DateTimeToStringTransformer` and `DateTimeToArrayTransformer` to make them work with weeks format.

I was not sure if it was better to update them or create new ones, WDYT?

Before addind tests and docs, it would be nice to have your first thoughts/comments 😊

Do you need/want a small test repo?

Commits
-------

c4a2f026e0 Add new Form WeekType
2019-11-03 12:59:10 +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
Fabien Potencier
22976d0f54 bug #34035 [Serializer] Fix property name usage for denormalization (antograssiot)
This PR was squashed before being merged into the 4.3 branch (closes #34035).

Discussion
----------

[Serializer] Fix property name usage for denormalization

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

Using the `@SerializedName()` and passing it an existing property name affects the deserialization even if `@Groups()` are not supposed to be involved.

## How to reproduce

Given the following class
```php

class Foo
{
    /**
     * @Group("list")
     */
    private $bar;

    public function setBar($bar)
    {
        $this->bar = $bar;
    }
    public function getBar()
    {
        return $this->bar;
    }
    /**
     * @Groups({"list:export"})
     * @SerializedName("bar")
     */
    public function getBarForExport()
    {
        return $this->bar.' Rocks';
    }
}
```

This allow us to change the content of the property based on the normalization context.

```php
$obj = new Foo();
$obj->setBar('Api Platform');

$data = $normalizer->normalize($obj, null, ['groups' => ["list"]]);
// $data => ['bar' => 'Api Platform'] as expected

$data = $normalizer->normalize($obj, null, ['groups' => ["list:export"]]);
// $data => ['bar' => 'Api Platform Rocks'] as expected

$obj = $normalizer->denormalize(['bar' => 'Api Platform'], Foo::class, null, ['groups' => ['list']]);
// $obj->getBar()  would return null instead of 'Api Platform' as expected.
```

Commits
-------

8ca4a3f345 [Serializer] Fix property name usage for denormalization
2019-11-03 12:04:07 +01:00
Anto
8ca4a3f345 [Serializer] Fix property name usage for denormalization 2019-11-03 12:04:02 +01:00
Oskar Stark
2ce086ab29
Name test accordingly to the tested class 2019-11-03 10:04:05 +01:00
HypeMC
51b20dd895 Fix MockFileSessionStorageTest::sessionDir being used after it's unset 2019-11-03 03:12:45 +01:00
Robin Chalas
e47b31c43c [Security] Fix SwitchUserToken wrongly deauthenticated 2019-11-02 08:21:17 +01:00
Robin Chalas
64f4430cda [Security] Add back ROLE_PREVIOUS_ADMIN to impersonated user 2019-11-02 08:18:50 +01:00
Christopher Hertel
c2c3e70e6b fixing telegram token 2019-11-01 17:59:41 +01:00
dFayet
c4a2f026e0 Add new Form WeekType 2019-11-01 15:48:13 +01:00
Christian Flothmann
be8cb4eef6 fix exception messages 2019-11-01 15:41:54 +01:00
Tobias Schultze
127f5da1fd [Messenger] remove legacy code in SendersLocator 2019-11-01 13:59:10 +01:00
Tobias Schultze
0ea2855cdf Merge branch '4.4' 2019-11-01 13:49:41 +01:00
Fabien Potencier
ce6332ce71 bumped Symfony version to 4.3.7 2019-11-01 11:04:19 +01:00
Fabien Potencier
b959f05d98 updated VERSION for 4.3.6 2019-11-01 11:00:03 +01:00
Fabien Potencier
36c4c66a60 bumped Symfony version to 3.4.34 2019-11-01 10:59:17 +01:00
Fabien Potencier
a3ae48695d updated VERSION for 3.4.33 2019-11-01 10:46:31 +01:00
Tobias Schultze
d7e0f98cd0 [Messenger] extract worker logic to listener and sent messages for retry
and failure directly to transport instead of redispatching on the bus
2019-10-31 15:47:36 +01:00
Tobias Schultze
cf10c02765 minor #34155 Revert SyncTransport simplification and fix properly (weaverryan)
This PR was squashed before being merged into the 4.4 branch (closes #34155).

Discussion
----------

Revert SyncTransport simplification and fix properly

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #34115 (and also related to #34066)
| License       | MIT
| Doc PR        | Not needed

In #34069, I made `SyncTransport` simpler by removing that transport class and making the whole things a config trick. I felt GREAT about that solution... until i realized two big problems:

1) It kills using env vars for `sync://` because we read the config values at build time - #34115 - that could probably be fixed by adding a factory, but then there is also the next problem

2) If someone routed a message to `[async, sync]` (weird, but allowed), my #34069 config solution basically maps this internally to `[async]`, which actually causes the message to *not* be handled immediately. Basically, my solution only worked if you route a message ONLY to one sync transport, but fails if you route to multiple transports.

So... this fixes things in a less-cool, but sensible way:

A) The first commit reverts #34069 exactly
B) The second commit solves the issue that we need to know if a message is being handled in a "worker" context or not, so middleware can decide if they should reset things before/after handling things. Previously we were using `ReceivedStamp` to know this. But because `SyncTransport` also "receives" the message and adds this stamp, it's not enough. To fix this, I added a new `ConsumedByWorkerStamp` that clearly means: "This message is being handled by a worker" (and so, you might want to "reset" some things before/after handling).

Thanks!

Commits
-------

01a9fefe77 Adding ConsumedByWorkerStamp as way to mark a message in a "worker context"
38f19a960c Revert "[Messenger] Removing "sync" transport and replacing it with much nicer config trick"
2019-10-31 15:10:54 +01:00
Yonel Ceruto
45f1a5ee06 Show generic message in non-debug mode 2019-10-31 09:58:15 -04:00
Nicolas Grekas
e388b739ed [HttpClient] Fix perf issue when doing thousands of requests with curl 2019-10-31 08:19:20 +01:00
Nicolas Grekas
aea43b27b0 minor #34166 [VarDumper] Do not dump the EventDispatcher (lyrixx)
This PR was merged into the 4.4 branch.

Discussion
----------

[VarDumper] Do not dump the EventDispatcher

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

Commits
-------

31c402a003 [VarDumper] Do not dump the EventDispatcher
2019-10-30 22:27:22 +01:00
Antonio Pauletich
16c9bafee4
Fix URL generator instantiation 2019-10-30 20:24:37 +01:00
Nicolas Grekas
38bd52e9be feature #34133 [Cache] add DeflateMarshaller - remove phpredis compression (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[Cache] add DeflateMarshaller - remove phpredis compression

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

phpredis compression doesn't play well with lua scripting as used in #33939
Let's remove it and provide a `DeflateMarshaller` instead.

Ppl can use it via decoration:
```yaml
services:
    Symfony\Component\Cache\Marshaller\DeflateMarshaller:
        decorates: cache.default_marshaller
        arguments: ['@Symfony\Component\Cache\Marshaller\DeflateMarshaller.inner']
```

It's not enabled by default because that might break pools that are shared between different apps.

/cc @andrerom FYI

Commits
-------

452c863639 [Cache] add DeflateMarshaller - remove phpredis compression
2019-10-30 17:54:40 +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
Nicolas Grekas
ba6dd85eb9 Merge branch '4.4'
* 4.4:
  [Validator] fix merge
2019-10-30 14:48:35 +01:00
Nicolas Grekas
cc357ad70c [Validator] fix merge 2019-10-30 14:47:18 +01:00
Nicolas Grekas
4d868d4e48 [DomCrawler] fix merge 2019-10-30 14:28:36 +01:00
Nicolas Grekas
7e65dad828 Merge branch '4.4'
* 4.4:
  [4.3] Remove unused local variables
2019-10-30 14:25:47 +01:00
Nicolas Grekas
94beae00b1 Merge branch '4.3' into 4.4
* 4.3:
  [4.3] Remove unused local variables
2019-10-30 14:23:44 +01:00
Nicolas Grekas
e8b31ff608 minor #34176 [4.3] Remove unused local variables (fancyweb)
This PR was merged into the 4.3 branch.

Discussion
----------

[4.3] Remove unused local variables

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

Follow up of https://github.com/symfony/symfony/pull/34105 on 4.3.

Commits
-------

58161b8eec [4.3] Remove unused local variables
2019-10-30 14:18:51 +01:00
Nicolas Grekas
00c0bd499f Merge branch '4.4'
* 4.4:
  [Lock][HttpFoundation] Hot fix
2019-10-30 14:15:30 +01:00
Nicolas Grekas
301ec496ea [Lock][HttpFoundation] Hot fix 2019-10-30 14:15:17 +01:00
Nicolas Grekas
c93bf69db3 Merge branch '4.4'
* 4.4:
  [Config] Disable default alphabet sorting in glob function due of unstable sort
  [HttpClient] always return the empty string when the response cannot have a body
  [TwigBundle][exception] Added missing css variable to highlight line in trace
  [Serializer] Improve messages for unexpected resources values
  [SecurityBundle] correct types for default arguments for firewall configs
2019-10-30 14:09:48 +01:00
Timo Bakx
b2b7eab949 [Stopwatch] Fixed a bug in stopwatch event getStartTime 2019-10-30 14:03:57 +01:00
Thomas Calvet
58161b8eec [4.3] Remove unused local variables 2019-10-30 13:58:49 +01:00
Nicolas Grekas
0b5b6fa79f Merge branch '4.3' into 4.4
* 4.3:
  [Config] Disable default alphabet sorting in glob function due of unstable sort
  [HttpClient] always return the empty string when the response cannot have a body
  [TwigBundle][exception] Added missing css variable to highlight line in trace
  [Serializer] Improve messages for unexpected resources values
  [SecurityBundle] correct types for default arguments for firewall configs
2019-10-30 13:55:29 +01:00
Nicolas Grekas
1aaf58b55a Merge branch '3.4' into 4.3
* 3.4:
  [Config] Disable default alphabet sorting in glob function due of unstable sort
  [Serializer] Improve messages for unexpected resources values
  [SecurityBundle] correct types for default arguments for firewall configs
2019-10-30 13:53:54 +01:00
Nicolas Grekas
27b0baa270 bug #33998 [Config] Disable default alphabet sorting in glob function due of unstable sort (hurricane-voronin)
This PR was squashed before being merged into the 3.4 branch.

Discussion
----------

[Config] Disable default alphabet sorting in glob function due of unstable sort

…table sort

| Q             | A
| ------------- | ---
| Branch?       | 3.4  <!-- see below -->
| Bug fix?      | yes
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets       | Fix #33990  <!-- prefix each issue number with "Fix #", if any -->
| License       | MIT
| Doc PR        | no <!-- required for new features -->

`\Symfony\Component\Config\Resource\GlobResource::getIterator` loads files using `glob` not it the stable sorting, e.g several files: `doctrine.yml` and `doctrine_mongodb.yaml` in `config/packages` folder.
On requests these files come(randomly) in a different order, which leads to reinitialization of symfony kernel in `dev` environment. It's a little bit annoying and takes a lot of time in a common :(

<!--
Additionally (see https://symfony.com/roadmap):
 - Always add tests and ensure they pass.
 - Never break backward compatibility (see https://symfony.com/bc).
 - Bug fixes must be submitted against the lowest maintained branch where they apply
   (lowest branches are regularly merged to upper ones so they get the fixes too.)
 - Features and deprecations must be submitted against branch 4.4.
 - Legacy code removals go to the master branch.
-->

Commits
-------

3bed0247c0 [Config] Disable default alphabet sorting in glob function due of unstable sort
2019-10-30 13:46:47 +01:00
Denys Voronin
3bed0247c0 [Config] Disable default alphabet sorting in glob function due of unstable sort 2019-10-30 13:43:22 +01:00
Nicolas Grekas
f78e14332e [HttpClient] always return the empty string when the response cannot have a body 2019-10-30 12:53:18 +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
Fabien Potencier
6bb7751fc1 feature #34177 [HttpFoundation][FrameworkBundle] allow configuring the session handler with a DSN (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpFoundation][FrameworkBundle] allow configuring the session handler with a DSN

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

```yaml
framework:
    session:
        handler_id: 'redis://localhost'
        handler_id: '%env(REDIS_URL)%'
        handler_id: '%env(DATABASE_URL)%'
        handler_id: 'file://%kernel.project_dir%/var/sessions'
```

etc.

the database connection is not shared with the ORM (don't mess with transactions.)
redis/memcached connections are shared between cache and session.
(as a reminder, cache and ORM share the db connection: we're ok with trashing the cache on a rollback)

Lock-related changes are a follow up of #34043.
(fabbot failure is false positive)

Commits
-------

de9c61f423 [HttpFoundation][FrameworkBundle] allow configuring the session handler with a DSN
2019-10-30 11:42:43 +01:00
Nicolas Grekas
de9c61f423 [HttpFoundation][FrameworkBundle] allow configuring the session handler with a DSN 2019-10-30 10:56:04 +01:00
Christian Flothmann
9e7ab8c003 feature #32107 [Validator] Add AutoMapping constraint to enable or disable auto-validation (dunglas)
This PR was squashed before being merged into the 4.4 branch (closes #32107).

Discussion
----------

[Validator] Add AutoMapping constraint to enable or disable auto-validation

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | #32070, #32015   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | todo

As discussed in #32070 and #32015, it's sometimes mandatory to prevent some classes or properties to be auto mapped (auto-validated). This PR introduces a new constraint, `@AutoMapping` allowing to do exactly that. Examples:

Class:

```php
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;

/**
 * @ORM\Entity
 * @Assert\AutoMapping(false)
 */
class DoctrineLoaderNoAutoMappingEntity
{
    /**
     * @ORM\Id
     * @ORM\Column
     */
    public $id;

    /**
     * @ORM\Column(length=20, unique=true)
     */
    public $maxLength;
}
```

Property:

```php
namespace Symfony\Bridge\Doctrine\Tests\Fixtures;

use Doctrine\ORM\Mapping as ORM;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
use Symfony\Component\Validator\Constraints as Assert;

/**
 * @ORM\Entity
 */
class DoctrineLoaderEntity extends DoctrineLoaderParentEntity
{
    /**
     * @ORM\Id
     * @ORM\Column
     */
    public $id;

    /**
     * @ORM\Column(length=10)
     * @Assert\AutoMapping(false)
     */
    public $noAutoMapping;
}
```

The rules are the following:

* If the constraint is present on a property, and set to true, auto-mapping is always on, regardless of the config, and of any class level annotation
* If the constraint is present on a property, and set to false, auto-mapping is always off, regardless of the config, and of any class level annotation
* If the constraint is present on a class, and set to true, auto-mapping is always on except if a the annotation has been added to a specific property, and regardless of the config
* If the constraint is present on a class, and set to false, auto-mapping is always off except if a the annotation has been added to a specific property, and regardless of the config

Commits
-------

f6519ce88b [Validator] Add AutoMapping constraint to enable or disable auto-validation
2019-10-30 08:50:31 +01:00
Kévin Dunglas
f6519ce88b [Validator] Add AutoMapping constraint to enable or disable auto-validation 2019-10-30 08:50:22 +01:00
Robin Chalas
81b9c3c682 [DI] Fix "!tagged" related upgrade/changelog notes 2019-10-29 21:21:43 +01:00
Timo Bakx
af00d8deab [Stopwatch] Fixed bug in getDuration when counting multiple ongoing periods 2019-10-29 21:16:34 +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
Nicolas Grekas
d08273236c feature #34170 Re-allow to use "tagged" in service definitions (dunglas)
This PR was merged into the 4.4 branch.

Discussion
----------

Re-allow to use "tagged" in service definitions

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | yes <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets       | n/a
| License       | MIT
| Doc PR        | n/a

Re-allow to use `tagged` in 4.4 and 5.0. It makes it easier for bundles to support both Symfony 4.3- and Symfony 4.4+.

Needed to make API Platform compatible with Symfony 5 (api-platform/core#3009)

Commits
-------

7b7dc0df9a Re-allow to use "tagged" in service definitions
2019-10-29 15:17:53 +01:00
Kévin Dunglas
7b7dc0df9a
Re-allow to use "tagged" in service definitions 2019-10-29 15:11:25 +01:00
Kévin Dunglas
e819256ea0 [HttpFoundation] Allow to not pass a parameter to Request::isMethodSafe() 2019-10-29 14:51:13 +01:00
Grégoire Pineau
31c402a003 [VarDumper] Do not dump the EventDispatcher 2019-10-29 14:41:12 +01:00
Jérémy Derussé
2db24cf582
Add missing lock connection string in FrameworkExtension 2019-10-29 14:34:12 +01:00
Nicolas Grekas
e2c625e78b feature #34057 [Lock][Cache] Allows URL DSN in PDO adapters (jderusse)
This PR was merged into the 4.4 branch.

Discussion
----------

[Lock][Cache] Allows URL DSN in PDO adapters

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

This PR duplicate a feature from PdoSessionHandler that convert URL DSN ( ie. mysql://localhost/test) into PDO DSN (ie. mysql:host=localhost;dbname=test)

that would ease configuration by using the same well-known variable
```
framework:
  lock: '%env(DATABASE_URL)%'
```

note: I applied the same change on Cache component for consistency.

Commits
-------

474daf976e Allows URL DSN in Lock and Cache
2019-10-29 14:07:00 +01:00
Nicolas Grekas
a302d2050e [DI] fix regexp for anonymous services with no class set 2019-10-29 12:56:37 +01:00
Kévin Dunglas
54d46eef67
[DomCrawler] normalizeWhitespace should be true by default 2019-10-29 12:38:30 +01:00
Thomas Calvet
ad2ce276c7 [Serializer] Improve messages for unexpected resources values 2019-10-29 12:09:57 +01:00