Retiring stable feature flags in WooCommerce 11.1

Retiring stable WooCommerce Admin feature flags in WooCommerce 11.1

WooCommerce 11.1 retires a set of stable WooCommerce Admin feature flags from the normal feature configuration pipeline.

These features are no longer experimental or optional, so WooCommerce now loads them directly instead of treating entries in core.json, development.json, or window.wcAdminFeatures as the source of truth for whether the feature should be available.

This change should not remove functionality from stores. The affected features continue to be available. To preserve backward compatibility, WooCommerce 11.1 includes deprecated PHP and JavaScript compatibility shims for existing checks.

For example, calls such as:

php

Features::is_enabled( 'launch-your-store' );

Features::exists( 'customize-store' );

Direct JavaScript access such as:

js
	
window.wcAdminFeatures[ 'launch-your-store' ];

These will continue to return compatibility values for now. However, these checks are deprecated and will emit deprecation warnings. The compatibility layer is intended to give extension developers time to remove feature-flag-based gates before the shims are removed in a future WooCommerce version.

Who is affected?

This affects extensions and custom code that check retired WooCommerce Admin feature flags before loading UI, routes, tasks, recommendations, or other WooCommerce Admin behavior.

Developers should audit their code for usage of:

Features::is_enabled()

Features::exists()

Features::get_available_features()

Features::get_optional_feature_options()

Features::enable()

Features::disable()

window.wcAdminFeatures

– the woocommerce_admin_features filter when used to control stable WooCommerce Admin features

In most cases, checks for retired stable feature flags can be removed because the related feature is now treated as stable and available.

Affected feature flags

The retired compatibility shims include the following feature slugs:

text

activity-panels

analytics

analytics-scheduled-import

experimental-iapi-mini-cart

coupons

core-profiler

customize-store

customer-effort-score-tracks

import-products-task

experimental-fashion-sample-products

shipping-smart-defaults

shipping-setting-tour

homescreen

marketing

mobile-app-banner

onboarding

onboarding-tasks

pattern-toolkit-full-composability

payment-gateway-suggestions

product-custom-fields

printful

remote-inbox-notifications

remote-free-extensions

shipping-label-banner

subscriptions

transient-notices

wc-pay-promotion

wc-pay-welcome-page

woo-mobile-welcome

launch-your-store

Developers should use the underlying option or supported API when they need to check behavior that remains configurable.

About woocommerce_admin_features

The woocommerce_admin_features filter should no longer be used to control retired stable WooCommerce Admin features.

WooCommerce now loads these features directly, so removing a retired stable slug from the filtered feature list is not a supported way to disable the underlying feature behavior. Deprecated compatibility lookups may still reflect legacy filtered values while the shim exists, but those lookups now emit deprecation warnings and should be removed.

Extensions that currently use woocommerce_admin_features to gate stable WooCommerce Admin features should migrate away from that pattern and use the actual option or API for behavior that remains configurable.

Deprecated helpers

The following legacy helpers are also deprecated:

php

Features::get_optional_feature_options();

Features::enable();

Features::disable();

New code should avoid using WooCommerce Admin feature flags as extension points for stable feature behavior.

Timeline

These compatibility shims are deprecated in WooCommerce 11.1 and are planned for removal in a future WooCommerce version.


Leave a Reply

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