Pwa Studio Versions Save

🛠Development tools to build, optimize and deploy Progressive Web Applications for Magento 2.

v12.2.0

2 years ago

Release 12.2.0

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

Highlights

  • New Venia CMS pages - Venia now ships with PWA versions of the Commerce and Magento Open Source default CMS pages: About Us, Contact Us, Customer Service, Newsletter Subscription. Out of the box, these pages are ready to use or customize as needed.

  • Luma and Venia can now be deployed to the same cloud environment — This deployment option makes it easier for customers to deploy their PWA site alongside their existing Luma site while they migrate from Luma to Venia.

  • Deprecated GraphQL fields removed from Venia — In this release, we removed the usage of all deprecated GraphQL fields in Venia.

  • Venia Homepage is now the same for Adobe Commerce and Magento Open Source — Previously, the Venia Homepage rendered Page Builder content for Adobe Commerce sites and different content for Magento Open Source sites. But now that Page Builder is a part of Magento Open Source, the Venia Homepage renders the same content for both sites.

  • Contact Us Block can be managed with Page Builder — You can now customize the Contact Us Block in the Admin UI using Page Builder. No development required.

  • Updated Node version to 14 — All builds in PWA Studio, including the scaffolding CLI, now use Node 14.

  • Added Venia Sample Data metapackage — This metapackage provides a new way to create your own sample data for your Venia-based PWA sites.

Summary of all changes

Type Description GitHub PR
Story [Docs] Shimmer and UPWARD Inlining 3548
Story Add Cypress test coverage: Venia Filters, Search, Sort/Pagination 3519, 35
Story Add Cypress test coverage: VeniaRemoveItemFromMiniCart 3508
Story Add Cypress test coverage: VeniaGuestIsAbleToAccessCategories.xml 3507
Story Add Cypress test coverage: VeniaCartPage* 3509, 34
Story Add Cypress test coverage: VeniaCartPageGuestCheckoutRegionWithCC 3505, 31
Story Add Cypress test coverage: VeniaCartPageGuestCheckout 3504, 29
Story Update ConfigurableProductOptions GraphQL field from id to uid 3588
Story Update ProductInterface GraphQL field from id to uid 3580
Story Update Customer.id GraphQL field 3594
Story Update sample data on Venia Home Page 9
Story [Issue] Add newsletter in footer 3486
Story GQL returns parameters(metadata) that define custom attributes of a product product - specifically Select input 3
Story GQL returns product-specific values of custom product attribute (Select input) 9
Story GQL support for the reCaptcha API 7
Story Configuration Validation for reCaptcha v2 8
Story Streamline Cypress tests and create documentation 3576
Story Update StoreConfig fields 3616
Story Update StoreConfig.id GraphQL field to store_code 3593
Story Update CategoryTree.id GraphQL field to uid 3598
Story Update category GraphQL query to categories query 3577
Story Update urlResolver GraphQL usages to route 3589
Story Update SelectedConfigurableOption GraphQL fields 3601
Story Update CartItemInterface GraphQL field from id to uid 3597
Story Update ProductInterface.type_id GraphQL field to use __typename 3586
Story Added fade-in-out transition to the colour swatch checkmark 3526
Story UPWARD JS Computed resolver 3533
Story Add Cypress test coverage: VeniaCartPageEditCardAndCheckout 3525, 36
Story Add Cypress test coverage: VeniaAnchorLinks 3518, 37
Story Add Cypress test coverage: RegisteredUserCartPageCheckout 3500, 27
Story Upgrade Apollo Client to 3.4.0 3491
Story About Us 3483, 11
Story Customer Service 3465, 1
Story Newsletter Subscription 3521
Story Contact Us Block 3544, 13
Story Contact Us 3538
Story Guest Checkout: check if email is associated with the account 3529
Story Feature: Add ability to deploy Luma and Venia on single cloud env 11
Story Add cypress test for Mini cart 3559
Story Archive MFTF Repo 39
Story Homepage unification for CE and EE 3564
Story Improve Version banner 3555
Story Upgrade Node 14 and Scaffold Node 16 3552, 101
Story Fail build when @magento/pwa metapackage is not installed 3561
Story Filtering Product by the custom product attribute with input type select 15
Story Do not show Ratings 3654
Story Viewing product attribute value in PDP 3624, 14
Story Sorting product listing by custom attribute 3619
Story [GraphQL] Sort products without custom attribute to end 18
Bug 404 routes cause error page 3542
Bug Scaffold project > yarn build fails on develop. 3551
Bug storybook command failing 3567
Bug Minicart missing quantity while switching views 3571
Bug Order history data not being cleared from cache on logout 3520
Bug Pagebuilder image content-type: mobile image is visible on desktop 3515
Bug Pagebuilder links force browser to load full page 3524
Bug Add to Cart on category page for non-default store ends up in 404 page if store view level unique catalog product suffixes are enabled. 3553
Bug Category page fails to load intermittently when there is Apollo related console warning. 3575
Bug Dependency on Magento was sneaked in as part of the Computed Resolver work 16, 6
Bug [bug]: When clicking a submenu in the mega the submenu won't close 3599
Bug Fix console warning for currency 3622
Bug Remove server chunk generation from webpack 3608
Bug [Issue] Improve Gallery/AddToCartButton.js 3573
Bug [bug]: Breadcrumbs 'Shop' link redirects to '/shopnull' 3603
Bug Newsletter form displays two errors 3584
Bug Home page tabbing leads to page transition 3625
Bug Browser Reload on any Category load all products from default category 3655, 18

Documentation updates

  • contactUs Mutation: Added the contactUs mutation topic to the GraphQL Developer Guide.

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.

Upgrading from a previous version

Use the steps outlined in this section to update your scaffolded project from 12.1.0 to 12.2.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 12.2.0, including the new venia-sample-data package.

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

Package Latest version
babel-preset-peregrine 1.2.0
create-pwa 2.1.0
upward-security-headers 1.0.6
venia-adobe-data-layer 1.0.3
venia-sample-data 0.0.1
venia-sample-backends 0.0.5
venia-sample-language-packs 0.0.6
venia-sample-payments-checkmo 0.0.4
pagebuilder 7.1.0
peregrine 12.2.0
pwa-buildpack 11.1.0
pwa-theme-venia 1.2.0
upward-js 5.3.0
upward-spec 5.2.0
venia-concept 12.2.0
venia-ui 9.2.0
magento2-pwa 0.1.0
magento-venia-sample-data-modules 0.0.1
magento2-upward-connector 2.0.0
upward-php 2.0.0

v12.1.0

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

  • 3464 — Cart: 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.
  • 3447 — Cart: Fixed a rendering issue where out-of-stock products in your cart could not be removed.
  • 3495 — Cart: 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.
  • 3535 — Cart: 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.
  • 3513 — Mega Menu: Fixed broken Header style when using the develop branch in a scaffolded project.
  • 3463 — Scaffolding 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

v12.0.0

2 years ago

Release 12.0.0

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

New Features

Add To Cart from product category pages

Shoppers can now add products to their cart directly from the product category pages, without going to the product detail page. Each product listed on the category page now has an Add to Cart button. If the product is out of stock, we either hide the button or disable the button and change its text to Out of Stock.

Pull Requests

Description PR
Add to Cart on Category Listing - Out of stock are not visible. 3272
Add to Cart on Category Listing - Out of stock is visible. 3356
Add to Cart on Search Results - Out of stock is visible. 3361
Add to Cart on CMS - Out of stock is visible. 3433

Added Shimmer loader component

The Shimmer component is a loading indicator that takes the shape of the component being loaded. This gives users an idea of what content will be on the page before it's fully loaded, which improves the perceived loading performance and eliminates layout shift. This loading improvement is most notable on product listing and product detail pages.

Pull Requests

Description PR
Improve loading perception while navigating between pages 3308
UPWARD PHP inlining and Shimmer enhancements 3353
Improved Loading Experience - Shimmer and Inlining 3428
PoC: Pre-fetching and Inlining with Upward Connector Module (PHP) 3353
Slider movement causing Cypress test failures 3436
Customizing shimmer loader 3353

