Skip to content

v11.0.0

Compare
Choose a tag to compare
@jcalcaben jcalcaben released this 10 Aug 19:10
· 794 commits to develop since this release

Release 11.0.0

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

Table of contents

What's new in 11.0.0

PWA Studio 11.0.0 contains new features, refactors, bug fixes, and various improvements.
This version is compatible with Magento 2.4.3.

Wish List

Started in PWA Studio 9.0.0 with basic features and functionality, Wish List is feature complete in this release and implemented in the Venia storefront template.
This feature gives shoppers the ability to create and manage lists of items they may want to purchase in the future using Wish List specific components and logic.

The following Wish List features have been implemented in this release:

  • Add an item to a wish list from the product page
  • Add an item to a wish list from the category page
  • Add an item to a wish list from the cart page
  • Add an item to the cart from a wish list
  • Support for multiple wish lists
  • Edit the name and visibility of a wish list

Pull Requests

Description PR
Removed the use of mock data for Wish List and connected to real GraphQL data #3041
Implemented adding an item to a Wish List from the product page #3048
Implemented the ability to edit a Wish List's name and visibility #3049
Implemented adding an item to a Wish List from the category page #3105
Fixed a Wish List bug that prevented you from removing a product if the Wish List had 2 or more products #3121
Implemented adding an item to a Wish List from the cart #3130
Implemented adding an item to the cart from a Wish List #3170
Created a re-usable hook for Wish List logic for re-use in various components #3182
Fixed a Wish List bug that allowed users to collapse the Wish List section when it only had a single entry #3184
Implemented adding an item from the cart to multiple wishlists #3207
Added message to display when the Wish List is empty #3228
Fixed a Wish List bug in the Create Wish List dialog that prevented users from creating a new Wish List #3242
Cleaned up Multi Wish List code #3246
Created a single Wish List button component to use throughout the application #3249

Virtual Product types

This release contains initial work to support Virtual Product types.
In this initial implementation, you can browse and view Virtual Product types in your storefront, but
you will not be able to add these types to the cart.

Pull Requests

Description PR
Implemented ability to browse and view Virtual Products types #3052

Extensible payment methods

Two new extensions points for the Venia UI package have been added in this release.
The editablePaymentTypes target lets you add new editable payment methods to your storefronts, and
the summaryPagePaymentTypes target lets you add a custom payment summary in the checkout summary page.

Pull Requests

Description PR
Refactored payment methods and created new extension points #3103

Accessibility

Keyboard focus and navigation now work as expected on the layered navigation UI feature.
With the Filter modal open, users can press the Tab key to navigate across filter items such as "Price" and "Color".
On filter items, the user can press Space to open and navigate through the options with Tab.
Options are toggled using the Space key.

Description PR
Added keyboard focus and adjusted the way tab order should work #3034

Layered Navigation

To help deliver a better customer experience, filtering products by their attributes on the product listing page has been optimized for desktop views.
The changes included in this release focuses on improving how the user interacts with the layered navigation feature when filtering products.
For example, filter options can be neatly collapsed and the product listing is automatically updated whenever the user selects a filter option.

Pull Requests

Description PR
Optimized the layered navigation feature for the desktop #3137

Performance and optimization updates

This release also contains a configuration change for UPWARD so that it can use the gzip content encoding for HTML requests.

Pull Requests

Description PR
Configured UPWARD to use gzip content encoding for HTML requests #3255

Documentation updates

Since the last release, the documentation site has published new topics and updated an existing topic.

New topics

Updated topics

Pull Requests

Description PR
Published a new topic that provides guidance and best practices for upgrading to new versions #3231
Published a new tutorial that shows how you can change the static assets directory used in your project #3219
Reorganize and refactor the navigation for the Overview sections #2926
Published a new topic that provides general guidance for extension development #2995
Published a new tutorial that provides general guidance for working with Targetables along with a set of API reference #2966
Updated the TargetableModule.spliceSource() example and added debugging tips #3168
Fixed a code sample error on the TargetableReactComponent page #3202

Bug fixes

The following bugs have been fixed in 11.0.0.

