-
Notifications
You must be signed in to change notification settings - Fork 10.7k
Description
Our team @woocommerce/skyverge has proposed that core adjust the way the "Untested extensions" handling is done, given the evolution of how core releases are done.
- When the untested extension check was added, WC had very recently "adopted semver". At this point in time, all minor releases weren't really minor releases -- they were often substantial releases with large refactors and feature changes. Because of the scope of changes between versions like 2.5 => 2.6 or 3.1 => 3.2, having the untested extensions check for every minor version made sense at that time.
- Releases are no longer nearly as large and as infrequent. We've gone from ~3 minor releases per year with substantial backwards compatibility concerns to the core team setting a goal of smaller, more stable, and more frequent releases.
- Release schedule is now more like a minor release every 2 months (doubling the historic minor release rate) with much smaller scope.
Because of these changes, we want to propose that the untested extensions check also adjust to account for this.
Describe the solution you'd like
We'd like this check to now adjust to adding notices for major version upgrades only, e.g. 3.x => 4.0. In fact, the entire reason this was added in the first place was because of a major version upgrade, see #15478 for context.
Woo core releases have become much more frequent and stable. This is a big win! 🎉 Because of this, though, these notifications are way less useful for minor versions. We've noticed two things with the last few rounds of releases:
-
One of the original goals of the change was to reduce support around WC version updates:
They will have clear warnings about the dangers of upgrading when the plugin is incompatible. This should reduce your support load when new versions of WooCommerce are released.
The current system is now having the opposite effect. Often, we don't require any plugin changes for minor releases (again, this is great!). However, if we don't release the plugin with the updated headers, we find that we get a lot of support questions with concerns regarding compatibility. So, we end up releasing "empty" plugin updates with a header + changelog bump, and nothing else. This isn't a practice we think makes sense just to avoid support when no compatibility changes are needed -- plugin deploys should be for real updates.
-
People who have used WooCommerce longer, though, are starting to ignore the notices for minor versions. They reach out when they see new minor versions, hear "nope everything is compatible!", and then upgrade. Because version 4.0 was a backwards-incompatible release, we definitely wanted the notification of users to happen here, as it's a good thing for them to be aware of the 4.0 change and plugin compatibility being required, but we don't want to condition folks to ignore these notices over time, either.
So this shows us the untested extension warnings are good and doing exactly what we want them to do, from the user perspective: folks are aware of extension compatibility for updates. We are making them far less useful, though, when
- they are surfaced too often based on the changes to the core dev schedule and approach. Since WC is committed to semver and backwards compatibility in minor versions, they are not needed for minor versions.
- they cause a different kind of support they weren't intended to create.
Describe alternatives you've considered
Plugin developers could filter out their own plugins for minor releases, but that's not what these are intended for -- they should serve the needs of devs and users, and we think refinement ensures they stay most relevant and useful. 🙂
Additional context
If y'all are in favor of this idea, we are happy to submit a PR with the changes to move this notice to a major version check instead!
Tagging @claudiosanches @claudiulodro @rodrigoprimo @peterfabian since I'm not sure who's the best person to chat with these days. 🙌