PrestaShop 9.2 RC1 is open for testing!
The first Release Candidate of PrestaShop 9.2 is here, with One Page Checkout, Ask AI, and Extra Properties. Help us validate it before the final release.
The first Release Candidate of PrestaShop 9.2 is now available for testing. This is the last major milestone before the stable release, and your feedback is what determines whether 9.2 ships on schedule and in great shape.

Download & testing instructions
What is a Release Candidate?
A Release Candidate is the final pre-release stage in our development cycle. All planned features are in place, and the focus has fully shifted to quality, stability, and catching any remaining regressions. RC1 is functionally what we intend to ship as the final 9.2 release. Any fixes applied from this point on will be based directly on your reports.
What’s inside PrestaShop 9.2 RC1?
All the features introduced during the beta phase are included. Here’s a quick recap of the highlights:
One Page Checkout: native module for a faster, smoother checkout
PrestaShop 9.2 includes a native One Page Checkout module in the bundle, bringing the entire checkout experience together onto a single page. This gives merchants a faster, smoother flow that helps reduce friction and improve conversion, without depending on third-party solutions.
Extra Properties: native extra fields for every entity
PrestaShop 9.2 introduces Extra Properties, a native way to attach extra fields to core entities such as Product, Customer, or Order, with built-in support for multistore, multilang, Back Office forms and grids, Front Office access, and the Admin API.
Ask AI: a native AI assistant in your back office
PrestaShop 9.2 introduces “Ask AI”, a built-in conversational assistant available right in the back office. Merchants can ask questions about their data and trigger actions using plain, natural language, powered by the PrestaShop MCP Server, so you are not locked into a single AI provider.
Discover the PrestaShop MCP Server
PrestaShop Automation with Klaviyo
PrestaShop Automation with Klaviyo is natively integrated into the PrestaShop Classic distribution, giving merchants marketing automation (email, SMS, segmentation) right after installation, with no separate module to hunt down.
The Symfony migration continues
Another batch of legacy pages, including Countries, Merchandise Return, Hook a module, Quick Access, Email body translations, and Tax rules, has completed its migration to the Symfony framework and is available for testing behind a feature flag.
What is a feature flag?
Some 9.2 features are experimental and must be enabled manually before you can test them. You can find these settings under Advanced Parameters -> New & Experimental Features.Changelog
- Back Office:
- New feature:
- Improvement:
- #42350: Index new CMS pages by default (by @Hlavtox)
- #41942: Add shared stock help message to combination availability form (by @Codencode)
- #41932: Paginate the orders grid by id first to avoid a full-table sort (by @boo-code)
- #41703: Tax rules list apiAdd tax rules list API support to TaxRule grid query builder (by @nicosomb)
- #41409: Add multistore support to administration and product settings configuration forms (by @Codencode)
- Bug fix:
- #42768: Fix the theme selector in the Translations page (by @tblivet)
- #42600: Fix supplier ID type in SetSuppliersCommand (by @Codencode)
- #42475: Fix product ID type in product grid decorator (by @Codencode)
- #42411: Fix the Shipment domain defects that do not depend on the Admin API (by @mattgoud)
- #42400: Fix Carts page performance regression on connections query (by @Codencode)
- #42374: Order confirmation email ignores the order state’s “Attach invoice PDF to email” setting (by @aomaxime)
- #42245: Fix tax rule groups grid duplicates in multistore context (by @Codencode)
- #42241: Offer the default route for every language in the SEO and URLs form (by @boo-code)
- #42203: Let a grid status menu show past the scrolling table (by @boo-code)
- #42197: Let the SMTP transport choose implicit TLS by port so 587 works (by @boo-code)
- #42057: Fix changing an employee role when the default page is specific to the new role (by @boo-code)
- #42032: Display the employee who created a back-office order in the Messages block (by @PrestaEdit)
- #42004: Fix UTF-8 string truncation in StringModifier::cutEnd() (by @Codencode)
- #42001: Guard order message name-uniqueness check on partial edit (backport 9.1.x) (by @mattgoud)
- #41950: Show an empty order status dropdown when the order has no status (by @boo-code)
- #41948: Fix manual order discount bug (by @tleon)
- #41944: Connect
GET /discount-typesto the BO (by @nicosomb) - #41929: Fix catalog price rule links when feature flag is enabled (by @Codencode)
- #41919: Fix: Problem with manual special price setting with comma becoming dot (product page) (by @Codencode)
- #41871: Use the small_default thumbnail for product/combination cover URLs (by @boo-code)
- #41797: Fix: Color preview is still displayed after changing an attribute group from color to another type (by @Codencode)
- #41665: Display invoice prefix in employee language on order view page (by @PrestaEdit)
- #41652: Fix: Changing an order’s status throws “Duplicate entry
<idp>-<idpa>-0-0for product_sqlstock” when the order contains a deleted combination (single-shop) (by @Codencode) - #41468: Fix: Multishop: cache_default_attribute is not reset for all shops when changing a product with combinations to a standard product (by @Codencode)
- #41238: Fix: Inconsistent escaping of displayCustomization output (by @Codencode)
- Refactoring:
- Front Office:
- New feature:
- Improvement:
- Bug fix:
- #42725: Preserve pagination in product listing hreflang URLs (by @Hlavtox)
- #42439: Fix PHP 8.5 null array offset deprecations (by @Codencode)
- #42396: Fix #42395: Prevent template variables from being overwritten (by @Codencode)
- #42189: Give the not found and checkout pages a breadcrumb entry of their own (by @boo-code)
- #42143: Fix delivery option cache for changed delivery addresses (by @Codencode)
- #42114: Backport #40575 to 9.2.x (by @Codencode)
- #42000: Fix ProductController::getProduct() nullable return type (by @Codencode)
- #41928: Use constant-time comparison for order secure_key checks (by @nabhan06)
- #40929: Update geoip2/geoip2 to fix deprecation warnings on PHP 8+ (by @Hlavtox)
- Refactoring:
- Core:
- New feature:
- Improvement:
- #42826: Updated native modules (by @nicosomb)
- #42787: Carry extra property constraints as their DSL string on the CQRS boundary (by @jolelievre)
- #42726: Extra Property: store constraints as their DSL, dropping PHP serialization (by @Jeremie-Kiwik)
- #42538: Handle non-conventional entity naming, default value typing and the cart entity in extra properties (by @jolelievre)
- #42490: Allow restricting extra property definitions to a list of shops (by @jolelievre)
- #42478: Update Symfony components after 6.4.45 release (by @nicosomb)
- #42428: Update Symfony components after 6.4.44 release (by @nicosomb)
- #42421: Handle multishop across the Extra Properties feature (by @jolelievre)
- #42375: Add language ID to actionMailAlterMessageBeforeSend hook (by @Hlavtox)
- #42239: Update Symfony components after 6.4.43 release (by @nicosomb)
- #42145: Add version compatibility filtering for Admin API endpoints (by @jolelievre)
- #42071: Decouple EmployeePasswordResetter from the admin router (by @PrestaEdit)
- #41832: Cover getCustomerCartRules using the passed cart for product restrictions (by @boo-code)
- #41803: Guard stock movement when the context employee has no id (by @PrestaEdit)
- Bug fix:
- #42822: Take the extra property logger through the core “logger” id instead of Psr\Log\LoggerInterface (by @jolelievre)
- #42728: Prevent empty query strings in product URLs (by @Hlavtox)
- #42353: Throw EmployeeNotFoundException when password reset email is unknown (by @jolelievre)
- #42123: Fix Pack::getQuantity ignoring ‘Decrement pack only’ stock type (by @samilmarekrygula)
- #42115: Make extra property registration atomic and report failure reasons (by @jolelievre)
- #42024: Removed feature flag “state” (by @Progi1984)
- #41840: Keep word separation when stripping HTML for the search index (by @boo-code)
- #41447: Fix deprecated in LanguageList.php (by @jf-viguier)
- #41364: Fix
customerIdalways returningnullin Cart API responses (by @axel-paillaud) - #40925: Fix precision of cart calculator (by @Hlavtox)
- Refactoring:
- Installer:
- Improvement:
- #42829: Update default catalog build-920-rc1 (by @ps-jarvis)
- Improvement:
- Web Services:
- Improvement:
- Bug fix:
- #41733: Improve management of forms in multipart when using Swagger API (by @Quetzacoalt91)
- Tests:
- Improvement:
- #42269: API Theme : Use scalar rather VO (wo BC Breaks) (by @Progi1984)
- #42266: API WS : Fix WebserviceKey::add()/delete() PHP warning when no employee is in context (by @Progi1984)
- #42204: Functional Tests : Fixed some todos (by @Progi1984)
- #42134: Functional Tests : Bump @prestashop-core/ui-testing (by @Progi1984)
- #42090: Functional Tests : Bump @prestashop-core/ui-testing (by @Progi1984)
- #42070: Functional Tests : API : GET /search-engines (by @Progi1984)
- #42066: Functional Tests : API : GET /features (by @Progi1984)
- #42043: Functional Tests : API : GET /contacts (by @Progi1984)
- #42033: Add integration tests for ModuleHtmlAuthorizationChecker (by @Codencode)
- #41987: Functional Tests : Bump @prestashop-core/ui-testing (by @Progi1984)
- Bug fix:
- #42786: Make module version checks in UI tests resilient to module releases (by @jolelievre)
- #42112: Functional Tests : Fixed endpoints (by @Progi1984)
- #42031: Fix CI matrix generator crashing on backticks in PR description (by @boo-code)
- #41982: Pin maildev image to 2.2.1 in behaviour tests workflow (by @nicosomb)
- Refactoring:
- #41550: Functional tests - Add tests of Api address (by @nesrineabdmouleh)
- Improvement:
How to test PrestaShop 9.2 RC1
- Download and install RC1 in a test or staging environment (never on a live shop).
- Enable the relevant feature flags to test experimental capabilities.
- Test your themes, modules, and customizations for compatibility.
- Report any bugs or regressions on GitHub with clear reproduction steps.
Requirements for PrestaShop 9.2 RC1
- PHP 8.1 (up to PHP 8.5 is supported)
Please check all system requirements in the documentation.
Known limitations
No upgrade path
You cannot upgrade from Beta to RC1, nor from RC1 to the final release using the Update Assistant module. Always use a fresh installation for testing pre-release versions.Do not install on live shops. This version may still contain bugs. It is intended for testing purposes only.
Your feedback matters
RC1 is the last major checkpoint before the final release, and your testing during this window directly shapes the quality of what ships. There’s no beta cycle left. Only your reports between now and the final release.
Here is how you can help:
- Install RC1 in a dedicated test environment.
- Enable feature flags to verify the new functionality.
- Test your setup: themes, modules, integrations, and customizations.
- Report issues early via GitHub Issues, with environment details and reproduction steps.
You’re also welcome to discuss your findings in the GitHub Discussions or on Slack.
Thank you to our contributors
PrestaShop 9.2 RC1 would not exist without the dedication of our community. A warm welcome to the new contributors joining for the first time in this release cycle: Sayed Nabhan and samilmarekrygula.
Thank you for your contributions!
A huge thank you to everyone who contributed to this release! Your dedication helps make PrestaShop stronger, more secure, and better for everyone. We truly appreciate your time and expertise.
Want to join the movement? Start contributing today and help shape the future of open source e-commerce!
aomaxime
axel-paillaud
boo-code
Codencode
Hlavtox
Jeremie-Kiwik
jf-viguier
jolelievre
mattgoud
nabhan06
nesrineabdmouleh
nicosomb
PrestaEdit
Progi1984
Quetzacoalt91
samilmarekrygula
tblivet
tleon
Final notes
We’d like to thank everyone who has tested, contributed, and supported the development of PrestaShop 9.2 so far. Your help is what makes this community and this software stronger.