This PR was squashed before being merged into the 4.3-dev branch (closes#30429).
Discussion
----------
[Form] group_by as callback returns array
| Q | A
| ------------- | ---
| Branch? | master
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #30315
| License | MIT
| Doc PR | symfony/symfony-docs#... <!-- required for new features -->
Commits
-------
4c04601036 [Form] group_by as callback returns array
This PR was squashed before being merged into the 3.4 branch (closes#29800).
Discussion
----------
[Validator] Only traverse arrays that are cascaded into
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #27090
| License | MIT
| Doc PR | -
Previously, array properties were traversed even if they were not annotated `Valid`.
Commits
-------
7db9200279 [Validator] Only traverse arrays that are cascaded into
This PR was merged into the 4.3-dev branch.
Discussion
----------
[Messenger] DoctrineTransport - Use InvalidArgumentException instead of TransportException during configuration checks
| Q | A
| ------------- | ---
| Branch? | master
| Bug fix? | no
| New feature? | no <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks? | no <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass? | yes <!-- please add some, will be required by reviewers -->
| Fixed tickets | #... <!-- #-prefixed issue number(s), if any -->
| License | MIT
| Doc PR |
As discussed with @weaverryan the exceptions thrown during the check of the configuration must be InvalidArgumentException instead of TransportException.
Commits
-------
e2dbe63489 [Messenger] DoctrineTransport - Use InvalidArgumentException instead of TransportException during configuration checks
This PR was merged into the 3.4 branch.
Discussion
----------
[BrowserKit vs HttpFoundation][TestSuite]Run test in separate process
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | n/a
| License | MIT
| Doc PR | n/a
This test calls code that defines some environment variables, which in
turn trigger the registration of a the deprecation error handler, which
causes unexpected issues when testing other components.
Commits
-------
6d51a04b11 Run test in separate process
This PR was merged into the 4.3-dev branch.
Discussion
----------
[FrameworkBundle] fix search in debug autowiring
| Q | A
| ------------- | ---
| Branch? | master
| Bug fix? | no
| New feature? | yes <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks? | no <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass? | yes <!-- please add some, will be required by reviewers -->
| Fixed tickets | #30493 <!-- #-prefixed issue number(s), if any -->
| License | MIT
| Doc PR |
<!--
Write a short README entry for your feature/bugfix here (replace this comment block.)
This will help people understand your PR and can be used as a start of the Doc PR.
Additionally:
- 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.
-->
Taking #30522 and finishing it with @nicolas-grekas comments.
Is the sentence ok ?
Commits
-------
fec4beaffc fix debug:autowiringcommand
This PR was merged into the 4.3-dev branch.
Discussion
----------
[Profiler] Fix graph text color
| Q | A
| ------------- | ---
| Branch? | master
| Bug fix? | yes
| New feature? | no <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks? | no <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass? | yes <!-- please add some, will be required by reviewers -->
| Fixed tickets | - <!-- #-prefixed issue number(s), if any -->
| License | MIT
| Doc PR | -
#30450 introduces bad text color for graph items in the profiler, specially in dark theme mode.
### before/after
![Capture d’écran de 2019-04-06 21-38-29](https://user-images.githubusercontent.com/7721219/55674505-ff79ad80-58b5-11e9-9a29-8359ff07673d.png)
![Capture d’écran de 2019-04-06 21-42-26](https://user-images.githubusercontent.com/7721219/55674507-030d3480-58b6-11e9-8dee-395e2046e7ca.png)
There is a small change for default theme
### before/after
![Capture d’écran de 2019-04-06 21-51-46](https://user-images.githubusercontent.com/7721219/55674538-4ff10b00-58b6-11e9-8aed-2621bdde673d.png)
![Capture d’écran de 2019-04-06 21-52-15](https://user-images.githubusercontent.com/7721219/55674540-52ebfb80-58b6-11e9-9d94-68743187aba2.png)
<!--
Write a short README entry for your feature/bugfix here (replace this comment block.)
This will help people understand your PR and can be used as a start of the Doc PR.
Additionally:
- 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.
-->
<!--
Write a short README entry for your feature/bugfix here (replace this comment block.)
This will help people understand your PR and can be used as a start of the Doc PR.
Additionally:
- 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.
-->
Commits
-------
44d9fbe995 Fix graph text color
This PR was merged into the 4.3-dev branch.
Discussion
----------
Use env variable to create anytype of lock store
| Q | A
| ------------- | ---
| Branch? | master
| Bug fix? | yes
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #27555
| License | MIT
| Doc PR | NA
In lock configuration, at the moment, env variable are only able to resolve DNS which are able to create RedisStore and MemcachedStore.
This PR update the StoreFactory to be able to also create connection at runtime.
Commits
-------
6b57ea996c Use env variable to create anytype of lock store
This test calls code that defines some environment variables, which in
turn trigger the registration of a the deprecation error handler, which
causes unexpected issues when testing other components.
This PR was merged into the 3.4 branch.
Discussion
----------
[Debug vs DI][TestSuite] Use a class name that does not actually exist
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | n/a
| License | MIT
| Doc PR | n/a
Using "Foo", a class name that corresponds to no less than 22 fixture
classes, results in the first found "Foo" being loaded when one is
found by the ClassNotFoundFatalErrorHandler error handler, I am not sure
exactly why, but it is not really a big issue because this is a fatal
error handler and execution is not supposed to continue after that.
Except that is very much the case when running the whole test suite
sequentially with ./phpunit . Then we arrive to the DI component test
suite, and a failure happens because \\foo was not supposed to be defined:
> Failed asserting that exception message 'The definition for "\foo" has
> no class attribute, and appears to reference a class or interface in the
> global namespace. Leaving out the "class" attribute is only allowed for
> namespaced classes. Please specify the class attribute explicitly to get
> rid of this error.' contains 'The definition for "\foo" has no class.'.
Commits
-------
a53e0fe1cd Use a class name that does not actually exist
This PR was merged into the 4.3-dev branch.
Discussion
----------
[Serializer] add return type hints for ObjectPropertyListExtractorInterface
| Q | A
| ------------- | ---
| Branch? | master
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Fixed tickets | -
| License | MIT
| Doc PR | -
@nicolas-grekas as just discussed here the type-hint + phpdoc cleanup as follow-up for https://github.com/symfony/symfony/pull/30904😉
cc @joelwurtz
Commits
-------
7628972285 [Serializer] add return type hints for ObjectPropertyListExtractorInterface
Using "Foo", a class name that corresponds to no less than 22 fixture
classes, results in the first found "Foo" being loaded when one is
found by the ClassNotFoundFatalErrorHandler error handler, I am not sure
exactly why, but it is not really a big issue because this is a fatal
error handler and execution is not supposed to continue after that.
Except that is very much the case when running the whole test suite
sequentially with ./phpunit . Then we arrive to the DI component test
suite, and a failure happens because \\foo was not supposed to be defined:
> Failed asserting that exception message 'The definition for "\foo" has
> no class attribute, and appears to reference a class or interface in the
> global namespace. Leaving out the "class" attribute is only allowed for
> namespaced classes. Please specify the class attribute explicitly to get
> rid of this error.' contains 'The definition for "\foo" has no class.'.
This PR was merged into the 4.3-dev branch.
Discussion
----------
[Messenger] Uses an `AmqpStamp` to provide flags and attributes
| Q | A
| ------------- | ---
| Branch? | master
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #28885
| License | MIT
| Doc PR | ø
Using the `AmqpStamp` you can configure the flags and any attribute (such as `delivery_mode`).
Commits
-------
56fa574023 Uses an `AmqpStamp` to provide flags and attributes
This PR was merged into the 4.3-dev branch.
Discussion
----------
[Mime][BrowserKit] Add FormUrlEncoded - Fix content-type in HttpBrowserPost
| Q | A
| ------------- | ---
| Branch? | master
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #30867
| License | MIT
| Doc PR | NA
This PR use the content-type `x-www-form-urlencoded` when posting a form with the HttpBrowser.
Commits
-------
aecca9778e Use FormUrlEncoded when posting non-binary data
This PR was merged into the 4.3-dev branch.
Discussion
----------
[HttpClient] Removed undefined variable
| Q | A
| ------------- | ---
| Branch? | master
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | N/A
| License | MIT
| Doc PR | N/A
The variable `$noProxy` is accessed here before it is defined.
`EU-FOSSA`
Commits
-------
69f0a0b3bf Removed undefined variable.
This PR was squashed before being merged into the 4.3-dev branch (closes#28937).
Discussion
----------
Improve Translator caching
| Q | A
| ------------- | ---
| Branch? | master
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #27600
| License | MIT
| Doc PR | N/A
Add DirectoryResources to MessageCatalogues when loaded.
So that when a file is added to one of the directories the cache for all MessageCatalogues will be invalidated.
All directories must be added to all MessageCatalogues because we can't predict for which locale files will be added to each individual directory.
Also, now that the translator keeps track of its own directories for caching the container no longer needs to it. This means that when a translation changes or is added the container no longer needs to be fully rebuilt, saving a considerable amount of time (compilation time went down from ~4 seconds to ~1 second on each translation change/add in our project).
Commits
-------
a5246589cf Improve Translator caching
This PR was squashed before being merged into the 4.3-dev branch (closes#30916).
Discussion
----------
[Profiler] Update ProfilerController.php
| Q | A
| ------------- | ---
| Branch? | master
| Bug fix? | no
| New feature? | no <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks? | no <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass? | yes <!-- please add some, will be required by reviewers -->
| Fixed tickets | n/a <!-- #-prefixed issue number(s), if any -->
| License | MIT
| Doc PR | symfony/symfony-docs#... <!-- required for new features -->
<!--
Write a short README entry for your feature/bugfix here (replace this comment block.)
This will help people understand your PR and can be used as a start of the Doc PR.
Additionally:
- 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.
-->
Commits
-------
6e0785f8c5 [Profiler] Update ProfilerController.php
This PR was merged into the 4.3-dev branch.
Discussion
----------
[Serializer] provide new ObjectPropertyListExtractorInterface
| Q | A
| ------------- | ---
| Branch? | master
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | related to https://github.com/symfony/symfony/issues/30818
| License | MIT
| Doc PR | -
EUFOSSA Hackathon
As discussed with @joelwurtz this adds a new `ObjectPropertyListExtractorInterface` and a default implementation.
See https://github.com/symfony/symfony/issues/30818
> A new interface will be provided ObjectPropertyListExtractorInterface (name can change), that allow getting attributes based on an object. A default implementation will be provided that use the PropertyListExtractorInterface and a class resolver, as the latter one only rely on class name, it may be important to have this distinction (this will allow features that rely on a specific value of the object to get the current property list, like exclusion policy)
Commits
-------
997270f7ac [Serializer] provide new ObjectPropertyListExtractorInterface
This PR was merged into the 4.3-dev branch.
Discussion
----------
[Workflow] The TransitionEvent is able to modify the context
| Q | A
| ------------- | ---
| Branch? | master
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
EUFOSSA
ping @HeahDude
Commits
-------
62ab775154 [Workflow] The TransitionEvent is able to modify the context
This PR was merged into the 4.3-dev branch.
Discussion
----------
[Workflow] Added workflow_transition_blockers twig function
| Q | A
| ------------- | ---
| Branch? | master
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | https://github.com/symfony/symfony-docs/pull/11268
| License | MIT
| Doc PR | https://github.com/symfony/symfony-docs/pull/11268
EUFOSSA
---
also related to https://github.com/symfony/symfony/issues/26689
I'm not a big fan of the current name. What should I pick?
cc @javiereguiluz
Commits
-------
a2f99757f1 [Workflow] Added workflow_transition_blockers twig function
This PR was merged into the 4.3-dev branch.
Discussion
----------
Add "input" option to NumberType
| Q | A
| ------------- | ---
| Branch? | master
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #24793
| License | MIT
| Doc PR | TODO
This PR replaces #24793 in (partially) fixing how Doctrine's DECIMAL type is handled by the Form component.
Previously, DECIMAL was mapped to the regular NumberType. That confuses Doctrine's change detection, depending on the DB platform.
Examples:
| DB | DB value | Doctrine entity before submit | Form input | Doctrine entity after submit
| --- | --- | --- | --- | ---
| SQLite | 8.000 | '8' | 8 | 8
| SQLite | 8.123 | '8.123' | 8.123 | 8.123
| PostgreSQL | 8.000 | '8.000' | 8 | 8
| PostgreSQL | 8.123 | '8.123' | 8.123 | 8.123
The value in the Doctrine entity changes before and after submit. Hence Doctrine believes an update is necessary.
This PR introduces an `input` option to NumberType (similar to DateType), that can be set to `'number'` (default) or `'string'`. If set to `'string'`, the conversion is as follows:
| DB | DB value | Doctrine entity before submit | Form input | Doctrine entity after submit
| --- | --- | --- | --- | ---
| SQLite | 8.000 | **'8'** | 8 | **'8.000'**
| SQLite | 8.123 | '8.123' | 8.123 | '8.123'
| PostgreSQL | 8.000 | '8.000' | 8 | '8.000'
| PostgreSQL | 8.123 | '8.123' | 8.123 | '8.123'
You see that this does not completely solve this issue for SQLite. However, @Ocramius and I agree that this is something to be fixed by Doctrine, since Doctrine is providing the database abstraction.
That fix should be done in the SqlitePlatform object in Doctrine as part of another PR and should be backwards compatible with the current Doctrine version (i.e. opt in via configuration).
Compared to #24793, this PR does not introduce a new type but instead makes the NumberType more flexible. Also, this PR does not introduce the `force_full_scale` option since that should be solved by Doctrine as described above.
Commits
-------
3f25734647 Added new option "input" to NumberType
fb2b37a8f3 add force_full_scale option to handle all cases
40f25121c3 [DoctrineBridge] Add decimal form type