Questions tagged [semantic-versioning]
De-facto standard for using multi-part version numbers like {major}.{minor}.{patch-level} followed optionally by pre-release labels.
123
questions
0
votes
3
answers
368
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 ...
2
votes
2
answers
349
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 ...
1
vote
2
answers
411
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 ...
0
votes
1
answer
144
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 ...
1
vote
4
answers
321
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 ...
-2
votes
2
answers
353
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
198
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 ...
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. ...
0
votes
6
answers
408
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, ...
12
votes
2
answers
2k
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 ...
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 ...
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 ...
2
votes
0
answers
276
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 ...
4
votes
2
answers
1k
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 ...
0
votes
1
answer
741
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 ...
1
vote
2
answers
215
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 ...
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 ...
2
votes
2
answers
442
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 ...
-2
votes
1
answer
162
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 ...
1
vote
1
answer
300
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 ...
6
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 ...
-1
votes
2
answers
744
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 ...
4
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 ...
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 ...
1
vote
1
answer
484
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 ...
-1
votes
2
answers
100
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 ...
0
votes
3
answers
161
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 = $...
3
votes
3
answers
733
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
183
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 ...
0
votes
2
answers
513
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 ...
3
votes
1
answer
253
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
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 ...
1
vote
0
answers
236
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 ...
1
vote
1
answer
228
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/...
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 ...
-1
votes
2
answers
585
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
363
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 ...
0
votes
2
answers
152
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 ...
2
votes
1
answer
52
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
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'...
0
votes
1
answer
753
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 ...
2
votes
1
answer
560
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 ...
0
votes
1
answer
172
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 ...
0
votes
1
answer
468
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 ...
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
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 ...
0
votes
1
answer
286
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 ...
1
vote
2
answers
254
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
1k
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 ...