From: Martin Holmes
Subject: oxygen-tei plugin versioning and release process
Hi all,
I've been talking with Alex from Oxygen on a ticket on the oxygen-tei
plugin repo about something that Council really needs to decide on.
One of the reasons we release the stable plugin is so that people who
use older versions of Oxygen and can't afford to upgrade can still get
the latest TEI and Stylesheets code. For that reason, we've tried to
keep our plugin compatible with older versions (currently we still
support 15.2).
The problem with that is that as Oxygen moves forward and adds new
features, we're still building our plugin against an older Oxygen
codebase, and therefore installing the plugin can't take advantage of
newer features that might be available (such as the Image Map
functionality that's recently been added).
What I hadn't really realized before Alex explained it is that you can
have multiple versions of a plugin which are targeted at different
versions of Oxygen. That would enable us to do something like this:
1. Make a tag of the current master branch as 15.2-compatible (so master
can be moved forward later without confusion).
2. Create tags for each significant Oxygen version change which may
prevent an older version from installing the plugin, or will impact its
behaviour. The Oxygen folks will help us with that.
3. Build stable versions of the plugin for release based on each of
these, and link to them in the update file, with their maximum supported
Oxygen version number specified.
4. Build our "bleeding edge" plugin version against the
oxygen_integration branch, which is up to date with the latest Oxygen
dev code, so that we get some warning of any upcoming changes to Oxygen
that may affect the plugin.
Pros: End-users should have more reliable Oxygen functionality within
the plugin, and be able to take advantage of all the Oxygen features
supported by whatever version they're using.
Cons: More complexity in the build process, and more versions of the
plugin to version, store, serve and explain.
Does this make sense to everyone? Do we want to continue to maintain
compatibility with version 15.2, or should we move that forward a bit,
and if so how much?
Cheers,
Martin