VersionPress 1.0 Released

It’s here! We’re glad to announce the availability of VersionPress 1.0, the first stable release of what we hope to become an amazingly useful tool for WordPress admins around the world.

What is VersionPress

If you’re new to this project, VersionPress basically brings the power of Git version control system to WordPress. It versions both files and the database, enabling things like site-wide reverts, easy staging, team workflows, efficient backups and more. Importantly, VersionPress is not just for developers – we strive for simplicity so most actions are tracked automatically and for non-technical users, VersionPress is simply a table with undo-able history:

VersionPress: the undo button for WordPress
VersionPress: the undo button for WordPress

Yet, with all the power of Git behind its back, it is easy to integrate with custom development tools and workflows, commit changes manually, push to hosting sites like GitHub or BitBucket, etc. We manage a couple of our sites this way and it’s really a huge step forward.

Understanding v1

There is one important thing to understand about VersionPress: though it is technically a WordPress plugin, it is one of the most complex ones you can imagine. It’s better to think about VersionPress as a long-term project and of v1 just as a milestone on a long road.

Still, VersionPress 1.0 is important in many ways. The project grew from a hacky prototype a year ago to a solid piece of software that we already use in production for a couple of sites and some of our users report great success with it too. What we have today is sort of a minimum product that makes sense and is already useful, even if not yet very mature and somewhat limited in scope. So what it can do, specifically?

  • The table that you see above fully works today. VersionPress can properly capture all actions that WordPress makes, convert them to a version control friendly format and commit them to a Git repository.
  • It can do rollbacks to previous state, basically being a “Time Machine” for the website.
  • It can also selectively undo certain actions – for example, you can go back to your previous theme while keeping the newer content updates.
  • VersionPress works with many simpler WordPress plugins and even with some more advanced ones like Jetpack (though this one will receive some polishing in a future update).
  • Both built-in and external themes are supported just fine.
  • Furthermore, you can work with custom post types / fields, make commits manually in Git and still see them in the VersionPress table (and revert them), the repo can be either kept locally or pushed to a remote server, etc. It can do a lot already.

There are of course also quite a few things that don’t work yet or are not supported properly. From the feature perspective, we have two areas that will be the main focus for us in v2: staging and general user interface. Staging is actually sort of a holy grail for the project – it’s where all the technicalities combine together to provide something that is very hard to do today. Also, a lot is left to be desired about the 1.0 GUI – it is rather bare and we have many ideas how to improve it. Besides these, we have other long-term goals like lowering system requirements, supporting more and more 3rd party plugins and so on – it’s all listed on our roadmap.

As you can see, VersionPress 1.0 is just a start but we’re still very, very happy that we can share it with you today. Thanks to all of our backers and supporters who helped us get here.

How to get – and support – VersionPress

Since January, we distribute VersionPress through the Early Access Program which is sort of a mix between early access, crowd-funding and a standard support plan. We do this mainly to set the right expectations and we really mean it when we say that VersionPress is young and imperfect yet. On the other hand, we know a lot of people in the WordPress community have been waiting for a versioning solution and even during the alpha / beta stage, we had users who reported success with it and hundreds of you joined us even pre-1.0! So it just makes sense to open VersionPress to anyone interested.

You can join the EAP here.

EAP will stay in place for most of this year and you should generally join it if:

  1. You are technical enough to deal with the early releases
  2. Or just genuinely want to support the project

Thank you if you decide to!

What’s next

We intend to release new major versions approximately every three months and have already started work on v2. It is possible that some smaller changes and/or fixes would ship sooner but we generally strive to be releasing versions 1, 2, 3 etc. rather quickly like modern browsers do. We really want this project to develop rapidly and start being useful to a broader set of WordPress users.

Summary

VersionPress 1.0 has been a long time in the making and we’re really happy to see it released. It is an entry point to future releases where we think VersionPress will really start shining. Thanks for being with us on this road and if you want to be kept up to date, please follow us on Twitter or Facebook.

6 thoughts on “VersionPress 1.0 Released

  1. Congrats Borek! Wish it was finished sooner, would have saved us lots of time while we implemented our own custom time traveling solution.

    We ended up hooking into the WP Security Audit Log plugin to track semantic changes. That also gave us the benefit to send out alerts when something of importance was done by an admin.

    Content and functional staging, along with history view mode and reverts are great features putting WordPress ahead of most CMSs.

    1. Thanks Daan.

      One interesting idea that was suggested to us: if reverts are hard to implement (which they are and which is why VersionPress 1.0 took some time), just be a simple table without the undo buttons. Sort of like the audit log that you described, that has also value in itself.

      I remember that I kind of liked the idea because it is very agile and would allow us to ship months earlier, however, it doesn’t really reflect what VersionPress should be about so we decided against it. But it was an interesting thought and you kind of confirm that maybe there was something about it.

Leave a Reply

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

Some HTML tags are supported