| Q | A
|-----------------|-----
| Branch? | 2.2
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Related tickets | fixes#18986
| License | MIT
This PR has been generated automatically.
For more details see
[upmerge_pr.yaml](/Sylius/Sylius/blob/2.3/.github/workflows/upmerge_pr.yaml).
**Remember!** The upmerge should always be merged with using `Merge pull
request` button.
In case of conflicts, please resolve them manually with usign the
following commands:
```
git fetch upstream
gh pr checkout <this-pr-number>
git merge upstream/2.2 -m "Resolve conflicts between 2.1 and 2.2"
```
If you use other name for the upstream remote, please replace `upstream`
with the name of your remote pointing to the `Sylius/Sylius` repository.
Once the conflicts are resolved, please run `git merge --continue` and
push the changes to this PR.
This PR has been generated automatically.
For more details see
[upmerge_pr.yaml](/Sylius/Sylius/blob/2.3/.github/workflows/upmerge_pr.yaml).
**Remember!** The upmerge should always be merged with using `Merge pull
request` button.
In case of conflicts, please resolve them manually with usign the
following commands:
```
git fetch upstream
gh pr checkout <this-pr-number>
git merge upstream/2.2 -m "Resolve conflicts between 2.1 and 2.2"
```
If you use other name for the upstream remote, please replace `upstream`
with the name of your remote pointing to the `Sylius/Sylius` repository.
Once the conflicts are resolved, please run `git merge --continue` and
push the changes to this PR.
| Q | A
|-----------------|-----
| Branch? | 2.1
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Related tickets | fixes https://github.com/Sylius/Sylius/issues/17751
| License | MIT
<!--
- Bug fixes must be submitted against the 1.14 or 2.1 branch
- Features and deprecations must be submitted against the 2.2 branch
- Make sure that the correct base branch is set
To be sure you are not breaking any Backward Compatibilities, check the
documentation:
https://docs.sylius.com/en/latest/book/organization/backward-compatibility-promise.html
-->
This PR has been generated automatically.
For more details see
[upmerge_pr.yaml](/Sylius/Sylius/blob/2.1/.github/workflows/upmerge_pr.yaml).
**Remember!** The upmerge should always be merged with using `Merge pull
request` button.
In case of conflicts, please resolve them manually with usign the
following commands:
```
git fetch upstream
gh pr checkout <this-pr-number>
git merge upstream/2.2 -m "Resolve conflicts between 2.1 and 2.2"
```
If you use other name for the upstream remote, please replace `upstream`
with the name of your remote pointing to the `Sylius/Sylius` repository.
Once the conflicts are resolved, please run `git merge --continue` and
push the changes to this PR.
This PR has been generated automatically.
For more details see
[upmerge_pr.yaml](/Sylius/Sylius/blob/2.1/.github/workflows/upmerge_pr.yaml).
**Remember!** The upmerge should always be merged with using `Merge pull
request` button.
In case of conflicts, please resolve them manually with usign the
following commands:
```
git fetch upstream
gh pr checkout <this-pr-number>
git merge upstream/2.2 -m "Resolve conflicts between 2.1 and 2.2"
```
If you use other name for the upstream remote, please replace `upstream`
with the name of your remote pointing to the `Sylius/Sylius` repository.
Once the conflicts are resolved, please run `git merge --continue` and
push the changes to this PR.
This PR has been generated automatically.
For more details see
[upmerge_pr.yaml](/Sylius/Sylius/blob/2.1/.github/workflows/upmerge_pr.yaml).
**Remember!** The upmerge should always be merged with using `Merge pull
request` button.
In case of conflicts, please resolve them manually with usign the
following commands:
```
git fetch upstream
gh pr checkout <this-pr-number>
git merge upstream/2.2 -m "Resolve conflicts between 2.1 and 2.2"
```
If you use other name for the upstream remote, please replace `upstream`
with the name of your remote pointing to the `Sylius/Sylius` repository.
Once the conflicts are resolved, please run `git merge --continue` and
push the changes to this PR.
| Q | A
|-----------------|-----
| Branch? | 2.2
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | yes
| Related tickets | https://github.com/Sylius/Sylius/issues/17906
| License | MIT
This PR introduces a new mechanism for extending the checkout address
`FormComponent` via tagged services implementing
`AddressFormValuesModifierInterface`.
This approach uses dependency injection and a tagged_iterator with the
tag `sylius_shop.modifier.address_form_values`. These modifiers allow
plugins and applications to dynamically transform or enrich the address
data.
| Q | A
|-----------------|-----
| Branch? | 2.1
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| License | MIT
Fundamental change in responses:
In 4.2 the proper response is:
\"invalid\" is not configured.",
"hydra:description": "Filter \"invalid\" is not configured.",
"hydra:title": "An error occurred"
In comparison to 4.1:
"hydra:description": "Filter \"invalid\" is not configured.",
"hydra:title": "An error occurred",
"title": "An error occurred",
"description": "Filter
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- Bug Fixes
- Standardized API error responses: removed duplicated root
title/description/type entries and introduced optional title/description
matchers; hydra fields and error details preserved.
- Documentation
- Added upgrade notes for 2.1.5 → 2.1.6 describing API Platform 4.x
error-field behavior and updated test expectations.
- Chores
- CI: added PHP 8.4 / Symfony 7.3 MariaDB matrix entry and conditional
Api Platform runs with segregated cache keys.
- Tests
- Updated many API response fixtures; tightened mock expectations and
exposed some test data providers.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
| Q | A
|-----------------|-----
| Branch? | 2.1
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no<!-- don't forget to update the UPGRADE-*.md file
-->
| Related tickets | bases on #18110
| License | MIT
<!--
- Bug fixes must be submitted against the 1.14 or 2.0 branch
- Features and deprecations must be submitted against the 2.1 branch
- Make sure that the correct base branch is set
To be sure you are not breaking any Backward Compatibilities, check the
documentation:
https://docs.sylius.com/en/latest/book/organization/backward-compatibility-promise.html
-->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- Chores
- Upgraded testing tooling across the project (PHPUnit 11.5 and Symfony
testing libraries 6.0). Updated static analysis configuration.
- Refactor
- Modernized test and bootstrap code (arrow functions, readonly
properties/classes, cleaner imports).
- Improved initialization and request handling robustness in test
applications.
- Tests
- Updated data providers (visibility/static), streamlined callbacks and
expectations, and minor naming cleanups.
- Documentation
- None.
- Style
- None.
- New Features
- None.
- Bug Fixes
- None.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
| Q | A
|-----------------|-----
| Branch? | 2.0 or 2.1
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Related tickets | fixes https://github.com/Sylius/Sylius/issues/18306
| License | MIT
Adds variantName to OrderItem in the API .
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Order items now include a human-readable variantName across admin and
shopper surfaces — order lists and details, order item views, cart and
checkout flows (including shipping/payment selection), order completion,
and account order pages — improving clarity when products have multiple
variants.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This PR has been generated automatically.
For more details see
[upmerge_pr.yaml](/Sylius/Sylius/blob/2.1/.github/workflows/upmerge_pr.yaml).
**Remember!** The upmerge should always be merged with using `Merge pull
request` button.
In case of conflicts, please resolve them manually with usign the
following commands:
```
git fetch upstream
gh pr checkout <this-pr-number>
git merge upstream/2.1 -m "Resolve conflicts between 2.0 and 2.1"
```
If you use other name for the upstream remote, please replace `upstream`
with the name of your remote pointing to the `Sylius/Sylius` repository.
Once the conflicts are resolved, please run `git merge --continue` and
push the changes to this PR.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Bug Fixes**
- Corrected product and variant names shown in order item details to use
the item’s data; product images, links, and variant codes remain
unchanged.
- **New Features**
- Added zone-based shipping eligibility check to prevent selecting
shipping methods that don't match the order's shipping zone.
- Added Behat step to change a shipping method's zone.
- **Tests**
- Added unit tests for zone eligibility and Gherkin scenarios covering
shipping-zone-related checkout behavior.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->