Skip to content

deprecate handling options in the base Constraint class#11

Closed
xabbuh wants to merge 155 commits into7.4from
issue-60029
Closed

deprecate handling options in the base Constraint class#11
xabbuh wants to merge 155 commits into7.4from
issue-60029

Conversation

@xabbuh
Copy link
Copy Markdown
Owner

@xabbuh xabbuh commented Jun 9, 2025

No description provided.

santysisi and others added 2 commits May 24, 2025 16:06
…pass retry in RunCommandMessageHandler

Co-authored-by: Kevin Bond <kevinbond@gmail.com>
@xabbuh xabbuh force-pushed the issue-60029 branch 3 times, most recently from 2376870 to 3325ca8 Compare June 10, 2025 19:41
@xabbuh xabbuh force-pushed the issue-60029 branch 2 times, most recently from 503aad8 to d801cec Compare June 16, 2025 11:16
lyrixx and others added 4 commits June 16, 2025 16:09
…tance in `RoundRobinTransport` (jnoordsij)

This PR was squashed before being merged into the 6.4 branch.

Discussion
----------

[Mailer] [Transport] Send clone of `RawMessage` instance in `RoundRobinTransport`

| Q             | A
| ------------- | ---
| Branch?       | 6.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Issues        | N/A
| License       | MIT

When using an implementation of the `TransportInterface`, a common pattern (especially for mass bulk mailing services) is to use headers to communicate various pieces of metadata or settings to the receiving server for processing. Such options or headers might be very specific to the type of service used. Real world examples of such applications are https://github.com/symfony/mailgun-mailer/blob/7.2/Transport/MailgunApiTransport.php#L89 or https://www.reddit.com/r/symfony/comments/1cn32jx/add_header_based_on_transport/?rdt=36882.

However, when using such a transport as one of the transports in the `RoundRobinTransport` (or by extension the `FailoverTransport`), this may result in certain headers intended for transport service A to also be sent to transport service B if the former fails. Although this will likely be harmless in most cases, it may cause issues as the one described in laravel/framework#51872 (and https://stackoverflow.com/questions/78660310/why-the-failover-first-driver-fails-and-inline-attachment-image-path-is-wrong-in).

To prevent alterations to the message that happen within the scope of a specific transport to leak to another, this PR proposes to use a clone of the `RawMessage` instance whenever attempting a new transport service. This should ensure that any transport-specific manipulations should not leak to a next transport.

Note this is mostly a behavioral change, which I don't think should break any existing use case, but may considered to be noteworthy enough to list it somewhere. It may also even be considered a bug fix; if so, and it is better to target `7.3` or `6.4` instead, please let me know.

Commits
-------

0972774 [Mailer] [Transport] Send clone of `RawMessage` instance in `RoundRobinTransport`
@xabbuh xabbuh force-pushed the issue-60029 branch 3 times, most recently from b08f6af to 3b61716 Compare June 20, 2025 12:17
@xabbuh xabbuh force-pushed the issue-60029 branch 2 times, most recently from be47588 to 4144f76 Compare June 20, 2025 14:03
…buh)

This PR was merged into the 6.4 branch.

Discussion
----------

[Mailer] remove useless `@legacy` annotation

| Q             | A
| ------------- | ---
| Branch?       | 6.4
| Bug fix?      | no
| New feature?  | no
| Deprecations? | no
| Issues        |
| License       | MIT

this was added in symfony#36148 and the deprecation was later on reverted in symfony#41380

Commits
-------

4b6be4a remove useless `@legacy` annotation
… not register the deduplicate middleware (xabbuh)

This PR was merged into the 7.3 branch.

Discussion
----------

[FrameworkBundle] disable the Lock integration to not register the deduplicate middleware

| Q             | A
| ------------- | ---
| Branch?       | 7.3
| Bug fix?      | no
| New feature?  | no
| Deprecations? | no
| Issues        |
| License       | MIT

similar to symfony#60559 to fix the high deps failures

Commits
-------

9f65dd0 disable the Lock integration to not register the deduplicate middleware
* 6.4:
  remove useless @legacy annotation
  [Mailer] [Transport] Send clone of `RawMessage` instance in `RoundRobinTransport`
* 7.2:
  remove useless @legacy annotation
  [Mailer] [Transport] Send clone of `RawMessage` instance in `RoundRobinTransport`
