VersionPress 3.0 – Base Improvements and New Features Added

VersionPress 3.0 has been released officially on the 28th of April and is a prime example of what transitioning to open source can bring to the table of application features and improvements.

New Options and Improvements

There are various new options and improvements which are worth mentioning like:

  • Filtering – You are now able to search for changes by authors, dates, commit messages, WordPress actions, etc.
  • Bulk undo – Changes to the website that involved multiple actions like trashing a post and then deleting it forever can be reverted by selecting both and restoring the post.
  • Environment tracking – VersionPress 3.0 tracks from which environment a change originated. This provides another way of easily orienting yourself in the changes on your website.
VersionPress 3 Environment Tracking

Some core version improvements show that a strong base is an important part of a stable platform:

  • Serialized data is diff- and merge-friendly which improves IDs in sticky posts and widgets.
  • Date modified fields are handled correctly – Merge conflicts from tracking post_modified and post_modified_gmt fields for posts before the installation of VersionPress is now avoided.
  • Changes on adjacent lines no longer create conflicts – When different users update adjacent lines, merging the changes they made no longer creates a conflict.
  • Shortcodes with IDs work across environments – Shortcodes will now update IDs correctly across environments. A new *- shortcode.yml has been developed to support this change.
  • Database writes – Database related writers like view counters, plugin actions etc now do not create excessive amounts of commits but instead have a configurable interface with a default value of once per hour. This is implemented in order to remove commits flooding.
  • Configurable entity handling – Some entities just should not be part of the repository such as transient options or spam comments. VersionPress 3.0 introduces a better, extensible ignoring mechanism to deal with such entities.
  • Ignoring of specific database columns – As the name suggests, you can now fully ignore specific database columns or ignore dynamically computed by PHP functions values.
  • Initial support for custom directory layouts – WordPress location, wp-content, plugins or uploads directories are now customizable. However, the structure needs to be defined before VersionPress is activated.
  • Data updates via query() are now understood – Previously, VersionPress handled data updates via the insert(), update() and delete() methods which support 99 % of the changes. Now, that last 1 % is added by supporting the query() method.
  • Common config – as most of the information in wp-config.php is environment-specific this file was ignored. However, values like WP_CONTENT_DIR and WP_PLUGIN_DIR add a config file named wp-config.common.php which is committed into the repository and required from the standard wp-config.php file.
  • General reliability improvements – improvements in how VersionPress stores and parses internal data formats. VersionPress 3.0 covers everything that vanilla WordPress 4.5 does.
VersionPress 3 General Reliability Improvements

Other Notable Changes

  • Better update method that keeps the same INI files and VPIDs across VersionPress releases which makes inspecting history much easier.
  • vpconfig.neon (custom configuration format) was replaced by the standard wp-config.php constants.
  • NEON file format was replaced with a similar but more common YAML.
  • PHP 5.6+ is now required.
  • VersionPress underwent security and general code reviews

As much has changed in VersionPress 3.0, the platform cannot be upgraded from previous releases and a full re-activation is required. The recommended procedure is:

  • Put your website in maintenance mode
  • Deactivate VersionPress
  • Delete the contents of wp-content/plugins/versionpress and extract the latest version there.
  • Activate & initialize the plugin again.
  • Disable maintenance mode.

These improvements are sure to bring a better experience as VersionPress 3.0 provides more control and choices for users.

Antoniy

Antoniy’s primary goal at FastComet is helping grow our client base through affiliates and strategic partnerships. It is all about statistics analysis, communication with our affiliates, working on various campaigns, searching the web for trends and generating ideas for future projects. You're likely to run across him at some point in the FastComet Community, too because he loves getting in and interacting with our great customers. You can always count on him to come up with strategic ideas for the team and is always searching for the smartest ways to spread our brand and services worldwide.