Questions tagged [semantic-versioning]

De-facto standard for using multi-part version numbers like {major}.{minor}.{patch-level} followed optionally by pre-release labels.

Filter by
Sorted by
Tagged with
-2 votes
2 answers
158 views

What should my next SemVer version number be?

For a frontend web app version 3.9, we have a visual change that I would constitute as a backwards compatible (as far as the API) new feature. Therefor, my SemVer instinct is to bump the minor version ...
5 votes
1 answer
151 views

Keeping version parity between platforms

I'm in the mobile development domain and I use semantic versioning to version my releases. I keep both versions the same as long as new builds are released for both iOS and Android platforms at the ...
  • 391
12 votes
4 answers
3k views

Guidance on rectifying a minor bump that should have been a major bump

We have product X which has the following semver versions: 1.0.0, 1.1.0, 1.2.0, ..., 1.10.0. In version 1.5.0, we introduced a feature which changes the way the application is consumed in a big way. ...
0 votes
6 answers
348 views

Should modifying a hash function be considered a breaking change?

Semver specifies to update the major version on a backwards incompatible change. Would modifying the behavior for the hash function of a custom type fall under this category? I asked a couple friends, ...
7 votes
2 answers
845 views

How do I choose a versioning scheme when Semantic Versioning (SemVer) isn't appropriate?

All too often, I see people people pointing out flaws in Semantic Versioning (SemVer), or pointing out that it doesn't apply to huge categories of software. (See quotes below). In particular, SemVer ...
  • 1,352
18 votes
5 answers
3k views

What Semantic Version increment to use for a filename change?

I have a program that runs on command-line, let's call it myprogram 1.0.1. It's published on GitHub. Now I discovered that name already exist for a well-know software, so I want to change the name ...
  • 309
1 vote
3 answers
460 views

Semantic versioning on a dev dependencies change

There are a few threads about how to handle the version number with semver upon changes in dependencies (usually resulting in a +1 to the patch number). Mine is probably a corner case: what if you are ...
2 votes
0 answers
170 views

Is branch-per-release trunk-based development incompatible with semantic versioning?

For the purposes of this question it will be assumed that the conventional commits spec is used as a version driver for semantic versioning. Given a project is in active development. Releases are ...
  • 29
2 votes
2 answers
560 views

Is updating to a new .NET-version a major or minor version change when using SemVer?

When updating to a new major version of .NET (in this case from .NET 5 to .NET 6) without needing to make any change other than selecting the new target framework in Visual Studio, does this warrant a ...
  • 39
0 votes
1 answer
431 views

How to implement automatic SemVer from code changes [closed]

Goal I'm working on libraries published as nuget packages and I would like the version of those packages to update automatically based on the changes I make. In other words, I would like something ...
  • 214
1 vote
2 answers
120 views

GitHub Versioning - Organizing Structure

I am making a JS library that creates graphs and charts using canvas. I have hosted it on GitHub as a public repository. So after looking at some other related questions, I have figured out two ...
0 votes
2 answers
697 views

Semantic versioning for SPA applications with a RESTful backend

I am building an Angular web application with a RESTful backend. I plan on using semantic versioning to differentiate between different releases. I've already read a bit about how to implement ...
  • 123
1 vote
2 answers
306 views

How to bump version (SemVer conform) after updating underlying database

I have a service that uses a package which is basically just a wrapper around an ElasticSearch index. I had to update the index as new data is added on a yearly basis. The source of the data needs to ...
  • 121
-2 votes
1 answer
118 views

Version naming for source code with multiple build targets

I have a Java library which is deployed automatically to Maven central. Right now this library has Java-1.8 target SDK, I want to continue releasing source code with this target and add new target ...
  • 126
1 vote
1 answer
198 views

Semantic Versioning for CSS

I maintain a CSS framework that is versioning with semantic versioning. What changes to a CSS framework are considered major, minor, and patches? Specifically, what is the "API" of a CSS ...
  • 127
6 votes
3 answers
1k views

How to deal with SemVer in a build number based company

My company uses Major.Minor.Patch.Build for our version numbers. When a new release is started, the Major.Minor.Patch part is set. Then as work is done, the build number goes up until a build is ...
  • 4,008
-1 votes
2 answers
492 views

