github magento/pwa-studio v12.1.0
12.1.0

latest releases: v14.0.0, v14.0.0-beta.1, v14.0.0-alpha.8...
2 years ago

Release 12.1.0

NOTE:
This changelog only contains release notes for PWA Studio and Venia 12.1.0
For older release notes, see PWA Studio releases.

New Features

  • Added PWA Studio metapackage — This release includes the PWA Studio metapackage for Magento Open Source. The Metapackage provides a flexible way to add Open Source features to your PWA modules. PWA Studio now uses this package to add new features to the Open Source code base as needed. We used it in this release to extend our GraphQL schema to include a new mutation and new fields that provide more details when a cart item error occurs.

    UPDATES REQUIRED! This release depends on the Open Source metapackage, which requires you to install the metapackage in your PWA apps. See Install the Open Source metapackage for instructions.

  • Added new PWA Tailwind theming to Venia Header — Refactored the Venia site Header component to use our new Tailwind theming framework. The Header component is the first component to use our theming framework. Other components will follow in the coming releases.

  • Added a GraphQL mutation for submitting the Contact Us form. — You can now use the contactUs mutation to submit the Contact Us form data to the Open Source or Commerce backend.

  • Added GraphQL storeConfig fields — Use the contact_enabled and newsletter_enabled fields in a storeConfig query to determine whether the Contact Us and Newsletter features are enabled.

  • Added GraphQL schema to expose the error status of cart items — The CartItemInterface now contains the errors field, which uses the CartItemError data type to return an error code and message.

Summary of all changes

Type Description GitHub PR
Bug Add to Cart flow for simple products on Home page is broken 3535
Bug Cypress snapshots outdated with newsletter in footer 3506
Bug Venia Mega nav is broken in scaffolded app on develop branch. 3513
Task Repo Metadata Service Onboarding: UPWARD-PHP magento-commerce PR
Bug Cart remains active in browser memory on PWA site even after checkout 3495
Story Parallelize Cypress tests on the CI 3460
Task Add installation instructions to Venia Sample Data repo magento-commerce PR
Task Add local and Cloud installation instructions to meta packages magento-commerce PR
Bug Cart page out of stock crash 3447
Story Update Item Quantities 3464
Bug Improve Venia "create" scaffold script to stop relying on NPM log output 3463
Story GQL Support for Contact Us & Newsletter magento-commerce PR
Story Refactor Site Header to use Tailwind Theme 3472

Bug fixes

  • 3464Cart: Fixed an issue that prevented users from updating item quantities and removing items from the cart when using Magento 2.4-develop and 2.4.3 backends.
  • 3447Cart: Fixed a rendering issue where out-of-stock products in your cart could not be removed.
  • 3495Cart: Fixed issues that occurred when accessing the same store from different browser tabs or windows. To fix the problem, we introduced a storage listener on the cart context that fires a page reload whenever the cartId changes from another tab. Reloading the page forces Redux to persist a new cartId in storage.
  • 3535Cart: Fixed a regression issue (during 12.1.0 development) that prevented the Add to Cart button from working on simple products featured on the Venia Home page.
  • 3513Mega Menu: Fixed broken Header style when using the develop branch in a scaffolded project.
  • 3463Scaffolding CLI: Fixed the Venia _buildpack/create.js DEBUG_PROJECT_CREATION test flag that broke when using NPM versions >=7.23.

Metapackage introduction and updates

As mentioned above, we not only introduced the Magento Open Source metapackage in this release, we used it! Our fix for the cart rendering issue (3447) required new GraphQL fields that we added to the Open Source metapackage. These new fields require you to Install the Open Source metapackage into your PWA apps.

Documentation updates

  • Metapackage Installation: Added instructions for installing the new Magento Open Source metapackage.

Known Issues

  • Safari (macOS version) does not show toast messages or indicators when Venia switches between online and offline. This is an issue with Safari, not Venia. Safari always reports true for navigator.onLine — even when offline. We have submitted this issue to Apple. If you have an Apple account, you can search for the issue using this Feedback ID: FB9802994.

Test Updates

  • 3460 — Added Docker parallelization for Cypress testing to cut testing times by 50%. When run synchronously, the whole suite of tests took about 30 minutes. Now it takes 13–15 minutes.

  • 3506 - Fixed outdated snapshots for failing Page Builder tests on the develop branch. The tests started failing when the Newsletter form was added to the footer.

Upgrading from a previous version

Use the steps outlined in this section to update your scaffolded project from 12.0.0 to 12.1.0.
See Upgrading versions for more information about upgrading between PWA Studio versions.

Add the new metapackages to your project

As noted above, you need to add the Open Source metapackage to your projects using these instructions: Install the Open Source metapackage.

Update dependencies

Open your package.json file and update the PWA Studio package dependencies to the versions associated with this release.
The following table lists the latest versions of each package as of 12.1.0.
Versions that are in bold indicate a version change for this release.

Note:
Your project may not depend on some of the packages listed in this table.

Package Latest version
babel-preset-peregrine 1.1.0
create-pwa 2.0.1
upward-security-headers 1.0.5
venia-adobe-data-layer 1.0.2
venia-sample-backends 0.0.4
venia-sample-language-packs 0.0.5
venia-sample-payments-checkmo 0.0.3
pagebuilder 7.0.1
peregrine 12.1.0
pwa-buildpack 11.0.0
pwa-theme-venia 1.1.0
upward-js 5.2.0
upward-spec 5.1.0
venia-concept 12.1.0
venia-ui 9.1.0
magento2-upward-connector 1.3.0
upward-php 1.2.0

Don't miss a new pwa-studio release

NewReleases is sending notifications on new releases.