* 7.3:
  remove useless @legacy annotation
  disable the Lock integration to not register the deduplicate middleware
  [Mailer] [Transport] Send clone of `RawMessage` instance in `RoundRobinTransport`
@xabbuh xabbuh force-pushed the issue-60029 branch 2 times, most recently from a29e002 to 1a61fd2 Compare June 21, 2025 11:31
fabpot and others added 28 commits June 28, 2025 10:24
…tysisi)

This PR was merged into the 7.4 branch.

Discussion
----------

[FrameworkBundle] fix `lint:container` command

| Q             | A
| ------------- | ---
| Branch?       | 7.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Issues        | Fix symfony#60920
| License       | MIT

This PR resolves two issues related to the `lint:container` command:

1) Incorrect use of `isDebug()` method: The `isDebug() `method was being called on the `$container`, but this method does not exist there. The correct call should be on the `$kernel` instance.

2) Issue during container unserialization: When unserializing the dumped container to retrieve the `ContainerBuilder`,  problem was with the service aliases. The `public` property was not correctly initialized because the constructor is bypassed during unserialization.

Commits
-------

0196be5 [FrameworkBundle] fix `lint:container` command
…cation.hide_user_not_found` parameter (chalasr)

This PR was merged into the 7.4 branch.

Discussion
----------

[SecurityBundle] Deprecate the `security.authentication.hide_user_not_found` parameter

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

We missed deprecating this unused parameter in symfony#58300

Commits
-------

40a2d2f [SecurityBundle] Deprecate the `security.authentication.hide_user_not_found` parameter
…tionInterface` to bypass retry in `RunCommandMessageHandler` (santysisi)

This PR was merged into the 6.4 branch.

Discussion
----------

[Console][Messenger] Fix: Allow `UnrecoverableExceptionInterface` to bypass retry in `RunCommandMessageHandler`

| Q             | A
| ------------- | ---
| Branch?       | 6.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Issues        | Fix symfony#60427
| License       | MIT

This PR ensures that `UnrecoverableExceptionInterface` exceptions thrown during the execution of a command via `RunCommandMessage` are no longer retried.

Commits
-------

6d550d8 [Console][Messenger] Fix: Allow UnrecoverableExceptionInterface to bypass retry in RunCommandMessageHandler
…tNormalizer::getAllowedAttributes()` (xabbuh)

This PR was merged into the 6.4 branch.

Discussion
----------

[Serializer] remove return type from `AbstractObjectNormalizer::getAllowedAttributes()`

| Q             | A
| ------------- | ---
| Branch?       | 6.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Issues        | Fix symfony#60957
| License       | MIT

Commits
-------

b58fa26 remove return type from AbstractObjectNormalizer::getAllowedAttributes()
…g object type instead of enum (norkunas)

This PR was squashed before being merged into the 7.3 branch.

Discussion
----------

[TypeInfo] Fix `Type::fromValue` incorrectly setting object type instead of enum

| Q             | A
| ------------- | ---
| Branch?       | 7.3
| Bug fix?      | no
| New feature?  | no
| Deprecations? | no
| Issues        | Fix #...
| License       | MIT

Tried to apply symfony#60820 (comment) comment, but found some failing cases

Commits
-------

a0cdd3f [TypeInfo] Fix `Type::fromValue` incorrectly setting object type instead of enum
… use statement in `ContainerLintCommand` (santysisi)

This PR was merged into the 7.4 branch.

Discussion
----------

[FrameworkBundle] Minor remove unused `Container` use statement in `ContainerLintCommand`

| Q             | A
| ------------- | ---
| Branch?       | 7.4
| Bug fix?      | no
| New feature?  | no
| Deprecations? | no
| Issues        | no
| License       | MIT

This PR removes an unused `use Symfony\Component\DependencyInjection\Container;` statement from the `ContainerLintCommand` class.

This is a minor cleanup with no functional impact.

Commits
-------

1f3c8d1 [FrameworkBundle] Minor remove unused `Container` use statement in `ContainerLintCommand`
…` class docblock (OskarStark)

This PR was submitted for the 7.3 branch but it was merged into the 7.2 branch instead.

Discussion
----------

[WebProfilerBundle] Fix grammar in `CodeExtension` class docblock

