WooCommerce 10.9.1 Release Notes

Dot Release

WooCommerce 10.9.1 is available now

This dot release is now available for download. Review the fixes below.

Updates

  • Fixes a change to an internal interface that caused issues with older versions of the WooCommerce Stripe Payment Gateway extension
  • Released: June 24, 2026
  • Security update: No
  • Database update: No

What’s in this release

Fix – Remove get_entry_count() from the product feed FeedInterface to restore backward compatibility. Requiring the method broke third-party implementations (e.g. older WooCommerce Stripe Gateway versions) that implement the interface without it. The method remains available on JsonFileFeed. #65972


7 responses to “WooCommerce 10.9.1 Release Notes”

  1. Hello WooCommerce Team,

    I would like to report a fatal error that occurs after updating WooCommerce from version 10.8.1 to 10.9.1.

    I experienced the same issue on two separate WordPress/WooCommerce websites. On the first website, I updated WooCommerce through the WordPress admin panel. On the second website, I performed the update manually, but the same fatal error occurred again.

    Fatal error:

    CRITICAL Uncaught Error: Class “Automattic\WooCommerce\Admin\Settings\SettingsSectionRegistry” not found in /wp-content/plugins/woocommerce/includes/admin/settings/class-wc-settings-page.php:281

    Stack trace excerpt:

    #0 /wp-content/plugins/woocommerce/includes/class-wc-register-wp-admin-settings.php(114): WC_Settings_Page->get_sections()
    #1 /wp-includes/class-wp-hook.php(341): WC_Register_WP_Admin_Settings->register_page_settings()
    #2 /wp-includes/plugin.php(205): WP_Hook->apply_filters()
    #3 /wp-content/plugins/woocommerce/includes/rest-api/Controllers/Version2/class-wc-rest-setting-options-v2-controller.php(169): apply_filters()
    #4 /wp-content/plugins/woocommerce/src/Internal/Admin/Settings.php(169): WC_REST_Setting_Options_V2_Controller->get_group_settings()
    #5 /wp-includes/class-wp-hook.php(341): Automattic\WooCommerce\Internal\Admin\Settings->add_component_settings()
    #6 /wp-includes/plugin.php(205): WP_Hook->apply_filters()
    #7 /wp-content/plugins/woocommerce/src/Internal/Admin/WCAdminSharedSettings.php(73): apply_filters()
    #8 /wp-content/plugins/woocommerce/src/Blocks/Assets/AssetDataRegistry.php(272): Automattic\WooCommerce\Internal\Admin\WCAdminSharedSettings->{closure}()
    #9 /wp-content/plugins/woocommerce/src/Blocks/Assets/AssetDataRegistry.php(388): Automattic\WooCommerce\Blocks\Assets\AssetDataRegistry->execute_lazy_data()

    Steps to reproduce:

    Start with WooCommerce 10.8.1.
    Update WooCommerce to 10.9.1.
    Open the WordPress admin area or WooCommerce admin pages.
    A fatal error occurs.

    Expected result:

    WooCommerce should update from 10.8.1 to 10.9.1 without causing a fatal error.

    Actual result:

    WooCommerce throws a fatal PHP error because the following class cannot be found:

    Automattic\WooCommerce\Admin\Settings\SettingsSectionRegistry

    This issue does not appear to be limited to a single website, because I reproduced the same fatal error on two different installations, including one manual update.

    Environment:

    WooCommerce previous version: 10.8.1
    WooCommerce updated version: 10.9.1
    WordPress version: 7.0
    PHP version: 8.3.31
    Server: OpenLiteSpeed

    Could you please investigate whether WooCommerce 10.9.1 has a packaging, autoloading, or class-loading issue related to this class?

    Automattic\WooCommerce\Admin\Settings\SettingsSectionRegistry

    I can provide the full fatal error logs if needed.

    Thank you.

    1. Brent MacKinnon Avatar
      Brent MacKinnon

      Thank you for sharing. I’ve shared with the appropriate teams. We will investigate and get back to you soon.

  2. Hi WooCommerce team,

    After updating from WooCommerce 10.8.1 to 10.9.1, a critical fatal error occurs immediately after the update. I have confirmed via File Manager that the file src/Admin/API/Settings.php is completely absent from the plugin directory after the update.

    2026-06-26T03:44:50+00:00 Critical Uncaught Error: Failed opening required
    ‘/public_html/wp-content/plugins/woocommerce/src/Admin/API/Settings.php’
    (include_path=’.:/opt/alt/php84/usr/share/pear:/opt/alt/php84/usr/share/php:/usr/share/pear:/usr/share/php’)
    in /public_html/wp-content/plugins/woocommerce/vendor/jetpack-autoloader/class-php-autoloader.php:102

    #0 /public_html/wp-content/plugins/woocommerce/src/Admin/API/Init.php(129): Automattic\Jetpack\Autoloader...\PHP_Autoloader::load_class()
    #1 /public_html/wp-content/plugins/woocommerce/src/Admin/API/Init.php(63): Automattic\WooCommerce\Admin\API\Init->rest_api_init_wc_admin()
    #2 /public_html/wp-includes/class-wp-hook.php(341): Automattic\WooCommerce\Admin\API\Init->rest_api_init()
    #3 /public_html/wp-includes/class-wp-hook.php(365): WP_Hook->apply_filters()
    #4 /public_html/wp-includes/plugin.php(522): WP_Hook->do_action()
    #5 /public_html/wp-includes/rest-api.php(640): do_action()
    #6 /public_html/wp-includes/rest-api.php(598): rest_get_server()
    #7 /public_html/wp-includes/rest-api.php(2985): rest_do_request()
    #8 [internal function]: rest_preload_api_request()
    #9 /public_html/wp-content/plugins/woocommerce/src/Internal/Admin/Settings.php(148): array_reduce()
    #10 /public_html/wp-includes/class-wp-hook.php(341): Automattic\WooCommerce\Internal\Admin\Settings->add_component_settings()
    #11 /public_html/wp-includes/plugin.php(205): WP_Hook->apply_filters()
    #12 /public_html/wp-content/plugins/woocommerce/src/Internal/Admin/WCAdminSharedSettings.php(73): apply_filters()
    #13 /public_html/wp-content/plugins/woocommerce/src/Blocks/Assets/AssetDataRegistry.php(272): Automattic\WooCommerce\Internal\Admin\WCAdminSharedSettings->{closure}()
    #14 /public_html/wp-content/plugins/woocommerce/src/Blocks/Assets/AssetDataRegistry.php(388): Automattic\WooCommerce\Blocks\Assets\AssetDataRegistry->execute_lazy_data()
    #15 /public_html/wp-includes/class-wp-hook.php(341): Automattic\WooCommerce\Blocks\Assets\AssetDataRegistry->enqueue_asset_data()
    #16 /public_html/wp-includes/class-wp-hook.php(365): WP_Hook->apply_filters()
    #17 /public_html/wp-includes/plugin.php(522): WP_Hook->do_action()
    #18 /public_html/wp-admin/includes/template.php(2232): do_action()
    #19 /public_html/wp-admin/update.php(53): iframe_footer()
    #20 {main}

  3. Hi All,

    Following updating multiple sites to 10.9.1 – any items added to the catalogue have broken permalinks.

    1. Brent MacKinnon Avatar
      Brent MacKinnon

      thanks Pete — I’ll route this to the team internally to investigate, and we’ll update here once we understand what might be happening. Out of curiosity, do you happen to have a support ticket open https://woocommerce.com/my-account/contact-support/ ?

  4. Thanks Brent

    To clarify – items are being added/created via an API feed.

    These have been created succesfully across multiple sites up to (it appears) the release of 10.9.1

    No other changes have been made to the API feed.

    Manually created products generate the permalink as expected

    1. Marco Lucio Giannotta Avatar
      Marco Lucio Giannotta

      Hello Pete,

      I’m sorry that you are experiencing these errors, can you tell us a bit more on your use-case? How are your products added exactly? Is the API not returning any error whatsoever? Since we suspect this might be malformed data, are your products using the unique id field (like ISBN, UPC, EAN, GTIN…)?

Leave a Reply

Your email address will not be published. Required fields are marked *