Today we shipped the second Release Candidate (RC2) to our Early Access Program members. It contains only a few visible changes but is one of the largest preview releases nevertheless. Here are the details.
As always, you can find all the details in the release notes – we try to make them readable so don't be afraid to click through. As a summary, these are the most prominent changes:
A lot of work has been done around reverts (undo and rollback). First, there is now a popup confirmation before the action is run. Then there are some more checks around the reverts, for example, VersionPress will reject to do a rollback if there are uncommitted files on the disk. We also have better “foreign keys” checks and a couple of other improvements, all is documented on the Undo and Rollback page.
Better pre-activation checks. This is an ongoing effort to prevent activation on WordPress configurations that are known to cause issues. The activation page currently looks like this:
Just for the sake of comparison, this is how the same screen looked in 1.0-rc1:
We now also have a “system info” page that shows the detected Git version, PHP version, web server and the like. It is great for troubleshooting:
Configurable Git binary. Up until now VersionPress depended on a Git binary in the PATH which was sometimes a problem. The path to Git can now be user-configured, either by editing a config file manually or by using a WP-CLI command (do we mention often enough that we love WP-CLI?).
Many, many important internal updates. This is the main reason why RC2 took six weeks instead of two but however unpleasant it was, it would be much harder to make some of the changes post-1.0-release. The two main things that were addressed in RC2 are:
- The file format used to store database entities contains several important fixes. (It is always nice when you need to be working around PHP bugs.)
- The structure of our repository will now handle thousands (and hundreds of thousands) entities which is something that RC1 and earlier couldn't do. The performance work is not entirely done yet and v1 is still focused on reasonably big and standard WP sites but it was important to make the internal structure change now.
There will be one last Release Candidate (RC3) where the focus will be on general polish. We have one feature left for it (auto-backup before revert actions) and a couple of smaller issues left but it should be a smaller release than RC2. We don't plan any subsequent Release Candidate so RC3 should be the final one, we will then freeze the development and prepare for 1.0. Sorry that it's taking some time but some work simply can't be postponed and we want 1.0 to be a great release.