Skip to main content

Release: 2.24

· 6 min read
Pierre Martin

Apple Pay & Google Pay support for Stripe, Akamai Image Manager and first alpha versions of Front-Commerce Remixed

Front-Commerce 2.24 is out. As usual, it contains features requested by customers and continuous improvements. The key features of this release are Akamai Image Manager and payment wallets support for our Stripe connector.

We've also been busy working on Front-Commerce Remixed, and are excited to share this progress with you!

☕ Read on to learn more about these updates and as always, should you have any requests regarding the product roadmap, do not hesitate to contact us 👋

Stripe update: Apple Pay & Google Pay support

In this release, we added support for Apple Pay and Google Pay wallets in our Stripe payment integration.

Checkout payment step with Stripe card payment selected

Users can now easily pay for their purchases using their preferred mobile payment method. This feature is seamlessly integrated into the payment process, providing a smooth and efficient transaction experience.

We also took this as an opportunity to update Stripe dependencies to their latest version.

Akamai Image Manager support

After Cloudinary and TwicPics, we ensured our Front-Commerce component could be used with Akamai Image Manager.

Akamai Image Manager optimizes website images for faster delivery and improved website performance. Images are cached on Akamai's global network of servers and optimized automatically for every user and any device.

Image Manager chooses the optimal format based on the user device and bandwidth and compresses images without degrading quality.

As for other image adapters, using Akamai Image Manager doesn't require any code change. Follow our documentation to configure it in your application.

note

About Front-Commerce Cloud: Image Manager isn't enabled by default for Front-Commerce Cloud customers using the Akamai CDN. Please contact us if you want to use this service in your project.

Front-Commerce Remixed saw its first (technical) alpha versions

As announced in our previous changelog entry, our main branch is now active with work on the Front-Commerce Remixed upcoming release.

We tagged 3 alpha versions as we made progress on core features and repository reorganization. It still isn't ready for you to play with, but we're getting closer!

Here are the highlights of these versions if you want to stay in the loop.

Deprecated code in 2.x versions was removed

In our 3.0.0-alpha.0 release, we've finalized the removal of all deprecated code since our 2.0 version (almost 4 years ago!).

More than 7K lines were removed across more than 250 files! 😅

Notable removals include the legacy analytics implementation and components. For an exhaustive list, please refer to our migration guide.

We've also taken this as an opportunity to rename Magento environment variables prefix to include the platform version number: FRONT_COMMERCE_MAGENTO_* becomes either FRONT_COMMERCE_MAGENTO1_* or FRONT_COMMERCE_MAGENTO2_*.

A new repository layout was introduced

Front-Commerce is composed of several parts. In versions 2.x developers installed everything at once, as a single dependency.

In FC Remixed, we've decided to switch to a monorepo layout (using pnpm workspaces) and split the front-commerce dependency into discrete packages that could be distributed through an NPM registry (e.g: @front-commerce/core, @front-commerce/magento2, @front-commerce/adyen …).

The Front-Commerce skeleton is also back into our main repository, and will be distributed as a Remix Stack so you could start a Front-Commerce project with a single command! It is a standard Remix/TypeScript/Express application with Front-Commerce core and tooling already configured.

For more details, customers can read our monorepo ADR along with our Front-Commerce as Remix extensions ADR.

@front-commerce/compat: our promise to Front-Commerce projects

In 3.0.0-alpha.1 and 3.0.0-alpha.2, we focused on our key core packages. One of the most important for all our customers is the @front-commerce/compat package.

This package will contain all the code needed to progressively migrate a project started on Front-Commerce 2.x to Front-Commerce Remixed, and then benefit from all the improvements it brings!

In these releases, we've added an initial version of our Codemods scripts which will allow us to automate every migration step that can be automated (import changes, conventions…).

We've also added @front-commerce/compat/recompose utility functions to replace the unmaintained recompose library we heavily used in our components before hooks were announced. This package is compatible with React 18 (which isn't the case of other forks).

Front-Commerce as Remix extensions

We want Front-Commerce projects to be Remix projects. For this reason, we've decided to build Front-Commerce Remixed as Remix extensions. In 3.0.0-alpha.2 we implemented the fundamental pieces of this integration:

  • A new FrontCommerceApp class that will be the main way to interact with the Front-Commerce application domain, mostly through GraphQL. This class should be constructed in each Remix loader and action, and allows developers to run GraphQL requests and mutations and access information about the current context (user, configurations etc…).
  • It is a core component of our @front-commerce/remix package, containing all the glue between the agnostic @front-commerce/* packages and the Remix framework.
  • The @front-commerce/remix package also serves a GraphQL playground in development mode. It is based on the latest GraphiQL version (bye-bye GraphQL playground 👋). For the most curious: Front-Commerce Remixed GraphQL server stack is now based on envelop and yoga!

More is coming in the next weeks, with the introduction of the Front-Commerce CLI, Front-Commerce Extensions, GraphQL Codegen and of course… the first modules! Stay tuned.

Other changes

Features

  • csp: we added support for more CSP directives in CSP configurations
  • image: image adapters can now customize extension types generated in each element. It allows to adapt to each service image delivery and supported image types

Bug Fixes

  • external-logins: improved redirection URLs generation to prevent double slashes in their path
  • image: ensured Image adapters are registered with a predictable name to prevent having different adapters used between SSR and hydration
  • magento1: the "use buildBuckets() method instead" deprecation warnings is not incorrectly displayed anymore on category layer when the cache is enabled
  • prismic: avoided cache corruption edge cases by removing Prismic reference TTL
  • search: search results are now resilient to incorrect page identifiers returned by search datasources. Not found pages are ignored to prevent crashes.

Performance Improvements

  • i18n: translations are not duplicated anymore in chunks. It should reduce the amount of Javascript served to users.

Fixes from the 2.24 version have also been backported into previous minor versions. The following patch versions were released: 2.23.2, 2.22.4, 2.21.4, 2.20.6, 2.19.12, 2.18.10, 2.17.11, and 2.16.12.


Subscribe to changelog updates

Don't miss new features ever again: receive an email in your inbox every time we publish an update.

Loading...