Skip to main content
Share Your Experience: Take the 2024 Developer Survey

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
70 votes
1 answer
15k views

How does semantic versioning apply to programs without API?

In http://semver.org/ — which in my perception seems to be the most widely used convention in versioning — it is recommended to increase the major version number when a change that breaks/modify the ...
user avatar
51 votes
2 answers
29k views

Why is build.number an "abuse" of semantic versioning?

I was explaining a proposed build system (Gradle/Artifactory/Jenkins/Chef) to one of our senior architects, and he made a comment to me that I sort of disagree with, but am not experienced enough to ...
herpylderp's user avatar
  • 2,037
34 votes
4 answers
7k 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 ...
VortixDev's user avatar
  • 449
32 votes
2 answers
25k views

Does Semantic Versioning allow 4 components in version numbers?

All examples of semantic versioning I've seen show 3 components in use. No more than 2 period characters. At $DAYJOB, we use 4 components in our release numbers: 5.0.1.2 Does Semantic Versioning ...
void.pointer's user avatar
  • 5,073
29 votes
3 answers
5k views

Semantic versioning for desktop applications [duplicate]

I can easily follow the Semantic Versioning recommendations if I develop a library or API, but what if the developed product is a website or a desktop application? When would you increment a major ...
zerkms's user avatar
  • 776
28 votes
5 answers
20k views

When should I increment version number?

I didn't learn programming at school and I do not work as a (professional) developer, hence a lot of basics are not quite clear to me. This question tries to clarify one of them. Now let's suppose ...
ahmed's user avatar
  • 413
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
19 votes
4 answers
2k views

Is fast major version bumping an evidence of poor design?

I started a job as junior programmer a few months ago. The system we are working on has been in production for ~2 years. I wasn't involved in the begging of the system and the design. One thing I ...
user367035's user avatar
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
18 votes
2 answers
2k views

Semantic versioning when fixing an important bug

I currently manage a library which has a lot of public usage, and I had a question about semantic versioning. I want to refactor one fairly important part of the library which is implemented ...
hohner's user avatar
  • 233
17 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,482
15 votes
5 answers
1k views

How to treat bugs that users thought were a feature?

Question: What is the proper way to address a bug that an end-user thought was a feature? Elaboration: I'm guessing that if a large percentage of users expected it as a feature, it should be left "...
robodude666's user avatar
15 votes
3 answers
2k views

What version numbers should I assign to builds on different branches as part of continuous integration for NET Core-based projects?

Overview I'm developing a number of .NET Core applications and I've met my current sprint commitments early. Until my next sprint begins, I'm using the slack to look into setting up a CI pipeline for ...
Tagc's user avatar
  • 439
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
11 votes
3 answers
8k views

Is a breaking change bug fix a semver patch or a major?

Your package has a bug. Its API in some scenarios doesn’t follow the documentation and the intended behaviour. It has been that way since it was v1.0.0. You fix it to match the documentation. Should ...
Matt Harrison's user avatar
11 votes
2 answers
9k views

What is a predictable versioning strategy for a monorepo using semver?

To simplify deployment and project management tasks I maintain a monorepo containing several packages that each have a semver version. To be clear, I don't mean several repositories managed from one ...
Sage Gerard's user avatar
11 votes
2 answers
5k views

Using Gitflow and Semantic Versioning: How to avoid version number conflicts when merging?

I want to use gitflow in combination with semantic versioning. In gitflow, you bump version numbers on every release or hotfix branch. This inevitably leads to version conflicts if a new development ...
Franz Wimmer's user avatar
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
9 votes
1 answer
4k views

Semantic versioning with bugfixes and new features in the same release

After reading a lot about semantic versioning I got a basic understanding of the concept but I'm not sure what's the best way to increment the version number in the following case: Let's pretend that ...
user3147268's user avatar
8 votes
1 answer
1k views

In SemVer should I increase the version on every commit/accepted pull request

Running a community project. Have a few pull requests that have been made and the version of our product is currently 2.5.0 All 3 of the changes are feature adds but are backwardly compatible. Should ...
PatrickWalker's user avatar
8 votes
3 answers
1k views

Git, semantic versioning and how it fits into (my) a typical development timeline?

I'm working on a Q&A system and about to tag my current application with "1.0.0" for it's first official version/tag. It's about to be rolled out for beta testing to a limited test audience next. ...
Martyn's user avatar
  • 795
8 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
8 votes
3 answers
4k views

How to use Git Flow with multiple dependent projects

We are trying to work through an effective branching strategy for our organization so releases, versioning and such are all handled consistently. We have many C#-based solutions, each with anywhere ...
kingofzeal's user avatar
7 votes
2 answers
1k views

When and how to do a release?

Scenario I have a plugin for CakePHP 3, which I am working on and people are submitting bugs for it. I have an active development branch in develop to which I send pull requests from fix branches. I ...
David Yell's user avatar
7 votes
2 answers
236 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, ...
KDW's user avatar
  • 79
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
6 votes
4 answers
2k views

How to Name Different Branches with Identical Functionality in Semantic Versioning

