Skip to content
This repository has been archived by the owner on Feb 23, 2024. It is now read-only.

Release: 3.4.0 #3144

Merged
merged 8 commits into from
Sep 15, 2020
Merged

Release: 3.4.0 #3144

merged 8 commits into from
Sep 15, 2020

Conversation

github-actions[bot]
Copy link
Contributor

@github-actions github-actions bot commented Sep 14, 2020

This is the release pull request for WooCommerce Blocks plugin 3.4.0.

Changelog


#### Bug Fixes

- Ensure shopper saved card is used as default payment method (default was being overwritten in some circumstances). ([3131](https://github.com/woocommerce/woocommerce-gutenberg-products-block/pull/3131))
- Fix Cart & Checkout sidebar layout broken in some themes. ([3111](https://github.com/woocommerce/woocommerce-gutenberg-products-block/pull/3111))
- Fix product reviews schema date fields to use new (WP 5.5) `date-time` format. ([3109](https://github.com/woocommerce/woocommerce-gutenberg-products-block/pull/3109))
- Use wp_login_url instead of hardcoding login path. ([3090](https://github.com/woocommerce/woocommerce-gutenberg-products-block/pull/3090))
- Fix an issue with COD not showing when first enabled. ([3088](https://github.com/woocommerce/woocommerce-gutenberg-products-block/pull/3088))
- Fix JS console error when COD is enabled and no shipping method is available. ([3086](https://github.com/woocommerce/woocommerce-gutenberg-products-block/pull/3086))

#### performance

- Create DebouncedValidatedTextInput component. ([3108](https://github.com/woocommerce/woocommerce-gutenberg-products-block/pull/3108))

#### refactor

- Merge ProductPrice atomic block and component. ([3065](https://github.com/woocommerce/woocommerce-gutenberg-products-block/pull/3065))



Communication

This section is for any notes related to communicating the release. Please include any extra details with each item as needed.

This release introduces a number of fixes and a performance improvement. See the changelog above for details.

Prepared Updates

The following documentation, blog posts, and changelog updates are prepared for the release:

Release announcement: Woo Blocks 3.4.0 release notes

Quality

  • Changes in this release are covered by Automated Tests.

    > This section is for confirming that the release changeset is covered by automated tests. If not, please leave some details on why not and any relevant information indicating confidence without those tests.
    
    • Unit tests
    • E2E tests
    • for each supported WordPress and WooCommerce core versions.
  • This release has been tested on the following platforms:

    • mobile
    • desktop
  • This release affects public facing REST APIs.

    • It conforms to REST API versioning policy.
  • This release impacts other extensions or backward compatibility.

    • The release changes the signature of public methods or functions
      • This is documented (see: Enter a link to the documentation here)
    • The release affects filters or action hooks.
      • This is documented (see: Enter a link to the documentation here)
  • Link to testing instructions for this release: testing notes

  • The release has a negative performance impact on sites.

    • There are new assets (JavaScript or CSS bundles)
    • There is an increase to the size of JavaScrip or CSS bundles) please include rationale for this increase
    • Other negative performance impacts (if yes, include list below)
  • The release has positive performance impact on sites. If checked, please document these improvements here.

Performance in certain environments has improved significantly given a couple changes made to how inputs are rendered and some memoization added on some components doing complex computations.


🚀 This pull request was generated by the automations bot triggered by the creation of the branch: release/3.4. cc @nerrad

@github-actions
Copy link
Contributor Author

github-actions bot commented Sep 14, 2020

The release pull request has been created! This checklist is a guide to follow for the remainder of the release process. You can check off each item in this list once completed.

  • Checkout the release branch locally.

Initial Prep - changelog and meta data changes

  • Copy the changelog from the pull request description into the readme.txt file to the top of the changelog section. Create a new section here for this release, eg.g. = 3.4.0 - 2020-01-20 =.
  • Make any other changes to plugin metadata as necessary (no version changes needed, that's handled by script later in the process).
    • readme.txt - support versions changing, reference new blocks if necessary.
    • woocommerce-gutenberg-products-block.php - requirements/tested up to versions etc.
  • Push above changes to the release branch.

Testing Notes and Testing

When creating testing notes, please write them from the perspective of a "user" (merchant) familiar with WooCommerce. So you don't have to spell out exact steps for common setup scenarios (eg. "Create a product"), but do be specific about the thing being tested. Include screenshots demonstrating expectations where that will be helpful.

  • Create testing notes for the release. You can usually go through the pull requests linked in the changelog and grab testing notes from each pull. Add the notes to docs/testing/releases and update the docs/testing/releases/README.md index.
    • Note, make sure to differentiate between things in the testing notes that only apply to the feature plugin and things that apply when included in WooCommerce core as there may be variations there.
  • Run npm ci
  • Run npm run package-plugin:deploy. This will create a zip of the current branch build locally.
  • Copy a link to the release zip into the testing notes you created earlier. To generate the link you can upload the zip as an attachment in a GitHub comment and then just copy the path (without publishing the comment).
  • Commit and push the testing docs to the release branch.
  • Smoke test built release zip using the testing instructions you created:
    • At least one other person should test the built zip - ask a teammate to help out.
    • Test in a clean environment, e.g. Jurassic.Ninja site.
    • Test existing WooCommerce Blocks content works correctly after update (no block validation errors).
    • Test to confirm blocks are available and work correctly in oldest supported WordPress version (e.g. 5.0).
    • Confidence check - check blocks are available and function.
    • Test to confirm new features/fixes are working correctly.
    • Smoke test – test a cross section of core functionality.

Update Pull Request description and get approvals

  • Go through the description of the release pull request and edit it to update all the sections and checklist instructions there.
  • Ask a team member to review the changes in the release pull request and for anyone who has done testing that they approve the pull request.

Push the button - Deploy!

  • Execute npm run deploy
    • Note: the script automatically updates version numbers (commits on your behalf).
    • ALERT: This script will ask you if this release will be deployed to WordPress.org. You should answer yes for this release even if it is a pre-release. A GitHub release will automatically be created and this will trigger a workflow that automatically deploys the plugin to WordPress.org.
  • Edit the GitHub release and copy changelog into the release notes.
  • The #team-rubik slack instance will be notified about the progress with the WordPress.org deploy. Watch for that. If anything goes wrong, an error will be reported and you can followup via the GitHub actions tab and the log for that workflow.

After Workflow completes

  • After the wp.org workflow completes, confirm the following
  • Merge this pull request back into main. This may have merge conflicts needing resolved if there are any cherry-picked commits in the release branch.
  • Update version on the main branch to be for the next version of the plugin and include the dev suffix (e.g. something like 2.6-dev) for the next version.
  • Update the schedules p2 with the shipped date for the release (Pca54o-1N-p2).
  • Clean up the release milestone and Zenhub.
    • Edit the GitHub milestone and add the current date as the due date (this is used to track ship date as well).
    • Close the milestone.
    • Remove any unfinished issues from the Zenhub epics completed by this release and then close the epics.

Publish posts

  • Post release announcement on WooCommerce Developer Blog. Use previous posts for inspiration. If the release contains new features, or API changes, explain what's new so Woo devs/builders/merchants can get excited about it. This post can take time to get right - get feedback from the team, and don't rush it :)
    • Ensure the release notes are included in the post verbatim.
    • Don't forget to use category Blocks for the post.
  • Update user-facing documentation as needed. When the plugin is released, ensure user-facing documentation is kept up to date with new blocks and compatibility information. The dev team should update documents in collaboration with support team and WooCommerce docs guild. In particular, please review and update as needed:
    • Are there any new blocks in this release? Ensure they have adequate user documentation.
    • Ensure any major improvements or changes are documented.
    • Update minimum supported versions (WordPress, WooCommerce Core) and other requirements where necessary, including:

Pull request in WooCommerce Core for Package update

This only needs to be done if this release is the last release of the feature plugin before code freeze in the WooCommerce core cycle. If this condition doesn't exist you can skip this section.

  • Create a pull request for updating the package in the WooCommerce Core Repository that bumps the package version for the blocks package to the version being pulled in.
    • The content for the pull release can follow this example. Essentially you link to all the important things that have already been prepared. Note, you need to make sure you link to all the related documents for the feature plugin releases since the last package version bump in Woo Core.
    • Run through the testing checklist to ensure everything works in that branch for that package bump. Note: Testing should include ensuring any features/new blocks that are supposed to be behind feature gating for the core merge of this package update are working as expected.
    • Verify and make any additional edits to the pull request description for things like: Changelog to be included with WooCommerce core, additional communication that might be needed elsewhere, additional marketing communication notes that may be needed etc.
    • After the checklist is complete and the testing is done, it will be up to the WooCommerce core team to approve and merge the pull request.
🚀 This comment was generated by the automations bot triggered by the creation of the branch: release/3.4. cc @nerrad

@nerrad nerrad self-assigned this Sep 14, 2020
@nerrad nerrad added this to the 3.4.0 milestone Sep 14, 2020
@github-actions github-actions bot requested a review from a team as a code owner September 14, 2020 18:44
@github-actions github-actions bot requested review from senadir and removed request for a team September 14, 2020 18:44
@github-actions
Copy link
Contributor Author

github-actions bot commented Sep 14, 2020

Size Change: 0 B

Total Size: 1.11 MB

ℹ️ View Unchanged
Filename Size Change
build/active-filters-frontend.js 8.79 kB 0 B
build/active-filters.js 8.85 kB 0 B
build/all-products-frontend.js 31.2 kB 0 B
build/all-products.js 35.9 kB 0 B
build/all-reviews.js 9.78 kB 0 B
build/atomic-block-components/add-to-cart-frontend.js 8.89 kB 0 B
build/atomic-block-components/add-to-cart.js 7.46 kB 0 B
build/atomic-block-components/add-to-cart~atomic-block-components/button.js 3.17 kB 0 B
build/atomic-block-components/add-to-cart~atomic-block-components/image~atomic-block-components/title.js 335 B 0 B
build/atomic-block-components/button-frontend.js 2.02 kB 0 B
build/atomic-block-components/button.js 839 B 0 B
build/atomic-block-components/category-list-frontend.js 470 B 0 B
build/atomic-block-components/category-list.js 477 B 0 B
build/atomic-block-components/image-frontend.js 1.71 kB 0 B
build/atomic-block-components/image.js 1.15 kB 0 B
build/atomic-block-components/price-frontend.js 2.29 kB 0 B
build/atomic-block-components/price.js 2.32 kB 0 B
build/atomic-block-components/rating-frontend.js 524 B 0 B
build/atomic-block-components/rating.js 526 B 0 B
build/atomic-block-components/sale-badge-frontend.js 861 B 0 B
build/atomic-block-components/sale-badge.js 867 B 0 B
build/atomic-block-components/sku-frontend.js 388 B 0 B
build/atomic-block-components/sku.js 394 B 0 B
build/atomic-block-components/stock-indicator-frontend.js 569 B 0 B
build/atomic-block-components/stock-indicator.js 572 B 0 B
build/atomic-block-components/summary-frontend.js 915 B 0 B
build/atomic-block-components/summary.js 926 B 0 B
build/atomic-block-components/tag-list-frontend.js 467 B 0 B
build/atomic-block-components/tag-list.js 474 B 0 B
build/atomic-block-components/title-frontend.js 1.23 kB 0 B
build/atomic-block-components/title.js 1.06 kB 0 B
build/attribute-filter-frontend.js 18.1 kB 0 B
build/attribute-filter.js 12.4 kB 0 B
build/blocks.js 3.54 kB 0 B
build/cart-frontend.js 69.6 kB 0 B
build/cart.js 37.9 kB 0 B
build/checkout-frontend.js 85.1 kB 0 B
build/checkout.js 41.5 kB 0 B
build/editor-rtl.css 13.9 kB 0 B
build/editor.css 13.9 kB 0 B
build/featured-category.js 7.72 kB 0 B
build/featured-product.js 9.97 kB 0 B
build/handpicked-products.js 7.37 kB 0 B
build/price-filter-frontend.js 14.5 kB 0 B
build/price-filter.js 10.3 kB 0 B
build/product-best-sellers.js 7.43 kB 0 B
build/product-categories.js 3.23 kB 0 B
build/product-category.js 8.37 kB 0 B
build/product-new.js 7.6 kB 0 B
build/product-on-sale.js 7.99 kB 0 B
build/product-search.js 3.56 kB 0 B
build/product-tag.js 6.52 kB 0 B
build/product-top-rated.js 7.57 kB 0 B
build/products-by-attribute.js 8.32 kB 0 B
build/reviews-by-category.js 11.8 kB 0 B
build/reviews-by-product.js 13.4 kB 0 B
build/reviews-frontend.js 9.36 kB 0 B
build/single-product-frontend.js 34 kB 0 B
build/single-product.js 10.1 kB 0 B
build/style-rtl.css 18 kB 0 B
build/style.css 18 kB 0 B
build/vendors-style-rtl.css 1.03 kB 0 B
build/vendors-style.css 1.03 kB 0 B
build/vendors.js 415 kB 0 B
build/vendors~atomic-block-components/price-frontend.js 5.65 kB 0 B
build/wc-blocks-data.js 7.09 kB 0 B
build/wc-blocks-middleware.js 931 B 0 B
build/wc-blocks-registry.js 2.28 kB 0 B
build/wc-payment-method-bacs.js 790 B 0 B
build/wc-payment-method-cheque.js 787 B 0 B
build/wc-payment-method-cod.js 879 B 0 B
build/wc-payment-method-paypal.js 831 B 0 B
build/wc-payment-method-stripe.js 11.9 kB 0 B
build/wc-settings.js 2.33 kB 0 B
build/wc-shared-context.js 1.53 kB 0 B
build/wc-shared-hocs.js 1.66 kB 0 B

compressed-size-action

@nerrad
Copy link
Contributor

nerrad commented Sep 14, 2020

My testing

The following is just documenting some issues I'm discovering while testing. I'll update as I know more details.

My test site is a pre-existing WooCommerce installation that was upgraded from WooCommerce 4.3.2 to WC 5.2 and is running Wordpress 5.4 and Storefront 2.5.8.

All Products Block Error

NOTE: This issue is resolved. It was a problem on my end with an aggressive Chrome cache - really annoying. A hard cache refresh of my browser fixed this. Everywhere else I tested this worked fine. Very puzzling.

On the frontend of an existing page containing the All Products block I see this error:

Image 2020-09-14 at 4 00 43 PM

It's notable that in the editor the content loads fine. The console error isn't super helpful because it's a built copy of the plugin:

Image 2020-09-14 at 4 02 00 PM

It's notable that the error is repeated across multiple calls (likely each component that's lazy loaded from what I see).

I did a development build to try on the test site and there are still errors, but now I get more usable errors. Notably things like this:

Image 2020-09-14 at 4 29 36 PM

The odd thing here is that the source tab seems to indicate the chunk is available.

Copy link
Member

@haszari haszari left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested the zip using testing instructions and didn't see any major issues. All the changelog items tested correctly 👍

I tested primarily in Safari and Firefox on macOS.

I saw one minor issue, I don't think it's a release blocker; probably preexisting. Logged a follow up.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants