symfony / orm-pack

A Symfony Pack for Doctrine ORM
MIT License
1.82k stars 18 forks source link

Tag new versions depending on dependency changes #18

Closed alcaeus closed 4 years ago

alcaeus commented 4 years ago

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

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?