Commit graph

40489 commits

Author SHA1 Message Date
Marek Rzytki
9c909b5f24 Fix docs description 2026-06-19 15:54:58 +02:00
Marek Rzytki
a306ace096 Add Taxon documentation to OpenAPI specification 2026-06-16 09:10:18 +02:00
Grzegorz Sadowski
f8a27841f2
[DX] Break footer menu and shipment general templates into smaller hooks 2.2 (#19056)
Some checks failed
Continuous Integration (Minimal) / Static checks (push) Has been cancelled
Continuous Integration (Minimal) / Tests (MariaDB) (push) Has been cancelled
Continuous Integration (Minimal) / Tests (MySQL) (push) Has been cancelled
Continuous Integration (Minimal) / Javascript Tests (MySQL) (push) Has been cancelled
Continuous Integration (Minimal) / Tests (PostgreSQL) (push) Has been cancelled
Continuous Integration (Minimal) / Frontend (push) Has been cancelled
Continuous Integration (Minimal) / Packages (push) Has been cancelled
| Q               | A
|-----------------|-----
| Branch?         | 2.2
| Bug fix?        | no
| New feature?    | no
| BC breaks?      | no
| Deprecations?   | 
| Related tickets | 
| License         | MIT

<!--
 - Bug fixes must be submitted against the 2.2 branch
 - Features and deprecations must be submitted against the 2.3 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
-->
2026-06-12 09:36:04 +02:00
Mateusz
c01747140e [DX] Break footer link groups into individual hookable templates 2026-06-12 08:37:38 +02:00
Mateusz
4e2f6be26f [DX] Break footer menu and shipment general templates into smaller hooks 2026-06-12 08:37:38 +02:00
Rafał Jaskulski
2b27c22cca
[CS][DX] Refactor (#19023)
Some checks are pending
Continuous Integration (Minimal) / Static checks (push) Waiting to run
Continuous Integration (Minimal) / Tests (MariaDB) (push) Blocked by required conditions
Continuous Integration (Minimal) / Tests (MySQL) (push) Blocked by required conditions
Continuous Integration (Minimal) / Javascript Tests (MySQL) (push) Blocked by required conditions
Continuous Integration (Minimal) / Tests (PostgreSQL) (push) Blocked by required conditions
Continuous Integration (Minimal) / Frontend (push) Blocked by required conditions
Continuous Integration (Minimal) / Packages (push) Blocked by required conditions
This PR has been generated automatically.
For more details see
[refactor.yaml](/Sylius/Sylius/blob/2.1/.github/workflows/refactor.yaml).
2026-06-11 07:31:13 +02:00
Sylius Bot
97ea3445af [CS][DX] Refactor
Some checks failed
Continuous Integration (Minimal) / Static checks (push) Has been cancelled
Continuous Integration (Minimal) / Tests (MariaDB) (push) Has been cancelled
Continuous Integration (Minimal) / Tests (MySQL) (push) Has been cancelled
Continuous Integration (Minimal) / Javascript Tests (MySQL) (push) Has been cancelled
Continuous Integration (Minimal) / Tests (PostgreSQL) (push) Has been cancelled
Continuous Integration (Minimal) / Frontend (push) Has been cancelled
Continuous Integration (Minimal) / Packages (push) Has been cancelled
2026-06-11 03:06:37 +00:00
Kamil Grygierzec
dd5184bd91
[Fix] Product Summary using wrong variant resolver (#19047)
Some checks are pending
Continuous Integration (Minimal) / Packages (push) Blocked by required conditions
Continuous Integration (Minimal) / Static checks (push) Waiting to run
Continuous Integration (Minimal) / Tests (MariaDB) (push) Blocked by required conditions
Continuous Integration (Minimal) / Tests (MySQL) (push) Blocked by required conditions
Continuous Integration (Minimal) / Javascript Tests (MySQL) (push) Blocked by required conditions
Continuous Integration (Minimal) / Tests (PostgreSQL) (push) Blocked by required conditions
Continuous Integration (Minimal) / Frontend (push) Blocked by required conditions
| Q               | A
|-----------------|-----
| Branch?         | 2.2
| Bug fix?        | yes
| New feature?    | no
| BC breaks?      | no
| Deprecations?   | no
| Related tickets | 
| License         | MIT

I encountered an issue where I'm using my own specific
`sylius.resolver.product_variant`, I discovered that the component
Product Summary was using the default resolver instead of the composite
one.

The PR is aiming to fix this.
2026-06-10 21:38:31 +02:00
Francis Hilaire
6a7c5cf6e3
Use composite service instead of the default one to allow other tagged service to resolve the right product variant 2026-06-03 17:56:05 +02:00
Grzegorz Sadowski
80cfea8f52
Fix application's version
Some checks failed
Continuous Integration (Minimal) / Static checks (push) Has been cancelled
Continuous Integration (Minimal) / Tests (MariaDB) (push) Has been cancelled
Continuous Integration (Minimal) / Tests (MySQL) (push) Has been cancelled
Continuous Integration (Minimal) / Javascript Tests (MySQL) (push) Has been cancelled
Continuous Integration (Minimal) / Tests (PostgreSQL) (push) Has been cancelled
Continuous Integration (Minimal) / Frontend (push) Has been cancelled
Continuous Integration (Minimal) / Packages (push) Has been cancelled
2026-06-02 12:50:57 +02:00
Grzegorz Sadowski
a90d41c9bf
Change application's version to v2.2.7-dev 2026-06-02 12:48:34 +02:00
Grzegorz Sadowski
a1a074a079
Generate changelog for v2.2.6 2026-06-02 12:48:14 +02:00
Grzegorz Sadowski
1da96abc9c
Change application's version to v2.2.6 2026-06-02 12:47:08 +02:00
Grzegorz Sadowski
45c6c33184
[UPMERGE] 2.1 -> 2.2 (#19042)
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.
2026-06-02 12:43:40 +02:00
TheMilek
197648f0ed
Resolve conflicts between 2.1 and 2.2 2026-06-02 12:43:00 +02:00
Grzegorz Sadowski
9315d9e1f4
[UPMERGE] 2.1 -> 2.2 (#19041)
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.
2026-06-02 12:37:42 +02:00
TheMilek
903f5f5d1e
Resolve conflicts between 2.1 and 2.2 2026-06-02 12:21:47 +02:00
Grzegorz Sadowski
f2914c3200
Change application's version to v2.1.16-dev
Some checks failed
Continuous Integration (Minimal) / Static checks (push) Has been cancelled
Continuous Integration (Minimal) / Tests (MySQL) (push) Has been cancelled
Continuous Integration (Minimal) / Tests (MariaDB) (push) Has been cancelled
Continuous Integration (Minimal) / Javascript Tests (MySQL) (push) Has been cancelled
Continuous Integration (Minimal) / Tests (PostgreSQL) (push) Has been cancelled
Continuous Integration (Minimal) / Frontend (push) Has been cancelled
Continuous Integration (Minimal) / Packages (push) Has been cancelled
2026-06-02 12:19:24 +02:00
Grzegorz Sadowski
894f297317
Generate changelog for v2.1.15 2026-06-02 12:18:44 +02:00
Grzegorz Sadowski
673da7c3a7
Change application's version to v2.1.15 2026-06-02 12:17:23 +02:00
Grzegorz Sadowski
e837ef08a7
[2.1] Check payment request ownership (#19040)
| Q               | A
|-----------------|-----
| Branch?         | 2.1 <!-- see the comment below -->
| Bug fix?        | no
| New feature?    | no
| BC breaks?      | no
| License         | MIT

<!--
 - Bug fixes must be submitted against the 2.2 branch
 - Features and deprecations must be submitted against the 2.3 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
-->
2026-06-02 12:07:05 +02:00
Grzegorz Sadowski
eed16c4c7c
[2.1][API] Enforce channel eligibility check when changing payment method via account endpoint (#19039)
| Q               | A
|-----------------|-----
| Branch?         | 2.1 <!-- see the comment below -->
| Bug fix?        | yes
| New feature?    | no
| BC breaks?      | no
| License         | MIT

<!--
 - Bug fixes must be submitted against the 2.2 branch
 - Features and deprecations must be submitted against the 2.3 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
-->
2026-06-02 12:06:22 +02:00
Grzegorz Sadowski
e8764931d7
[2.1] Prevent stale cart LiveComponents from mutating completed orders (#19038)
| Q               | A
|-----------------|-----
| Branch?         | 2.1 <!-- see the comment below -->
| Bug fix?        | yes
| New feature?    | no
| BC breaks?      | no
| License         | MIT

<!--
 - Bug fixes must be submitted against the 2.2 branch
 - Features and deprecations must be submitted against the 2.3 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
-->
2026-06-02 12:05:30 +02:00
TheMilek
0af90b6e96
Check payment request ownership on POST 2026-06-02 08:50:05 +02:00
Wojdylak
19dbca7440
Cover createdByGuest case in payment request ownership 2026-06-02 08:50:05 +02:00
TheMilek
77f3d23992
Check payment request ownership 2026-06-02 08:50:04 +02:00
Tomasz Kaliński
4c120f3f05 Prevent stale cart LiveComponents from mutating completed orders 2026-05-27 12:45:01 +02:00
Grzegorz Sadowski
177b60dbeb
[API] Make PaymentMethodChanger resolver argument nullable 2026-05-26 12:23:22 +02:00
Grzegorz Sadowski
1178ecb72b
[API] Enforce channel eligibility check when changing payment method via account endpoint 2026-05-26 12:23:15 +02:00
Grzegorz Sadowski
6f5464b6a9
[API] Add regression tests for payment method channel eligibility 2026-05-26 12:23:08 +02:00
Grzegorz Sadowski
5aa6e48fa3
[API] Slim down Swagger UI override and drop broken auto-auth JS (#19026)
Some checks failed
Continuous Integration (Minimal) / Static checks (push) Has been cancelled
Continuous Integration (Minimal) / Tests (MariaDB) (push) Has been cancelled
Continuous Integration (Minimal) / Tests (MySQL) (push) Has been cancelled
Continuous Integration (Minimal) / Javascript Tests (MySQL) (push) Has been cancelled
Continuous Integration (Minimal) / Tests (PostgreSQL) (push) Has been cancelled
Continuous Integration (Minimal) / Frontend (push) Has been cancelled
Continuous Integration (Minimal) / Packages (push) Has been cancelled
| Q               | A
|-----------------|-----
| Branch?         | 2.2
| Bug fix?        | yes?
| New feature?    | no
| BC breaks?      | no
| Deprecations?   | no
| Related tickets | 
| License         | MIT

<!--
 - Bug fixes must be submitted against the 2.2 branch
 - Features and deprecations must be submitted against the 2.3 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
-->
2026-05-25 11:27:45 +02:00
Grzegorz Sadowski
3f1297c409
[API] Slim down Swagger UI override and drop broken auto-auth JS 2026-05-25 10:44:45 +02:00
Michał Pysiak
805b660545
[API] Add regression tests for cross-customer cart item access (#19025)
Some checks are pending
Continuous Integration (Minimal) / Static checks (push) Waiting to run
Continuous Integration (Minimal) / Tests (MariaDB) (push) Blocked by required conditions
Continuous Integration (Minimal) / Tests (MySQL) (push) Blocked by required conditions
Continuous Integration (Minimal) / Javascript Tests (MySQL) (push) Blocked by required conditions
Continuous Integration (Minimal) / Tests (PostgreSQL) (push) Blocked by required conditions
Continuous Integration (Minimal) / Frontend (push) Blocked by required conditions
Continuous Integration (Minimal) / Packages (push) Blocked by required conditions
| Q               | A
|-----------------|-----
| Branch?         | 2.2
| Bug fix?        | no
| New feature?    | no
| BC breaks?      | no
| Deprecations?   | no
| Related tickets | 
| License         | MIT

<!--
 - Bug fixes must be submitted against the 2.2 branch
 - Features and deprecations must be submitted against the 2.3 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
-->
2026-05-25 10:17:08 +02:00
Grzegorz Sadowski
048b69ad44
[API] Add regression tests for cross-customer cart item access 2026-05-25 09:36:39 +02:00
Grzegorz Sadowski
45e654e831
[2.2] [AttributeBundle] make Add and Delete button translatable in product attribute select type (#19024)
| Q               | A
|-----------------|-----
| Branch?         | 2.2
| Bug fix?        | yes
| New feature?    | no
| BC breaks?      | no
| Deprecations?   | no
| Related tickets | fixes #X
| License         | MIT

**Description**

So far it wasnt possible to translate the "Add" and "Delete" button when
creating Product Attributes with the "Select" type.

<img width="1289" height="884" alt="image"
src="https://github.com/user-attachments/assets/1e06ff47-4b88-4663-a7c1-61cca8c67464"
/>
2026-05-25 06:36:21 +02:00
Simon Krull
8346daac29 [2.2] [AttributeBundle] make add and delete button translatable in product attribute select 2026-05-24 11:33:54 +02:00
Karol Wojdyła
d57823973a
[ApiBundle] Fix 404 on GET /shop/products/{code} when all associated products are disabled (#19018)
Some checks failed
Continuous Integration (Minimal) / Static checks (push) Has been cancelled
Continuous Integration (Minimal) / Javascript Tests (MySQL) (push) Has been cancelled
Continuous Integration (Minimal) / Tests (PostgreSQL) (push) Has been cancelled
Continuous Integration (Minimal) / Frontend (push) Has been cancelled
Continuous Integration (Minimal) / Packages (push) Has been cancelled
Continuous Integration (Minimal) / Tests (MariaDB) (push) Has been cancelled
Continuous Integration (Minimal) / Tests (MySQL) (push) Has been cancelled
| Q               | A
|-----------------|-----
| Branch?         | 2.2
| Bug fix?        | yes
| New feature?    | no
| BC breaks?      | no
| Deprecations?   | no
| Related tickets | https://github.com/Sylius/Sylius/issues/19013
| License         | MIT

  ### Summary

`GET /api/v2/shop/products/{code}` returned **404** for an `enabled`
product whenever
*all* of its associated products (across all its associations) were
disabled.

  Root cause: `EnabledWithinProductAssociationExtension` applied
`andWhere('product.associations IS EMPTY OR associatedProduct.id IS NOT
NULL')`
both in `applyToCollection` and `applyToItem`. For an item query, the OR
collapsed
to `false` whenever the product had associations but none of their
associated
  products were enabled — excluding the product itself from the result.

  ### Fix

Removed the `andWhere` from the extension. Eager-loading of enabled
associated
products (`LEFT JOIN ... WITH associatedProduct.enabled = true`) stays
in place
and mirrors the convention used by the neighbouring
`EnabledVariantsExtension`.
2026-05-21 14:14:32 +02:00
Grzegorz Sadowski
249fedec2b
Add appendError method to ResponseCheckerInterface (#19017)
| Q               | A
|-----------------|-----
| Branch?         | 2.2
| Bug fix?        | yes
| New feature?    | no
| BC breaks?      | no
| Deprecations?   | no
| Related tickets | 
| License         | MIT

A missing interface method signature `appendError` is missing in the
`ResponseCheckerInterface`, I don't know why PHPStan did not spot this
but this method is used here :
https://github.com/Sylius/Sylius/blob/2.2/src/Sylius/Behat/Client/ApiPlatformClient.php#L357
therefore the interface method must exists.
2026-05-21 13:40:11 +02:00
Michał Kaczmarek
cb751d0bb7 Fix 404 bug for endpoint api 2026-05-21 12:57:10 +02:00
Francis Hilaire
b07a3db6d2
Add appendError method to ResponseCheckerInterface 2026-05-21 12:39:04 +02:00
Karol Wojdyła
fd2a52305c
Bugfix/csrf token (#19001)
Some checks are pending
Continuous Integration (Minimal) / Static checks (push) Waiting to run
Continuous Integration (Minimal) / Tests (MariaDB) (push) Blocked by required conditions
Continuous Integration (Minimal) / Tests (MySQL) (push) Blocked by required conditions
Continuous Integration (Minimal) / Javascript Tests (MySQL) (push) Blocked by required conditions
Continuous Integration (Minimal) / Tests (PostgreSQL) (push) Blocked by required conditions
Continuous Integration (Minimal) / Frontend (push) Blocked by required conditions
Continuous Integration (Minimal) / Packages (push) Blocked by required conditions
| Q               | A
|-----------------|-----
| Branch?         | 2.2
| Bug fix?        | yes
| New feature?    | no
| BC breaks?      | no
| Deprecations?   | no
| Related tickets | https://github.com/Sylius/Sylius/pull/18324
| License         | MIT

This PR removes hard-coded references to the **Symfony Form CSRF field**
(`_token`)
from form templates and replaces them with dynamic rendering in the form
theme,
based on block prefixes. This ensures compatibility with Symfony Forms'
configurable
  CSRF protection (`framework.form.csrf_protection.field_name`).

  **Out of scope** of this PR:
- Hardcoded Security firewall CSRF parameters
(`_csrf_admin_security_token`,
`_csrf_shop_security_token`) in login templates — separate issue, will
be
    addressed in a follow-up PR
  - Hardcoded `_csrf_token` field name used by manual CSRF protection in
delete/cancel/transition actions — Sylius convention, not configurable
in Symfony
2026-05-20 09:21:58 +02:00
Karol Wojdyła
652bdbdbe1
[ApiBundle] Fix "Undefined array key 0" in PathPrefixProvider when path equals API route (#19012)
Some checks are pending
Continuous Integration (Minimal) / Static checks (push) Waiting to run
Continuous Integration (Minimal) / Tests (MariaDB) (push) Blocked by required conditions
Continuous Integration (Minimal) / Tests (MySQL) (push) Blocked by required conditions
Continuous Integration (Minimal) / Javascript Tests (MySQL) (push) Blocked by required conditions
Continuous Integration (Minimal) / Tests (PostgreSQL) (push) Blocked by required conditions
Continuous Integration (Minimal) / Frontend (push) Blocked by required conditions
Continuous Integration (Minimal) / Packages (push) Blocked by required conditions
| Q               | A
|-----------------|-----
| Branch?         | 2.2 
| Bug fix?        | yes
| New feature?    | no
| BC breaks?      | no
| Deprecations?   | no
| Related tickets | 
| License         | MIT

## Description:

When the request path equals the configured API route exactly (e.g.
/api/v2 — the Swagger UI docs URL), PathPrefixProvider::getPathPrefix()
produced an empty $pathElements array and
  triggered a PHP warning on $pathElements[0].

This surfaced after upgrading api-platform/symfony to 4.3.x, where
SwaggerUiProcessor normalizes the OpenAPI doc — which calls
IriConverter::getIriFromResource() with request_uri =
  /api/v2 and hits this code path.

Fix: return null early when no path segments remain after stripping the
API route prefix.

Tests: added two regression tests covering path == apiRoute and path ==
apiRoute . '/'.
2026-05-19 13:28:00 +02:00
Michał Kaczmarek
5e41cb5207 Fix bug 2026-05-19 12:48:52 +02:00
Grzegorz Sadowski
fbf3e994db
[ApiBundle][Tests] Add regression test for anonymous cart pickup wit… (#19009)
Some checks are pending
Continuous Integration (Minimal) / Static checks (push) Waiting to run
Continuous Integration (Minimal) / Tests (MariaDB) (push) Blocked by required conditions
Continuous Integration (Minimal) / Tests (MySQL) (push) Blocked by required conditions
Continuous Integration (Minimal) / Javascript Tests (MySQL) (push) Blocked by required conditions
Continuous Integration (Minimal) / Tests (PostgreSQL) (push) Blocked by required conditions
Continuous Integration (Minimal) / Frontend (push) Blocked by required conditions
Continuous Integration (Minimal) / Packages (push) Blocked by required conditions
| Q               | A
|-----------------|-----
| Branch?         | 2.2
| Bug fix?        | no
| New feature?    | no
| BC breaks?      | no
| Deprecations?   | no
| Related tickets | n/a
| License         | MIT
2026-05-18 10:24:50 +02:00
Wojdylak
bdf55e7f43
[ApiBundle][Tests] Add regression test for anonymous cart pickup with registered email 2026-05-18 09:34:54 +02:00
Michał Kaczmarek
0b5709f4dc Merge branch '2.2' into bugfix/csrf-token 2026-05-15 10:45:33 +02:00
Michał Kaczmarek
f2dc071959 fix crashes on admin related with csrf token 2026-05-15 10:43:29 +02:00
Kamil Grygierzec
cec31ee650
BUGFIX: Expose ShippingMethod *DeliveryTimeDays in admin API (#18988)
Some checks failed
Continuous Integration (Minimal) / Static checks (push) Has been cancelled
Continuous Integration (Minimal) / Frontend (push) Has been cancelled
Continuous Integration (Minimal) / Packages (push) Has been cancelled
Continuous Integration (Minimal) / Tests (MariaDB) (push) Has been cancelled
Continuous Integration (Minimal) / Tests (MySQL) (push) Has been cancelled
Continuous Integration (Minimal) / Javascript Tests (MySQL) (push) Has been cancelled
Continuous Integration (Minimal) / Tests (PostgreSQL) (push) Has been cancelled
| Q               | A
|-----------------|-----
| Branch?         | 2.2
| Bug fix?        | yes
| New feature?    | no
| BC breaks?      | no
| Deprecations?   | no
| Related tickets | fixes #18986
| 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
-->
2026-05-12 10:37:11 +02:00
Daniel Lienert
c30e4a4f35
TASK: Add separate tests for setting / updating delivery times 2026-05-10 22:13:50 +02:00
Daniel Lienert
23da96ac0e
BUGFIX: Expose ShippingMethod minDeliveryTimeDays / maxDeliveryTimeDays in admin API
| Q               | A
|-----------------|-----
| Branch?         | 2.2
| Bug fix?        | yes
| New feature?    | no
| BC breaks?      | no
| Deprecations?   | no
| Related tickets | fixes #18986
| License         | MIT
2026-05-10 22:03:52 +02:00