Description PR
Braintree error related to the use of UK addresses #3251
GraphQL bug related to line comments inside the query #3196
Bug in the filter modal where certain icons would not be visible #3171
Checkout bug that prevented you from changing your billing address when you pay with Check/Money Order #3239
Project bug that prevented the installation of dependencies #3106
Scaffolding bug where the DEBUG_PROJECT_CREATION flag does not exclude optional extension packages #3086
Checkout bug that prevented validation of region codes across different countries #3133
Checkout bug that prevented you from placing another order after the initial order was declined #3091
Scaffolding bug that prevented the yarn build:dev command working #3047
Checkout bug where the mobile view of the checkout page would not scroll to the appropriate spot after each step #3055
Checkout page bug where it would not pick up the region code provided in the cart page under specific circumstances #3093
Service worker bug related to URL origin for the service worker itself #3191
Sidebar menu bug related to filtering #3210
Routing bug when a user navigates to the /undefined route #3230
Carousel bug showing duplicate thumbnails #3186
Toast component bug where it did not use the font-family token #3164
CMS page bug where stale content would never get updated #3131
Category sort bug where the default backend sort order would not be used #3125
Search page bug where the browser back button would not work #3119
Babel JSX plugin dependency mismatch #3098
Category page bug where the browser back button would not work #3078
Shipping Information form bug where guests would get stuck in the 'Loading Regions...' state #3142
Checkout bug that would fail to save the Address when Street Address 2 is left blank #3312
Misaligned Payment Information UI #3290
Wishlist UI squished on mobile screens #3288
Category page content disappears when the browser window width is between 1024px and 1100px #3285
Application fails to load on Safari 14 #3289
Customer data persists after appearing to be signed out #3306
Username disappears from the header when switching languages or store view #3286
Dependency bug related to Workbox version compatibilities #3329

Cypress tests

Cypress is an end-to-end testing suite written in JavaScript.
This release adds this framework to the PWA Studio project to increase testing automation and reduce the time spent on manual testing.
This will enable the team to release new versions faster and more often.

Integration tests for PageBuilder and the new Wish List feature are included in this release.
These tests are part of Venia's integration tests.
If you want to use these tests in your own CICD pipeline, they can be found in this directory.

Pull Requests

Description PR
Configured the project to use Cypress #3082
Added the Cypress Visual Testing plugin #3136
Added tests for the Wish List feature #3146
Added tests for PageBuilder banner component #3178
Added tests for PageBuilder buttons #3194
Added tests for PageBuilder images #3195
Added tests for multiple Wish Lists #3218
Updated the Cypress tests directory structure #3253

Refactors

Description PR
Moved the graphql-cli-validate-magento-pwa-queries package into the @magento scope #3198
Remove window references from Venia #2991 #3087
Refactored the Add to Cart feature to use the generic AddProductsToCart mutation #3092
Removed the Adobe Client Data Layer by default for scaffolded projects #3215

Known issues

  • The URL for the suggested category search result contains two store codes (for example, default) instead of one. For example: https://venia.magento.com/default/default/search.html?page=1&query=selena&category. This results in a 404 (page not found) error when selecting a suggested category from the search. This issue has been fixed in PR #3344.

  • The yarn watch process may run out of memory if left running for an extended amount of time.
    If an error occurs because of this, restart the watcher.

Upgrading from a previous version

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

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 11.0.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 on this table.

Package Latest version
babel-preset-peregrine 1.1.0
create-pwa 1.3.1
upward-security-headers 1.0.4
venia-adobe-data-layer 1.0.1
venia-sample-backends 0.0.4
venia-sample-language-packs 0.0.4
venia-sample-payments-checkmo 0.0.2
pagebuilder 6.0.0
peregrine 11.0.0
pwa-buildpack 10.0.0
upward-js 5.1.0
upward-spec 5.0.0
venia-concept 11.0.0
venia-ui 8.0.0
magento2-upward-connector 1.2.0
upward-php 1.1.5

Update template files

The following template files contain updates in 11.0.0:

If you did not make any modifications to these files, you can copy and paste the new content over your old template files in your project.
If you made modifications to these files in your project, you will have to manually apply the changes by using git diff on the PWA Studio repository or by using a diff tool.

New environment variables

The following environment variable has been added in this release:

{
    "name": "Default Country",
    "variables": [
        {
            "name": "DEFAULT_COUNTRY_CODE",
            "type": "str",
            "desc": "Specify the default country to be selected in forms containing country field such as address books and shipping information forms.",
            "default": "US"
        }
    ]
},

Update the environment variables in your development, staging, or production environments if the default value does not apply to your project.