Skip to main content

Release: 3.11 & 2.x LTS

· 7 min read
Pierre Martin
CTO & Co-founder @ Front-Commerce

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.

What about the Magento modules?

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.

Already familiar with Front-Commerce?

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 from 3.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

Prismic X-Ray

tip

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.

Testing required

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:

  1. Get started tutorials: Step-by-step guides for beginners
  2. How-to guides: Practical instructions for specific tasks or Extensions
  3. API Reference: Technical descriptions of the core packages or specific extensions
  4. 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)

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.
  • 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.


Upgrade Front-Commerce (Migration guides): 3.11.0, 2.35.1
Read the full changelog (Customers only): 3.11.0, 2.35.1.