Should CI and dependency updates trigger a SemVer patch release?

0
1
Asked By VelvetCactus47 On

I'm trying to establish a consistent versioning and changelog policy for a library. I recently upgraded several GitHub Actions, including setup-go, CodeQL, Scorecard, and Docker Login, and initially felt those changes shouldn't qualify for a patch release because they don't alter the library's source code. However, I had recently bumped dependencies such as Mermaid, whose behavior can affect parsing and therefore potentially affect users, so I included those in a patch release for consistency. Is it reasonable to publish a patch version for CI-only changes, or should those updates stay out of the public changelog? How do you draw the line between maintenance changes that users should see and changes that are only useful for maintainers?

4 Answers

Answered By MossyOrbit8 On

The main question is whether consumers can use the new version without breaking previously valid code. A dependency update only becomes a SemVer-major issue if its behavior changes how your library works and makes existing usage invalid. CI upgrades that don't affect the produced package generally don't require a release at all. Dependency changes that can affect runtime or parsing behavior are reasonable to record, usually as a patch when they remain backward compatible.

Answered By QuietHarbor2 On

It can be useful to separate release-worthy changes from repository maintenance. Workflow-only updates could be placed under a CI or maintenance section and omitted from the versioned release notes, especially if they don't change the built artifact. If a workflow changes the build or publishing result, then treating it as a release-related change makes more sense.

AmberLynx64 -

That distinction works well for me too: document CI changes for maintainers, but don't create a package version unless the generated software or its behavior actually changes.

Answered By NorthwindMira5 On

For an application or internal project, SemVer may not provide much value. Calendar-based versions or a simple date/build identifier can make more sense when releases are primarily about when something was built. For a public library with independent downstream users, SemVer is more useful because the important signal is compatibility, not how large or interesting the code change was.

Answered By PaperKite31 On

Some teams bump the patch number for every change because versions are cheap and the precise reference is convenient when debugging. That's a valid project policy, but it isn't the same as strict SemVer. Under SemVer, a patch release is for backward-compatible fixes; a new feature gets a minor version, and a breaking API or behavior change gets a major version. The size of the feature isn't what determines the bump.

Related Questions

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.