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-storeDevelopers 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