How to version bug fix of library for earlier release?

I'm kinda new in versioning. In my scenario, for example, our main project is currently developing in 2.1.0 (develop branch), while the library version remain same as 1.5.0 since nothing change (for ...
  • 17
2 votes
1 answer
644 views

Which SemVer version to use between releases?

I'm working on a project that uses Semantic Versioning. The commit history can be generalized as: Also, the current version is present in source code (so that the software can use it for various ...
  • 139
1 vote
3 answers
2k views

When to increment build number?

I'm reading a book which says: The third number, 719, indicates the build of the assembly. If your company builds its assembly every day, you should increment the build number each day as well. so ...
  • 129
1 vote
1 answer
231 views

How do deal with bugs in semantic versioning introduced in old branches

My question relates to semantic versioning (specifically as specified here). Say I have some feature I introduced in version 1.10.0 and then some time later (let's say the project has advanced to ...
  • 129
-1 votes
2 answers
99 views

Versioning of re-implementation - same idea, same name, new project and repo - 1.0.0 or 2.0.0?

Assuming that we have a project called: "WizardProject". The WizardProject, which currently stands at version 1.x.x, has a mostly Java based stack and active development has been ...
1 vote
1 answer
2k views

What's the best practice to use semantic-release to update version number in a node.js or frontend project

I'm using semantic-release to auto find out the next version based on the git commit. It's working fine with creating new version, upload to npm and create new git tag. And semantic-release is ...
  • 139
0 votes
3 answers
153 views

Should it be considered a BC break to return clone instead of new self?

(This question applies to the equivalent code in both Java and PHP) I have a class like this: class Foo { private int $bar; public function __construct(int $bar) { $this->bar = $...
  • 618
2 votes
3 answers
578 views

How is a reproducible build guaranteed with version ranges in NPM?

I know with NPM caret, tilde and some logical operators can be used to specify version ranges. This post explains a bit on how this works. The problem now is I find it hard to reconcile the use of ...
0 votes
2 answers
168 views

What can be used as abbreviation for perpetual beta?

According to Wikipedia, we talk about stages of development; prealpha alpha beta release candidate stable But, beta also have 2 sub-stages; perpetual beta open/closed beta Now if we were to ...
  • 119
0 votes
2 answers
363 views

Why are minor versions of dependencies pinned, despite possibly having bugs?

I am an amateur developper and I deploy my (home oriented) code to containers. This is usually Python and JavaScript. JavaScript, when saving dependencies for a further npm install, will pin the ...
  • 1,551
3 votes
1 answer
209 views

Projects version and database compatibility

We are trying to fix our's company versioning of several modules and I'm not sure how to consider Database compatibility when versioning. The same Database is used for a lot of applications and we're ...
7 votes
2 answers
864 views

Versioning in parallel features development

I have a library (npm package, LIB) which is used by the application code (APP). In a release of APP, multiple features are worked on parallely. Sometimes these features need support from LIB, so the ...
  • 197
1 vote
0 answers
167 views

Gradle + Git - enforcing a version change upon merge to master

I am leading a team of developers creating a Java library. We are following the standard Semantic Versioning model. The code is versioned with Git. Artifacts are built and pushed to an artifact ...
  • 259
2 votes
1 answer
175 views

Implementing semver within a development pipeline when building libraries

This is not about the specification of semver itself (which is crystal clear), but rather about the best approach to implement it within a development pipeline when building libraries. TL;DR: who/...
  • 640
24 votes
3 answers
4k views

How to change the semantic version number when reverting the last major change

I am trying to plan a system which validates the compability of different components by comparing their semantic versioning number, especially the major release number (since it indicates API changes ...
  • 377
-1 votes
2 answers
494 views

Git Tagging for SaaS application with CD and SemVer

I'm developing a SaaS application where I'm required to keep track and publish every change in a changelog. I've started to follow a Semantic Versioning approach and also using Continuous Delivery. ...
3 votes
3 answers
293 views

In SemVer, am I allowed to change the in-practice behaviour of undefined behaviour usages

I maintain a small (tiny!) .NET library. It has a few ill-defined edge cases, which I call out explicitly in the docs. Places, where the "correct" behaviour is not self-evidently well-defined, so I ...
  • 140
0 votes
2 answers
139 views

Can a library reach v1.0 when its dependencies haven't?

Some widely used libraries are still versioned 0.x, which under semantic versioning, means they might break the API at any time. Examples of such libraries: numba v0.46, 1.2 million downloads on ...
  • 1,010
2 votes
1 answer
48 views

Should I update the major version of a consumer package if one of its critical dependencies has a major update?

This is a scenario I have seen: I have a shared library with code that fetches data from an api. Let's call this ApiProvider. Currently this ApiProvider is in version 1.1.1 and is currently pointing ...
2 votes
3 answers
902 views

Switching to semantic versioning from simple version numbers

There's a software library / application / framework which currently uses "simple version numbers". So it's currently at (say) version 135 and releases are made in irregular intervals whenever "there'...
0 votes
1 answer
515 views

Proper version incrementation with multiple bug fixes in same release

Say I have a three PRs going into the next release. Each PR is a bug fix and all have been approved for the next release. If the current version is 2.3.1, should the next version be 2.3.2 (count all ...
  • 135
2 votes
1 answer
356 views

How to handle patch version bumps for docker images when the software itself is unchanged?

Let's say I'm maintaining a piece of software that I version following the semver spec. I am also maintaining a docker image for said software, tagged with version tags. What do I do if I need to ...
  • 1,301
0 votes
1 answer
149 views

How far to go with semantic versioning?

Say you have an interface with a function List<A> doSomething(Collection<B> bs). Looking at Java's List interface and its JavaDoc I could return an immutable List which doesn't support ...
  • 197
0 votes
1 answer
373 views

How does a software engineer version two minor updates at the same time?

In a web app I am building, I might finish two distinct minor features at the same time: Implementation of a new web page, and implementation of the notification bar. After merging both of these into ...
  • 157
1 vote
1 answer
1k views

Microservices Versioning - Design Pattern

I have a few questions regarding the versioning in the microservices architecture: Let's say there are three services - S1, S2, S3 S1 calls S2 and S3 to generate a response R1. Service S2 generates ...
4 votes
1 answer
959 views

Is it okay to use a patch version in semver when updating documentation?

How does one go about e.g. missing documentation in the source files when using semver? I have just released 1.0 of my library and noticed that a class is missing JavaDoc - is it ok to release a PATCH ...
  • 197
0 votes
1 answer
235 views

Change semver versioning after dropping node eninge versions

I doubt about to which semver version I should update my public NPM package. I didn't change any code, but I had to drop some node engine versions due to a dependency package which had a major update ...
  • 111
1 vote
2 answers
187 views

How to manage updates after a release?

I wonder how should we manage the commits we make AFTER a version is released, according to SEMVER. For example, I just released 1.0.1, now I have 2 choices: Immediately change version to 1.0.2 and ...
2 votes
1 answer
995 views

Using semantic version with trunk based development for Python package

I am trying to understand trunk based development with semantic versioning for a Python project. Has anyone had any experience of adopting a trunk based development with semantic versioning for ...
  • 133
3 votes
1 answer
287 views

Semantic Versioning - going from one major version to another?

How should versions be bumped during development between two major versions? For example let say I have version 1.5.0 and my target is to release new major version that will be incompatible with major ...
  • 149
4 votes
1 answer
888 views

What would be the pros and cons of requiring major versions to be forward compatible? [closed]

So I was learning about forward compatibility, and I was wondering if you could warn a "dependent" that a dependency is backward compatible, but not forward compatible*, and vice-versa. The SemVer ...
  • 149
33 votes
4 answers
6k views

When should a commit not be version tagged?

Context: I recently found out about Semantic Versioning, and am trying to determine how to best use it practically for my own projects. Given that semver takes major changes, minor changes, and ...
  • 439
-1 votes
1 answer
377 views

How to use Semantic Versioning on Existing Multi Component Codebase?

I am working on a multi contributor project, having ~2500 Commits. It has multiple components, i.e. Frontend, Backend and Data Processor/DB Ingestion. Now that we are expecting more contributors, a ...
7 votes
2 answers
233 views

Semantic Versioning

If a change compiled/built but the semantics were different would it be considered a major change? For example, suppose a time string returned was the same format but now was CET rather than, say, ...
  • 79