Release: 3.11 & 2.x LTS
2.x LTS version, Content Composition API and Prismic extension for 3.x
Front-Commerce 3.11 is here, and is accompanied by a significant update for 2.x: Long-Term Support (LTS) until January 2027.
Read on for more details about the LTS version, and discover the new features for the 3.x branch: the Content Composition API and the Prismic extension.
Our documentation is also getting a boost with new guides and a first automated process to keep it up-to-date with the codebase.
These updates aim to provide a smoother experience for both existing projects and new implementations. Keep reading to explore the full details!
Front-Commerce 2.x LTS
Since Front-Commerce 3.x was released (in September 2023), we've maintained parallel development: stabilizing and expanding 3.x while providing incremental improvements and bug fixes to 2.x through regular releases.
Today we're announcing that Front-Commerce 2.x is entering Long Term Support (LTS) status until January 2027. This ensures:
- Security updates
- Bug fixes
- Clear documentation of version limitations (Node.js compatibility, dependencies, etc.)
- Ongoing compatibility with Magento 1 and 2
For existing projects, upgrading to the latest 2.x versions will provide the best stability and security possible within the technical constraints due to the underlying technologies. It should allow teams to plan their 3.x migration strategically. While new projects should start with 3.x, we want the LTS status to give existing implementations peace of mind.
In this release, we focused on critical security-related dependency upgrades for
the 2.x
branch. For comprehensive details, consult our
LTS version documentation.
We'll continue maintaining 2.x by addressing less critical updates and backporting relevant 3.x fixes.
In the next weeks, we will work on a well-deserved update of the Magento modules (mostly for Magento 2) to ensure they are compatible with the active versions of Magento and PHP. These updates will allow both 2.x and 3.x projects to be used with the latest Magento versions.
Introducing a new Content Composition API for composing content custom blocks
Front-Commerce 3.11 introduces a new Content Composition API based on years of experience working with headless CMSs, WYSIWYG editors, and widgets. This API allows developers to create custom content blocks that can be used in the CMS and integrated into Front-Commerce themes.
The Content Composition API is a public Front-Commerce API allowing developers to display heterogeneous content from a GraphQL union type within specific components. It is fully typed and replaces 2.x's theme-overrides based solution.
Our core extensions have been updated to use the Composition API for rich content:
- the
<Wysiwyg />
component now uses the Composition API - Magento extensions register their specific WYSIWYG implementations using the Composition API
- same for the Prismic extensions (see below)
To learn more about the Content Composition API, check out the Content Composition Guide and the Migration guide
Prismic extension for Front-Commerce 3.x
We've released a 3.x version of our Prismic integration.
The
@front-commerce/prismic
extension is a port of the 2.x version, with feature
parity (integration fields, slices, embeds, caching and invalidation,
previews…).
It leverages new Front-Commerce 3.x features under-the-hood:
- TypeSafe: we rewrote Prismic's core APIs to TypeScript and JSDoc to provide a better developer experience
- DI-based: we use the Dependency Injection system to provide a more flexible
way to register
IntegrationFields
- Composition API: we use the new Content Composition API to unify the way Content Slices (e.g. Prismic Slices) are registered and rendered
- Revamp the
SitemapIntegrationField
to load integration fields from3.x
sitemap fetchers - Compatible with Contribution mode and X-Ray: content writers will be able to preview their content in the Contribution mode and leverage X-Ray mode to access the Prismic content management page directly from the Front-Commerce storefront
Migrating from 2.x? We got you covered, and your content will be ready with only a few changes. Read the Prismic Migration guide for details.
For more information, check out the Prismic extension documentation.
Magento 1 customer and cart caching
Cart and Customer caching functionality has been promoted to a core feature in
Front-Commerce. This standardizes caching behavior across all platforms by using
the environment variables FRONT_COMMERCE_CART_CACHE_ENABLE
and
FRONT_COMMERCE_CURRENT_CUSTOMER_CACHE_ENABLE
.
What was previously available for Magento 2 and Gezy is now available for Magento 1 as well, providing consistent caching capabilities across all supported platforms.
This enhancement significantly reduces the number of API requests, improving the overall performance of your storefront.
When enabling these features in your project, we recommend testing transactional flows to ensure compatibility with your specific use cases.
Doubling down on Documentation: our commitment to quality
We've dedicated significant effort to enhancing our documentation, meticulously ensuring all 2.x documentation is available in the latest version in a consistent and comprehensive manner.
In 3.x, we reorganized our documentation to improve accessibility, discoverability and usability for users at all levels. Our approach follows the four quadrants of documentation:
- Get started tutorials: Step-by-step guides for beginners
- How-to guides: Practical instructions for specific tasks or Extensions
- API Reference: Technical descriptions of the core packages or specific extensions
- Concepts: Explanations and clarifications of concepts and best practices
While time-consuming, this effort ensures our documentation is accurate, and paves the way for future improvements (AI? 👀).
In this release, we've initiated an automated documentation process to improve
efficiency and accuracy. Our first implementation focuses on DEBUG
flags:
DEBUG
flags and their descriptions are now automatically extracted from the codebase (see the Debug flags API Reference)- This process occurs with each commit, ensuring up-to-date documentation
This automation reduces manual effort, minimizes errors, and keeps our documentation synchronized with the codebase. We took this opportunity to rename flags consistently across the codebase.
We plan to expand this approach to other areas of our documentation in the future, leveraging TypeScript to streamline the process and improve your in-editor developer experience.
Dependencies updates
As you may know, we're committed to keeping Front-Commerce up-to-date with the latest dependencies. Every release includes dependency updates. You can find the detailed list of updated dependencies by browsing merged dependencies Merge Requests on Gitlab.
In this release, one minor dependency deserves a special mention: sass
has
been updated from 1.75.0
to 1.83.4
(MR!3970).
It introduces several deprecation warnings, and we've implemented a codemod to
help you update your stylesheets.
Some smaller manual updates might be required in your project, so please follow the SCSS Update section of our migration guide to ease the transition.
Other changes
Features
- Theme:
- We initiated a new cleaner Wishlist theme architecture to remove tech debt from the existing one. This theme architecture is only active for platforms supporting it (Gezy) until it has full parity with the existing one. It will serve as a base for future improvements.
- Gezy: the extension now supports all actions on Wishlist
- Core:
- Implement
afterServerServicesInit
lifecycle hook to allow usage of services after init. - Add
__originalData
to category adapters.__originalData
is now accessible in resolvers (for Magento 1, Magento 2 and Gezy extensions)
- Implement
Bug Fixes
These bug fixes were also backported to 2.x
when relevant.
- Maintenance mode:
- Fixed a bug in the
MaintenanceMode
service where maintenance mode was being disabled by health check events if it was manually enabled. - Fixed maintenance mode source tracking during server restarts. Previously, when maintenance mode was manually enabled and the server restarted, the health checks would incorrectly disable maintenance mode because the source information was lost. Now, the source information is properly preserved across server restarts, ensuring maintenance mode remains enabled as expected.
- Fixed a bug in the
- Codemods:
- Add codemod scripts to improve migration of react-router.
- Theme:
- Fixes an issue which would not allow component maps for extension features to be overriden.
- Media proxy: Fix an issue with image resizing if requested resize width isn't an integer
Fixes from 3.11
and 2.35
have also been backported into previous minor versions. The following patch versions were released: 3.10.2
, 3.9.4
, 3.8.8
, 3.7.9
, 3.6.11
, 3.5.13
, and 3.4.15
.