* 5.2:
[Security] Replace message data in JSON security error response
[Security] Replace message data in JSON security error response
[DI] Skip deprecated definitions in CheckTypeDeclarationsPass
[Messenger][AmazonSqs] Fix auto-setup for fifo queue
[DoctrineBridge] Take into account that indexBy="person_id" could be a db column name, for a referenced entity
* 5.1:
[Security] Replace message data in JSON security error response
[DI] Skip deprecated definitions in CheckTypeDeclarationsPass
[Messenger][AmazonSqs] Fix auto-setup for fifo queue
[DoctrineBridge] Take into account that indexBy="person_id" could be a db column name, for a referenced entity
* 4.4:
[Security] Replace message data in JSON security error response
[DI] Skip deprecated definitions in CheckTypeDeclarationsPass
[DoctrineBridge] Take into account that indexBy="person_id" could be a db column name, for a referenced entity
This PR was squashed before being merged into the 5.3-dev branch.
Discussion
----------
[FrameworkBundle] Add renderForm() helper setting the appropriate HTTP status code
| Q | A
| ------------- | ---
| Branch? | 5.x
| 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 | todo
A 422 HTTP status code should be returned after the submission of an invalid form. Some libraries including [Turbo](https://github.com/hotwired/turbo/pull/39) rely on this behavior and will not display the updated form (containing errors) unless this status code is present.
Rails also [recently switched to this behavior ](https://github.com/rails/rails/pull/41026) by default for the same reason.
I propose to introduce a new helper method rendering the form and setting the appropriate status code. It makes the code cleaner:
```php
// src/Controller/TaskController.php
// ...
use Symfony\Component\HttpFoundation\Request;
class TaskController extends AbstractController
{
public function new(Request $request): Response
{
$task = new Task();
$form = $this->createForm(TaskType::class, $task);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$task = $form->getData();
// ...
return $this->redirectToRoute('task_success');
}
return $this->renderForm('task/new.html.twig', $form);
}
}
```
Commits
-------
4c77e50e6a [FrameworkBundle] Add renderForm() helper setting the appropriate HTTP status code
This PR was merged into the 5.3-dev branch.
Discussion
----------
[HttpFoundation] deprecate the NamespacedAttributeBag class
| Q | A
| ------------- | ---
| Branch? | 5.x
| Bug fix? | no
| New feature? | no
| Deprecations? | yes
| Tickets | Fix#32616
| License | MIT
| Doc PR |
Commits
-------
da9de69de0 deprecate the NamespacedAttributeBag class
This PR was merged into the 4.4 branch.
Discussion
----------
[DependencyInjection] Skip deprecated definitions in CheckTypeDeclarationsPass
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
When a definition uses a deprecated class , `CheckTypeDeclarationsPass` (with `$autoload = true`) will autoload the class, which triggers a deprecation notice. That breaks the CI in #39802 because the compiler pass is registered inside the SecurityBundle test suite.
I propose to stop checking deprecated definitions. Makes sense?
Commits
-------
531c81a06e [DI] Skip deprecated definitions in CheckTypeDeclarationsPass
This PR was merged into the 4.4 branch.
Discussion
----------
[Security] Replace message data in JSON security error response
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix part of #39663
| License | MIT
| Doc PR | n/a
The 4.4 part of #39859
Commits
-------
ab2ca7145f [Security] Replace message data in JSON security error response
This PR was squashed before being merged into the 5.3-dev branch.
Discussion
----------
[Notifier] [GoogleChat] [BC BREAK] Rename threadKey parameter to thread_key + set parameter via ctor
| Q | A
| ------------- | ---
| Branch? | 5.x, but BC BREAK for experimental bridge
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | ---
| License | MIT
| Doc PR | https://github.com/symfony/symfony-docs/pull/14834
| Recipe | https://github.com/symfony/recipes/pull/871
All bridges receive their options via the `constructor` and use snake_case parameters.
### Todos
* [x] Update recipe
* [x] Update documentation
cc @GromNaN as you provided the bridge
Commits
-------
5a71928ef1 [Notifier] [GoogleChat] [BC BREAK] Rename threadKey parameter to thread_key + set parameter via ctor
This PR was submitted for the 5.x branch but it was merged into the 5.1 branch instead.
Discussion
----------
[Messenger] [AmazonSqs] Fix auto-setup for fifo queue
| Q | A
| ------------- | ---
| Branch? | 5.1
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#39837
| License | MIT
When you want the AmazonSqs transport to create the queue on the fly and you have a fifo queue, the parameters are wrong, and a regular queue is created. This PR fixes the parameters.
Commits
-------
308f8fede0 [Messenger][AmazonSqs] Fix auto-setup for fifo queue
This PR was merged into the 4.4 branch.
Discussion
----------
[DoctrineBridge] Take into account that indexBy="person_id" could be a db column name, for a referenced entity
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | none
| License | MIT
| Doc PR | bug-fix only
In Symfony 4.4.17 (I think), using ManyToMany in doctrine, along with indexBy="person_id" (in the related entity, which has a property of "id" (which in-turn uses the db column "person_id" worked as expected. When upgrading to Symfony 5.2.1, this stops working.
This change continues on from issue #37982 to fix a further edge case.
Commits
-------
472eab11e9 [DoctrineBridge] Take into account that indexBy="person_id" could be a db column name, for a referenced entity
This PR was merged into the 5.3-dev branch.
Discussion
----------
[Notifier] [Octopush] Use the correct provider
| Q | A
| ------------- | ---
| Branch? | 5.x
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | ---
| License | MIT
| Doc PR | ---
Follows #39702
Commits
-------
9ecef3bfa1 [Notifier] [Octopush] Use the correct provider
This PR was merged into the 4.4 branch.
Discussion
----------
[DoctrineBridge] Fix circular loop with EntityManager
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | fix#39619
| License | MIT
| Doc PR | -
This PR fix a segfault in EntityManager by making the LazyEventManager handle EventSubscriber in a lazy way.
Maybe #34200 too
Commits
-------
23d692107c Fix circular loop with EntityManager
* 5.2:
µCS fix
CS fix
CS fix
[travis] use PHP 8.0 to patch return types and run deps=low
Add me as a Notifier code owner
Update sl_SI translations
Don't trigger deprecation for deprecated aliases pointing to deprecated definitions
[HttpFoundation] use atomic writes in MockFileSessionStorage
fix typo
Make EmailMessage & SmsMessage transport nullable
remove unused argument
[SecurityBundle] Drop dead check
[DI] fix param annotation
[SecurityBundle] Remove invalid service definition
[Config] Add \Symfony\Component\Config\Loader::load() return type
Simplify PHP CS Fixer config
Rename normalize param
This PR was merged into the 4.4 branch.
Discussion
----------
[travis] use PHP 8.0 to patch return types and run deps=low
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
(I need to verify that DebugClassLoader works as expected before merging)
Commits
-------
7f5ea78fb8 [travis] use PHP 8.0 to patch return types and run deps=low
This PR was merged into the 4.4 branch.
Discussion
----------
[DependencyInjection] Don't trigger notice for deprecated aliases pointing to deprecated definitions
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
Defining an alias that points to a deprecated definition should trigger a deprecation notice, but when the alias itself is deprecated, it should not trigger.
Commits
-------
38f98a1165 Don't trigger deprecation for deprecated aliases pointing to deprecated definitions