Skip to content

Release 5.0.0#1267

Merged
tleon merged 49 commits into
masterfrom
dev
Jul 7, 2026
Merged

Release 5.0.0#1267
tleon merged 49 commits into
masterfrom
dev

Conversation

@tleon

@tleon tleon commented Jul 6, 2026

Copy link
Copy Markdown
Contributor
Questions Answers
Description? Merge into master for release
Type? improvement
BC breaks? no
Deprecations? no
Fixed ticket? ~
How to test? ~
Sponsor company PrestaShop SA

dependabot Bot and others added 30 commits January 22, 2026 01:32
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.21 to 4.17.23.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](lodash/lodash@4.17.21...4.17.23)

---
updated-dependencies:
- dependency-name: lodash
  dependency-version: 4.17.23
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Switched to external ci actions
Change "data" column from TEXT to LONGTEXT in layered_filter_block table
Bumps [webpack](https://github.com/webpack/webpack) from 5.97.1 to 5.105.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Changelog](https://github.com/webpack/webpack/blob/main/CHANGELOG.md)
- [Commits](webpack/webpack@v5.97.1...v5.105.0)

---
updated-dependencies:
- dependency-name: webpack
  dependency-version: 5.105.0
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
…ack-5.105.0

Bump webpack from 5.97.1 to 5.105.0
…sh-4.17.23

Bump lodash from 4.17.21 to 4.17.23
…nditions for availability

Refactor out_of_stock filter conditions for availability
- Replace deprecated 1.7.7.x/1.7.8.x PS branches with 8.1.7/8.2.x in CI matrix
- Add develop branch to phpstan job alongside 9.1.x
- Align workflow with reference pattern (checkout@v6, prepend-constants for all jobs)
- Add phpstan-8.1.7.neon, phpstan-8.2.x.neon, phpstan-develop.neon
- Add addJS/addCSS/displayDate ignoreErrors to phpstan-9.0.x.neon and phpstan-9.1.x.neon
- Fix Currency::getCurrencies() int->bool type mismatch (1 -> true)
- Fix Product::priceCalculation() null params: use 0/'' typed defaults instead of null
Add missing ignoreErrors for CurrencyCore::getCurrencies() Shop/bool
mismatch and Strict comparison null/mixed to all phpstan neon files.
Fix PHPStan failures and update CI PHPStan matrix
Change ugly "Sales, highest to lowest" to "Best sales"
- Drop PHP 7.1 from linter matrix (no longer supported)
- Add PHP 8.5 to linter matrix
- Remove PrestaShop 8.1.7 from PHPStan matrix (only 8.2.x kept)
- Bump actions/checkout to v6 in PHPUnit job
- Remove obsolete PHPStan configs for PS 1.7.7.x, 1.7.8.x, 8.1.7

Reference: PrestaShop/PrestaShop#41648
Convert selected price and weight filters to floats
Align CI/CD with PrestaShop issue #41648
- Currency::getCurrencies(): drop the bogus Shop argument passed as the
  bool $groupBy parameter (getCurrencies already scopes on the current shop).
- Tools::displayDate(): drop the dead pre-8.0 branch using the legacy
  3-argument signature (module requires PS >= 8.1).
- Type Context::$controller as a concrete FrontController/AdminController
  (PS 9.x types it as the PHPStan-opaque LegacyControllerContext).

Removes all ignoreErrors from the PHPStan neon configs.
$params is filled by parse_str() (never null) and the previous loop already
strips null values, so the 'null === $param' check is dead code.
- Empty tests/php/phpstan/phpstan-develop.neon: its suppressions are now
  unmatched (the underlying errors are fixed), which fails the develop jobs
  with reportUnmatchedIgnoredErrors.
- Drop unused foreach value/index variables flagged by static analysis
  (iterate keys with array_keys() where only the key is used).
kpodemski and others added 8 commits June 24, 2026 14:33
…babel-loader-10.1.1

Bump babel-loader from 10.0.0 to 10.1.1
Align module on PrestaShop 8.2+: add 9.0.3 PHPStan job, fix errors and bump to 5.0.0
renderFacets() never assigned `language` to Smarty when rendering the faceted-search block, so themes that override facets.tpl and reference it - the Hummingbird price/weight slider reads {$language.is_rtl} to set `data-slider-direction` - received no `language` at all.

Assign the language alongside the other facet variables, as an ARRAY mirroring the global `language` the front controller assigns via ObjectPresenter. The template accesses it with Smarty array syntax ({$language.is_rtl}), so the value must be an array: passing the raw Language object would raise a fatal "Cannot use object of type Language as array" on PHP 8. The default (classic) theme is unaffected as it does not read `language` in this template.

Fixes #41846.
Bumps [webpack](https://github.com/webpack/webpack) from 5.107.2 to 5.108.4.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Changelog](https://github.com/webpack/webpack/blob/main/CHANGELOG.md)
- [Commits](webpack/webpack@v5.107.2...v5.108.4)

---
updated-dependencies:
- dependency-name: webpack
  dependency-version: 5.108.4
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
…template

Assign language to the facets template so theme overrides can read it
…webpack-5.108.4

Bump webpack from 5.107.2 to 5.108.4
@tleon
tleon marked this pull request as ready for review July 6, 2026 13:27
@github-project-automation github-project-automation Bot moved this to Ready for review in PR Dashboard Jul 6, 2026
@ps-jarvis ps-jarvis added the Waiting for QA Status: Action required, Waiting for test feedback label Jul 6, 2026
@ps-jarvis ps-jarvis moved this from Ready for review to To be tested in PR Dashboard Jul 6, 2026
@SiraDIOP SiraDIOP self-assigned this Jul 6, 2026
Comment thread src/Hook/AbstractHook.php
*
* @return \AdminController
*/
protected function getAdminController()

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should not add code because of tests. If the test doesn't understand, it's the test that must be fixed or told to ignore the line.

Hlavtox
Hlavtox previously requested changes Jul 6, 2026

@Hlavtox Hlavtox left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One comment regarding the new code

@ps-jarvis ps-jarvis added the waiting for author Waiting for author's feedback label Jul 6, 2026

@SiraDIOP SiraDIOP left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hello @tleon,

Thanks for your PR , i tested it and :

Image

Testing the data column migration (TEXT → LONGTEXT) on ps_layered_filter_block
Environment: PrestaShop [version], PHP [version], Docker/OrbStack local setup
Steps:

Checked out PR branch and upgraded the module
Verified the data column type on ps_layered_filter_block → confirmed longtext
Generated facet filter data by browsing category pages with active filters
Confirmed 14 rows present in the table with valid serialized filter data (e.g. availability filter type)
Reloaded the front-office category page with active filters

Result: Column migrated correctly to longtext, existing filter data stored and read back correctly, front-office filters display and function normally (filter selection, product count update) with no errors.

Image
Enregistrement.de.l.ecran.2026-07-06.a.19.35.52.mov

language not assigned in renderFacets() for theme overrides
Environment: PrestaShop 9.2.0, Hummingbird theme v2.0.0, PHP [version], Docker/OrbStack local setup
Steps:

Checked out PR branch and upgraded the module
Activated Hummingbird theme (the only bundled theme that overrides facets.tpl and reads {$language.is_rtl})
Navigated to a category page with an active price filter (slider)
Verified in browser console via document.querySelectorAll('[data-slider-direction]')

Result: Category page loads with no fatal error. Price slider renders and filters products correctly. The slider element carries noUi-ltr / noUi-txt-dir-ltr classes, confirming data-slider-direction is correctly populated from {$language.is_rtl}, which was previously undefined before this fix.

Image

Testing out_of_stock filter conditions for availability (post-revert of #1224/#1231)
Environment: PrestaShop 9.2.0, PHP [version], Docker/OrbStack local setup
Steps:

Set up test products with different stock configurations: in-stock product, out-of-stock product with backorders allowed, out-of-stock product with backorders disallowed
Applied "In stock" availability filter
Applied "Available" availability filter
Applied "Not available" availability filter

Result:

"In stock" (3 items) returns only products with actual physical stock
"Available" (4 items) additionally includes the out-of-stock product with backorders allowed (orderable despite 0 stock)
"Not available" (1 item) returns only the out-of-stock product with backorders disallowed, correctly showing an "Out-of-Stock" badge and no add-to-cart option

The three facets behave consistently and as expected; no discrepancy found post-revert.

Image Image Image

Testing float cast for selected price/weight filter values
Steps:

Applied a price filter with decimal boundaries via the slider (e.g. €18.79 - €27.84)
Copied the generated URL (?q=Price-€18.86-27.76) and reloaded it directly in a new page load

Result: Price filter is correctly reapplied from the URL, slider positioned at the exact decimal values, and product list filtered accurately (1 product matching the €18.86–€27.76 range).

Enregistrement.de.l.ecran.2026-07-07.a.08.24.50.mov

Testing "Sales, highest to lowest" → "Best sales" label rename
Steps:

Opened the "Sort by" dropdown on a category page

Result: Label correctly displays "Best sales" instead of the previous "Sales, highest to lowest".

Image

Testing Tools::displayDate() legacy branch removal
Steps:

Navigated to Modules > Faceted search > Configure
Checked the "Filters templates" table, "Created on" column

Result: Date displays correctly (07/06/2026 19:27:17), properly formatted, no error. Confirms the removed legacy pre-8.0 branch has no impact since the module now requires PrestaShop 8.2+.

Image

@jolelievre
jolelievre dismissed Hlavtox’s stale review July 7, 2026 08:11

Not relevant and too late

@tleon
tleon merged commit 95ef84e into master Jul 7, 2026
33 checks passed
@github-project-automation github-project-automation Bot moved this from To be tested to Merged in PR Dashboard Jul 7, 2026
@ps-jarvis

Copy link
Copy Markdown

PR merged, well done!

Message to @PrestaShop/committers: do not forget to milestone it before the merge.

@kpodemski kpodemski added this to the 5.0.0 milestone Jul 7, 2026
@kpodemski kpodemski added QA ✔️ Status: Check done, Code approved and removed waiting for author Waiting for author's feedback Waiting for QA Status: Action required, Waiting for test feedback labels Jul 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

QA ✔️ Status: Check done, Code approved

Projects

Status: Merged

Development

Successfully merging this pull request may close these issues.