This is required here in order for the "cow" release tool
to include the module in tagging releases.
At the moment, it's only an indirect asset-admin dependency,
but will become a framework dependency once we switch
CampaignAdmin to use GraphQL as well.
Although the original ticket recommended increasing our
minimum-stability, this change gives us the best of both worlds.
- Where stable packages are available and meet the requirements, they
will be used.
- Where stable packages aren’t available or they don’t meet the
dependency requirements, non-stable packages are still allowed.
As part of this I have also tightened up the silverstripe-themes req
version, as “*” is an anti-pattern. The versioning of the theme has
rightly split off from the versioning of the framework; it looks like
3.1.* is what we should expect.
Arguably, we could set the dependency to ~3.1, but in this case I think
it’s fine to be conservative.
With this change, composer will automatically call dev/build after an update or install
command. The main reason that this is 3.1-only is that previous releases would have
necessitated the use of 'sudo -u www-data', which is too environment-specific.
One thing that this may cause problems with is 'composer create-project' in an environment
without a _ss_environment file. It will call dev/build, and dev/build will throw an
error. That should be fixed in a subsequent commit.
Now that https://github.com/composer/composer/pull/1883 is in Composer, self.version
will work as a requirement for framework & cms. This will simplify the release
process a great deal.
Ultimately, the release of rc1 will be the place to test that, but it seems appropriate
to get this in there for that.
If it succeeds with 3.1-rc1, I'd suggest we backport to 3.0 and 2.4.