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
9 votes
3 answers
6k views

How should source code unit tests affect semantic versioning?

I recently started using Semantic Versioning. Due to conflicts with my previous versioning convention (which I created myself), I am very confused about versioning unit tests as part of the public API....
KhodeNima's user avatar
  • 225
-2 votes
1 answer
136 views

How to go about version numbers in a C# solution

My current situation: I would like to apply this to a solution containing multiple projects (one executable and different libraries) in C#. Additionally, I have a project that packs the executable, ...
jav's user avatar
  • 113
0 votes
3 answers
422 views

Can 1.0.1 be launched right after 1.1.0?

I know that it is common for software to have parallel development in major versions, such as v1 (1.x.x), which can be completely different from v2. Regarding Semver (Semantic Version), can I upgrade ...
lvf23's user avatar
  • 47
2 votes
2 answers
624 views

How do I properly apply semantic versioning if I have more than three components in my version?

I am preparing a software package for internal consumption in my organization. It will be published on our internal non-public npm feed. The used technology (npm) requires me to adhere to semantic ...
F-H's user avatar
  • 131
1 vote
2 answers
909 views

When should release versions be bumped?

I want my projects to be SemVer compliant. I follow a trunk-based development approach. I also want to keep things as simple as possible. I assume that each commit on main (default branch) is a ...
ebosi's user avatar
  • 119
0 votes
1 answer
246 views

Automatic detection of semantic versioning based on Python type hints

I am the maintainer of a Python library that uses semantic versioning. Skip the next paragraph if you are familiar with what it means. The rough and dirty explanation of semantic versioning is as ...
JMU's user avatar
  • 9
1 vote
4 answers
405 views

Do you increment software version when updating non-functional parts of the code such as deployment scripts or README file?

Currently, my repo contains application code and what I call non-functional files, which include deployment scripts, README file, build system requirements, dependencies etc. These files are released ...
tera_789's user avatar
  • 243
-2 votes
2 answers
424 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 ...
Kyle Vassella's user avatar
5 votes
1 answer
219 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 ...
Isuru's user avatar
  • 391
12 votes
4 answers
4k 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. ...
user2218154's user avatar
0 votes
6 answers
440 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, ...
Calvin Godfrey's user avatar
15 votes
2 answers
3k 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 ...
David Cary's user avatar
  • 1,462
18 votes
5 answers
4k 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 ...
Lawrence's user avatar
  • 309
2 votes
3 answers
2k 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 ...
floatingpurr's user avatar
2 votes
0 answers
315 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 ...
GDF's user avatar
  • 29
4 votes
2 answers
2k views

What kind of version change is updating to a new .NET-version 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 ...
Rsge's user avatar
  • 61
0 votes
1 answer
829 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 ...
Batesias's user avatar
  • 244
1 vote
2 answers
292 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 ...
TalinTheDev's user avatar
1 vote
2 answers
1k 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 ...
Maurice's user avatar
  • 133
2 votes
2 answers
465 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 ...
TomMP's user avatar
  • 131
-2 votes
1 answer
168 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 ...
g4s8's user avatar
  • 126
1 vote
1 answer
331 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 ...
Kyle Pollard's user avatar
  • 127
7 votes
3 answers
2k 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 ...
Vaccano's user avatar
  • 4,048
-1 votes
2 answers
830 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 ...
Neo's user avatar
  • 17
5 votes
1 answer
2k 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 ...
t-mart's user avatar
  • 169
2 votes
3 answers
3k 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 ...
amjad's user avatar
  • 139
1 vote
1 answer
605 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 ...
tom's user avatar
  • 129
-1 votes
2 answers
102 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 ...
tschaka1904's user avatar
2 votes
1 answer
3k 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 ...
Jake Lam's user avatar
  • 159
0 votes
3 answers
163 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 = $...
SOFe's user avatar
  • 708
3 votes
3 answers
829 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 ...
Finlay Weber's user avatar
0 votes
2 answers
189 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 ...
Keimeno's user avatar
  • 119
0 votes
2 answers
567 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 ...
WoJ's user avatar
  • 1,563
3 votes
1 answer
266 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 ...
Victor Bello's user avatar
7 votes
2 answers
1k 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 ...
tbking's user avatar
  • 197
1 vote
0 answers
254 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 ...
J-bob's user avatar
  • 299
1 vote
1 answer
241 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/...
sp00m's user avatar
  • 640
25 votes
3 answers
5k 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 ...
Josef's user avatar
  • 387
-1 votes
2 answers
613 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. ...
Diego Jancic's user avatar
3 votes
3 answers
384 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 ...
Brondahl's user avatar
  • 139
0 votes
2 answers
159 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 ...
gerrit's user avatar
  • 1,090
2 votes
1 answer
53 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 ...
Rafael Rozon's user avatar
3 votes
3 answers
1k 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'...
Daniel Jour's user avatar
0 votes
1 answer
825 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 ...
colefner's user avatar
  • 135
2 votes
1 answer
670 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 ...
Anders's user avatar
  • 1,351
0 votes
1 answer
178 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 ...
roookeee's user avatar
  • 197
0 votes
1 answer
534 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 ...
Marvin's user avatar
  • 195
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 ...
rohanagarwal's user avatar
4 votes
1 answer
1k 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 ...
roookeee's user avatar
  • 197
0 votes
1 answer
296 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 ...
Tarabass's user avatar
  • 111