diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..e880140 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,7 @@ +name: "Auto Release" +on: + push: + branches: [ master, main ] +jobs: + release: + uses: thelia-modules/ReusableWorkflow/.github/workflows/auto_release.yml@main diff --git a/Action/DisplayProductsListAction.php b/Action/DisplayProductsListAction.php index 03fd77a..2148156 100644 --- a/Action/DisplayProductsListAction.php +++ b/Action/DisplayProductsListAction.php @@ -25,7 +25,7 @@ { public const DEFAULT_LIMIT = 3; - //A product never appears in its own recommendations (#561) — neutral outside + //A product never appears in its own recommendations — neutral outside //a product page, where :product_id is bound to the 0 sentinel. Only for the //stateless selection: the sticky path filters AFTER its persistence logic private const CURRENT_PRODUCT_EXCLUSION = '`product`.`id` != :product_id'; @@ -139,7 +139,7 @@ private function executeSticky( //Display-only filter: the sticky rotation (displayability, backfill, //recording) must never react to which product page is being viewed — - //a slot silently hidden here is not a freed slot (#561) + //a slot silently hidden here is not a freed slot if ($runtimeContext->productId !== null && $runtimeContext->productId > 0) { $productIds = array_values(array_diff($productIds, [$runtimeContext->productId])); } diff --git a/CHANGELOG.md b/CHANGELOG.md index b7723c5..4385727 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,12 @@ All notable changes to this module are documented here. The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and the module adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [2.0.2] 2026-10-01 + +### Changed +- The module is declared stable (`prod`). +- Releases are published automatically when the version of `Config/module.xml` changes on `main`. + ## [2.0.1] 2026-09-24 ### Fixed @@ -11,7 +17,7 @@ The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and ## [2.0.0] 2026-09-16 -Port of the module to Thelia 3. The Thelia 2 line (1.0.0 to 1.2.0) lived in the project the module was written for and is not published. +Port of the module to Thelia 3. The Thelia 2 line (1.x) is maintained on the `thelia2` branch. ### Added - Back-office screens on the default-twig theme (Twig, Bootstrap 5): rule list, rule in three steps, action screen, entry in the Tools menu. Screens and menu entry follow the right granted on the module itself in the administrator profiles. @@ -49,5 +55,6 @@ Port of the module to Thelia 3. The Thelia 2 line (1.0.0 to 1.2.0) lived in the - The `/query_builder/products/{hookCode}` Symfony route, replaced by the API Platform resource. - The `product.top` and `product.bottom` `BaseHook` front hooks, replaced by the theme hook implementation. +[2.0.2]: https://github.com/thelia-modules/QueryBuilder/releases/tag/2.0.2 [2.0.1]: https://github.com/thelia-modules/QueryBuilder/releases/tag/2.0.1 [2.0.0]: https://github.com/thelia-modules/QueryBuilder/releases/tag/2.0.0 diff --git a/Config/module.xml b/Config/module.xml index 4db5b94..f731092 100644 --- a/Config/module.xml +++ b/Config/module.xml @@ -15,7 +15,7 @@ en_US fr_FR - 2.0.1 + 2.0.2 Samuel Diakité @@ -26,5 +26,5 @@ classic 3.0.0 - beta + prod diff --git a/Config/update/1.2.0.sql b/Config/update/1.2.0.sql index 0f5123f..fafe9e3 100644 --- a/Config/update/1.2.0.sql +++ b/Config/update/1.2.0.sql @@ -1,4 +1,4 @@ -# 1.2.0 — #573 : les hooks orphelins (jamais consommés côté front) sont retirés +# 1.2.0 : les hooks orphelins (jamais consommés côté front) sont retirés # du dictionnaire ; purge des codes fantômes encore cochés par des règles. UPDATE `query_builder_rule` diff --git a/README.md b/README.md index c7874bd..04f9442 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,8 @@ Only the fields of a data dictionary and a closed list of operators are accepted - PHP 8.3+ - `openstudio/query-builder-bundle` ^1.1 (the back-office editor) +Thelia 2 shops use the 1.x line, maintained on the [`thelia2`](https://github.com/thelia-modules/QueryBuilder/tree/thelia2) branch. + ## Installation ```bash diff --git a/Service/HookResultPresenter.php b/Service/HookResultPresenter.php index 66e0807..f7e39f1 100644 --- a/Service/HookResultPresenter.php +++ b/Service/HookResultPresenter.php @@ -53,7 +53,7 @@ public function present(string $hookCode, RuntimeContext $runtimeContext, bool $ //The hook slot is shared: several rules on the same hook fill a single //budget (the highest action limit) in rule order, instead of stacking - //their own limits (#562). Presentation only — sticky cycles already + //their own limits. Presentation only — sticky cycles already //recorded by the actions are never affected. //Floor at 1 like SqlBuilder::compile() does on the per-action LIMIT, //so a hand-written "limit: 0" never blanks the whole hook slot @@ -87,7 +87,7 @@ public function present(string $hookCode, RuntimeContext $runtimeContext, bool $ } //The current product carries its own offer (badge « Pour vous aujourd'hui ») - //even though it never appears in its own recommendations (#561) + //even though it never appears in its own recommendations $offerProductIds = $runtimeContext->productId !== null && $runtimeContext->productId > 0 ? array_values(array_unique([...$productIds, $runtimeContext->productId])) : $productIds;