24 Comments

  1. Jeffrey

    I don’t think I will use it, but thanks for sharing it. If any plugin update brings in bugs and the author does not bother to fix them quickly, then it’s time to stop using the plugin.

    Report

    • Matt Cromwell

      Jeffrey, that could be true sometimes. Other times though, your site depends on the unique functionality that plugin brings and maybe it’s an incompatibility with your theme or another plugin. Plus, see my comment below for other use cases some have already found for it. You’d be surprised how simple and useful something like this can be.

      Report

  2. Matt Cromwell

    Thanks Sarah for the write-up! So far we’ve gotten really positive feedback. Developers understand that this doesn’t replace common sense or best practices with security and backups. We’ve also heard of some great use cases. It’s been recommended to the Siteground Support team to help with troubleshooting websites in staging. A friend of ours just used it to roll WooCommerce FORWARD from 1.6 to 2.3 incrementally. So there seems to be some great use cases in general.

    Also, we built it to be as intuitive to the WordPress experience as possible, no settings pages, just a button right where you’d expect it to be. We’re hoping it might attract the attention of the Core team.

    Thanks!

    Report

    • Tran Ngoc Tuan Anh

      The case of using the plugin to update WooCommerce from 1.6 to 2.3 sounds very interesting. Sometimes I have clients who uses very old version of my themes/plugins (no ones maintained websites for them), and when they get back to me to get updates, it would be a big problem if I just press update (with lots of changes).

      Report

  3. Eric Johnson (@wormeyman)

    I’ve used old versions of plugins in the past to use features that were later removed so that they could add in a “pro add-on” not sure why this particular plugin author removed features instead of just adding them in the pro pack but fortunately I only had to use the plugin once and then delete it.

    Another use case for an old version.

    Report

  4. Christee

    Excellent! I’ve been looking for this functionality for a long time. This will make it easy to see if a bug you think was introduced by a new version really was not in the prior version (particularly when several versions are released in quick succession). And, of course, covers those “uh-oh” moments when you missed as issue during staging and found the issue on the live site.

    A big Thank You to the developers!

    Report

  5. Ulrich

    This plugin looks great.

    Themes do have changelogs, they are just not parsed by WordPress.org and WordPress core.

    Report

  6. David Anderson

    It’s not free (and I’m the lead developer), but another solution is automatic pre-update backups – https://updraftplus.com/shop/autobackup/ – which have the plus of also retaining any customisations to the plugin (which of course you shouldn’t do…) and the state of the WordPress database (because a new plugin version may have changed its data structures, so a simple rollback in that case won’t help), and running before WordPress background updates.

    Report

    • Matt Cromwell

      Hi David! Ya, this is definitely not a substitute for robust solutions like UpDraftPlus or VersionPress. This is simple, roll back, roll forward, be safe!

      Report

  7. fredclaymeyer

    This is a great idea. For people who are traumatized by breaking WooCommerce updates, “Oh, you should have backed up first” is not really good enough. Thank you for developing it!

    Report

    • Matt Cromwell

      Well, even with this, you really should backup before rolling back. There’s no guarantee that if you roll back that all things will still be the same.

      Report

      • Stephen Harris

        Matt, in view of this, would you consider allowing a plug-in to disable rollbacks (perhaps even with an appropriate message), so that if a plug-in’s update should not be rolled back (e.g. owing to internal data structure changes and so forth), a user would not be allowed to. (Or at least given an appropriate health warning).

        A neat solution nevertheless for users who update ‘live’ and find themselves with a broken site.

        Report

        • Matt Cromwell

          Hi Stephen, yes, the team purposely included lots of actions and filters for other developers to be able to hook their own functions into. You could add a unique warning or message to a specific version number. If you do that with a plugin, give us a heads up, we’d love to showcase it.

          Report

          • Dylan Ryan (@irkanu)

            Hey Matt,

            I’d consider myself a beginner in the plugin development world. Being a beginner, I made the mistake of renaming a widget class because I didn’t like the original name I chose. The difference between those versions caused my users to lose their widget. I can see a valid case here for hooking into WP Rollback and giving the user a notice that they will lose their widget when rolling back or upgrading past this version. I’d love to play with WP Rollback this weekend and see if I can make that happen. :)

            Report

    • David Anderson

      It might give you a false sense of security. For example, in major updates of WooCommerce, internal data structures change in the database. Rolling back the plugin files won’t roll back the database status. Only a proper backup will do that.

      So, it’s a tool that like all tools can be useful – if used with proper awareness of what situations it’s suited or not suited to to.

      Report

      • Dan Knauss

        Maybe this plugin will give plugin developers a healthy sense of insecurity about the edge cases where someone has the 1.0 file manifest and the 2.0 database structure. Although I’m not sure in what cases that would be a huge disaster and in any way the developer’s fault.

        Using a browser gives people a false sense of security. :-!

        Report

  8. Dan Knauss

    Another brilliant little plugin to add to the standard list.

    Matt, if you can make it replace the WSOD with an “undo” and “blame” mechanism it’s on the fast track to the top ten plugins of all time. :-D

    Report

    • Matt Cromwell

      Sheesh! If only that was possible! We seriously discussed it, I mean, is it possible to wrap your entire install so that if something REALLY fatal happens you could just a notification, with a link to a secret url with a nonce and visit that and BAM: Undo done. You’re right, that’d be money.

      Report

  9. Matt Cromwell

    Hi Dylan, the comment system here wouldn’t let me reply to your comment (probably threaded too deep), so I hope you see this. (https://wptavern.com/wp-rollback-provides-basic-versioning-for-wordpress-org-plugins-and-themes#comment-68226)

    I think even better than a notification would be if you had an upgrade/downgrade script in your plugin and you could hook that into the WP Rollback actions so that the rollback went seamlessly. As I mentioned in a few places, we put lots of hooks in there to allow for that. I’d love to see plugin authors adopting that. Plus, it goes together with the whole concept of backwards compatibility to watch for that kind of thing.

    Report

  10. jorge156

    You could also use WP CLI for this. The wp plugin update command allows to specify a –version. In either case I doubt the rolling back will account for plugin-related database changes…

    Report

  11. Michael Dorchain

    This is a great plugin which will solve some trouble especially for the minor updates. Backups will remain as the ultimate fail-safe as they should be, but restoring a full backup is never fun.

    Report

  12. Dave Chu

    That plugin sounds very useful!

    Being able to “roll forward” is very clever, and could be super helpful. Let’s say you end up working on a site with WP 3.1 or something. A plugin is now 10 versions behind, but its Magical Database Overhaul occurred 5 versions ago. You update, and it’s just trashed – the Magic Overhaul had the Magic Conversion! But if you had this “roll forward”, potentially you could gradually update, testing each step, and coming out clean!

    Another minor issue this could solve is when you update a plugin but find that the new version only runs on PHP “7.whatever”, which is not on your host yet.

    Nice job!!!!
    Dave

    Report

Comments are closed.

%d bloggers like this: