well-typed / optics

Optics as an abstract interface
374 stars 24 forks source link

Versioning #504

Open arybczak opened 10 months ago

arybczak commented 10 months ago

Looks like minor version of optics-core (0.4.1) is now behind optics (0.4.2) and optics-extra (0.4.2) :thinking:

How do we get that under control? Should we skip 0.4.2 for optics-core and go directly to 0.4.3 with all?

phadej commented 10 months ago

https://github.com/well-typed/optics/pull/312#issuecomment-612912594 I also explained this kind of out-sync situation in https://github.com/well-typed/optics/pull/312#issuecomment-612919951 but neither you nor @adamgundry have responded to that, so I'm not sure what we agreed to do, if anything at all.

How do we get that under control? Should we skip 0.4.2 for optics-core and go directly to 0.4.3 with all?

optics-core release forces optics release, but it doesn't force optics-extra release. In my opinion re-releasing a package version with another version without any changes is not great.

But if there is desire to keep versions aligned, then there could be optics-core-0.4.3 and optics-0.4.3 releases, and optics-extra "lagging" at 0.4.2 (the same way as optics-core is lagging now).


TL;DR my proposed policy is "if you don't have anything to mention in the changelog, you shouldn't make a release either".

arybczak commented 10 months ago

there could be optics-core-0.4.3 and optics-0.4.3 releases, and optics-extra "lagging" at 0.4.2 (the same way as optics-core is lagging now).

Looks like a good solution to me :+1:

adamgundry commented 10 months ago

This sounds like a good approach to me too. So we don't re-release unchanged packages (relax bounds instead), but when we are making a release we skip intermediate minor versions to keep things aligned as much as possible.