This issue is to trigger a discussion after #16 bumped the doctrine/doctrine-bundle dependency from ^1.6.10 to 1.6.10|^2.0. This was released in 1.0.7 and causes some problems for people (also see #17).
DoctrineBundle 1.12 adds a deprecation layer to allow for an easier upgrade path, similar to the one from Symfony 4.4 -> 5.0. However, since this dependency change was hidden in a patch release, many people went from 1.11 directly to 2.0, which breaks their applications hard in some cases.
A similar thing happened with 1.0.6, where an equivalent change to the doctrine/doctrine-migrations-bundle dependency caused BC breaks for people (see #15).
As a result of this, I would like to trigger a discussion on how to version packs to better allow people to control their dependency versions without having to unpack a pack.
Adding new versions of a dependency
When a new major version of a dependency is added (as happened with the two bundles), the next release of the pack should also be a major version bump. This allows people to choose when they want to upgrade to the next major version.
When a new minor version of a dependency is added, the next release of the pack should be a minor version bump.
Removing dependency versions
Bumping the minimum version of a dependency should trigger a new minor release of the pack.
Adding new dependencies
New dependencies (e.g. previously unrequited packages) should not be done in patch releases but at least require a minor version bump.
Dropping dependencies
Dropping a dependency entirely should trigger a major version bump.
I believe that the strategy above would help reduce the pain of upgrading packages in a pack, albeit at a slightly higher maintenance cost (which could be taken care of with tooling). What do you think @nicolas-grekas @fabpot?
This issue is to trigger a discussion after #16 bumped the
doctrine/doctrine-bundle
dependency from^1.6.10
to1.6.10|^2.0
. This was released in 1.0.7 and causes some problems for people (also see #17).DoctrineBundle 1.12 adds a deprecation layer to allow for an easier upgrade path, similar to the one from Symfony 4.4 -> 5.0. However, since this dependency change was hidden in a patch release, many people went from 1.11 directly to 2.0, which breaks their applications hard in some cases.
A similar thing happened with 1.0.6, where an equivalent change to the
doctrine/doctrine-migrations-bundle
dependency caused BC breaks for people (see #15).As a result of this, I would like to trigger a discussion on how to version packs to better allow people to control their dependency versions without having to unpack a pack.
Adding new versions of a dependency
Removing dependency versions
Adding new dependencies
Dropping dependencies
I believe that the strategy above would help reduce the pain of upgrading packages in a pack, albeit at a slightly higher maintenance cost (which could be taken care of with tooling). What do you think @nicolas-grekas @fabpot?