MeTal, 0.1, codenamed "Angel's Egg", will have a first-generation implementation of the core features. (Features in bold are currently in as of July 2016.)
Between version 0.1 and a formal version 1.0, we'll be concentrating mainly on fixing existing bugs and smoking out new ones, as well as stabilizing the REST APIs.
A number of pre-release versions, codenames TBD, will be released during this time.
Version 1.0 ("Berserk") will have essentially the same feature set as 0.1, but it will be cleaner and more dependable. The basic APIs for making REST calls to the system will be nailed down, and the APIs for handling plugins and templates will be settled down and made forwards-compatible.
In other words, we may not have all the features eventually to be deployed, but any new features should not cause existing work to break.
1.0 will also include a schema migration framework of some kind under the hood, even if it's only a "dump to JSON and restore" method (crude, but workable; that's more or less what I have now).
1.0 may also include some kind of automated upgrader, one which can be turned off if you want to upgrade at your leisure. This is not a requirement, but a nice-to-have. (I also plan on creating a Scriptaculous installer for those who use that service.)
We should also have basic documentation for the product set up by 1.0's release.
Version 1.0.x ("Cowboy Bebop") will be bugfixes for 1.0, as per Semantic Versioning.
In version 1.1 ("Dirty Pair"), we will concentrate on adding features that were deliberately left out of the pre-1.0 editions because they would complicate things. This includes:
Version 1.1.x ("Ergo Proxy") will be bugfixes for 1.1.
Version 1.2 ("FLCL") will aim to include the following new features:
Version 1.2.x ("Ghost in the Shell") will be bugfixes for 1.2.
Version 1.3's ("Haibane Renmei") feature set has not yet been determined.
The version 2 line will provide major changes, some of which may cause backwards incompatibilities (although I'll strive to ensure that's not the case):
Themes and plugins will be rolled out as their own projects and on their own timelines:
I'm not putting a timeframe yet on any of this stuff as I want to first explore organizing the timeframe for releases around the target feature set. As time goes on and things are locked down all the more, I may shift to a release cycle where we produce new major versions on a regular basis, and where features that don't make the cut in any one time frame are bumped ahead.