Prepared PWA Studio for Theming with Tailwind CSS

In preparation for our full theming implementation in the next release, we have added the Tailwind CSS framework and updated our CSS infrastructure to support a wider variety of custom theming approaches. Significant changes in this release include:

Pull Requests

Description PR
Added Tailwind to PWA Studio for Theme configuration. 3341
Created a Tailwind theme package in the monorepo. 3400
Fixed PostCSS console errors and warnings during yarn build. 3394
Renamed our existing CSS files to match the standard CSS Module pattern: *.module.css. This limits the scope of CSS Modules to prevent it from reprocessing Tailwind CSS and your own .css files. 3414

Added new route-authentication handling

Guest users (users not signed-in to the site) are now redirected to a new /sign-in page when trying to access pages that require authentication, such as the /order-history page. To support the new routing authentication, we created several new components:

  • AuthRoute — New component that returns the Route or a Redirect to the sign-in page if the user is not signed-in.
  • SignInPage — New component that returns a page with a sign-in form where users can sign-in to their existing account, create a new account, or reset their password.
  • ForgotPasswordPage — New page that shows a form to reset user's password.
  • RouteDefinition - Updated object with authed and redirectTo properties to support route-based authentication handling.
  • CreateAccountPage — Updated to work with the new route-authentication handling.

Pull Requests

Description PR
Route authentication handling 3406

Improved Lighthouse scores

Google Lighthouse scores are now 100 for Best Practices, Accessibility, and SEO categories. Average scores for the Performance category have also improved.

Pull Requests

Description PR
Avoid an excessive DOM size from duplication of navigation 3388
Improved loading experience for PLP and PDP page types 3353
Page Builder Slider Keyboard nav improved 3420
Page Builder Banner and Slider content types load without layout shifts on the page. 3328
Markup updates to improve SEO and Accessibility 3412
Tap Targets size and Color Contrast 3421
Image placeholders updates to improve the Best Practices score 3411
Meta information for Category Meta Descriptions 3471

Updates

