This PR was submitted for the 2.8 branch but it was merged into the 2.3 branch instead (closes#16772).
Discussion
----------
Refactoring EntityUserProvider::__construct() to not do work, cause cache warm error
| Q | A
| ------------- | ---
| Bug fix? | "yes"
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | none
| License | MIT
| Doc PR | n/a
This fixes a "Database not Found" error when using `doctrine/orm` 2.5 while warming up your cache under certain situations. Basically, if you use the `EntityUserProvider`, then during cache warmup, Twig requires the `security.authorization_checker` which eventually requires this `EntityUserProvider`, which previously caused Doctrine to calculate the metadata for your User class. If no database exists (and you haven't specified the platform), you'll get the error.
More broadly, this simply tries to do less work in the constructor. It's a "bug fix", only kind of, but as it's completely an internal refactoring, it should be quite safe.
Thanks!
Commits
-------
44a2861 Refactoring EntityUserProvider::__construct() to not do work, cause cache warm error
This PR was merged into the 2.8 branch.
Discussion
----------
Added the renamed options of the collection type to the upgrade information
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Commits
-------
7aac273 Added the renamed options of the collection type to the upgrade information
This PR was merged into the 2.8 branch.
Discussion
----------
Fix BC for the default root form name
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #15760
| License | MIT
| Doc PR | n/a
The block prefix is used, to match the previous behavior when using a custom block prefix.
The form type is now retrieved twice from the registry here, but this should not be an issue:
- unnamed forms are created only at the root, so only once per form at most (child forms are always named explicitly)
- the registry caches the resolved type, so the second access is just accessing the key in the array and returning it
Commits
-------
0a54d09 Fix BC for the default root form name
* 2.7:
[Process] Fix signaling/stopping logic on Windows
Forward compatibility with AbstractLayout* 2.8 tests
[Yaml] minor CS cleaning
[Console] do not encode backslashes in console default description
This PR was merged into the 2.3 branch.
Discussion
----------
[Process] Fix signaling/stopping logic on Windows
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Commits
-------
9afbea2 [Process] Fix signaling/stopping logic on Windows
This PR was merged into the 2.8 branch.
Discussion
----------
[DI][autowiring] throw exception when many services use the same class.
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Fixed tickets | #16639
| Tests pass? | yes
| License | MIT
Commits
-------
a21a016 [DI][autowiring] throw exception when many services use the same class.
This PR was merged into the 2.8 branch.
Discussion
----------
[Yaml] look for colon in parsed inline string
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #16562
| License | MIT
| Doc PR |
Looking for a colon in an unquoted mapping value can lead to falsely
reported parse errors (e.g. when a comment after the mapping value
contains a colon).
Commits
-------
2127058 [Yaml] look for colon in parsed inline string
Looking for a colon in an unquoted mapping value can lead to falsely
reported parse errors (e.g. when a comment after the mapping value
contains a colon).
This PR was merged into the 2.7 branch.
Discussion
----------
Forward compatibility with AbstractLayout* 2.8 tests
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Related to #16031
Commits
-------
ef61e54 Forward compatibility with AbstractLayout* 2.8 tests
This PR was merged into the 2.8 branch.
Discussion
----------
[Bridge/Doctrine+Ldap] Fix tests
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Using "choice_list" is deprecated and thus can't work with 3.0 deps loaded. Test upgrades backported from #16725
@csarrazi : the Ldap tests now require the ldap extension. Annotations added.
Commits
-------
4819a70 [Bridge/Doctrine+Ldap] Fix tests
This PR was submitted for the master branch but it was merged into the 2.3 branch instead (closes#16737).
Discussion
----------
[Yaml] minor CS cleaning
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
PHPStorm reported different types of coding style suggestions along the Symfony codebase. I've fixed some of them in the Yaml compontent and I have two questions:
1) What is the correct branch for such changes? Not all of them can be fixed in 2.3/2.8, for example `ParserTest`'s docblock is different there.
2) Should I create similar PRs for other components or is there a plan to do all such fixes at once someday in the future (e.g. after 2.8/3.0 is released)?
Commits
-------
613804d [Yaml] minor CS cleaning
This PR was merged into the 2.3 branch.
Discussion
----------
[Console] do not encode backslashes in console default description
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #16420
| License | MIT
| Doc PR | -
Commits
-------
873a541 [Console] do not encode backslashes in console default description
This PR was merged into the 2.8 branch.
Discussion
----------
[WIP] [Ldap] Marked the Ldap component as internal
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | yes
| Deprecations? | no
| Tests pass? | no
| Fixed tickets | no
| License | MIT
| Doc PR | not yet
As mentioned earlier, the LDAP component suffers from a few problems, addressed in PR #15994
However, as raised by @Tobion, the component does not yet have tests (they can be added at a later time, though), and is not considered stable yet.
Commits
-------
3f89b2c Marked the Ldap component as internal and removed Ldap constants polyfill
This PR was squashed before being merged into the 2.8 branch (closes#16734).
Discussion
----------
Make sure security.role_hierarchy.roles always exists
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #16731
| License | MIT
| Doc PR | -
Commits
-------
b272ab5 Make sure security.role_hierarchy.roles always exists
This PR was submitted for the 2.3 branch but it was merged into the 2.8 branch instead (closes#16460).
Discussion
----------
[SecurityBundle] Fix disabling of RoleHierarchyVoter when passing empty hierarchy
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #16358
| License | MIT
| Doc PR | -
* When passing `role_hierarchy: ~` in the config, the role hierarchy voter was still enabled. I've now changed this so that an empty hierarchy also results in disabling this voter. With an empty hierarchy, the voter behaves exactly the same as the RoleVoter, so no BC break is introduced here.
* Added some tests for the RoleHierarchyVoter when passing an empty hierarchy. As it then behaves exactly like RoleVoter, the question is whether we shouldn't just always return ACCESS_ABSTAIN when the hierarchy is empty
Commits
-------
96afff6 [SecurityBundle] Fix disabling of RoleHierarchyVoter when passing empty hierarchy
This PR was squashed before being merged into the 2.8 branch (closes#16722).
Discussion
----------
[Security][SecurityBundle] Use csrf_token_id instead of deprecated intention
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #16720
| License | MIT
| Doc PR | -
Commits
-------
0450865 [Security][SecurityBundle] Use csrf_token_id instead of deprecated intention
* 2.7:
[HttpKernel] clearstatcache() so the Cache sees when a .lck file has been released
[WIP] [Form] [TwigBridge] Bootstrap horizontal theme missing tests
AssetBundle - fix docs
CS: remove impossible default argument value
This PR was squashed before being merged into the 2.3 branch (closes#16312).
Discussion
----------
[HttpKernel] clearstatcache() so the Cache sees when a .lck file has been released
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #15813
| License | MIT
| Doc PR | n/a
I've been trying to debug #15813 and modified the Store in a way to keep unique request IDs in the .lck file. That way, I was hoping to find out which request is blocking and/or if the request is actually still running.
It turned out that `is_file()` would claim that a lock file still exists, but a subsequent attempt to read the information from that file returned "file not found" errors.
So, my assumption is that the `is_file()` result is based on the fstat cache and wrong once a process has seen the lock file.
@jakzal said in https://github.com/symfony/symfony/issues/15813#issuecomment-149013691 that `unlink()`ing the lock file should clear the statcache, but I doubt this is true across PHP processes.
Commits
-------
982710f [HttpKernel] clearstatcache() so the Cache sees when a .lck file has been released