Changelog

  • What does the Legacy REST API mean for you?

    Last month we posted about the removal the Legacy REST API starting with WooCommerce version 9.0, as well as the release of the Legacy REST API extension, now available on GitHub.

    We had a number of questions come in regarding how these changes might affect developers and extensions, so we would like to work through any outstanding questions or issues in real time for our January office hours.

    While Legacy API is the focus of this office hours, we are here to help answer other questions you may have as well. So make sure you don’t miss the opportunity for valuable time with our core development engineers!

    This Month’s Office Hours

    As a reminder you will be affected by this change if:

    1. You have the Legacy REST API enabled in your WooCommerce install.
    2. You have legacy webhooks in your WooCommerce install.

    Check out our original post for more details on these settings.

    This month’s office hours is for you if you have questions or feedback about this experience.

    We will hold office hours on the third Wednesday of the month, on January 17 from 15:00UTC until 16:00UTC in the #developers channel on the WooCommerce Community Slack

    As always, let us know what topics you’d like us to bring to the office hours by dropping a comment or reaching out to us in Slack.

    See you soon!


  • We are pleased to announce the release of WooCommerce 8.5.0. This release should be backwards compatible with the previous version.

    This release contains 5000+ commits from 63 contributors in WooCommerce Core.

    As always, we recommend creating a backup of your site and making sure that your theme and any other plugins are compatible before updating. You can check out this update guide for more information.

    Please note: this release contains a known issue that may cause fatal errors if the Marketplace feature is disabled. Learn more about this issue and workarounds.

    We have rolled back the stable tag to version 8.4.0. This temporary measure is to halt further updates to version 8.5.0 until we implement a necessary fix. As a result, the option to update to 8.5.0 will not be available during this period.

    We will make an announcement once the fix is released.

    What’s new in 8.5.0?

    WooCommerce Blocks has been merged into WooCommerce Core

    This means there will no longer be a separate feature plugin release for WooCommerce Blocks and WooCommerce Blocks development will take place in the WooCommerce Core monorepo instead of a separate repository. You can read more about this change here.

    New WooCommerce-related commands in the Command Palette

    We added several WooCommerce-specific commands to the Command Palette with the goal to speed up your workflow when performing certain WooCommerce tasks. Those include commands to create products and orders, navigate to specific product pages, or view certain analytics reports or setting pages.

    The Command Palette is a new tool introduced in WordPress 6.3 that makes it easy to perform certain actions from the Post, Page, and Site Editors by simply pressing Ctrl+K and typing the command you want to perform.

    Order Attribution: tracking order sources

    The new Order Attribution feature allows you to determine the source of the orders in your store, which helps you make more informed decisions about where to invest both time and money. This new feature enhances information available in:

    The Orders Table

    The Order Edit Page

    The Order Attribution setting is located under WooCommerce > Settings > Advanced > Features. This feature is enabled by default for new and existing stores.

    PRs related to these changes

    • New WooCommerce-related commands in the Command Palette #41605
    • Order Attribution: tracking order sources #39701

    Other changes

    • Fix – Fix shipping cost formatting to respect shipping formula #42916
    • Fix – Allow the password meter script to run, even if loaded at a different phase that it generally expects. #41822
    • Fix – Ensure cart totals are correctly calculated when using “Order again” #42921
    • Add – Added Easyship promotion to shipping task for AU, NZ, SG, HK. Removed SkydropX. #41852
    • Update – Allow built in payment method descriptions to contain HTML when rendered on the block checkout. #42706

    For a complete list of the changes included in this release, please see the changelog in the readme for this release.

    Known Issue

    Right after we released WooCommerce 8.5.0 and before this post was published, our users reported a fatal error after upgrading to the new version – #43406.

    We will work on a fix for this issue. In the meanwhile, you can follow the workaround kindly shared by Karthik Naik here:

    WooCommerce -> Settings -> Advanced -> Features -> Marketplace

    If this marketplace option is disabled in 8.4.0 or lower version of WooCommerce, and the plugin is updated then getting a fatal error.

    If I enable this option and then update the plugin to 8.5, everything works fine.

    Karthik Naik

    The issue appears after upgrading to WooCommerce 8.5.0 when the Marketplace feature located in WooCommerce -> Settings -> Advanced -> Features -> Marketplace is disabled. Enabling the checkbox for this feature before you upgrade should prevent the error. Kudos to Karthik Naik for this solution and sharing it with the community so quickly!

    In the meanwhile, we have reverted the stable tag to 8.4.0 in order to prevent more updates to 8.5.0 until the fix is in place. We will make an announcement once this fix is released. Thanks for your understanding.

    Much 💜 to all the contributors

    Finally a big thanks to everyone in the community who has contributed via issue reports, fixes, translation, testing, supporting other users, or simply spreading the word.

    WooCommerce Core

    DAnn2012
    rrennick
    vedanshujain
    larsenlarsson
    helgatheviking
    retrofox
    colinleroy
    ralucaStan
    DAreRodz
    mdperez86
    grogou
    tommyshellberg
    hackmd-deploy
    christianwach
    octaedro
    barryhughes
    MrJnrman
    kaznovac
    roykho
    rodrigoprimo
    louwie17
    agung2001
    a-danae
    nerrad
    thenbrent
    leonardola
    stian-overasen
    beaulebens
    brentmackinnon
    JPry
    claudiulodro
    MohammedFaragallah
    budzanowski
    lsinger
    ockham
    moon0326
    kloon
    jeffstieler
    haszari
    creative-andrew
    mikkamp
    dinhtungdu
    Dekadinious
    farookibrahim
    wavvves
    luisherranz
    cpapazoglou
    alexflorisca
    superdav42
    thisissandip
    kdevnel
    kmanijak
    albarin
    multiplehats
    jonny-bull
    ObliviousHarmony
    bgrgicak
    iamahens
    shendy-a8c
    frontdevde
    masteradhoc
    pkelbert
    apenchev
    chihsuan
    manospsyx
    0verscore
    hafhaf10
    LevinMedia
    timmyc
    mrleemon
    nielslange
    danielwrobert
    nefeline
    webdados
    szepeviktor
    fjarrett
    jimjasson
    daniloparrajr
    mino129
    alefesouza
    tarunvijwani
    Chouby
    sebcode
    thealexandrelara
    garretthyder
    nathanss
    invalid-email-address
    strategio
    mikejolley
    Sidsector9
    prettyboymp
    imanish003
    ilyasfoo
    raicem
    eason9487
    dennisjonda
    rogovski
    ryelle
    youknowriad
    bborman22
    hritikchaudhary
    tarhi-saad
    dnusca
    samueljseay
    kirtangajjar
    xristos3490
    gigitux
    tomasztunik
    Aljullu
    brettshumaker
    GlennMartin1
    nigeljamesstevenson
    claudiosanches
    rodelgc
    jconroy
    rjchow
    tiagonoronha
    NekoJonez
    message-dimke
    corsonr
    jonathansadowski
    arsanyjoseph
    hsingyuc
    coderkevin
    psealock
    parikshit-adhikari
    iamdharmesh
    coreymckrill
    mt8
    VoHoTv
    opr
    keefyhub
    ettoredn
    joshuatf
    danieldudzic
    simranvijwani
    Saggre
    tjcafferkey
    achyuthajoy
    alopezari
    wojtekn
    layoutd
    lukeoregan88
    tomalec
    jameskoster
    lanej0
    ajitbohra
    artpi
    ragulka
    jorgeatorres
    sunyatasattva
    malithsen
    Maikuolan
    mattsherman
    AndrewJDawes
    awesomephant
    senadir
    Konamiman
    ricardo
    ovidiul
    BFTrick
    PanosSynetos
    pmgarman

    ActionScheduler

    rodelgc
    lsinger
    jorgeatorres
    nigeljamesstevenson

  • Release Candidate for the January 9, 2024 release of WooCommerce is now available for testing! You can either download it directly from WordPress.org or install our WooCommerce Beta Tester Plugin.

    Highlights

    Since the release of 8.5.0 Beta, the following changes have been made:

    • Fixed an error in the cart from the Product Collection block when Google Analytics plugin was enabled (#43177).
    • Reverted a recent change introduced in 8.5.0 Beta so that the feedback bar from the new Product Editor is visible every time the user opens the editor (#43178).

    For the complete list, view the changelog in the readme for this release.

    Release Schedule

    We’re on track for our planned January 9, 2024 release.

    VersionRelease
    Final ReleaseJanuary 9, 2024

    Testing

    If you’d like to dive in and help test this new release, our handy WooCommerce Beta Tester plugin allows you to switch between beta versions and release candidates. You can also download the release from WordPress.org.

    We’ve posted a helpful writeup on beta testing to help get you started.

    If you discover any bugs during the testing process, please let us know by logging a report in GitHub.


  • Beta 1 for the January 9, 2024 release of WooCommerce is now available for testing! You can either download it directly from WordPress.org or install our WooCommerce Beta Tester Plugin.

    Highlights

    Since the release of 8.4.0, the following changes have been made:

    For the complete list, view the changelog in the readme for this release.

    Release Schedule

    We’re on track for our planned January 9, 2024 release.

    VersionRelease
    Release CandidateJanuary 2, 2024
    Final ReleaseJanuary 9, 2024

    Testing

    If you’d like to dive in and help test this new release, our handy WooCommerce Beta Tester plugin allows you to switch between beta versions and release candidates. You can also download the release from WordPress.org.

    We’ve posted a helpful writeup on beta testing to help get you started.

    If you discover any bugs during the testing process, please let us know by logging a report in GitHub.


  • We are pleased to announce the release of WooCommerce 8.4.0. This release should be backwards compatible with the previous version.

    This release contains:

    As always, we recommend creating a backup of your site and making sure that your theme and any other plugins are compatible before updating. You can check out this update guide for more information.

    What’s new in 8.4.0?

    WC Blocks feature – Product Collection: Add support for filtering products by featured status

    These changes allow merchants to easily display only featured products in their product collections, enhancing flexibility.

    Manage your subscriptions for Woo extensions from your store

    Want to manage all your licences for Woo.com themes and extensions? WooCommerce 8.4 makes it easy. Go to WooCommerce > Extensions and click on the My subscriptions tab. You’ll see all your subscriptions to Woo.com products. Quickly install extensions on your store, renew expired subscriptions, view documentation and more!

    Shipping Settings Refresh

    There are new flows for adding Shipping Zone methods in Settings. The process of adding new Shipping Zone methods has been streamlined into a single flow rather than requiring merchants to add and configure methods in separate places.

    There is also a new modal for adding and editing Shipping classes to match methods.

    Virtual & Downloadable product support in the new product creation experience

    The new product creation experience enabled under Settings > Advanced > Features, now has support for creating Virtual & Downloadable products.

    Downloads field is available in the General tab, allowing you to upload files or insert by URL:

    For virtual products, a checkbox has been added in the Shipping tab to remove the need for shipping:

    PRs related to these changes

    • WooCommerce Blocks has been updated to 11.6.2. See the release notes for changes. #41641, #41743, #41869
    • The Shipping Settings feature has been refreshed. #40983
    • The My Subscriptions feature has been rebuilt. #40249

    Other changes

    • Security fix to remove the potential for a Reflected XSS attack in relation to the dismissable “Product reviews have moved!” notice in the edit comments screen.
    • Many other updates!

    For a complete list of the changes included in this release, please see the changelog in the readme for this release.

    Much 💜 to all the contributors

    Finally a big thanks to everyone in the community who has contributed via issue reports, fixes, translation, testing, supporting other users, or simply spreading the word.

    WooCommerce Core

    wavvves
    chihsuan
    vladolaru
    mdperez86
    PanosSynetos
    louwie17
    tommyshellberg
    Konamiman
    zigasancin
    oginomizuho
    mattsherman
    Rahmon
    AnnaMag
    coreymckrill
    mikejolley
    invalid-email-address
    jonathansadowski
    bgrgicak
    octaedro
    ilyasfoo
    james-allan
    message-dimke
    gigitux
    moon0326
    nigeljamesstevenson
    MarcoDev200
    rodelgc
    ecgan
    veljkho
    lanej0
    n2erjo00
    danielwrobert
    Dan-Q
    albarin
    waclawjacek
    rrennick
    retrofox
    kdevnel
    raicem
    barryhughes
    andfinally
    nathanss
    budzanowski
    manospsyx
    crunnells
    vahabm74
    opr
    lsinger
    adrianduffell
    xristos3490
    ifinoi
    decodekult
    elazzabi
    eason9487
    webdados
    ObliviousHarmony
    mi5t4n
    marcodafonseca
    jorgeatorres
    abelsonlive
    psealock
    nefeline
    kevinbates
    nielslange
    rjchow

    ActionScheduler

    coreymckrill
    lsinger
    barryhughes
    prettyboymp
    Konamiman
    alopezari
    sweber83

    WooCommerce Blocks

    samueljseay
    sunyatasattva
    prettyboymp
    gigitux
    Maikuolan
    tarunvijwani
    imanish003
    mikejolley
    thealexandrelara
    tjcafferkey
    nielslange
    danieldudzic
    awesomephant
    parikshit-adhikari
    tarhi-saad
    albarin
    nefeline
    Aljullu
    nerrad
    hsingyuc
    senadir
    invalid-email-address
    opr
    danielwrobert
    dinhtungdu
    alexflorisca
    roykho
    kmanijak
    wavvves

  • Release Candidate for the December 12 release of WooCommerce is now available for testing! You can either download it directly from WordPress.org or install our WooCommerce Beta Tester Plugin.

    Highlights

    Since the release of 8.4.0 Beta, the following changes have been made:

    • WooCommerce Blocks has been updated to 11.6.2. #41869
    • Fixed some issues in the new Shipping Settings feature. #41834 #41833
    • Fixed an issue that breaks the shipping input fields in the new product editor for stores in Europe or other areas where the thousandSeparator is blank. #41792

    For the complete list, view the changelog in the readme for this release.

    Release Schedule

    We’re on track for our planned December 12 release.

    VersionRelease
    Final ReleaseDecember 12, 2023

    Testing

    If you’d like to dive in and help test this new release, our handy WooCommerce Beta Tester plugin allows you to switch between beta versions and release candidates. You can also download the release from WordPress.org.

    We’ve posted a helpful writeup on beta testing to help get you started.

    If you discover any bugs during the testing process, please let us know by logging a report in GitHub.


  • The latest version of WooCommerce Blocks, version 11.7.0, is now available for download on WordPress.org and GitHub.

    Keep in mind that this is the last major release of WooCommerce Blocks as in the future it will be part of the WooCommerce Monorepo. You can read more about it and how it might impact you in the developer advisory: “WooCommerce Blocks Merging into the WooCommerce Monorepo“.

    Notable Changes

    Mini-Cart block automatically injected to header patterns and template-parts

    Thanks to Block Hooks API, the Mini-Cart block is now automatically injected into the WooCommerce header patterns and template-parts by default. It appears next to the navigation and adjusts to the header layout but you can move it around or remove it if you like.

    Please check a short video presenting where to look for header patterns with a Mini-Cart block.

    For now, Mini-Cart is automatically injected only in the Twenty Twenty-Four theme but we can expand the list of themes this supports in future iterations.

    Rename the Product Collection “Shrink columns to fit” option to “Responsive” and enable it by default

    Recently, we added a “Shrink columns to fit” option in the Product Collection block. This makes your product grid responsive. The option has now been renamed to “Responsive” which we found to better explain its purpose.

    You can still find it in Product Collection’s inspector controls, next to the “Columns” setting:

    UI of the Product Collection block showing the Columns and Responsive controls.

    Another important change is this option is now enabled by default for newly added Product Collection blocks!

    Hook woocommerce_single_product_summary action to core/post-excerpt block

    Use woocommerce_single_product_summary action to extend your Single Product template. The hook is attached to the Post Excerpt block so the content you’d like to display on Single Product template will appear above the Product Summary which is a variation of Post Excerpt block.

    To make it work, add an action like:

    add_action('woocommerce_single_product_summary', function() {
    	echo 'woocommerce_single_product_summary';
    });

    and the content will appear on the Single Product pages like this:

    Single product template displaying a usage of the `woocommerce_single_product_summary` action.

    Changelog

    Enhancements

    • The Block Hooks API is implemented to auto-inject the Mini-Cart block in header patterns and template parts when the “Twenty Twenty-Four” theme is active. The Mini-Cart block also now defaults to not show the total for the items in the cart when inserted into content. (11745)
    • Decrease modal width. (12003)
    • [Store Customization] Update the default content in patterns. (11997)
    • [Store Customization] Update the “Footer with 3 Menus” pattern to remove the last 2 menus. (11980)
    • Limit number of visible incompatible extensions in sidebar notice. (11972)
    • Improve readability of order note. (11944)
    • Reorganise Columns controls and fix undefined problem in Product Collection settings. (11937)
    • Switch to NoticeBanner component inside Store Notices Block placeholder. (11920)
    • Preserve shrinkColumns value when switching the layout type of Product Collection. (11905)
    • Tweak the product prompt. (11903)
    • Add DELETE private/ai/pattern endpoint. (11890)
    • Update notice for default cart and checkout. (11861)
    • Enable shrink columns option in Product Collection by default. (11821)
    • Move Combobox to components package. (11353)
    • Interactivity API: Implement the new store() API. (11071)

    Bug Fixes

    • [CYS] Fix regression and ensure AI-generated content is assigned to products after the third attempt. (12016)
    • [Product Collection] Fix: HTML Entity Decoding in Taxonomy Controls. (11982)
    • Product Gallery: Add a Product Image fallback. (11978)
    • Reviews by Product: Fix reviews count not appearing in product selector. (11976)
    • Hook woocommerce_single_product_summary action to core/post-excerpt block. (11953)
    • fix: Store notices always shows as an error type #11768. (11932)
    • [Product Collection] Fix: HTML entity decoding for product names in Hand-Picked Products. (11927)
    • Validate coupon usage against customer id AND emails. (11860)
    • Pass order ID to woocommerce_before_thankyou hook. (11852)
    • Translate the prefixes passed to post-terms in product-meta. (11811)
    • Prevent fatal errors when using Cart Tokens and creating new accounts on checkout. (11785)
    • Product Gallery Thumbnails: Add support for cropping. (11718)
    • Fix: Product Collection show products with correct stock statuses. (11708)
    • Product Gallery Thumbnails: Fix overflow issues and improve responsiveness. (11665)

    Various

    • Update extensibility doc. (11924)
    • Move CheckboxControl to components package and leave alias in checkout package. (11662)

  • Getting to know the new product editor

    You may have caught some of our recent posts about the new Product Editor experience including the roadmap post, a deep dive on extending the new product editor, and various announcements since summer 2023.

    This month, we will be chatting with the developers who have been spearheading this work.

    This Month’s Office Hours

    The feature, which has been auto enabled for a small sub-set of new stores as part of WooCommerce 7.9, is still in beta and can be enabled by going to WooCommerce > Settings > Advanced > Features and navigate to Products > Add New.

    This month’s office hours is for you if you have questions or feedback about this experience.

    As always, we will hold office hours on the third Wednesday of the month, on December 20th from 16:00UTC until 17:00UTC in the #developers channel on the WooCommerce Community Slack

    As always, let us know what topics you’d like us to bring to the office hours by dropping a comment or reaching out to us in Slack.

    See you soon!


  • Beta 1 for the December 12 release of WooCommerce is now available for testing! You can either download it directly from WordPress.org or install our WooCommerce Beta Tester Plugin.

    Highlights

    Since the release of 8.3.0, the following changes have been made:

    For the complete list, view the changelog in the readme for this release.

    Release Schedule

    We’re on track for our planned October 10 release.

    VersionRelease
    Release CandidateDecember 5, 2023
    Final ReleaseDecember 12, 2023

    Testing

    If you’d like to dive in and help test this new release, our handy WooCommerce Beta Tester plugin allows you to switch between beta versions and release candidates. You can also download the release from WordPress.org.

    We’ve posted a helpful writeup on beta testing to help get you started.

    If you discover any bugs during the testing process, please let us know by logging a report in GitHub.


  • The latest version of WooCommerce Blocks, version 11.6.1, is now available for download on WordPress.org and GitHub.

    Notable Changes

    Product Collection: Add support for filtering products by featured status

    These changes allow merchants to easily display only featured products in their product collections, enhancing flexibility.

    Changelog

    Enhancements

    • Product Collection: Add support for filtering products by featured status. #11522
    • Product Collection – New ‘No Results’ block with default UI. #11783
    • We have moved the TotalsItem, TotalsFees, Subtotal, Banner, StoreNotice, StoreNotices, Panel, TextInput, ValidatedTextInput and ValidationInputError components to the @woocommerce/blocks-components package. Previously these were available in @woocommerce/blocks-checkout . Your code will continue to work as we have added aliases to the new location. Despite this, it is recommended that you change your code to import this component from @woocommerce/blocks-components as the import from the checkout package will be deprecated in the future. #11766 #11698 #11654 #11773
    • Improve performance in patterns registration. #11733
    • Patterns: remove unused author, sticky, and parents attributes from the Product Collection block in patterns. #11673
    • Semantic enhancement to the position of a phone field in Checkout. #11651
    • Migrate the Product Button to the new store() API of the Interactivity API. #11558

    Bug Fixes

    11.6.1

    • Add missing woocommerce classname to Classic Cart/Checkout Blocks container so UI updates when the cart is emptied. #11919
    • Fix an issue that caused the Order by select in Reviews blocks to always be disabled. #11918
    • Fix All Reviews, Reviews by Product and Reviews by Category blocks not being rendered. #11913

    11.6.0

    • Make “Use same address for billing” visible by default. #11804
    • Fix the order endpoint tax line items format. #11796
    • Store API/Blocks Extensibility: Fix recursive extension schema validation. #11792
    • Fix: Left align local pickup address. #11772
    • Fix typo in classic checkout modal. #11771
    • Fix hardcoded shop link in “Hero Product 3 Split” pattern. #11767
    • Fix billing address condensed address state in the editor and in Firefox. #11765
    • Related Products: Make the heading translated when in blockified Single Product template. #11693
    • Add to Cart with Options block: fix inconsistency between editor and frontend styles. #11614
    • Product Button: Improve the width and padding. #11537
    • Fix the Layout for Shipping and Billing Address Forms in the Checkout Block #11486
    • Minor fixes for PHP 8. #11473
    • Product Button: always enqueue the store. #11858
    • Fixed params passed to woocommerce_before_thankyou for block checkout. This should be an order ID, not an order object. #11862
    • Enhanced validation for limited-use coupons and guest users. #11860

    Documentation

    • Updated documentation for the onProcessingSetup observer. #11751