Search code examples
semantic-release

How to do a recovery release using semantic-release?


Say the package was on 1.0.0, it subsequently releases 1.0.1, and 1.0.2.

But then realize that 1.0.1 contains breaking changes.

So we need to release a 2.0.0 from 1.0.2 doing an empty commit. No problem there.

Then, we need to make a 1.0.3 release that is actually 1.0.0 so that people on 1.0.x will not be affected by the breaking change.

How to do it using semantic-release?

When managing the version manually, it is simple:

  • checkout 1.0.0, manually update the version to 1.0.3, and publish.

How to do the same using semantic-release?


Solution

  • There is currently no way to do that in an automated fashion. This would be covered once https://github.com/semantic-release/semantic-release/issues/563 is implemented.

    Currently the best solution is to do what you described: checkout 1.0.0, manually update the version to 1.0.3, and publish.