A change to how we version Perch and the 2.9 feature list

We’ve been discussing with many of you on the forum what should be included in Perch 2.9, which we are called a “fix all the things” release. As we will be doubling down on core functionality and making sure workflow niggles are sorted.

Perch has always used semantic versioning. This is where release numbers signify MAJOR.MINOR.PATCH. In the context of Perch version 2.8.19 is major version 2, minor version 8 and then patch 19 to that 2.8 release. The releases that have made up Perch 2.8 have included 160 new features and fixes.

As Drew wrote on his blog, semantic versioning has a problem it causes a stability wave as a lot of new code is released at once.

“You ship your new 1.1.0 version, and it has exciting new things but could be buggy. Things begin to stabilise with successive 1.1.1, then 1.1.2 releases until the codebase settles down and the product is good and stable again. Just as you reach that point of stability – the crest if you will – you ship 1.2.0, the wave breaks and have to start all over.”

It also creates a big reveal and means that completed features are essentially held back, not in use by customers, as they wait for a major blocking feature to be completed.

“All that time when those new features are ready and sat waiting, they’re not in the hands of customers. They’re not being used, and those edge-case bugs aren’t being found. Instead, you ship it all at once in a Big Reveal, hit all your bugs at once, and end up with a stability dip.”

One of the things we take very seriously at Perch is that when we ship an update it shouldn’t cause you or your editors problems. You should feel safe to keep your software up to date. We don’t like stability waves and big reveals, we would far rather incrementally improve the product, and get you new features as soon as they are ready. Therefore with 2.9 we will be moving to progressive versioning. The first 2.9 release won’t fix all the things, what it will do is fix some of the things in a way that gets features and fixes into your hands quickly. You can then look forward to a more rapid 2.9.x release that will fix some more of all the things.

What things are we fixing?

With that said what can you expect to see in 2.9? We’ve got a big list from chatting with Perchers on the forum and elsewhere. Here are some of the things you can expect to see. There is no timeline of exactly when any of these will ship. Please don’t rely on something for a project as it could be that is one of the chunkier bits of work that are likely to wait behind more straightforward features.

Workflow fixes

All of these are things that have been requested by a large number of Perchers.

Assets improvements

There is a whole chunk of work around the Assets Panel. This stuff is unlikely to ship with the initial 2.9 release as it’s one of the bigger pieces of work.

Control Panel Improvements

The first version of Perch was launched before responsive design, or even phones capable enough to use a CMS from where common. This has meant that while we’ve tried to patch in some enhancements for that use case, a bigger improvement means a rebuild of the CSS and JavaScript. We’ll be:

In addition:

Perch and Perch Runway differentiation

From 2.9 you should start to see more differences between the approach taken with Perch and Runway.

Perch

We want to ensure that Perch is as simple as it can possibly be. We’ll be reducing enabled options in the Control Panel – not taking things away but switching things off by default.

The focus for future development of Perch will be to keep it small, fast and uncomplicated. The ideal choice if you want to turn small sites around quickly.

Perch Runway

We see Runway as the developers version of Perch and it is here where we will offer more features, those which perhaps require a bit more configuration. If you are building larger sites, or like a high level of customisation (or just enjoy having lots to take advantage of) you’ll opt for Runway. Some of the things coming to 2.9 are:

Let us know what you think

We really feel our new approach will ensure we maintain the stability of the software throughout the 2.9 release period and will give us the ability to get these features into your hands far more quickly.

If you’d like to discuss any of this then I’ve opened up a forum thread – or pop into the Slack Chat for informal discussion with other Perchers.