Commit Graph

28764 Commits

Author SHA1 Message Date
Christian Flothmann
8bba882512 do not mock the container builder or definitions 2018-02-07 19:04:46 +01:00
Grégoire Pineau
3d01404da0 [Workflow] Fixed the dump command
* The 'label' option had a wrong mode
* Simplified the code
2018-02-07 11:09:07 +01:00
Sébastien Decrême
03bce5e50c [PropertyInfo] Add hassers for accessors prefixes 2018-02-07 07:37:57 +01:00
Roland Franssen
2c9922e8af [Console] Improve Table performance 2018-02-07 07:27:48 +01:00
Fabien Potencier
1ec2219773 minor #26069 [LocaleValidator] Use Symfony\Component\Intl\Locale instead of \Locale + read aliases from bundle only if it is required (phansys)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[LocaleValidator] Use `Symfony\Component\Intl\Locale` instead of `\Locale` + read aliases from bundle only if it is required

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

Commits
-------

63497e1761 Use `Symfony\Component\Intl\Locale` instead of `\Locale` + read aliases from bundle only if it is required
2018-02-07 07:16:59 +01:00
Fabien Potencier
101a7953d2 feature #25997 Always show all deprecations except legacy ones when not weak (greg0ire)
This PR was merged into the 4.1-dev branch.

Discussion
----------

Always show all deprecations except legacy ones when not weak

When using any mode but the weak mode, you want your build to fail on some or
all deprecations, but it is still nice to be able to see what you could
fix without having to change modes.

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

<!--
- Bug fixes must be submitted against the lowest 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 the master branch.
- Replace this comment by a description of what your PR is solving.
-->

Commits
-------

9e37873860 Always show all deprecations except legacy ones
2018-02-07 07:12:55 +01:00
Fabien Potencier
f7d9701cdf bug #25893 [Console] Fix hasParameterOption / getParameterOption when used with multiple flags (greg-1-anderson)
This PR was merged into the 2.7 branch.

Discussion
----------

