VersionPress 4.0 beta

We’re happy to announce the availability of VersionPress 4.0-beta. It brings significant stability improvements over the alpha and a couple of new features.

You can download 4.0-beta from GitHub and read the full release notes there.

User-editable plugin definitions

The prime feature of v4 as a whole is extensible plugin support: when a plugin is described by a couple of files called plugin definitions, VersionPress starts providing change tracking, undo or database merging automatically. The genesis of this since v1 is described in the alpha blog post.

4.0-alpha1 brought support for plugin definitions that ship with plugins. For example, if WooCommerce shipped with a .versionpress folder in it (fake news, fake screenshots), VersionPress would pick it up:

image

4.0-beta expands the support to a user-editable location in wp-content. If you create a folder WP_CONTENT_DIR/.versionpress/plugins/woocommerce and put definition files like schema.yml or actions.yml there (full specification here), VersionPress will use and actually prefer it over the bundled definitions (if they exist):

image

Post-beta, we will be creating an online repository for plugin definitions, see #1243. Right now, we’re focusing on getting the format right so if you’re a plugin author or an enthusiastic user, we encourage you to take a look at the examples of WordPress core or WooCommerce by @pavelevap, and find all the details in Plugin-Support.md. You can try to write some simpler definitions, we’ll be happy to help on Gitter if you hit any trouble.

Other notable changes

  • WordPress 4.7 (#1164) and 4.8 (#1217) are now fully supported.
  • Action priorities are filterable, see #1232.
  • Plugin-Support.md continues to receive updates based on feedback.
  • We’ve spent some time modernizing our development workflows. For example, local development environment and automated tests now run on Docker which makes them much easier to set up and more reliable cross-platform, see #1041. We’ve also adopted GitHub projects to manage the development process.
  • Many bugs reported in 4.0-alpha1 were fixed.
  • Docs have been merged into the main repo. It used to be versionpress/docs in the past but things are a bit easier in the monorepo approach. If you spot something incorrect in the documentation, just send a pull request to one of the files in the docs folder. #1218

These are all the 4.0-beta issues and pull requests.

Get 4.0-beta

You can download the beta from GitHub. As usual, bear in mind that VersionPress is a Developer Preview but we’re excited about 4.0 and would love if you gave it a try.

Cheers!

6 thoughts on “VersionPress 4.0 beta

  1. Just wanna say. I love how in your post, everytime I had a “but what about..” question, your blog post answered it RE: what if we create our own yml for a plugin, RE: would you mind creating a wiki for a shared yml resource . πŸ™‚

    There are a couple more core questions I have about VP that I don’t know where to find the answer to in the docs. Maybe you can point me to the resource or help me answer the question.

    1. Are there plans to support separate server staging environment in the future?
    2. Since you have to manual commit manual file changes in themes, does that mean VersionPress will break if you roll back and don’t manually roll back the theme at that state?
    3. Noob git question – am I able to use VersionPress and another git tracker for a theme folder at the same time?

    1. Hi Tanner, thanks for the kind words πŸ˜ƒ. To answer your questions:

      1. Yes, definitely. Environments on different machines are achievable today although it’s not as streamlined as it could be, please see the Remote Workflows post.
      2. Rollback will be disabled if you have uncommitted changes in your site (theme, plugin or anything else). So you’re safe here.
      3. Yes, VersionPress just calls git behind the scenes, it is not different from any other Git client. That means that you can inspect the site history using any Git client you like, and vice versa, if you create commits e.g. some GUI client, they will show up in the VersionPress table.

      Hope this helps.

Leave a Reply

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

Some HTML tags are supported