The first Release Candidate (RC1) was released earlier this month and in this blog post, let's briefly look at what has been done since then and what is left for the final 1.0 release.
Enhancing pre-activation checks
If there is one thing that the Early Access Program showed clearly it's that we should be much more thorough when checking the target WordPress installation for system requirements. For instance, WP multisite is not supported in v1 and installing VersionPress into such WP instance will generate a lot of weird warnings and errors. That will not happen in the final 1.0 release.
There will be one major feature between RC1 and the final release, and that is auto-backup / restore around potentially unsafe actions that are undo and rollback. The thing is, in an ideal world undo and rollback should work just fine but if for any reason, VersionPress-related or not, the operation fails the site can be left in a broken state. This was kind of tolerable for alpha / beta releases but for 1.0 and beyond we will have a mechanism to prevent that.
Testing, testing, testing
Testing is important for every software project but VersionPress poses some special challenges here and we are constantly investing in both the infrastructure and the actual, runnable test suite. Since RC1, we have added a lot more automated tests which in turn uncovered some smaller bugs and issues. Our goal for v1 is to have all the supported scenarios covered with Selenium tests with which we are now about 95% done. For v2 and beyond, we will be enhancing our other types of tests as well (WP-CLI-based tests, WP API tests and so on).
By the way, developing tests for VersionPress has been an interesting task from the plugin developer perspective and we'll certainly write some blog posts about it.
Change tracking improvements
One of the most intriguing features of VersionPress is automatic change tracking which is quite tricky to implement at the same time. For some mainstream actions like updating posts the WordPress code is straightforward and we can capture that just fine, but there are many other areas that are challenging (for example, manipulating widgets, customizing themes, etc.). For VersionPress 1.0, with the help of automated tests, we are hunting down some final issues in this area.
VersionPress 1.0 is not far away but there are still a couple of things on our to-do list and we don't want to rush the first stable release. We're confident that the wait will be worth it.