[Console] Fix hasParameterOption / getParameterOption when used with multiple flags

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no (Fixes BC break in #24987)
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #25825
| License       | MIT
| Doc PR        | n/a

Proposed resolution to #25825:
- Back out #24987
- Fix getParameterOption for short options with values, e.g. `-edev`

Commits
-------

35f98e2089 Follow-on to #25825: Fix edge case in getParameterOption.
2018-02-07 07:09:50 +01:00
Fabien Potencier
ec89ac887d feature #25582 [Form] Support \DateTimeImmutable (vudaltsov)
This PR was squashed before being merged into the 4.1-dev branch (closes #25582).

Discussion
----------

[Form] Support \DateTimeImmutable

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #9508
| License       | MIT
| Doc PR        | https://github.com/symfony/symfony-docs/pull/8920

This PR implements `input=datetime_immutable`. Replaces #25273.

Commits
-------

034f8b2f23 [Form] Support \DateTimeImmutable
2018-02-07 07:05:28 +01:00
Valentin
034f8b2f23 [Form] Support \DateTimeImmutable 2018-02-07 07:05:04 +01:00
Javier Spagnoletti
63497e1761 Use Symfony\Component\Intl\Locale instead of \Locale + read aliases from bundle only if it is required 2018-02-07 02:53:01 -03:00
Fabien Potencier
0c128f8d3c feature #24705 [Workflow] Add PlantUML dumper to workflow:dump command (Plopix)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[Workflow] Add PlantUML dumper to workflow:dump command

| Q             | A
| ------------- | ---
| Branch        | 4.1
| Bug fix       | no
| New feature   | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| License       | MIT
| Doc PR        | Will do depending on the comments about that PR

Hello,

`workflow:dump` exports workflows in `dot` format. To me, this format is not the easiest and not the simplest to use. Styles and logic are mixed together which makes it hard to read.

[PlantUML](http://plantuml.com/) is a tool based on Graphviz like Dot but that
generates nicer diagrams, more readable and most of all easier to adapt to your
documentation. Just copy and paste the PUML on the website you will see the rendering live.

Also, there is a [PHPStorm Plugin](https://plugins.jetbrains.com/plugin/7017-plantuml-integration) and [plenty of integration](http://plantuml.com/running) of this format.

This PR adds 2 options

* a `--dump-format=puml` option to the `workflow:dump` command to generate the workflows in PlantUML.

* a `--puml-transition-format=square|arrow` option to the `workflow:dump` command to generate the workflows in PlantUML using a square shape or arrow for the transition. (see below)

The conversion requires the PlantUML JAR, and can be used like that:
```bash
php bin/console workflow:dump pull_request --dump-format=puml | java -jar plantuml.jar -p  > workflow.png
```
> don't forget the `-p` to enable the "piping"

Here is an example with `pull_request` workflow of the documentation (with no style and no marking):
```
@startuml
title pull_request
state start <<initial>>
state coding
state travis
state review
state merged
state closed
start --> travis: submit
coding --> travis: update
travis --> travis: update
review --> travis: update
travis --> review: wait_for_review
review --> coding: request_change
review --> merged: accept
review --> closed: reject
closed --> review: reopen
@enduml
```

As PlantUML let us define styles, I have provided some by default that the user can override.
Adding some marking:
```bash
php bin/console workflow:dump pull_request travis review --dump-format=puml
```
will give us:

```
@startuml
sprite $sf_logo [81x20/16z] {
hPNRaYiX24K1xwBo_tyx6-qaCtDEJ-KXLYMTLbp0HWcHZr3KRDJ8z94HG3jZn4_mijbQ2ryJoFePtXLWA_qxyGy19DpdY_10z11ZAbGjFHRwcEbcKx5-wqsV
yIMo8StMCHKh8ZUxnEwrZiwRAUOvy1lLcPQF4lEFAjhzMd5WOAqvKflS0Enx8PbihiSYXM8ClGVAseIWTAjCgVSAcnYbQG79xKFsZ0VnDCNc7AVBoPSMcTsX
UnrujbYjjz0NnsObkTgnmolqJD4QgGUYTQiNe8eIjtx4b6Vv8nPGpncn3NJ8Geo9W9VW2wGACm_JzgIO8A8KXr2jUBCVGEAAJSZ6JUlsNnmOzmIYti9G7bjL
8InaHM9G40NkwTG7OxrggvNIejA8AZuqyWjOzTIKi-wwYvjeHYesSWuPiTGDN5THzkYLU4MD5r2_0PDhG7LIUG33z5HtM6CP3icyWEVOS61sD_2ZsBfJdbVA
qM53XHDUwhY0TAwPug3OG9NonRFhO8ynF3I4unuAMDHmSrXH57V1RGvl9jafuZF9ZhqjWOEh98y0tUYGsUxkBSllIyBdT2oM5Fn2-ut-fzsq_cQNuL6Uvwqr
knh4RrvOKzxZfLV3s0rs_R_1SdYt3VxeQ1_y2_W2
}
title pull_request
skinparam titleBorderRoundCorner 15
skinparam titleBorderThickness 2
skinparam state {
    BackgroundColor<<initial>> #87b741
    BackgroundColor<<marked>> #3887C6
    BorderColor #3887C6
    BorderColor<<marked>> Black
    FontColor<<marked>> White
}
state start <<initial>>
state coding
state travis <<marked>>
state review <<marked>>
state merged
state closed
start --> travis: submit
coding --> travis: update
travis --> travis: update
review --> travis: update
travis --> review: wait_for_review
review --> coding: request_change
review --> merged: accept
review --> closed: reject
closed --> review: reopen
footer \nGenerated by <$sf_logo> **Workflow Component** and **PlantUML**
@enduml
```

Which gives you that:
![workflow](https://user-images.githubusercontent.com/313532/32086584-253e39c0-ba8b-11e7-82c7-fa24309dbcd6.png)

With `square` as transition, it gives you that:
![workflow](https://user-images.githubusercontent.com/313532/32533123-a8ea4530-c403-11e7-8f88-4f18d5e23a28.png)

Hope you will find that interesting!

Commits
-------

1497d36cab Add option to the workflow:dump command to allow PlantUML format dump
2018-02-07 06:48:48 +01:00
Fabien Potencier
39e88ed312 fixed CS 2018-02-07 06:34:13 +01:00
Fabien Potencier
abb913283e bug #25756 [TwigBundle] Register TwigBridge extensions first (fancyweb)
This PR was squashed before being merged into the 3.4 branch (closes #25756).

Discussion
----------

[TwigBundle] Register TwigBridge extensions first

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | https://github.com/symfony/symfony/issues/25610
| License       | MIT
| Doc PR        | -

The only extension that is really needed to display the current exception page is the `CodeExtension` so we could only prepend this one. However, prepending all of them seems safer to me in the long term.

Also I deeply looked into why this problem only appeared in 3.4 and found the reason. Before 3.4 it actually never reaches the `ExceptionController` for this kind of error because it cannot be resolved because it needs a twig instance in its constructor. This instance is directly taken from the container. Before 3.4 when an exception is thrown when you try to get a service from the container, the instance stored in the `$services` array is unset which is not the case in further versions. So in 3.4+, the `ExceptionController` can be resolved because the instance of twig is still in the container even after the initial exception.

It also means these kind of exceptions are displayed with bugs on all versions before 3.4 I guess. Actually it shows the message 2 times : one for the initial exception and the other one when it tries to resolve the `ExceptionController`.

Maybe another solution might be to use a dedicated twig instance with the right settings just for the exception page ?

Commits
-------

c8465ed97f [TwigBundle] Register TwigBridge extensions first
2018-02-07 06:32:49 +01:00
Thomas Calvet
c8465ed97f [TwigBundle] Register TwigBridge extensions first 2018-02-07 06:32:47 +01:00
Roland Franssen
8f0e47f636 [WebProfilerBundle] Fix sub request link 2018-02-07 06:25:55 +01:00
Fabien Potencier
d068954458 bug #25947 PhpDocExtractor::getTypes() throws fatal error when type omitted (Jared Farrish)
This PR was squashed before being merged into the 3.4 branch (closes #25947).

Discussion
----------

PhpDocExtractor::getTypes() throws fatal error when type omitted

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

When omitting a type in a `DocBlock` `Tag`, it will throw a fatal error due to the type being null with a call to `$tag->getType()`.

Commits
-------

54253ecfff PhpDocExtractor::getTypes() throws fatal error when type omitted
2018-02-07 06:16:39 +01:00
Jared Farrish
54253ecfff PhpDocExtractor::getTypes() throws fatal error when type omitted 2018-02-07 06:16:37 +01:00
Fabien Potencier
dfa7bb44ac feature #24508 [Serializer] Fix security issue on CsvEncoder about CSV injection (welcoMattic)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[Serializer] Fix security issue on CsvEncoder about CSV injection

| Q             | A
| ------------- | ---
| Branch?       | master (4.1)
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | yes
| Deprecations? | no
| Tests pass?   | yes
| License       | MIT

I read [this article](http://georgemauer.net/2017/10/07/csv-injection.html) about CSV injection and I thought it best to update the `CsvEncoder` so that it does not generate potentially malicious CSV files by default.

Commits
-------

a1b0bdbbac Fix security issue on CsvEncoder
2018-02-07 06:12:24 +01:00
Fabien Potencier
12447d972f bug #25940 [Form] keep the context when validating forms (xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

[Form] keep the context when validating forms

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

Commits
-------

317da3bdf8 keep the context when validating forms
2018-02-07 06:08:29 +01:00
Fabien Potencier
389676c05e feature #25772 [Security] The AuthenticationException should implements Security's ExceptionInterface (sroze)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[Security] The AuthenticationException should implements Security's ExceptionInterface

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

Dunno why this is the case right now but this probably should not. Was reported by @paq85.

Commits
-------

0ee4cf1019 The Security Component's exceptions should implements Security's ExceptionInterface
2018-02-07 06:07:12 +01:00
Fabien Potencier
731690f726 feature #25164 [WebProfilerBundle] Improve controller linking (ro0NL)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[WebProfilerBundle] Improve controller linking

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes/no
| Fixed tickets | #... <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!--highly recommended for new features-->

I propose to remove the `Controller class` entry from the request toolbar panel, IMHO it's confusing/useless compared to the linked `Controller` entry above. They represent the same.

To preserve its value it's now used as title attribute instead, favored over controller file currently being used here. We can read that from the statusbar anyway :-)

Before: (hovering ontroller link)

![image](https://user-images.githubusercontent.com/1047696/35796142-ce6cdff4-0a5b-11e8-9fa3-91897516c9fc.png)

After: (hovering ontroller link)

![image](https://user-images.githubusercontent.com/1047696/35796237-2855e556-0a5c-11e8-8dca-853c3eabd2e9.png)

Commits
-------

f6c0dc64e6 [WebProfilerBundle] Improve controller linking
2018-02-07 06:05:22 +01:00
Fabien Potencier
5f0c279227 feature #22353 [Validator] Add canonicalize option for Locale validator (phansys)
This PR was squashed before being merged into the 4.1-dev branch (closes #22353).

Discussion
----------

[Validator] Add `canonicalize` option for `Locale` validator

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

Allow non canonicalized locales ('fr-FR' by instance) to pass the validation.
Relates to symfony/symfony-docs#7660.

Commits
-------

39dfa3d724 [Validator] Add  option for LANG="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_CTYPE="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_ALL= validator
2018-02-07 05:41:52 +01:00
Javier Spagnoletti
39dfa3d724 [Validator] Add option for LANG="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_CTYPE="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_ALL= validator
2018-02-07 05:41:51 +01:00
Fabien Potencier
c557327d54 feature #26036 Added support for getting default values in Accept headers (javiereguiluz)
This PR was squashed before being merged into the 4.1-dev branch (closes #26036).

Discussion
----------

Added support for getting default values in Accept headers

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

Commits
-------

7e31fd94df Added support for getting default values in Accept headers
2018-02-07 05:37:38 +01:00
Javier Eguiluz
7e31fd94df Added support for getting default values in Accept headers 2018-02-07 05:37:35 +01:00
Mathieu Santostefano
a1b0bdbbac
Fix security issue on CsvEncoder 2018-02-06 11:21:01 +01:00
Nicolas Grekas
7ac5447f57 minor #26049 [DI] minor: use a strict comparison in setDecoratedService (dunglas)
This PR was merged into the 2.7 branch.

Discussion
----------

[DI] minor: use a strict comparison in setDecoratedService

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | no
| New feature?  | no <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks?    | no
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md files -->
| Tests pass?   | yes
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | n/a

Commits
-------

f167b50 [DI] minor: use a strict comparision in setDecoratedService
2018-02-06 11:19:30 +01:00
Gabriel Caruso
899ead2b66
Fix misspelling variable 2018-02-06 07:47:25 -02:00
Christian Flothmann
5f9471ef47 use libsodium to run Argon2i related tests 2018-02-06 09:09:00 +01:00
Yonel Ceruto
922878ee53 Deprecating "false" as default value of "strict_variable" under Twig configuration 2018-02-05 09:53:02 -05:00
Roland Franssen
f6c0dc64e6 [WebProfilerBundle] Improve controller linking 2018-02-05 09:58:18 +01:00
Kévin Dunglas
f167b505c4
[DI] minor: use a strict comparision in setDecoratedService 2018-02-05 08:51:24 +01:00
Iltar van der Berg
8456f3b32c Deprecated the AdvancedUserInterface 2018-02-04 19:41:02 +01:00
Nicolas Grekas
ae25291610 [HttpKernel] fix FC 2018-02-04 18:41:24 +01:00
Nicolas Grekas
52e9f836b3 fix merge 2018-02-04 18:35:11 +01:00
Dalibor Karlović
8776ccee03 [HttpFoundation] Add RedisSessionHandler 2018-02-04 18:18:03 +01:00
Nicolas Grekas
2ef0d600aa Merge branch '4.0'
* 4.0:
  Use the PCRE_DOLLAR_ENDONLY modifier in route regexes
  [Form] Make sure errors are a part of the label on bootstrap 4 - this is a requirement for WCAG2
  [Config] Only using filemtime to check file freshness
2018-02-04 17:44:20 +01:00
Nicolas Grekas
767b028439 Merge branch '3.4' into 4.0
* 3.4:
  Use the PCRE_DOLLAR_ENDONLY modifier in route regexes
  [Form] Make sure errors are a part of the label on bootstrap 4 - this is a requirement for WCAG2
  [Config] Only using filemtime to check file freshness
2018-02-04 17:43:51 +01:00
Nicolas Grekas
5e094e8752 Merge branch '2.8' into 3.4
* 2.8:
  Use the PCRE_DOLLAR_ENDONLY modifier in route regexes
2018-02-04 17:43:40 +01:00
Nicolas Grekas
c337bf6810 Merge branch '2.7' into 2.8
* 2.7:
  Use the PCRE_DOLLAR_ENDONLY modifier in route regexes
2018-02-04 17:41:06 +01:00
Nicolas Grekas
d9e9b261a4 bug #25471 [HttpFoundation] we should not pass size on FileBag removing the contruct parameter (Simperfit, xabbuh)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[HttpFoundation] we should not pass size on FileBag removing the contruct parameter

| Q             | A
| ------------- | ---
| Branch?       | 4.1
| Bug fix?      | yes
| New feature?  | no <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #25466 <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | none

We may have forgotten this one, thanks to @craue for seeing it !

Commits
-------

0db65b5 fix tests
820186f [HttpFoundation] we should not pass size on FileBag
2018-02-04 16:57:00 +01:00
Nicolas Grekas
478fbdc241 bug #25373 Use the PCRE_DOLLAR_ENDONLY modifier in route regexes (mpdude)
This PR was squashed before being merged into the 2.7 branch (closes #25373).

Discussion
----------

Use the PCRE_DOLLAR_ENDONLY modifier in route regexes

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

`UrlMatcher::match($pathinfo)` applies `rawurldecode()` to the `$pathinfo` before trying to match it against the routes.

If the URL contains a percent-encoded trailing newline (like in `/foo%0a`), the default PHP PCRE will still consider `#^/foo$#` a match, as the `$` metacharacter will also match *immediately before* the final character *if it is a newline*. This behavior can be changed by applying the [`PCRE_DOLLAR_ENDONLY` modifier](http://php.net/manual/en/reference.pcre.pattern.modifiers.php).

Without this change, URLs with trailing `%0a` lead to weird notices further down the road, for example when the `RedirectableUrlMatcher` or its equivalent in `PhpMatcherDumper` kick in, look at the last character (this time actually the newline), append a `/` and try to redirect to the resulting URL. Ultimately, PHP will complain with `Warning: Header may not contain more than a single header, new line detected` when sending the `Location` header.

Commits
-------

f713a3e Use the PCRE_DOLLAR_ENDONLY modifier in route regexes
2018-02-04 16:51:07 +01:00
Matthias Pigulla
f713a3e879 Use the PCRE_DOLLAR_ENDONLY modifier in route regexes 2018-02-04 16:50:24 +01:00
Nicolas Grekas
cd56299c14 bug #24435 [Form] Make sure errors are a part of the label on bootstrap 4 - this is a requirement for WCAG2 (Nyholm)
This PR was merged into the 3.4 branch.

Discussion
----------

[Form] Make sure errors are a part of the label on bootstrap 4 - this is a requirement for WCAG2

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

I recently let Europe's leading accessibility experts (Funkanu.se) review a site of mine, they gave me (among other) the feedback that errors should be a part of the label.

They said that it makes no sense for blind users to read label, read input and then read errors.

I know the implementation might look strange. But I wish something like this would be merged. That would be great for accessibility for all apps using Symfony.

We *could* also make sure it prints something like:

```
<label for=”name”>Name: <span class=”hidden”>Error message</span></label>
<input id=”name” type=”text”>
<span aria-hidden=”true”>Error message</span>
```

Commits
-------

a0b40f5 [Form] Make sure errors are a part of the label on bootstrap 4 - this is a requirement for WCAG2
2018-02-04 16:32:16 +01:00
Tobias Nyholm
a0b40f5c4a [Form] Make sure errors are a part of the label on bootstrap 4 - this is a requirement for WCAG2 2018-02-04 16:29:22 +01:00
Nicolas Grekas
ade797058a feature #26028 Unwrap errors in FlattenException (derrabus)
This PR was merged into the 4.1-dev branch.

Discussion
----------

Unwrap errors in FlattenException

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | maybe
| Deprecations? | no
| Tests pass?   | no (but probably unrelated?)
| Fixed tickets | #26025
| License       | MIT
| Doc PR        | N/A

This is probably the most straightforward way to solve #26025. `FlattenException` is now unwrapping `FatalThrowableError` instances and logs the wrapped error instead. The consequence of this change is that the real error class is displayend on TwigBundle's exception page and the profiler.

Regarding BC: If we assume that `FlattenException` is used for rendering and logging, everything should be fine. But this PR changes `FlattenException`'s internal behavior. If a piece of code relied on errors appearing `FatalThrowableError` inside a `FlattenException`, that code would break.

<img width="402" alt="bildschirmfoto 2018-02-02 um 20 08 42" src="https://user-images.githubusercontent.com/1506493/35760077-0b202940-087e-11e8-9b98-8e4ba269780c.png">

Commits
-------

f14d7d6 Unwrap errors in FlattenException.
2018-02-04 16:01:13 +01:00
Nicolas Grekas
cb6c48cc36 minor #26031 [Config] Only using filemtime to check file freshness (dmifedorenko)
This PR was merged into the 3.4 branch.

Discussion
----------

[Config] Only using filemtime to check file freshness

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

Commits
-------

52c9cb4 [Config] Only using filemtime to check file freshness
2018-02-04 15:53:45 +01:00
Nicolas Grekas
d2fb4d143e Merge branch '4.0'
* 4.0:
  fix merge
2018-02-04 15:28:49 +01:00
Nicolas Grekas
12c1a01ac0 fix merge 2018-02-04 15:28:36 +01:00
Nicolas Grekas
f601142ccf Merge branch '4.0'
* 4.0:
  [PropertyInfo] Fix compat with recent phpdocumentor/type-resolver
  fix merge
2018-02-04 15:19:27 +01:00
Nicolas Grekas
aa964e1c52 Merge branch '3.4' into 4.0
* 3.4:
  [PropertyInfo] Fix compat with recent phpdocumentor/type-resolver
2018-02-04 15:17:57 +01:00
Nicolas Grekas
ae96700c20 [PropertyInfo] Fix compat with recent phpdocumentor/type-resolver 2018-02-04 15:17:18 +01:00
Robin Chalas
068b43a11b [SecurityBundle] Fix merge 2018-02-04 15:08:19 +01:00
Nicolas Grekas
2f587c3dce Merge branch '3.4' into 4.0
* 3.4:
  fix merge
2018-02-04 14:31:53 +01:00
Nicolas Grekas
81dafca6db fix merge 2018-02-04 14:31:10 +01:00
Alexander M. Turek
f14d7d6849 Unwrap errors in FlattenException. 2018-02-04 14:22:04 +01:00
Nicolas Grekas
302f33702d Merge branch '4.0'
* 4.0:
  fix merge
  Fix lock strategy tests
  [travis] cache compiled php extensions
  fix merge
  Allow remember-me factory creation when multiple user providers are configured.
  Add tests for glob loaders
  Improve assertions
  [DI][Routing] Fix tracking of globbed resources
  [Config] Handle Service/EventSubscriberInterface in ReflectionClassResource
  always call the parent class' constructor
2018-02-04 14:10:55 +01:00
Nicolas Grekas
f2d54fe694 fix merge 2018-02-04 14:10:03 +01:00
Nicolas Grekas
752c7cbbbe Merge branch '3.4' into 4.0
* 3.4:
  Fix lock strategy tests
  [travis] cache compiled php extensions
  fix merge
  Allow remember-me factory creation when multiple user providers are configured.
  Add tests for glob loaders
  Improve assertions
  [DI][Routing] Fix tracking of globbed resources
  [Config] Handle Service/EventSubscriberInterface in ReflectionClassResource
  always call the parent class' constructor
2018-02-04 14:08:26 +01:00
Nicolas Grekas
f5060c122b Merge branch '2.8' into 3.4
* 2.8:
  [travis] cache compiled php extensions
  fix merge
2018-02-04 14:00:45 +01:00
Nicolas Grekas
c026ec63e3 bug #25762 [DependencyInjection] always call the parent class' constructor (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[DependencyInjection] always call the parent class' constructor

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

Commits
-------

a1b1484 always call the parent class' constructor
2018-02-04 11:57:21 +01:00
Nicolas Grekas
7a461cff0c minor #25867 [DI] Put non-shared service factories in closures (nicolas-grekas)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[DI] Put non-shared service factories in closures

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

With this change, non-shared services are moved to dedicated files (unless they are on the hot path).
Previously, they were always dumped as methods.

The goal of this change is to dump factories as methods *if and only if* the services they build are on the hot-path. By doing so, it will become very easy to figure out which services are on the hot path, vs the rest. And then people will be able to optimize their configurations: if too many things are dumped as  methods, it will trivially mean some laziness is missing in definitions.

I spotted this while reviewing the dumped container of Blackfire, where we sometimes have long chains of dependencies that are on the hot path for no real reason - mixed with big non-shared factories (Sonata admin blocks in our case.)

Commits
-------

22c5325 [DI] Put non-shared service factories in closures
2018-02-04 11:44:28 +01:00
Nicolas Grekas
a469490272 bug #25976 [Config] Handle Service/EventSubscriberInterface in ReflectionClassResource (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[Config] Handle Service/EventSubscriberInterface in ReflectionClassResource

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

@weaverryan that should fix an issue you reported.

Commits
-------

67e821b [Config] Handle Service/EventSubscriberInterface in ReflectionClassResource
2018-02-04 11:33:42 +01:00
Nicolas Grekas
c57258b308 bug #25989 [DI][Routing] Fix tracking of globbed resources (nicolas-grekas, sroze)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI][Routing] Fix tracking of globbed resources

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

The current `GlobFileLoader` in `Config` misses resource tracking, so we can't use it and have to use a per-component one instead.

(deps=high failures will be fixed after merging up to master.)

Commits
-------

945c753 Add tests for glob loaders
ad98c1fa [DI][Routing] Fix tracking of globbed resources
2018-02-04 11:32:13 +01:00
Nicolas Grekas
9a3aa07d35 minor #26002 Improve assertions (carusogabriel)
This PR was merged into the 3.4 branch.

Discussion
----------

Improve assertions

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

Following #25420 in `3.4` branch.

Commits
-------

829f59d Improve assertions
2018-02-04 11:29:43 +01:00
Nicolas Grekas
1d5c229720 bug #26009 [SecurityBundle] Allow remember-me factory creation when multiple user providers are configured. (iisisrael)
This PR was merged into the 3.4 branch.

Discussion
----------

[SecurityBundle] Allow remember-me factory creation when multiple user providers are configured.

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

When more than one user provider is configured, and `remember_me` is enabled on a firewall, this avoids the deprecation notice in 3.4 and thrown `InvalidConfigurationException` in 4.0 ("Not configuring explicitly the provider for the "remember_me" listener on "foo" firewall is ambiguous as there is more than one registered provider.").  The `RememberMeFactory` ignores the `$userProvider` argument and uses the secret configured for the firewall.  (If no secret is configured, it throws its own exception.)

The added test passes in 3.4 with a deprecation notice without the change, so would expect it to fail in 4.0 without the change.

Other tests in the `SecurityBundle` already included two errors and one failure, not related to this change.

Commits
-------

6ab8dd9 Allow remember-me factory creation when multiple user providers are configured.
2018-02-04 11:27:39 +01:00
Valouleloup
afbb8bec18 Fix lock strategy tests 2018-02-04 11:01:34 +01:00
Nicolas Grekas
9be03d8911 Merge branch '4.0'
* 4.0:
  [CssSelector] For AND operator, the left operand should have parentheses, not only right operand
  Removed unused parameter from flattenDataProvider().
  Update MongoDB extension on travis to make the builds green again.
2018-02-03 15:58:56 +01:00
Nicolas Grekas
e1e523bf5d Merge branch '3.4' into 4.0
* 3.4:
  [CssSelector] For AND operator, the left operand should have parentheses, not only right operand
  Removed unused parameter from flattenDataProvider().
  Update MongoDB extension on travis to make the builds green again.
2018-02-03 15:58:37 +01:00
Nicolas Grekas
48db494b19 fix merge 2018-02-03 15:55:47 +01:00
Nicolas Grekas
18510f8352 Merge branch '2.8' into 3.4
* 2.8:
  [CssSelector] For AND operator, the left operand should have parentheses, not only right operand
  Removed unused parameter from flattenDataProvider().
  Update MongoDB extension on travis to make the builds green again.
2018-02-03 15:55:07 +01:00
Nicolas Grekas
30fc304626 Merge branch '2.7' into 2.8
* 2.7:
  [CssSelector] For AND operator, the left operand should have parentheses, not only right operand
  Removed unused parameter from flattenDataProvider().
  Update MongoDB extension on travis to make the builds green again.
2018-02-03 15:53:47 +01:00
Samuel ROZE
0ee4cf1019
The Security Component's exceptions should implements Security's ExceptionInterface 2018-02-03 11:03:47 +00:00
Nicolas Grekas
1111da7363 bug #26010 [CssSelector] For AND operator, the left operand should have parentheses, not only right operand (Arnaud CHASSEUX)
This PR was merged into the 2.7 branch.

Discussion
----------

[CssSelector] For AND operator, the left operand should have parentheses, not only right operand

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

From https://github.com/symfony/css-selector/pull/3

Commits
-------

76b40dc [CssSelector] For AND operator, the left operand should have parentheses, not only right operand
2018-02-03 12:00:12 +01:00
Arnaud CHASSEUX
76b40dc10e [CssSelector] For AND operator, the left operand should have parentheses, not only right operand 2018-02-03 11:49:50 +01:00
Dmitriy Fedorenko
52c9cb4025 [Config] Only using filemtime to check file freshness 2018-02-03 11:33:09 +01:00
Robin Chalas
1e90ddd00d Merge branch '4.0'
* 4.0:
  [Intl] Fixed the broken link
  Fix typo
  Fix typo
  Fixed issue #25985
  Don't show wanna-be-private services as public in debug:container
  [Routing] Fix trailing slash redirection for non-safe verbs
  [DI] Fix tracking of source class changes for lazy-proxies
  Proxy class names should be deterministic and independent of spl_object_hash() which is somewhat random
  [Debug] Fix bad registration of exception handler, leading to mem leak
  [Form] Fixed empty data on expanded ChoiceType and FileType
  collect extension information as late as possible
2018-02-03 01:58:16 +01:00
Robin Chalas
c7ab3a9555 Merge branch '3.4' into 4.0
* 3.4:
  [Intl] Fixed the broken link
  Fix typo
  Fix typo
  Fixed issue #25985
  Don't show wanna-be-private services as public in debug:container
  [Routing] Fix trailing slash redirection for non-safe verbs
  [DI] Fix tracking of source class changes for lazy-proxies
  Proxy class names should be deterministic and independent of spl_object_hash() which is somewhat random
  [Debug] Fix bad registration of exception handler, leading to mem leak
  [Form] Fixed empty data on expanded ChoiceType and FileType
  collect extension information as late as possible
2018-02-03 01:57:23 +01:00
Robin Chalas
9f64a0fbd9 Merge branch '2.8' into 3.4
* 2.8:
  [Intl] Fixed the broken link
  [Routing] Fix trailing slash redirection for non-safe verbs
  [Debug] Fix bad registration of exception handler, leading to mem leak
  [Form] Fixed empty data on expanded ChoiceType and FileType
2018-02-03 01:57:06 +01:00
Alexander M. Turek
d6f4f5129e Removed unused parameter from flattenDataProvider(). 2018-02-03 01:09:36 +01:00
Robin Chalas
0293f3756d Merge branch '2.7' into 2.8
* 2.7:
  [Intl] Fixed the broken link
  [Routing] Fix trailing slash redirection for non-safe verbs
  [Debug] Fix bad registration of exception handler, leading to mem leak
  [Form] Fixed empty data on expanded ChoiceType and FileType
2018-02-03 00:51:31 +01:00
Fabien Potencier
b49a6b7fa3 minor #26016 [Intl] Fixed the broken link (bocharsky-bw)
This PR was merged into the 2.7 branch.

Discussion
----------

[Intl] Fixed the broken link

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

From https://github.com/symfony/intl/pull/6

Commits
-------

5733e02960 [Intl] Fixed the broken link
2018-02-02 14:04:48 +01:00
Fabien Potencier
a48849e58e bug #26000 Fixed issue #25985 (KevinFrantz)
This PR was merged into the 3.4 branch.

Discussion
----------

Fixed issue #25985

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

Oppress Zend OPcache API - ContextErrorException

Commits
-------

acb1cad841 Fixed issue #25985
2018-02-02 13:57:40 +01:00
Victor Bocharsky
5733e02960 [Intl] Fixed the broken link 2018-02-02 10:30:16 +01:00
Israel J. Carberry
6ab8dd92e9 Allow remember-me factory creation when multiple user providers are configured. 2018-02-01 09:00:52 -06:00
Robin Chalas
db10ee7a98 minor #26008 [Lock] remove duplicated 'the' from comment (Oussama Elgoumri)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[Lock] remove duplicated 'the' from comment

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

Commits
-------

b84639d [Lock] remove duplicated 'the' from comment
2018-02-01 15:14:44 +01:00
Oussama Elgoumri
b84639dc35 [Lock] remove duplicated 'the' from comment 2018-02-01 15:10:05 +01:00
Samuel ROZE
945c753d44
Add tests for glob loaders 2018-02-01 08:54:27 +00:00
Gabriel Caruso
829f59da7f Improve assertions 2018-02-01 04:11:27 -02:00
Gabriel Caruso
566bb57428
Fix typo 2018-02-01 03:46:23 -02:00
Fabien Potencier
8dadff2ece minor #26003 Fix typo (carusogabriel)
This PR was merged into the 3.4 branch.

Discussion
----------

Fix typo

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

Commits
-------

45d730ba85 Fix typo
2018-02-01 06:33:49 +01:00
Gabriel Caruso
45d730ba85 Fix typo 2018-02-01 03:18:45 -02:00
Fabien Potencier
14615247c1 bug #25996 Don't show wanna-be-private services as public in debug:container (chalasr)
This PR was merged into the 3.4 branch.

Discussion
----------

Don't show wanna-be-private services as public in debug:container

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

Commits
-------

31f43e5226 Don't show wanna-be-private services as public in debug:container
2018-02-01 06:02:03 +01:00
Fabien Potencier
f284004f8d bug #25914 [HttpKernel] collect extension information as late as possible (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[HttpKernel] collect extension information as late as possible

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

Commits
-------

58cdbd03e1 collect extension information as late as possible
2018-02-01 05:53:05 +01:00
Fabien Potencier
6cfcfae009 bug #25981 [DI] Fix tracking of source class changes for lazy-proxies (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] Fix tracking of source class changes for lazy-proxies

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

Commits
-------

4f18e4b0dc [DI] Fix tracking of source class changes for lazy-proxies
2018-02-01 05:50:52 +01:00
Fabien Potencier
0924c001f9 bug #25971 [Debug] Fix bad registration of exception handler, leading to mem leak (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[Debug] Fix bad registration of exception handler, leading to mem leak

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

Commits
-------

926b1bee18 [Debug] Fix bad registration of exception handler, leading to mem leak
2018-02-01 05:48:20 +01:00
Fabien Potencier
ceb4e73e83 bug #25962 [Routing] Fix trailing slash redirection for non-safe verbs (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[Routing] Fix trailing slash redirection for non-safe verbs

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

This test dumped matchers using the existing test cases for (Redirectable)UrlMatcher so that we are sure they behave the same. Fixes the differences found while doing so.

Commits
-------

ad593aef2f [Routing] Fix trailing slash redirection for non-safe verbs
2018-02-01 05:28:18 +01:00
Fabien Potencier
471c410ce6 bug #25948 [Form] Fixed empty data on expanded ChoiceType and FileType (HeahDude)
This PR was merged into the 2.7 branch.

Discussion
----------

[Form] Fixed empty data on expanded ChoiceType and FileType

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

Alternative of https://github.com/symfony/symfony/pull/25924.

I don't think we have to do this by adding overhead in master and getting it properly fixed in 2 years.

This is bug I've introduced while fixing another bug #17822. Which then has been replicated in #20418 and #24993.

I propose instead to clean up the code for all LTS, since this is a wrong behaviour that has never been documented, and most of all unreliable.
The `empty_data` can by anything in the view format as long as the reverse view transformation supports it. Even an object derived from the data class could be invokable.

I think we should remain consistent with https://github.com/symfony/symfony/blob/2.7/src/Symfony/Component/Form/Form.php#L615.

Commits
-------

9722c063fb [Form] Fixed empty data on expanded ChoiceType and FileType
2018-02-01 05:22:43 +01:00
Kevin Frantz
acb1cad841 Fixed issue #25985 2018-01-31 23:22:47 +01:00
Grégoire Paris
9e37873860
Always show all deprecations except legacy ones
When using any mode but the weak mode, you want your build to fail on
some or all deprecations, but it is still nice to be able to see what
you could fix without having to change modes.
2018-01-31 21:33:26 +01:00