Categories
Core

WooCommerce 5.0 Beta 1

WooCommerce 5.0 is now available for beta testing! You can either download it directly from WordPress.org or install our WooCommerce Beta Tester Plugin.

What’s new?

This is a minor release focusing on bug fixes and performance improvements. Just like other minor releases, this release also aims to be backward compatible with previous WooCommerce releases.

Versioning

Previous to this release, we’ve partially followed the Semantic Versioning (Semver) schema. Going forward we’ve decided to follow the WordPress versioning schema. This means that although we’re releasing version 5.0 (which usually means a backwards compatible breaking release under Semver), we will maintain backwards compatibility.

See more details in Developer Advisory: Changes to WooCommerce Versioning Scheme.

Highlights

  1. Product Review Count: Previously in 4.9, we fixed the product review count from this PR #28624. This worked for all new comments being created however it did not correctly fix the issue that already happened. So we’ve put in a migration script which will fix the review count when new reviews are added. #28814
  2. Deprecate legacy reports: Since WooCommerce 4.0, it has added a new and improved WooCommerce Analytics. We’re encouraging users to start using the new WooCommerce Analytics and thus we have soft deprecated the legacy reports with a notice in the legacy reports section. #28799
  3. CSS Variables: We’ve added WooCommerce prefixed CSS variables to the stylesheet. This provides easier extendibility when developers need to utilize the same WooCommerce default styling without needing to recreate the CSS. #28709
  4. Restoring products, orders and coupons: Previously after trashing orders, products or coupons — when restoring, it puts these items into “draft” status. Now it will restore to the same status as what it was before to prevent issue. #28690
  5. Changing product type with attached files: Previously when an order is placed with a product that had downloadable files and when you change the product type to say a variable product, the permission for the downloadable files would be lost and access would be denied. This has been fixed so that it now recognizes the change of product type and when you go to use the same downloadable file, it would recognize it and recreate the permissions for the same customer. #28521

Filters and actions

We have added one new action in this release.

ActionDescription
woocommerce_activated_pluginAction to signal that packages such as WC Admin has been activated. #28698
5.0 new action hooks

We have added two new filters in this release.

FilterDescription
woocommerce_delete_variations_on_product_type_changeFilter to prevent
variations from being deleted while switching from a variable product type to a variable product type. #27137

woocommerce_new_order_email_allows_resendFilter to allow resending of the new order email to the admin. #28858
5.0 new filter hooks

Database Changes

While there are no schema changes to the database tables, we want to highlight that there will be a migration script that runs in the database that fixes any potential issues with the product review counts. #28814. This in turn will bump the database version to 5.0.0.

Template changes

This release does not introduce any changes to templates.

Release Schedule

This version of WooCommerce is scheduled to be released as follows:

VersionRelease
BetaJanuary 19th, 2021
Release CandidateJanuary 26th, 2021
5.0 Final ReleaseFebruary 9th, 2021
Release schedule for 5.0

Testing

As with the previous several releases, we have published testing instructions for . We’d love your help in testing this release.

By Roy Ho

Code Wrangler @Automattic

13 replies on “WooCommerce 5.0 Beta 1”

Very disappointed that you’re no longer using Semantic Versioning. This is now going to cause confusion, and goes against best-practice why version numbering. Most WordPress plugins also use Semantic Versioning. So going against that is also strange.

Many users will be afraid to update to 5.0, thinking it’s a major version (as it realistically should be).

Liked by 3 people

Hello Garconis,

Very disappointed that you’re no longer using Semantic Versioning. This is now going to cause confusion, and goes against best-practice why version numbering. Most WordPress plugins also use Semantic Versioning. So going against that is also strange.

We will post more details about it soon. Sorry for disappointing you.

While some plugins on the WordPress could be using SemVer, the WordPress plugin’s directory doesn’t support SemVer, like we can’t keep releasing 4.x in parallel with 5.x, so this already becomes a challenge, even communicating a breaking change by the version number, WP will still force all installations to update to the latest version, so it’s impossible to keep users on a 4.x stable version with months/years of support, fixes and security fixes before everyone take some time to test and upgrade to 5.x.

Also since last year we stopped all plans that we had for breaking changes, this means that going forward WooCommerce will be always backwards compatible, like WP core is, so doesn’t make sense for us to keep SemVer if we don’t never plan to break compatibility, and also makes more sense to adopt the same versioning as WordPress core.

You can check more details about how WP versioning works in https://make.wordpress.org/core/handbook/about/release-cycle/version-numbering/

Liked by 2 people

Worst decision ever!

“Previous to this release, we’ve partially followed the Semantic Versioning (Semver) schema. Going forward we’ve decided to follow the WordPress versioning schema. This means that although we’re releasing version 5.0 (which means a major release under Semver), it is considered a minor release unless otherwise noted.”

Have WooCommerce forgotten why they changed to SemVer in the first place.
I remember the horrors of woocommerce 2.7. Which was rolled back, and later re-launched as 3.0, due to people thought it was a normal release, and not a major release.

What are they they trying to achive, by swiching to WordPress versioning schema?
What are the benefits, that we gain rather than keeping the SemVer structure?

Liked by 1 person

Hello Jesper.

