Questions tagged [semantic-versioning]
De-facto standard for using multi-part version numbers like {major}.{minor}.{patch-level} followed optionally by pre-release labels.
118
questions
67
votes
1
answer
13k
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 ...
49
votes
2
answers
25k
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 ...
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 ...
29
votes
3
answers
4k
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 ...
29
votes
2
answers
18k
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 ...
27
votes
5
answers
16k
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 ...
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 ...
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 ...
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 ...
18
votes
2
answers
1k
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 ...
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 "...
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 ...
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. ...
10
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 ...
9
votes
1
answer
3k
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 ...
9
votes
2
answers
8k
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 ...
8
votes
1
answer
869
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 ...
8
votes
3
answers
6k
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 ...
8
votes
2
answers
1k
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 ...
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. ...
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 ...
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 ...
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, ...
7
votes
2
answers
925
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 ...
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 ...
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 ...
6
votes
3
answers
6k
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 ...
6
votes
2
answers
723
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 ...
6
votes
1
answer
647
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,...
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 ...
5
votes
5
answers
2k
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 ...
5
votes
1
answer
153
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 ...
5
votes
3
answers
449
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 ...
5
votes
1
answer
370
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?
...
5
votes
1
answer
73
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 ...
5
votes
1
answer
185
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 ...
4
votes
2
answers
515
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
...
4
votes
2
answers
1k
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 ...
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 ...
4
votes
1
answer
923
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 ...
4
votes
1
answer
413
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 ...
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 ...
4
votes
1
answer
235
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 ...
3
votes
3
answers
302
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 ...
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 ...
3
votes
2
answers
666
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 ...
3
votes
1
answer
371
views
Version number for multiple softwares coming from same code base
We currently have a big code base from which we can generate 5 differents softwares.
The code base is composed of around 20 submodules which are used (or not) by each software.
Keeping a semver for ...
3
votes
1
answer
2k
views
Does Semantic Version use zero-based numbering?
Does 1.0.0 represent the first patch of the first minor version of the second major version? Or does it represent the first major version, with no minor or patch versions? I've always assumed it to be ...
3
votes
1
answer
220
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 ...
3
votes
1
answer
302
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 ...