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 is a continuation of pull request
https://github.com/Sylius/Sylius/pull/18477
| Q | A
|-----------------|-----
| Branch? | 2.1
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Related tickets | https://github.com/Sylius/Sylius/issues/18384
| License | MIT
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Bug Fixes**
* Parent taxon autocomplete search is now case-insensitive for more
reliable results.
* **New Features**
* Admin taxon form returns richer autocomplete results for parent
selection.
* Added UI actions to search and verify parent taxon results.
* Support for creating taxons with explicit codes where needed.
* **Tests**
* New BDD tests covering case-insensitive parent taxon autocomplete and
related scenarios.
<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
| Q | A
|-----------------|-----
| Branch? | 2.1
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Related tickets | https://github.com/Sylius/Sylius/issues/17718
| License | MIT
I reproduced error when chose nl_NL and ran command bin/console
sylius:install. Bug was caused lack translations for taxons.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Bug Fixes**
* Admin product list now correctly handles products whose main category
has no name — tooltips and category display no longer error or show
incorrect content.
* **Tests**
* Added a UI scenario and step coverage to verify browsing products with
unnamed main categories in the admin interface.
<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- 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 1.14 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.
| Q | A
|-----------------|-----
| Branch? | 2.2
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no/yes <!-- don't forget to update the UPGRADE-*.md
file -->
| Related tickets | fixes #X, partially #Y, mentioned in #Z
| 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 adds the missing translation string for
`administration_reset_password` for `de_de` langauge makes it consistent
with the other DE languages.
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 1.14 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.
Expands `AGENTS.md` with practical reference paths and fills previously
empty sections.
Changes:
- Add Reference Files section with paths to entities, API Platform
configs, services, templates, tests, and migrations
- Document migration requirements: always create both MySQL and
PostgreSQL versions
- Fill PHPUnit, Behat, JavaScript sections with guidelines
- Add Common Mistakes to Avoid section
- Condense intro and remove redundant points
When resolving channels by hostname, localhost, 127.0.0.1 and ::1 are
now treated as equivalents. If no channel is found for the exact
hostname but the hostname is one of these localhost variants, the
resolver will try the other variants.
Previously, Sylius did exact string comparison when matching channels by
hostname. This meant that a channel configured with `localhost` would
not be matched when accessing via `127.0.0.1`, and vice versa. This
caused friction in local development when browser URL and fixtures used
different hostname formats.
The fix adds fallback logic in `HostnameBasedRequestResolver` that
checks other localhost equivalents when:
1. No channel is found for the exact hostname
2. The hostname is one of the localhost equivalents (localhost,
127.0.0.1, ::1)
| Q | A
|-----------------|-----
| Branch? | 1.14 <!-- see the comment below -->
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| 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
-->
| Q | A
|-----------------|-----
| Branch? | 2.0
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Related tickets | none
| License | MIT
## Description
This PR improves the handling of payment request actions by also
handling IRI payment method.
## Changes
### 1. Remove explicit action parameter from Behat tests
- Removed the hardcoded `action` field from payment request context in
Behat tests
- The action is already automatically determined based on the payment
method configuration
### 2. Enhanced PaymentRequestActionAwareContextBuilder
- Added IRI to identifier conversion support for `paymentMethodCode`
parameter
- Injected `IriToIdentifierConverterInterface` to handle IRI format
payment method codes
- When `paymentMethodCode` is provided as an IRI (e.g.,
`/api/v2/shop/payment-methods/code`), it's automatically converted to
the identifier before determining the default action
- This ensures the default action provider can correctly resolve the
action based on the payment method configuration
## Benefits
- **Improved flexibility**: Supports both direct payment method codes
and IRI references
- **Better consistency**: The default action is always determined from
the payment method configuration, reducing potential mismatches
- **Cleaner code**: Removes redundant action specifications from tests
and API calls
## Technical Details
The `PaymentRequestActionAwareContextBuilder` now:
1. Checks if the `paymentMethodCode` is an IRI
2. Converts it to an identifier if needed
This change maintains backward compatibility while adding support for
IRI-based payment method references.
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.
Remove legacy `twig/twig` version conflicts that blocked users of
standalone bundles from upgrading to Twig 3.x:
- Remove `^3.0` conflict added in 2019, already removed in Sylius 2.0+
- Remove `^1.0` conflict (Twig 1.x reached EOL years ago)
- Keep `3.9.0` conflict as it's a specific buggy version documented in
`CONFLICTS.md`
Since Twig 2.x reached EOL in December 2023, these conflicts were
blocking users who use Sylius bundles standalone from upgrading.
Also adds `friendsofsymfony/rest-bundle` and `jms/serializer-bundle` to
UserBundle `require-dev` - they're used in functional tests but were
previously installed as transitive dependencies of
`sylius/resource-bundle` (moved from `require` to `require-dev` in
ResourceBundle 1.13).
Additionally adds conflict for `liip/imagine-bundle: 2.17.0` - this
version was released on 2026-01-05 and breaks container compilation when
AssetMapper is not used (unrelated to twig changes).
Affected bundles: AddressingBundle, CustomerBundle, CurrencyBundle,
InventoryBundle, LocaleBundle, MoneyBundle, OrderBundle, PaymentBundle,
PromotionBundle, ReviewBundle, ShippingBundle, TaxationBundle,
TaxonomyBundle, UiBundle, UserBundle
Closes#18700
| Q | A
|-----------------|-----
| Branch? | 1.14 <!-- see the comment below -->
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| 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
-->
continuation of https://github.com/Sylius/Sylius/pull/16146
| Q | A
|-----------------|-----
| Branch? | 1.14
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Related tickets | fixes #X, partially #Y, mentioned in #Z
| License | MIT
Fix the broken romanian plural translation.
There are multiple other keys in the translation.
| Q | A
|-----------------|-----
| Branch? | 1.13 <!-- see the comment below -->
| Bug fix? | a bit
| New feature? | no
| BC breaks? | no
| License | MIT
<!--
- Bug fixes must be submitted against the 1.13 branch
- Features and deprecations must be submitted against the 1.14 branch
- Features, removing deprecations and BC breaks must be submitted
against the 2.0 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
-->
We need to adjust the code to make it consistent everywhere we use it
hardcoded in our test app
When resolving channels by hostname, localhost, 127.0.0.1 and ::1 are now treated as equivalents. If no channel is found for the exact hostname but the hostname is one of these localhost variants, the resolver will try the other variants.
This improves local development experience when browser URL and fixtures use different formats (e.g. localhost in fixtures but 127.0.0.1 in browser).
| Q | A
|-----------------|-----
| Branch? | 2.1
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Related tickets |
| 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
-->
When there is an error on Behat for example, the template is not ok
<img width="1437" height="358" alt="image"
src="https://github.com/user-attachments/assets/e84dfac5-371c-47e0-bccb-59306650c4a8"
/>