1.0 Release Notes 🍸

VersionPress 1.0 is the first stable release, focusing on base functionality like automatic change tracking, undo and rollback and so on.

Released on 16-Apr-2015. See the announcement blog post or the walkthrough.

Note: this is an EAP release

EAP releases are generally stable but the software is still young, limited in scope and an external backup is recommended at all times. Learn more about EAP

VersionPress 1.0 highlights

This version is a culmination of all the previous alpha, beta and release candidate versions. You can find separate release notes for all of them on the docs site, here is a high-level summary:

  • The core versioning functionality implemented. VersionPress 1.0 can automatically track actions like post / pages updates, new comments, site setting changes, theme customizations, plugin updates, etc. During this work, new format was developed to represent database changes in a Git-friendly way and the commit messages are quite clever to capture what was the intent of the action. We use this information to present the site changes in the...
  • Main VersionPress table. Most of the GUI for v1 is one large table with the site's history and the "Roll back to this" and "Undo this" links. In v1, this table supports paging and generally displays reasonable change messages but cannot drill into the details of each change and is generally quite static. There is not much else of a GUI – just the service panel for sending bug reports and the initialization screen.
  • The Rollback functionality: VersionPress can return the site to any of its previous states.
  • The Undo functionality: VersionPress can selectively undo past changes to the site. For example, if you changed the theme and then created a post, you can revert back to the previous theme while keeping the post. Related to this are necessary "foreign key" checks; for example, if you attempted to Undo a creation of post that already has some comments to it, VersionPress will not allow that. We do checks both towards "child" entities (like comments for posts) and "parent" entities (like user for posts).
  • Internal testing framework. Major part of v1 work was spent on implementing an automated test suite that answers a question "does VersionPress work?" after every internal change or with new versions of WordPress or Git.

Changes since 1.0-rc3

Differences from 1.0-rc3 are minor but some important issues were addressed:

  • Initialization will now gracefully fail if there was not enough time to finish it. Previously, if the initialization process crashed, the site was left in a maintenance mode and the admin had to deal with it. We now try to prevent that and if the PHP timeout is close, we will gracefully end the initialization process and tell the user about it.
  • Fixed bug in IniSerializer which is a very important component for the internal data structure
  • Fixed a few PHP notices and other smaller issues

Usage notes

System requirements for VersionPress 1.0 are:

  • PHP 5.3 or later
  • WordPress 4.1 or later (should work on 3.9+ but it's only officially tested on 4.1+)
  • Git 1.9 or later

Upgrade from previous versions

It's best to start fresh but the basic functionality should be upgradable from 1.0-rc2+ by replacing the wp-content/plugins/versionpress folder. Just make sure all the VersionPress files are secured from direct access using .htaccess or similar (fresh installation does that for you).

Upgrades from older pre-release versions (1.0-rc1 and older) will not work.

Known issues

None. Until someone finds some.