Description PR
Migrated magento-commerce/upward-php from Zend to Laminas. upward-php/3
Updated the service worker to cache more than just URLs with .html suffixes. 3448
Updated the Venia splash image shown when JavaScript is disabled in the browser. 3355
Moved all project CartPage/.../*.gql.js files from venia-ui to the peregrine/talons directory. 3457
Moved all project CheckoutPage/.../*.gql.js files from venia-ui to the peregrine/talons directory. 3441
Refactor all queries that use category or product url_suffix to use the storeConfig suffix. 3393
Added keyboard accessiblity to the MegaMenu component. Users can now navigate through all the MegaMenu links with their keyboards. 3319
Enabled trusted extension vendors to change code outside their namespace, namely within @magento/[packages]. 3266
Enabled Page Builder Row appearances (Full Width, Full Bleed) to work as expected on the Venia storefront. 3221
Implemented new GraphQL caching header that Venia and other storefronts must send to GraphQL. 3278
Updated CSS Module source maps to make CSS className easy to find and change during development. 3407
Added extensibility point (new target) for new Page Builder content types: setContentTypeConfig 3307
Added two new status to Order History page: received (order submitted but not processed) and rejected (failure when placing order). 3431
Updated Workbox packages to version 6.2.4 to fix the backwards compatibility issue we had with our previous version 6.0.2. 3378

Bug fixes

Description PR
Fixed direct GraphQL errors displayed on Venia forms. Replaced with helpful, user-focused errors. 3281
Fixed a checkout error that occurred when Braintree was enabled. Added missing import statement to BraintreeSummary component. 3470
Fixed form issue with Region/State fields not clearing after user changes the Country field from US to UK or UK to US. 3364
Fixed Home page styling on scaffolded apps. 3391
Fixed an issue where editing items in the cart could remove the item after clicking the Update button. 3279
Fixed issue where small images used in the Carousel component could expand into the description area. 3398
Fixed the useFieldState hook in the TextInput and QuantityFields components to prevent false console warnings. The hook checked their states before the fields rendered. 3399
Fixed the region/state codes on billing forms (for countries like France) to display names instead of numbers. 3335
Fixed the ProductImageCarousel to no longer duplicate thumbnails of the product's default variant. 3186
Fixed the Lighthouse warning: Avoid an excessive DOM size. This warning appeared after the implementation of #3115. 3388
Fixed the WishList Edit dialog to remove errors that remained after closing and reopening the dialog. 3405
Fixed the ErrorView component from throwing console warnings on pages with missing translations. 3236
Fixed URL Rewrite to work properly for Venia. 3309
Fixed Page Builder products from showing "Out of Stock" message for products that are in stock. 3336
Fixed the Known Issue from v11.0.0 in which the URL for a suggested category contained two store codes (/default/default/) instead of one, creating a 404 error when selected. 3344
Fixed dependency warnings displayed when scaffolding a new PWA app with yarn create @magento/pwa. 3380
Fixed CSS background-repeat property issue on Safari. 3348
Fixed alignment of "Add to Favorites" icon on product category pages. 3351
Fixed Page Builder product descriptions (Mobile only) from rendering with the wrong HTML tags. All descriptions now use the correct component: RichContent instead of RichText. 3409
Fixed image caching issue where the maxEntries setting on service workers was ignored. This caused the site to slow as the image cache grew with 100s of entries. 3452
Fixed error in SubmenuColumn component that occurred when a sub-category had no children (sub-catagories of its own). 3427
Fixed the InjectManifest build error that occurred when running (yarn run build) on scaffolded apps. 3454
Fixed an Apollo cache issue in which checkout data was not cleared from cache if users switched store views before checkout. 3482

Documentation Updates

Description PR
Added table to show which Adobe Commerce and Magento Open Source features PWA Studio supporst out of the box. 3459
Added additional guidelines for overriding Adapter. 3395
Updated wrappable talons documenation. 3243
Fixed example in TargetableReactComponent page. 3259
Completed migration to AdobeIO PWA Docs site. 3480
Added Commerce feature support table that PWA Studio provides out-of-the-box. 3459
Added a solution to a possible error during SASS loader installation. 3269
Updated Magento capability table. 3467
Fixed grammar in the Internationalization topic. 3274

Breaking Changes

Description PR
Removed Enzyme and @wojtekmaj/enzyme-adapter-react-17 packages. Update any tests that use the Enzyme or @wojtekmaj/enzyme-adapter-react-17 packages. 3393
Changed the UPWARD configuration to prevent a race condition that could prevent yarn build command from emmitting images. Overriden static asset configurations now only take the overriden value, instead of both. 3410
Hundreds of CSS files have been renamed and their components updated to point to the new filenames. 3414
Page loading indicator component refactored/moved to LoadingIndicator. 3308
makeRoutes has changed to also export a list of available routes. 3308
Any use of getUserConfirmation external of Venia must be updated as we are now using this functionality. 3308
Response from useMagentoRoute has changed for loading state. Wrappers should take account of this change. 3353
Added exports to index.js files for Shimmers. 3284
Changed content of categoryContent root component so targetables may change. 3284

Known Issues

Scaffolding projects using npm version 7 or above (npm init @magento/pwa) results in errors. While we investigate, you can use one of the following workarounds:

  1. Use yarn instead: yarn create @magento/pwa.
  2. When installing the scaffolded project, use the --legacy-peer-deps flag to force npm to treat peer dependencies as it did in versions 4-6.

Test Updates

Description PR
New jest tests for Filters components. 3372
Extensibility — Trusted vendors can now modify dependency sources. 3362
Fixed product snaps after icon adjustment. 3362
Fixed local URL support for running Cypress tests with Docker. 3422
New code build test that runs the create-pwa scaffolding app for PRs. pwa-studio-cicd/79
New Cypress test to verify that Page Builder content types render and function correctly in the Venia storefront. 3315
New Cypress test for Page Builder Map. 3346
New Cypress test for Page Builder Dynamic Block. 3326
New Cypress test for Page Builder Divider. 3313
New Cypress test for Page Builder Products. 3331
New Cypress test for Page Builder Text. 3321
New Cypress test for Page Builder Video. 3349
New Cypress test for Page Builder Slider. 3310
New Cypress test for Page Builder Block. 3317
New Cypress test for Page Builder Column. 3326
New Cypress test for Page Builder Row. 3333
New Cypress test for Page Builder Tabs. 3324
MFTF Fix tests because of Mega Menu UI updates (Automate Mega menu) pwa-tests/10
Added Cypress tests to our CICD pipeline so that they will run on GitHub with every PR. pwa-studio-cicd/87
Updated Cypress tests to wait for network responses without relying on explicit waits. 3343
Updated Cypress single and multiple WishList tests. 3257

Repo Maintenance Tasks

Description PR
Updated pwa-studio repo dependencies to clear various GitHub security alerts. 3318
Updated PR template. 3280
Fix CICD Scaffolding job. 3318
Update Community Contributor statistics. 3489

Upgrading from a previous version

Use the steps outlined in this section to update your scaffolded project from 11.0.0 to 12.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 12.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 2.0.0
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 7.0.0
peregrine 12.0.0
pwa-buildpack 10.0.0
upward-js 5.2.0
upward-spec 5.1.0
venia-concept 12.0.0
venia-ui 9.0.0
magento2-upward-connector 1.3.0
upward-php 1.2.0

Update template files

The following template files contain updates in 12.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 template files

The following template files have been added in 12.0.0:

Add these files to your project as part of your project upgrade to 12.0.0.

v11.0.0

2 years ago

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.

v10.0.0

3 years ago

Release 10.0.0

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

Table of contents

What's new in 10.0.0

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

Build report tool

The build report tool is a Buildpack CLI command that returns information about a storefront setup and development environment. This feature makes it easier to provide information when reporting issues or for general debugging purposes.

The following command is now available for newly scaffolded projects:

yarn build:report

Image from Gyazo

Check or Money Order payments

A PWA Studio extension that allows check or money order payments is now available thanks to the contribution of community member Lars Roettig. If the Magento backend has the Check or Money Order option enabled, this extension lets storefront customers use this payment option.

Storefront developers can install this extension to add the new payment feature instead of writing custom frontend code to support this feature. Extension developers can view the extension's source code to learn how to implement their own payment methods extension.

NOTE: Currently, the data for Make Check Payable to and Send Check to is static because data from the Admin is not available from the GraphQL endpoint in Magento 2.4.2.

Check or Money Order payment

Custom scaffolding template

The Buildpack scaffolding tool for creating new projects now lets you specify a custom template and version. This feature lets you create a storefront project based on a non-Venia template or use a pre-release version of the Venia template.

Custom scaffolding template

MegaMenu component

A MegaMenu component is now available in the Venia UI library thanks to the contribution of community member Marcin Kwiatkowski. This component displays product categories and subcategories defined in the Magento backend.

MegaMenu component

Store switcher

The Venia UI library now provides components that support multiple store views. These components let customers switch between the different store views defined in the Magento backend.

These components also support grouped store views if available from Magento.

Improved performance

This release improves the performance of the Venia storefront and its underlying components. These improvements include:

  • Enabling text compression for the UPWARD-JS server
  • Removing unused JavaScript in Venia
  • Investigating and improving render blocking and response in Venia

Increased test coverage

Our continued commitment to stability and quality has seen an increase in overall unit test code coverage.

Coverage as reported by coveralls.io:

Current coverage (10.0.0): 85.685%

Previous coverage (9.0.1): 84.19%

Pull requests merged in this release

Venia (storefront and visual component library)

Description Change type PR
Added MegeMenu feature and components Feature #2932
Added ability to lazy Load/trim unused bytes in main routes Feature #2988
Implemented Check or Money Order payment feature Feature #2969
Added support for Configurable Product Image setting in the backend Feature #2958
Created Store Switcher Groups components Feature #2956
Added ability to remove saved payment methods Feature #2943
Created ErrorView components Feature #2936
Created Debugging Reporter feature Feature #2910
Added link click handler inside of GalleryItem Feature #3053
Excluded venia-ui/lib/components/Checkout from Coverage Report Update #3023
Increased test coverage for venia-ui/lib/components/CreateAccountPage Update #3021
Increased test coverage in venia-ui/lib/components/CheckoutPage Update #3018
Created Venia UI App related tests Update #3015
Removed "Home Page" from Title Update #3012
Increased test coverage in venia-ui/lib/components/MagentoRoute Update #3006
Increased test coverage in venia-ui/lib/components/Main Update #3004
Removed data from all persisted Apollo caches Update #2992
Investigated and improved render/blocking in Venia Update #2952
Fixed mini cart not updating when logged in user has the same simple product already added Bugfix #2996
Fixed CMS header line height Bugfix #3032
Fixed bug where default Toasts do not fall back to using the DEFAULT_TIMEOUT Bugfix #2982
Fixed a bug where dialog component would not reset fields on close after submitting Bugfix #2960
Set a fixed minimum height on the main page Bugfix #2942
Added a page level error and disabled checkout button when there are no available payment methods Bugfix #2873

Peregrine library

Description Change type PR
Added middleware to schedule sign-out Feature #2904
Added support for Product URL and Category URL Settings Feature #2895
Increased test coverage for packages/peregrine/lib/talons/CheckoutPage Update #3024
Increase test coverage in peregrine/lib/talons/SignIn Update #2998
Updated Media Url generation logic to use store code header with a default fallback value Update #2941
Moved Price Summary GraphQL fragment into Peregrine Refactor #3007
Refactor comment on cmsPage talon to reflect why we compare against default string Refactor #3062
Cleaned up an invalid function reference in billing address Refactor #3065

Build tools

Description Change type PR
Added ability to use custom template for scaffolding Feature #3025
Added option to use custom https certificates with buildpack Feature #2946
Updated compile time logic to fetch store name from the GraphQL server Update #3019
Fixed command escaping in the create-pwa shell command Bugfix #3022

UPWARD

Description Change type PR
Added support for express server compression middleware. Feature #2980
Added ability to allow blob types for UPWARD security headers Feature #2985
Added the xfwd option to the proxyMiddleware Feature #2986

Extensions

Description Change type PR
Added a null check for element styling in PageBuilder Update #3016

Documentation

Description Change type PR
Published a new tag list extension tutorial Documentation #3044
Published new topic about extension development Documentation #2995
Published new topic about Targetables Documentation #2966
Updated code sample in documentation Update #2938
Updated getting started section in docs Update #2926
Updated "Modify talon results" tutorial Bugfix #3039
Fixed broken link in doc topic Bugfix #3002

Misc

Description Change type PR
Removed auto-assign logic for new docs issue Update #3040
Upgraded workbox to v6 Update #2983
Added coveralls badge back to the README Update #2978
Upgraded React to v17 Update #2962
Enabled singleton style tag Update #2906
Updated prettier config Update #2900
Removed cyclic dependencies Bugfix #2967

Known issues

  • If you are using Multi-Source Inventory(MSI), a GraphQL issue prevents users from adding a configurable product to the shopping cart on non-default store views. This issue is fixed in Magento's 2.4-develop branch, and should be available in the next Magento release.

  • Prerender feature is unable to cache HTML on Fastly enabled environments.

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

  • Navigating to the Venia storefront produces TypeError: Failed to fetch in the console. This is a Workbox issue caused by the service worker when it requests the index.html route. This has no impact on Venia functionality but will be fixed in the next release when the Workbox dependency is updated.

Upgrading from a previous version

The method for updating to 10.0.0 from a previous version depends on how PWA Studio is incorporated into your project. The following are common use cases we have identified and how to update the project code.

Scaffolded project

Using the scaffolding tool is the recommended method for starting a new storefront project. This tool generates a copy of the storefront project defined in the Venia concept package.

Upgrade method: Update dependencies and manual merge

Since scaffolded projects consume PWA Studio libraries as dependencies, you just need to update your PWA Studio dependencies in your package.json file to use the released version.

After that, install the new dependencies using the install command:

yarn install

or

npm install

If you need to update other project files, such as configuration and build scripts, you need to use a diff tool to compare your projects files with those of Venia concept. This will help determine what changes you need to manually copy into your project files.

PWA Studio fork

Many PWA Studio users have forked the PWA Studio Git repository. Even though their codebase may have diverged a great deal from the current codebase, there is still a Git relationship.

Upgrade method: Update using Git

Pull and Merge the changes from the upstream repository using Git. Most of the conflicts will be in components that we have fully refactored.

We recommend merging the library code we changed and updating component calls with any new prop signatures introduced in this version.

Manual code copies

Some PWA Studio users have copied parts of the code into their own projects. This is similar to the Git workflow, but without the merging tools Git provides.

Upgrade method: Manual copy updates

Updating this code involves manually copying updates for the code they use. New code may also need to be copied over if the updated code depends on it.

This method can be a chore, and we hope that some of the features in 5.0.0+ will help these users migrate to a package management approach.

NPM packages

Some users have imported the PWA Studio libraries using NPM. This is the easiest way to work with the released versions of PWA Studio.

Upgrade method: Update package.json

To upgrade to the latest version (currently 10.0.0), simply call yarn add on each of the @magento packages. This will both update package.json in your project, as well as install the latest versions.

Sample command:

yarn add @magento/eslint-config @magento/pagebuilder @magento/peregrine @magento/pwa-buildpack @magento/upward-js @magento/venia-ui

v9.0.1

3 years ago

Release 9.0.1

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

Table of contents

What's new in 9.0.1

PWA Studio 9.0.1 contains the same features, refactors, and various improvements in the previous 9.0.0 release plus a hotfix for the create-pwa CLI tool.

Hotfix for create-pwa

This release fixes a bug that crashes the scaffolding tool whenever you run yarn create @magento/pwa or npx @magento/create-pwa.

Pull requests merged in this release

Build tools

Description Change type PR
Removed lodash from create-pwa Bugfix #3003
Added venia-concept as a dependency of create-pwa Bugfix #3008

Known issues

  • If you are using Multi-Source Inventory(MSI), a GraphQL issue prevents users from adding a configurable product to the shopping cart on non-default store views.
  • Prerender feature is unable to cache HTML on Fastly enabled environments.
  • 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

The method for updating to 9.0.1 from a previous version depends on how PWA Studio is incorporated into your project. The following are common use cases we have identified and how to update the project code.

Scaffolded project

Using the scaffolding tool is the recommended method for starting a new storefront project. This tool generates a copy of the storefront project defined in the Venia concept package.

Upgrade method: Update dependencies and manual merge

Since scaffolded projects consume PWA Studio libraries as dependencies, you just need to update your PWA Studio dependencies in your package.json file to use the released version.

After that, install the new dependencies using the install command:

yarn install

or

npm install

If you need to update other project files, such as configuration and build scripts, you need to use a diff tool to compare your projects files with those of Venia concept. This will help determine what changes you need to manually copy into your project files.

PWA Studio fork

Many PWA Studio users have forked the PWA Studio Git repository. Even though their codebase may have diverged a great deal from the current codebase, there is still a Git relationship.

Upgrade method: Update using Git

Pull and Merge the changes from the upstream repository using Git. Most of the conflicts will be in components that we have fully refactored.

We recommend merging the library code we changed and updating component calls with any new prop signatures introduced in this version.

Manual code copies

Some PWA Studio users have copied parts of the code into their own projects. This is similar to the Git workflow, but without the merging tools Git provides.

Upgrade method: Manual copy updates

Updating this code involves manually copying updates for the code they use. New code may also need to be copied over if the updated code depends on it.

This method can be a chore, and we hope that some of the features in 5.0.0+ will help these users migrate to a package management approach.

NPM packages

Some users have imported the PWA Studio libraries using NPM. This is the easiest way to work with the released versions of PWA Studio.

Upgrade method: Update package.json

To upgrade to the latest version (currently 9.0.1), simply call yarn add on each of the @magento packages. This will both update package.json in your project, as well as install the latest versions.

Sample command:

yarn add @magento/eslint-config @magento/pagebuilder @magento/peregrine @magento/pwa-buildpack @magento/upward-js @magento/venia-ui

v9.0.0

3 years ago

Release 9.0.0

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

Table of contents

What's new in 9.0.0

PWA Studio 9.0.0 contains new features, refactors, and various improvements.

IMPORTANT: Due to an issue with the scaffolding tool released in 9.0.0, we released 9.0.1 quickly to resolve this issue.

Extensibility framework improvements

This release adds several improvements to the extensibility framework in PWA Studio to make it easier for developers to customize their storefronts. For an overview of this framework, check out the new Extensibility framework topic on the docs site.

In previous releases, Peregrine talons had limited Target coverage. This release adds an automatic API generator to Peregrine that exposes all hooks and talons as Targets. Now, existing and future hooks and talons in Peregrine automatically get their own Targets API that developers may use to modify or extend functionality.

This release also adds the Targetables feature to the extensibility framework. These represent source files used in your PWA Studio project, and they give developers the ability to change the source code during the build process. With Targetables, developers no longer have to copy PWA Studio source code into their storefront projects to make minor modifications.

PWA Studio extensions

PWA Studio's extensibility framework lets developers create extensions and install them as project dependencies in their storefronts. As part of the work on the new extensibility framework, we refactored and relocated existing Venia features into PWA Studio extensions. We also developed new extensions that provide useful Venia features that developers can add to their projects.

The source code for these extensions are available under the packages/extensions directory in the PWA Studio repository.

upward-security-headers : intercepts build targets to add security headers to UPWARD

venia-adobe-data-layer : provides Adobe Client Data Layer support for your project

venia-sample-backends : provides demo Magento backends and backend validation utilities for your project (this extension should be removed prior to going live)

venia-sample-language-packs : provides example translations to illustrate how new languages can be installed into your storefronts

Internationalization and localization

The internationalization(i18n) feature in PWA Studio lets developers localize their storefront content according to different regions and languages. The Magento backend provides your storefront with this list of regions and languages and the I18n feature provides translated content using PWA Studio language pack extensions.

As part of the i18n feature work, we refactored Venia UI components and gave them the ability to display the correct translations for multi-language storefronts.

This release also gives developers the ability to develop and install PWA Studio language packages as NPM dependencies. An example of a language pack extension is in the packages/extensions directory in the PWA Studio repository.

For more information, read the new topic on the Localization feature.

My Account

This release adds components that support My Account features for customers that create an account with a store.

My Account features included in this release:

  • Wishlist
  • Saved Payments
  • Address Book
  • Order History

Increased test coverage

Our continued commitment to stability and quality has seen an increase in overall unit test code coverage.

Coverage as reported by coveralls.io:

Current coverage (9.0.0) : 84.19%

Previous coverage (8.0.0) : 79.21%

Magento release support change

Previous releases of PWA Studio supported multiple versions of the Magento back-end. To help us deliver value faster, we modified our support matrix.

Starting with PWA Studio & Venia 9.0.0, we will only support the most recent version of Magento. For example, version 9.0.0 only supports Magento 2.4.2. Minor versions of PWA Studio & Venia released between typical Magento releases will support the last publicly available release.

Pull requests merged in this release

Venia (storefront and visual component library)

Description Change type PR
Created UI skeleton for Saved Payments Feature #2671
Created component for displaying account information Feature #2672
Added ability for shoppers to change locale using a store view switcher Feature #2686
Created the main view for Wishlist Feature #2692
Added the expanded view in the order history table Feature #2703
Created a currency switcher component Feature #2728
Added USE_STORE_CODE_IN_URL environment variable configuration Feature #2735
Created Wishlist UI Feature #2766
Added ability to determine whether to unmount or just hide child components in the Dialog component Feature #2767
Added ability to remove products from Wishlist Feature #2793
Added a "maskable icon" to Venia for Google Lighthouse Feature #2818
Created message to display when no allowed or configured payment methods are present Feature #2855
Created the main view for Address Book in My Account Feature #2857
Added ability to Add and Edit addresses in the Address Book Feature #2879
Created the main view for Saved payment methods Feature #2882
Added ability to delete Address from Address Book Feature #2888
Created new Sign In view for Checkout flow Feature #2889
Updated logic for routes handling to accept an array of paths Feature #2893
Replaced hardcoded root category id with an actual value retrieved from a query Feature #2902
Added search by order number feature to the order history page Feature #2916
Added pagination for Order History Feature #2928
Refactored Edit Payment to use Dialog component Refactor #2806
Refactored Edit Product to use Dialog component Refactor #2824
Refactored Payment feature to make it extendable Refactor #2838
Added access to checkout's useOverview() talon Update #2636
Updated the Search trigger button in the site header to behave like My Account and Cart trigger buttons Update #2685
Replaced the ProductQuantity component on the Product page with a QuantityFields stepper component Update #2690
Localized My Account and Signed In sidebar Update #2721
Localized Mini Cart and Search Update #2734
Localized Cart Update #2740
Localized Checkout page Update #2759
Localized CMS Update #2764
Localized Category page Update #2771
Localized Product page Update #2772
Localized Form Validators Update #2781
Localized additional client-side strings Update #2799
Removed temp code Update #2811
Update service worker logic to handle all Venia images Update #2846
Fixed a bug where the Zip code field does not get cleared when switching country Bugfix #2680
Fixed a bug where the Filter and Sort buttons would not display at same time Bugfix #2681
Removed ability to submit form data prefixed/suffixed with spaces for all fields Bugfix #2749
Limited clickable link area for the product name on the product page Bugfix #2755
Fixed message on the Search Page when searching for less than 3 characters Bugfix #2756
Fixed a bug where clicking on a Label would not focus Input Bugfix #2774
Fixed theme_color value in the manifest.json Bugfix #2823
Fixed button type on product image carousel thumbnails Bugfix #2844
Fixed Service Worker caching for home page routes with store code Bugfix #2856

Peregrine library

Description Change type PR
Created a shallow merge utility for classes in UI components and merge operations in talons Feature #2794
Increased useApp() talon test coverage Update #2782
Increased peregrine/lib/apollo test coverage Update #2785
Increased CartPage test coverage Update #2847
Improved RootComponents talons test coverage Update #2896
Removed routes to features still in progress Update #2918
Migrated GQL related files and folders to the peregrine package Refactor #2712
Removed the @client directive in Order History queries Refactor #2786
Fixed spelling for a function name Refactor #2807
Refactored MagentoRoute to use ApolloClient Refactor #2859
Moved product detail GraphQl fields to fragment Refactor #2868
Fixed JavaScript errors thrown by the useOrderConfirmationPage talon Bugfix #2850
Fixed apiBase URL in resolveUnknownRoute.js Bugfix #2877
Fixed broken top level category navigation Bugfix #2911
Fixed offline cached search and category pages Bugfix #2929

Build tools

Description Change type PR
Enabled PWA Studio packages and extensions to provide translations Feature #2696
Added support for GIF files in Webpack config Feature #2714
Created Targetables feature and expanded Peregrine talons Target coverage Feature #2765
Enabled self-signed certificates for backend validation Feature #2891
Fixed unsupported webp image format for Safari Bugfix #2778
Fixed bug related to apicache overriding good cache headers Bugfix #2870
Fixed missing projectConfig in create-custom-origin command Bugfix #2897

Extensions

Description Change type PR
Enable async tapping of Targets Feature #2718
Added i18n feature as an extension with French language pack included Feature #2840
Added the Adobe Client Data Layer as an extension Feature #2852
Added new extension to pick from multiple sample backends Feature #2853
Updated PageBuilder form field/field group viewport to read non-media styles Update #2881
Converted PageBuilder style blocks to inline styles to prevent backward incompatible changes Bugfix #2694

Documentation

Description Change type PR
Created docs for the Internationalization feature Documentation #2741
Created a new tutorial for intercepting talons Documentation #2777
Created a new tutorial on how to use environment variables in front end code Documentation #2819
Created extensibility framework overview topic Documentation #2863
Removed "scroll to top" code in GraphQL tutorial Update #2715
Update code sample in static route tutorial Update #2725
Updated extensibility doc with minor fixes Update #2742
Updated code samples in tutorial Update #2746
Added info about RAIL model Update #2761
Added the Adobe logo to the doc site header Update #2812
Updated cloud deployment topic Update #2871
Refactored tutorials section Refactor #2907
Removed duplicate word from doc Bugfix #2865

Misc

Description Change type PR
Removed the venia-styleguide package Update #2706
Update use of Whitelist to Allowlist Update #2779
Added jsx-no-literals linting rule Update #2789
Update PR template to add translation entry to checklist Update #2800
Fixed a Storybook bug related to fetchLocaleData in storybook config Bugfix #2801
Fix failing unit tests related to race conditions Bugfix #2880
Fixed a Storybook bug related to the relative import of a local custom loader Bugfix #2912

Known issues

  • If you are using Multi-Source Inventory(MSI), a GraphQL issue prevents users from adding a configurable product to the shopping cart on non-default store views.
  • Prerender feature is unable to cache HTML on Fastly enabled environments.
  • 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

The method for updating to 9.0.0 from a previous version depends on how PWA Studio is incorporated into your project. The following are common use cases we have identified and how to update the project code.

Scaffolded project

Using the scaffolding tool is the recommended method for starting a new storefront project. This tool generates a copy of the storefront project defined in the Venia concept package.

Upgrade method: Update dependencies and manual merge

Since scaffolded projects consume PWA Studio libraries as dependencies, you just need to update your PWA Studio dependencies in your package.json file to use the released version.

After that, install the new dependencies using the install command:

yarn install

or

npm install

If you need to update other project files, such as configuration and build scripts, you need to use a diff tool to compare your projects files with those of Venia concept. This will help determine what changes you need to manually copy into your project files.

PWA Studio fork

Many PWA Studio users have forked the PWA Studio Git repository. Even though their codebase may have diverged a great deal from the current codebase, there is still a Git relationship.

Upgrade method: Update using Git

Pull and Merge the changes from the upstream repository using Git. Most of the conflicts will be in components that we have fully refactored.

We recommend merging the library code we changed and updating component calls with any new prop signatures introduced in this version.

Manual code copies

Some PWA Studio users have copied parts of the code into their own projects. This is similar to the Git workflow, but without the merging tools Git provides.

Upgrade method: Manual copy updates

Updating this code involves manually copying updates for the code they use. New code may also need to be copied over if the updated code depends on it.

This method can be a chore, and we hope that some of the features in 5.0.0+ will help these users migrate to a package management approach.

NPM packages

Some users have imported the PWA Studio libraries using NPM. This is the easiest way to work with the released versions of PWA Studio.

Upgrade method: Update package.json

To upgrade to the latest version (currently 9.0.0), simply call yarn add on each of the @magento packages. This will both update package.json in your project, as well as install the latest versions.

Sample command:

yarn add @magento/eslint-config @magento/pagebuilder @magento/peregrine @magento/pwa-buildpack @magento/upward-js @magento/venia-ui

v8.0.0

3 years ago

Release 8.0.0

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

Table of contents

What's new in 8.0.0

PWA Studio 8.0.0 contains new features, refactors, and various improvements.

Improved performance

A lot of work has been done in this release to improve storefront performance. This means that any project using the latest PWA Studio components will benefit from these updates.

One of the bigger changes is the migration to Apollo Client 3.0. This version of the Apollo Client provides better cache controls and better network fetching performance in general.

This release also includes various refactors and improvements on the GraphQL queries themselves to reduce the API request times from Magento.

Complete cart and checkout experience

This release finishes the full page cart and checkout features introduced in previous releases. The complete cart and checkout workflow is based on research made by members of the UX team.

Storefront developers can use this streamlined process as implemented or they can use the different components to customize their own cart and checkout workflow.

Shopping Bag feature

In addition to the complete full page cart and checkout experience, this release introduces a new Mini-Cart/Shopping Bag feature.

This feature is a floating modal that appears when you click on the shopping bag icon. It replaces the old MiniCart component, which previously appeared as a drawer from the right side of the app.

Instead of competing with the full page cart feature, it only contains a subset of actions, such as removing an item and checking out. For additional modifications to cart products, it links to the cart page.

Developers can still use the old MiniCart component in their projects, but it has been renamed to LegacyMiniCart.

Branding updates

The UX team continues in their research to improve the look and feel of the Venia brand. This release includes many style updates to give the Venia storefront a more modern and accessible experience.

Developers get all these improvements right away when they start their projects using this version of Venia as the base storefront or by upgrading their dependencies.

My Account code preview

This releases includes a sneak peak at features associated with My Account, such as Wishlist, Order History, and Address Book. Even though the Communications Page is the only navigable page, curious developers can peek at the 8.0.0 release codebase to see the initial code for these features.

Targets reference documentation

During 8.0.0 development, the PWA Studio doc site has published reference documentation for extensibility targets in the different packages. This documentation contains API descriptions and sample code to help developers discover the different PWA Studio extension points.

Pull requests merged in this release

Venia (storefront and visual component library)

Description Change type PR
Implemented initial code for the new MiniCart component Feature #2494
Created new components for an account menu Feature #2550
Created components for a Newsletter Subscription page Feature #2571
Implemented initial code for an Order History page Feature #2611
Implemented a way to access top/intermediate level categories through the left nav Feature #2616
Implemented initial UX and workflow for a Forgot Password feature for My Account Feature #2619
Implemented initial code for Wishlist Feature #2620
Implemented the ability to translate Venia's header / footer Feature #2643
Added ability to allow PWA Studio to use a different store to localize CMS Pages Feature #2649
Implemented initial code for Address Book Feature #2653
Implemented initial code for an Order History table Feature #2660
Updated Venia's button style to match new design Update #2496
Added product listing to the MiniCart Update #2506
Added a header section to the MiniCart Update #2509
Added a footer section to the MiniCart Update #2511
Adjusted styles for the header, main page, and footer components Update #2513
Update Gallery component to use item.id for key prop on GalleryItem Update #2520
Added product link for each product in the MiniCart Update #2549
Disabled the visibility of the MiniCart on the checkout page Update #2554
Added product links to the product listings on the cart page Update #2557
Updated Venia's filter modal styles to match the new design Update #2559
Added CSS to handle multiple configurable options Update #2577
Implemented consistent error state handling Update #2588
Added a sign-in section to the new My Account trigger in the header Update #2590
Enabled GET for GraphQL queries (but not mutations) Update #2602
Added React Refresh to improve development server performance Update #2609
Improved error handling when using the Sign-in dropdown Update #2664
Updated static images to reflect new logo Update #2693
Disabled account page routes for v8.0.0 Update #2709
Removed email from the reset password link Update #2726
Refactored code to use tokens for color and weight Refactor #2500
Refactored Venia's inputs to match new design Refactor #2510
Refactored Venia's accordions to match the style guidelines Refactor #2527
Refactored Venia's cards to match the style guidelines Refactor #2545
Fixed a "Data Fetch Error" on the product page during offline mode Bugfix #2490
Fixed a bug that made the product and category sorting component unavailable Bugfix #2493
Resolved remaining issues with Buttons component implementation Bugfix #2523
Fixed scroll lock page shifting Bugfix #2543
Fixed MiniCart blocking page interactions Bugfix #2547
Fixed a sticky sidebar on the checkout page overlapping the footer Bugfix #2582
Fixed a bug that kept rendering the loading spinner on the page Bugfix #2583
Fixed MiniCart bug that prevent guest users from adding a product to an expired cart Bugfix #2612
Fixed button CSS to handle mobile view Bugfix #2655
Fixed improper use of formatMessage() Bugfix #2698
Fixed Storybook bug caused by i18n work Bugfix #2705
Fixed Payment Information button to disable it while the Payment section loads Bugfix #2723
Fixed an offline homepage error Bugfix #2727

Peregrine library

Description Change type PR
Added access to the root component type for child components Feature #2443
Enable URL redirects when set in the Magento backend Feature #2504
Added Create Account functionality to the Sign-in trigger in the navigation menu Feature #2657
Added support for an app-wide configurable URL suffix Feature #2665
Added support for localized Catalog Products for different stores Feature #2667
Implemented scroll top when payment information processing completes Update #2498
Implemented logic for adding products to the MiniCart Update #2505
Updated fetching logic to use cache-and-network for the Cart/Checkout processes Update #2634
Moved cart creation logic out of cart trigger and into the cart context provider Refactor #2572
Fixed an infinite error loop when cart creation fails Bugfix #2574
Fixed a bug that prevented adding to cart when another product in the cart is out of stock Bugfix #2576
Fixed a bug on the Category page where it did not refresh data when clicking back, previous, or next page Bugfix #2641
Fixed a customer address bug related to addresses for countries without regions or states Bugfix #2659
Fixed bug caused by Apollo when upgrading from a previous release Bugfix #2673
Fixed bug that showed product types that are not supported yet Bugfix #2697
Fixed a data sort error Bugfix #2736
Fixed an error in the filters list associated with multiple filters having the same label Bugfix #2739
Fixed an address merging error during sign in Bugfix #2744

Build tools

Description Change type PR
Created a staging server utility instead of a script Feature #2618
Deprecated getUnionAndInterfaceTypes() function Update #2663
Fixed scaffolding bug that did not include a pwa-studio section in the package.json file Bugfix #2514
Fixed Storybook files for scaffolded projects Bugfix #2708

UPWARD

Description Change type PR
Implemented feature that allows HTTP for the Magento backend URL Feature #2423
Updated implementation code to improve WebPageTest score Update #2548
Added support for additional image types Update #2562
Updated upward-security-headers peer dependencies Update #2605
Fixed UPWARD bug that prevented the use of an allowable header character Bugfix #2484
Fixed image optimized middleware Bugfix #2535
Removed rimraf as a peer dependency in the upward-security-headers extension Bugfix #2594
Fixed YouTube and Vimeo urls being blocked Bugfix #2656

Documentation

Description Change type PR
Created Venia Targets reference documentation Documentation #2472
Created Peregrine Targets reference documentation Documentation #2492
Created Buildpack Targets reference documentation Documentation #2508
Created reference docs for the UI components and talons used in the cart page Documentation #2637
Added a note about Node 12 deprecation warnings Update #2566
Added upgrade steps in the changelog for scaffolded projects Update #2587
Updated magento-research references to magento Update #2599
Removed GraphQL limitation entry in the Page Builder docs Update #2630
Added Page Builder integration videos Update #2632
Updated out of date content in the custom footer tutorial Update #2652
Added more verbose upgrade installation instructions in the README Update #2662
Updated routing tutorial to use the extensibility framework Update #2670
Updated README Update #2676
Removed deprecated topics and files in the docs project Update #2684
Fixed a typo in the Add a static route docs Bugfix #2553
Fixed a broken link Bugfix #2642

Misc

Description Change type PR
Created simple README content for the create-pwa package Update #2415
Updated contributors list Update #2518
Upgraded to @apollo/client@3 Update #2560
Configure dependabot to only open 5 pull requests and restrict to semver Update #2526 #2528
Bumped http-proxy-middleware from 0.19.1 to 0.19.2 Update #2532
Bumped apollo-link-retry from 2.2.15 to 2.2.16 Update #2530
Bumped @apollo/react-hooks from 3.1.3 to 3.1.5 Update #2529
Bumped lodash from 4.17.14 to 4.17.19 in /docker Update #2556
Bumped lodash from 4.17.15 to 4.17.19 in /pwa-devdocs Update #2555
Bumped elliptic from 6.5.2 to 6.5.3 Update #2593
Bumped elliptic from 6.5.2 to 6.5.3 in /pwa-devdocs Update #2596
Bumbed dot-prop to version 5.1.1 or later Update #2601
Bumped kramdown from 2.2.1 to 2.3.0 in /pwa-devdocs Update #2614
Removed dependabot version bump settings Update #2646
Bumped bl from 3.0.0 to 3.0.1 Update #2675
Fixed a PageBuilder visibility bug affecting slider buttons and links Bugfix #2722

Known issues

  • PWA Studio 8.0.0 is not fully compatible with Magento 2.3.6, which can prevent Users from using the Reset Password feature.
  • When switching stores as a logged in customer, the shopping cart is not reassigned to the new store.

Upgrading from a previous version

The method for updating to 8.0.0 from a previous version depends on how PWA Studio is incorporated into your project. The following are common use cases we have identified and how to update the project code.

Scaffolded project

Using the scaffolding tool is the recommended method for starting a new storefront project. This tool generates a copy of the storefront project defined in the Venia concept package.

Upgrade method: Update dependencies and manual merge

Since scaffolded projects consume PWA Studio libraries as dependencies, you just need to update your PWA Studio dependencies in your package.json file to use the released version.

After that, install the new dependencies using the install command:

yarn install

or

npm install

If you need to update other project files, such as configuration and build scripts, you need to use a diff tool to compare your projects files with those of Venia concept. This will help determine what changes you need to manually copy into your project files.

PWA Studio fork

Many PWA Studio users have forked the PWA Studio Git repository. Even though their codebase may have diverged a great deal from the current codebase, there is still a Git relationship.

Upgrade method: Update using Git

Pull and Merge the changes from the upstream repository using Git. Most of the conflicts will be in components that we have fully refactored.

We recommend merging the library code we changed and updating component calls with any new prop signatures introduced in this version.

Manual code copies

Some PWA Studio users have copied parts of the code into their own projects. This is similar to the Git workflow, but without the merging tools Git provides.

Upgrade method: Manual copy updates

Updating this code involves manually copying updates for the code they use. New code may also need to be copied over if the updated code depends on it.

This method can be a chore, and we hope that some of the features in 5.0.0+ will help these users migrate to a package management approach.

NPM packages

Some users have imported the PWA Studio libraries using NPM. This is the easiest way to work with the released versions of PWA Studio.

Upgrade method: Update package.json

To upgrade to the latest version (currently 8.0.0), simply call yarn add on each of the @magento packages. This will both update package.json in your project, as well as install the latest versions.

Sample command:

yarn add @magento/eslint-config @magento/pagebuilder @magento/peregrine @magento/pwa-buildpack @magento/upward-js @magento/venia-ui

v7.0.0

3 years ago

Release 7.0.0

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

Table of contents

What's new in 7.0.0

PWA Studio 7.0.0 contains new features, refactors, and various improvements.

Extensibility framework

This release improves on the extensibility framework introduced in version 6.0.0. It introduces new extension points for the Buildpack, Peregrine, and Venia UI library components.

Developers can use these extension points to extend their storefront project without duplicating and maintaining PWA-Studio code.

As of 7.0.0, PWA-Studio contains the following extension points:

Venia UI extension points

Venia UI extension points are declared in venia-ui-declare.js.

Target name Description
richContentRenderers Add custom rich content renderers to your storefront
routes Add or modify storefront-specific routes

Peregrine extension points

Peregrine extensions points are declared in peregrine-declare.js.

Target name Description
talons Intercept specific Peregrine talons and wrap them with your custom components

Wrappable talons:

  • useProductFullDetail()
  • useApp()

Buildpack extension points

Buildpack extension points are declared in declare-base.js.

Target name Description
enVarDefinition Add custom environment variables to PWA-Studio's environment variables system
transformModules Apply custom file transformers through webpack
webpackCompiler Access the webpack compiler object
specialFeatures Specify special features to the webpack compiler for components

New Venia look

Release 7.0.0 introduces numerous improvements to the shopper experience with various stylistic changes to the Venia example storefront. These storefront changes are the result of extensive research by the UX team to provide an optimal shopping experience.

These improvements are available to developers as individual library components or as a whole when they set up a new storefront project.

Page Builder home page

In addition to the style changes for Venia, release 7.0.0 also adds a new home page built using Page Builder. The content of this CMS page is defined in the Magento Admin using the Page Builder extension. It showcases Page Builder content types such as Sliders, Banners, and Gallery Items.

This new page replaces the old home page content in Venia.

Check out the new Venia homepage

Standalone Cart and Checkout pages

This release builds on the standalone Shopping Cart page introduced in 6.0.0 and connects it to a new standalone Checkout page. Developers can use these pages as starting points in their storefront projects or use the new components developed for those pages in their own solutions.

These pages are still under development as of this release, but you can view the current progress at:

https://develop.pwa-venia.com/cart

Order Confirmation page

This release adds an Order Confirmation page at the end of the cart and checkout workflow. It contains the billing and shipping information specified during checkout along with the items ordered.

This page works with guest and authenticated checkout. For guest checkout, the shopper is given the option to create an account for the store.

Standard Dialog component

This release introduces a standard modal window with the Dialog component.

Modals are child windows that render over the main application. They are highly visual components that show important messages or prompts for user interactions.

The Dialog component introduced in this release provides a standard way of working with this modal windows. This guarantees a unified look and feel for all your modal window use cases.

PWA Studio Fundamentals tutorials

Over the course of 7.0.0 development, the PWA Studio doc site has published introductory tutorials for working with the PWA-Studio tools and libraries.

These tutorials provide steps for common tasks associated with storefront development. They cover everything from setting up the initial project to providing a checklist for deploying to production.

See PWA Studio fundamentals for a list of these tutorials.

Pull requests merged in this release

Venia (storefront and visual component library)

Description Change type PR
Created a new Portal component Feature #2436
Added support for png image requests for servers that cannot handle webp Feature #2400
Implemented UX around $0 total checkout Feature #2394
Implemented auto-population of shipping information when authenticated Feature #2380
Implemented shopping cart merging on login Feature #2377
Added ability to specify ratio for image component Feature #2372
Implemented Checkout page price adjustments Feature #2366
Created a new Dialog Component Feature #2365
Added Storybook to Venia concept for scaffolded projects Feature #2355
Added a new CMS home page with Page Builder content Feature #2345
Implemented a guest payment workflow on the Checkout page Feature #2320
Enabled the RadioGroup component to pass rest attributes to radio group items Feature #2313
Added sorting to search page Feature #2294
Created new Order Confirmation page Feature #2288
Created Items Review component for Cart and Checkout Feature #2257
Added property to specify the cart trigger color Feature #2220
Updated home page route Update #2565
Renamed identities to be culturally appropriate Update #2478
Updated Cart page to show loading state while fetching data from network Update #2454
Updated cache policy for Home page Update #2453
Swapped usage of React Head to React Helmet Async Update #2412
Updated Service Worker to be more strict when doing catalog image checks Update #2392
Removed reference related to recently viewed items Update #2387
Changed the accordion section buttons to type button Update #2335
Changed the Venia loading spinner image to a simpler CSS spinner Update #2310
Added check for the isRequired validation rule Update #2303
Implemented Shipping Information form for guest checkout Update #2285
Added Shipping Methods form to Checkout page Update #2280
Made minor updates to the Order Summary feature Update #2278
Styled icons with CSS Update #2272
Added the Order Summary to the Checkout page Update #2271
Cleaned and made Cart and Checkout pages consistent Update #2258
Updated Checkout page GraphQL query Update #2254
Added category description (with PageBuilder support as well) in the category view Update #2226
Updated cms component to include meta data Update #2159
Changed the random swatch color to the actual color Update #2151
Fixed a button clipping bug Bugfix #2499
Fixed a Mini Cart bug that displayed incorrect dimensions and spacing for swatch images Bugfix #2457
Fixed dropdown arrows in Firefox Bugfix #2455
Fixed price summary not updating when shipping info is updated Bugfix #2445
Fixed css on the Checkout page Bugfix #2416
Fixed bug in Mini Cart where product options should be on separate lines Bugfix #2393
Fixed a Service Worker HTML caching bug Bugfix #2390
Fixed an incorrect propType in order confirmation page Bugfix #2375
Fixed a bug where Magento2 media image would not load Bugfix #2339
Fixed checkout button props Bugfix #2334
Added a white stroke to the checkout button css in Mini Cart Bugfix #2330
Fixed bug where a scroll position would not reset on router change Bugfix #2309
Fixed a css var in the checkbox.css Bugfix #2307
Fixed a rounding error on image src set Bugfix #2300
Fixed font size on the Order Summary page Bugfix #2275
Removed a duplicate css property Bugfix #2248
Fixed the placement of next and previous button for the Carousel component in Chrome Bugfix #2512

Peregrine library

Description Change type PR
Created a new useSort() hook for sorting logic Feature #2343
Added code for handling invalid braintree nonce error while placing order Update #2405
Updated app to preselect the lowest cost shipping method for authenticated users without one Update #2402
Fixed a race condition during order placement after details have been fetched Bugfix #2486
Fixed a bug where the price does not get updated after changing the color/size Bugfix #2483
Fixed shipping method loading error Bugfix #2481
Fixed country list so that it uses abbreviation for the label if english text is not available Bugfix #2476
Fixed gift card flashing on error Bugfix #2462
Fixed a bug where updating the sort criteria does not reset the paging Bugfix #2458
Fixed a bug where Country/Region list occasionally resets initial value Bugfix #2456
Fixed order confirmation page refreshing multiple times Bugfix #2433
Addressed the GraphQL warning thrown during build Bugfix #2421
Fixed a bug causing the checkout shipping method flashing of old content Bugfix #2382
Fixed a bug in Mini Cart caused by an expired auth token Bugfix #2379
Fixed an inadvertent error message associated with checkout shipping methods Bugfix #2371
Fixed a persistence bug during the checkout step between refreshes Bugfix #2354
Fixed bug in the quantity stepper when initialValue changes Bugfix #2353
Fixed a bug where the price summary would not get updated after removing an item. Bugfix #2329
Fixed a bug with sensitive data on logout, login, and checkout Bugfix #2322
Fixed a bug in the create account process where the subscribe flag is not set Bugfix #2265
Fixed wrong value type used in useCategoryTree.js Bugfix #2243
Fixed input errors in the Cart and Checkout pages Bugfix #2495

Build tools

Description Change type PR
Added more extension points and JSDocs for the extensibility framework Feature #2298
Added ability to provide Page Builder Content Type configurations dynamically Feature #2131
Upgraded graphql-playground-middleware-express dependency Update #2482
Fixed a broken sort function Bugfix #2497
Removed unintentionally spammy loadEnvironment warnings Bugfix #2466
Fixed an unhandled error in the dev server Bugfix #2420
Added a preinstall script that prevents npm install and requires yarn install instead Bugfix #2384

Documentation

Description Change type PR
Published production launch checklist topic Documentation #2440
Published graphql tutorial Documentation #2432
Published state management tutorial Documentation #2399
Added an input section to the styleguide Documentation #2360
Published a community-driven FAQ page Documentation #2358
Published css modules tutorial Documentation #2341
Published component props tutorial Documentation #2324
Added new tutorial about using SASS and LESS Documentation #2316
Published the update footer tutorial Documentation #2299
Published project structure topic Documentation #2214
Clarified entry about optional sample data Update #2474
Implemented minor doc site updates Update #2388
Updated search index for the Magento User Guide Update #2418
Implemented Spectrum redesign for docs Update #2386
Added extra information in the FAQ for using the image component Update #2383
Added FAQ section on how to query different storeviews Update #2381
Updated the Cloud Deploy tutorial Update #2319
Updated styleguide colors & typography Update #2236
Removed an unwanted link Update #2202
Corrected mispelling in 'Introduction to React' Bugfix #2487
Fixed Modal/Portal reference doc generation Bugfix #2450
Fixed content in Cloud Deploy topic Bugfix #2398

Misc

Description Change type PR
Bumped websocket-extensions dependency from 0.1.3 to 0.1.4 Update #2465
Bumped apollo-server dependency from 2.6.9 to 2.14.2 Update #2464
Added Lars Roettig to the list of Community Maintainers Update #2439 #2293
Updated pull request template to use valid markdown syntax for checkboxes Update #2434
Updated docker image Update #2406
Updated pull request template Update #2389
Renamed docker file to get syntax highlighting Update #2374
Bumped jquery from 3.4.1 to 3.5.0 in pwa-devdocs project directory Update #2370
Updated the node version in venia-concept to allow Node >=10.x Update #2315
Bumped acorn from 5.7.3 to 5.7.4 Update #2312
Fixed https-proxy-agent dependency issue Bugfix #2356

Known issues

  • A new Mini Cart is in development which removes the checkout flow in favor of the standalone Checkout page. An issue exists in the checkout section of the old Mini Cart where the Pay with Card header does not appear on the Credit Card payment form. This issue is low priority since the old Mini Cart will be replaced with the new one in future releases.

Upgrading from a previous version

The method for updating to 7.0.0 from a previous version depends on how PWA Studio is incorporated into your project. The following are common use cases we have identified and how to update the project code.

PWA Studio fork

Many PWA Studio users have forked the PWA Studio Git repository. Even though their codebase may have diverged a great deal from the current codebase, there is still a Git relationship.

Upgrade method: Update using Git

Pull and Merge the changes from the upstream repository using Git. Most of the conflicts will be in components that we have fully refactored.

We recommend merging the library code we changed and updating component calls with any new prop signatures introduced in this version.

Manual code copies

Some PWA Studio users have copied parts of the code into their own projects. This is similar to the Git workflow, but without the merging tools Git provides.

Upgrade method: Manual copy updates

Updating this code involves manually copying updates for the code they use. New code may also need to be copied over if the updated code depends on it.

This method can be a chore, and we hope that some of the features in 5.0.0+ will help these users migrate to a package management approach.

NPM packages

Some users have imported the PWA Studio libraries using NPM. This is the easiest way to work with the released versions of PWA Studio.

Upgrade method: Update package.json

To upgrade to 7.0.0, update the project's package.json file and change the version string for any PWA Studio package dependencies.

v6.0.1

4 years ago

Release 6.0.1

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

Table of contents

What's new in 6.0.1

PWA Studio 6.0.1 contains a hotfix for the scaffolding generator.

This release fixes an error generated by the scaffolding generator when you run the create-project command directly.

See PR #2363 for additional details.

Upgrading from a previous version

The method for updating to 6.0.1 from a previous version depends on how PWA Studio is incorporated into your project. The following are common use cases we have identified and how to update the project code.

PWA Studio fork

Many PWA Studio users have forked the PWA Studio Git repository. Even though their codebase may have diverged a great deal from the current codebase, there is still a Git relationship.

Upgrade method: Update using Git

Pull and Merge the changes from the upstream repository using Git. Most of the conflicts will be in components that we have fully refactored.

We recommend merging the library code we changed and updating component calls with any new prop signatures introduced in this version.

Manual code copies

Some PWA Studio users have copied parts of the code into their own projects. This is similar to the Git workflow, but without the merging tools Git provides.

Upgrade method: Manual copy updates

Updating this code involves manually copying updates for the code they use. New code may also need to be copied over if the updated code depends on it.

This method can be a chore, and we hope that some of the features in 5.0.0+ will help these users migrate to a package management approach.

NPM packages

Some users have imported the PWA Studio libraries using NPM. This is the easiest way to work with the released versions of PWA Studio.

Upgrade method: Update package.json

To upgrade to 6.0.1, update the project's package.json file and change the version string for any PWA Studio package dependencies.