Have WooCommerce forgotten why they changed to SemVer in the first place.

No one in our team forgets about it, in fact this is one of the reasons why we are stopping to use SemVer, and note that we don’t plan to release breaking changes every again.

What are they they trying to achive, by swiching to WordPress versioning schema?
What are the benefits, that we gain rather than keeping the SemVer structure?

We’ll post all details soon, but I left some details in this comment.

Liked by 2 people

“This means that although we’re releasing version 5.0 (which means a major release under Semver), it is considered a minor release unless otherwise noted.”

This is an unfortunate backwards step. It now means that little can be inferred from the version number except that this version is more recent than that one. It also is likely that many users, who’d imbibed the idea of semantic versionning, will keep their sites on 4.9 in the mistaken belief that 5.0 is a major upgrade.

Like

Hello simbahosting,

We’ll post soon more details about it, but I just want say that we don’t intent or plan to release breaking changes every again, so all new version of WooCommerce will be backwards compatible, like happens with WordPress core, allowing users to update safely and without all the troubles and breaking changes that we introduced in the past on WooCommerce while trying to use SemVer.

It also is likely that many users, who’d imbibed the idea of semantic versionning, will keep their sites on 4.9 in the mistaken belief that 5.0 is a major upgrade.

I agree that it could happen with some users, but we plan to communicate and post more details about this change soon, but for sure everyone will be glad to know that’s just another compatible release instead of a Major upgrade.

Liked by 2 people

Thanks for the update. A few comments about reports, if I may.

The “legacy” reports work quite well, and it’s easy to customise, extend or override them. It’s also easy to generate new reports. That’s not yet the case with the WC Admin reports, as they require a significantly higher technical knowledge, spanning multiple technologies.
I know quite a few merchants disable the analytics altogether, as they rely on external tools for that purpose. They still use the legacy reports, though.

Suggestions
1. I would also suggest to prepare a set of tutorials that explain how to create or extend the analytics reports. I’m aware that there are examples in the WC Admin Github repository, but the documentation needs more work. The WC Admin is relatively new, I guess that the documentation and the tutorials will catch up, eventually.
2. I would recommend to keep the legacy reports for the time being. Many merchants will be happy to keep using them, and they shouldn’t cause any “side effect” by staying there.

Thanks again for your work! 👍

Liked by 5 people

Hello Diego,

Before everything, let me thank you for always being involved with WooCommerce development and for all your amazing feedback.

About your suggestions, I like to start saying that we don’t plan to remove those reports any time soon, and if we plan to remove at some point, it’ll probably go to a feature plugin, so people can keep using, but since we are adopting WP versioning and planning to never break compatibility, I can see WooCommerce keeping those reports for a long time.
That notice is just to warning users that there’s a new and updated reports screen, and also because we don’t update or include any feature in our old report screen since WooCommerce 4.0.

I’ll check with the WooCommerce Admin team what we can do about this guide, I agree that we need to improve it, and for sure will help in the adoption as well.

Thank you again for your amazing feedback.

Liked by 1 person

HI Carlos,
Thanks for your reply. I came across scenarios where integrating with the WC Admin took a lot more work than “tacking” features to the old reports. Granted, the “hacking” of the reports wasn’t the most elegant approach, but it worked and it was effective, whereas adding React and a ton of JavaScript to the mix raises the challenge bar quite a bit.
I’m not a fan of JS myself, I can’t get my head around it. I find TypeScript a far better tool, and a lot more productive. It would be great to have some TS tutorials too, for “JS allergic” people, like me. 😅

While we are at it, I would like to thank you (as in you personally) for your continued efforts. We had a few disagreements in the past, but I can see that we’re “getting aligned” over time. I wish I had more time to be work with the WC core team. I hope that the planning I’m working on will allow me to do that. 👍

Liked by 3 people

Hey Claudio,

Diego got here before me, but I’d +1 his suggestions and reasonings behind them too. We see this exact pattern of usage as well across our users.

One more question though, you mentioned the reports sticking around for a long time. Can you be more specific? Is this something that will be deprecated and inaccessible within this year? Are we talking 5-6 releases away? Are we talking 2-3 releases?

Would be great to know early as we have a number of reports to rewrite into the new area.

Thanks,
Josh

Liked by 1 person

Hello,

As I said before, we don’t plan to break compatibility, but new features are going to be included into our new reports, also performance improvements, fixes and everything else, so that message is just to inform users that there’s a new and updated tool for reports, and that we don’t plan to update our old reports screen.
But I can’t give you any time line for a removal, simply because we don’t plan to remove it at any time in the future, and if we choice to remove, it will probably to go a new plugin, keeping compatibility and allowing all current users to keep using that reports screen. So even if we decide to remove, we’ll still make it backwards compatible.

I hope it helps you.

Liked by 1 person

No problem at all with the version numbering( if an important change is informed in each announcement, just read the version notes!). What I appreciate is that from now on, WC don’t intent or plan to release breaking changes ever again, so all new version of WooCommerce will be backwards compatible. This is awesome, as we don’t have an LTS version and many merchants have to rely on not so updated code for gateways and addons etc.(specially latin america, africa, etc).

Liked by 2 people

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.