For a software, I have two different branches, that only differ in using different library versions of a package, that my software uses. The API of this library has changed between the versions in a ...
Residuum's user avatar
  • 3,322
6 votes
3 answers
9k views

How to version, with semantic version, when a bug is fixed between a stable version and unstable version

I have a doubt with semantic versioning. I'm working with semantic version like is shown in semver Imagine this scenario: A stable version, named as 1.1.0 An unstable version, named as 1.1.1-rc1 A ...
Miguel Ángel García Gómez's user avatar
6 votes
2 answers
1k views

In the context of semantic versioning, does a change in the default configuration warrant a new major version?

My module is enabled by default (i.e. when you add the module). There's also a configuration you can optionally use, which supports an enabled="true|false" setting. This way the module can be disabled ...
Michiel van Oosterhout's user avatar
6 votes
1 answer
941 views

How to convert the last rc (or other pre-release) into the production version using semver?

Semantic versioning encourages using suffixes to indicate pre-releases: alpha, beta or rc builds. Their purpose is well known and documented. It's also a given that once you create a build or version,...
Vincent Sels's user avatar
5 votes
2 answers
2k views

Semantic Versioning in OpenAPI with string "enum": new values OK?

My team is preparing to add new capabilities to an OpenAPI contract and our implementation of it. There are pre-existing clients. We are planning to take our API from v1.1 to v1.2 while fully ...
wberry's user avatar
  • 481
5 votes
5 answers
3k views

What Semantic Version increment to use for a configuration file alteration?

Using Semantic Versioning, I have a product that is version 1.0.0. It has a configuration file entry shipped with the product that specifies an operation timeout value: myTimeout=1000 I need to ...
thehowler's user avatar
  • 199
5 votes
1 answer
224 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
5 votes
3 answers
491 views

Best practices on sharing code between open source libraries

I have an Android library used by a decent amount of people, let's call it library A. I am building a second library, library B. The two libraries are conceptually related, they solve different ...
Pierfrancesco Soffritti's user avatar
5 votes
1 answer
391 views

Multiple git repositories with a common core lib

I have several git repositories for a web project that share a library of common code. I don't want to repeat the common code inside for each repo. What are some ways others have solved this problem? ...
Zach Rattner's user avatar
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
5 votes
1 answer
347 views

How to version a project with dependencies and data sources

My apologies if my question is not gonna be clear as I do not have experience in the domain of versioning products/projects. And starting: I have a project which has multiple libraries and data ...
Mpizos Dimitris's user avatar
5 votes
1 answer
77 views

Should I treat additional linter restrictions as breaking backwards compatibility?

I'm maintaing a linter library, so this it's basically a set of rules checked against some code one can pass to it. Say, we have rule A which checks some set of cases. Now imagine that some commit ...
shabunc's user avatar
  • 2,454
5 votes
1 answer
198 views

Dependency management for facades/adapters to cloud services (SemVer?)

Suppose I have a library, that basically works as a facade to some cloud service (e.g. JavaScript API that wraps around network calls to some RESTfull service). And once that service introduces a ...
Roman Bekkiev's user avatar
4 votes
2 answers
4k views

What should be the version of the very first build of a software? [closed]

As the title explains the question, let's assume that we're using versioning as major.minor.revision.build. What should the initial version of a software build be? 0.0.0.1 or 0.0.0.0 or anything else?
iGoodie's user avatar
  • 89
4 votes
2 answers
531 views

Versioning Apps with SemVer

I've really big problems with versioning my apps. I'm trying to follow SemVer methodology (I'm not sure if it's a methodology or just set of rules). I've draw a roadmap for my app's versions. 1.0.1 ...
Eray's user avatar
  • 336
4 votes
2 answers
2k views

Semantic Version Change (to application) when Upgrading Libraries Involved

So I have an application that utilizes 14 different libraries. It's been a while since I have updated this application and one or more of the libraries involved have since experienced a major revision ...
Snoop's user avatar
  • 2,738
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
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
4 votes
1 answer
455 views

Is it appropriate to use Semantic Versioning for the specification for a key/value file format?

I'm writing a Python tool to convert/store the data from a commonly used plaintext file format for volumetric data generated by computational chemistry calculations into the binary HDF5 format using ...
hBy2Py's user avatar
  • 151
4 votes
1 answer
1k 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 ...
CidTori's user avatar
  • 149
4 votes
1 answer
758 views

Publishing versions out of order

Does npm allow you to publish earlier versions of a package? The only documentation I could find was on npm’s site: [npm-publish] Fails if the package name and version combination already exists in ...
chharvey's user avatar
  • 264
4 votes
1 answer
1k views

When do I update the Git repo package.json/version release?

I am starting to get into versions/releases more now with Git and wanted to know if the structure I am doing now is correct. Right now, there is typically a few feature branches. A few commits from ...
Miura-shi's user avatar
  • 183
3 votes
3 answers
385 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
  • 138
3 votes
3 answers
1k views

Why do we must declare a public API when using semantic versionning?

from semver.org: Software using Semantic Versioning MUST declare a public API. This API could be declared in the code itself or exist strictly in documentation. However it is done, it should be ...
Vinz243's user avatar
  • 217