| Q             | A
| ------------- | ---
| Branch?       | 7.2
| Bug fix?      | no
| New feature?  | no
| Deprecations? | no
| Issues        | --
| License       | MIT

Commits
-------

9f0ed7b Fix grammar in `CodeExtension` class docblock
…norkunas)

This PR was merged into the 7.3 branch.

Discussion
----------

[TypeInfo] Fix `Type::fromValue` with empty array

| Q             | A
| ------------- | ---
| Branch?       | 7.3
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Issues        | Fix #...
| License       | MIT

Without this, it fails with `Symfony\Component\TypeInfo\Exception\InvalidArgumentException: "int|string" is not a valid list key type.`

Commits
-------

cfcf666 [TypeInfo] Fix `Type::fromValue` with empty array
This PR was merged into the 7.3 branch.

Discussion
----------

[TypeInfo] Optimize enum check

| Q             | A
| ------------- | ---
| Branch?       | 7.3
| Bug fix?      | no
| New feature?  | no
| Deprecations? | no
| Issues        | Fix symfony#60956 (comment)
| License       | MIT

Commits
-------

e8b8282 [TypeInfo] Optimize enum check
…s (xabbuh)

This PR was merged into the 7.4 branch.

Discussion
----------

[Messenger][Translation] do not mock final classes

| Q             | A
| ------------- | ---
| Branch?       | 7.4
| Bug fix?      | no
| New feature?  | no
| Deprecations? | no
| Issues        | Fix symfony#60991
| License       | MIT

Commits
-------

50ffbe4 do not mock final classes
…:VALUE_REQUIRED`) (gharlan)

This PR was merged into the 7.2 branch.

Discussion
----------

[TwigBridge] fix command option mode (`InputOption::VALUE_REQUIRED`)

| Q             | A
| ------------- | ---
| Branch?       | 7.2
| Bug fix?      | yes
| New feature?  |no <!-- if yes, also update src/**/CHANGELOG.md -->
| Deprecations? | no <!-- if yes, also update UPGRADE-*.md and src/**/CHANGELOG.md -->
| Issues        |
| License       | MIT

Follow-up for symfony#60914 for 7.2 branch.

Commits
-------

f956dcc [TwigBridge] fix command option mode (InputOption::VALUE_REQUIRED)
* 6.4:
  remove return type from AbstractObjectNormalizer::getAllowedAttributes()
  Bump Symfony version to 6.4.24
  Update VERSION for 6.4.23
  Update CONTRIBUTORS for 6.4.23
  Update CHANGELOG for 6.4.23
  [Console][Messenger] Fix: Allow UnrecoverableExceptionInterface to bypass retry in RunCommandMessageHandler
* 7.2:
  [TwigBridge] fix command option mode (InputOption::VALUE_REQUIRED)
  Fix grammar in `CodeExtension` class docblock
  remove return type from AbstractObjectNormalizer::getAllowedAttributes()
  Bump Symfony version to 7.2.9
  Update VERSION for 7.2.8
  Update CHANGELOG for 7.2.8
  Bump Symfony version to 6.4.24
  Update VERSION for 6.4.23
  Update CONTRIBUTORS for 6.4.23
  Update CHANGELOG for 6.4.23
  [Console][Messenger] Fix: Allow UnrecoverableExceptionInterface to bypass retry in RunCommandMessageHandler
* 7.3:
  [TwigBridge] fix command option mode (InputOption::VALUE_REQUIRED)
  [TypeInfo] Optimize enum check
  Fix grammar in `CodeExtension` class docblock
  [TypeInfo] Fix `Type::fromValue` incorrectly setting object type instead of enum
  [TypeInfo] Fix `Type::fromValue` with empty array
  remove return type from AbstractObjectNormalizer::getAllowedAttributes()
  Bump Symfony version to 7.3.2
  Update VERSION for 7.3.1
  Update CHANGELOG for 7.3.1
  Bump Symfony version to 7.2.9
  Update VERSION for 7.2.8
  Update CHANGELOG for 7.2.8
  Bump Symfony version to 6.4.24
  Update VERSION for 6.4.23
  Update CONTRIBUTORS for 6.4.23
  Update CHANGELOG for 6.4.23
  [Console][Messenger] Fix: Allow UnrecoverableExceptionInterface to bypass retry in RunCommandMessageHandler
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.