Questions tagged [versioning]
Versioning is the way in which successive versions of the same software are identified using unique version names or unique version numbers.
341
questions
4
votes
5
answers
485
views
Is changing the signature of a callback a breaking change?
In Javascript, should appending to the signature of a callback be considered a breaking change?
I.e. given an operation op(target, callback) should changing it from callback(item, index, array) to ...
1
vote
4
answers
381
views
Empirical software engineering case on approaches to handling multiple versions, one file with ifs or several versions of program
I face the situation of having programs doing sets of requirements where this is substantial overlap. The obvious example, is a software firm supporting multiple customers that have similar but ...
0
votes
0
answers
40
views
Should I increment the MAJOR number in Semantic Versioning when I change the flow of the app? [duplicate]
We are developing a web application and we are in the version 1.2.0.
In the next release we will change the flow of the app by removing 2 pages and making other pages as Modals and change the user ...
1
vote
1
answer
157
views
Git Flow best practice for quarantine snapshot to staging environments (dev, test, prod)?
I have a CI pipeline that creates snapshot artifacts with constant version numbers after each commit to the development branch. Then the snapshots are deployed to the stages (dev, test) sequentially ...
0
votes
1
answer
82
views
Identify downsides: versioning auto-generated Terraform source code [closed]
HINT: the purpose of this question is to identify downsides for the scenario described. If something is a downside, then it should be quantifiable and it should clearly have a negative impact.
...
-2
votes
1
answer
424
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, ...
-2
votes
4
answers
1k
views
Compare version numbers
I need to compare versions of a software. The requirement is that I need to know if a given version is older (smaller), same or newer (higher) than another one.
The version format is XX.X.XX where:
...
-1
votes
1
answer
88
views
Is there any benefit/viability to sharing models across API versions that have differing schemas
I have been asked to get involved with a Team that is currently having delivery issues for various reasons. During my review I came across an acceptance criteria on a user story;
If you call v1 of ...
0
votes
0
answers
49
views
Automated API Versioning
I did research about this and I'm facing with two challenges:
how to handle version deprecation in my CI/CD pipeline, when we have more than one major versions officially functional and others ...
0
votes
2
answers
174
views
Is a 'base' file always necessary when doing a merge?
Are there any algorithms that can do or suggest merges without requiring the "base" file, the most recent common ancestor of the two file versions that we want to merge?
Is a manual merge ...
1
vote
0
answers
81
views
Is there a name for this partially ordered versioning scheme?
Versions are on the form:
x.y.z.[..]
Where these letters are numbers and there are arbitrarily many of them.
The first version is 1. The next one is 2. The only time when you
branch out to the next ...
5
votes
4
answers
2k
views
How to modify workflow to allow multiple features per release?
This question is inspired by comments on this recent question. In that question I asked about a version tagging workflow. A few commenters suggested it was a little strange that I'm tagging and ...
7
votes
3
answers
4k
views
How to automate version bumping, when version bumping involves changes in source code and a git tag?
I have a small open source package and I'm trying to automate parts of the release life cycle. I am very confused about how to automate version bumps. Here's the relevant information about my version ...
3
votes
2
answers
2k
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 ...
-1
votes
1
answer
45
views
How to use versions-maven-plugin with shared contracts?
Context:
We have Java maven Multi Microservices Project.
The structure for each microservice is a contracts package and a service package.
When we update a version of a specific microservice the ...
1
vote
4
answers
595
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 ...
0
votes
2
answers
139
views
How to seperately deploy two components of the presentation layer that both make use of one business component?
Context
I have a multi-tiered architecture that contains 2 presentation layers, one business layer and one data layer. See image below for a visualisation.
Here you can see that there are two ...
2
votes
4
answers
3k
views
How do you deploy and test a hotfix repo branch in different environments, Git Flow variants
I have done thru where do bug fixes go in git flow and the git flow and github flow pages.
There are scenarios many times when we need to show demo of new functionality and on same day fix issues of ...
0
votes
1
answer
212
views
How to decide when to increase the minimum supported C++ standard version?
I'm maintaining a library written in C++, which offers modern-C++ bindings for another API that's C-ish (it's this one, although I'm trying to make this question somewhat more general).
Now, when I ...
0
votes
2
answers
89
views
How do I control many datasets that are related and can change independently?
Background: I'm a scientist working with a small team on data analytics. No one on our team has any experience with software engineering, though I'm trying to change that.
Suppose I have an array A ...
2
votes
1
answer
145
views
Best way to handle versioning between a desktop product and a cloud product when one depends on the other
Let's say that there are two products, product A and product B.
Product A is a desktop product that customers download and install locally on their machine. This product follows a typical versioning ...
1
vote
2
answers
112
views
What is the most efficient approach about dependencies versions?
Recently I had many problems opening old projects, which had all dependencies in package.json defined with ^ x.y.z. When I pull the code and run npm install the dependencies are installed but I will ...
5
votes
1
answer
249
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 ...
1
vote
3
answers
215
views
Low maintenance approach to handling versioning and git
What is a good way of handling version bumps in git history?
The best approach that I've found so far is something like this:
Version is specified in one of the source files (e.g. Python's __version__)...
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. ...
17
votes
2
answers
4k
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 ...
43
votes
5
answers
13k
views
What is the significance of reaching major version 1.0.0?
I have seen many open source projects being labelled as "not production ready" because they have not reached a major version e.g. 1.0.0 using semver.
What is the significance of reaching ...
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 ...
3
votes
3
answers
351
views
Static types and dependencies in trunk-based development
There're certain things in code that can't be conditional. Two very common examples:
static types
dependencies.
You can't naturally enable/disable a feature that implies a new dependency or a new ...
3
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 ...
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 ...
0
votes
0
answers
56
views
Database versioning when testing layered design
Let's say there are two layers of an application:
Business logic layer
Data access layer
Assume integration tests need to be written also for the Business logic layer. Alas tests that run against ...
0
votes
0
answers
376
views
Keeping a fork of a repository up-to-date with upstream changes
I have a repository, which is a fork of a public project. The fork contains several additional commits with custom features - nothing fancy. Recently, I have been wondering what would be the best ...
1
vote
1
answer
442
views
Should serializable classes have different serialization versions?
I am distributing a proprietary library that includes multiple serializable classes (serializable to a file). I want versioning to the serializable classes, i.e. when serializing I put the version ...
1
vote
0
answers
1k
views
Versioning JSON data in db
I'm curious if there are any obvious pitfalls to the following:
I have a database table that, because it is storing many objects of various subclasses, I'm using a JSON field to hold the non-...
0
votes
0
answers
41
views
Nuget Libraries - Avoid version Conflicts
we have a private nuget repo setup available for all department developers, each developers can contribute and deploy their own reusable library which gets uploaded for the entire dev team to use ...
10
votes
5
answers
6k
views
Version REST APi as a whole, or by endpoint
I had a discussion with a colleague of mine today regarding versioning of a REST Api.
We currently have an API with support for versinong by providing the correct version in the URL.
So for instance:
...
0
votes
0
answers
365
views
Why doesn't golang have a version number built into go.mod
I've recently been learning go and the versioning system seems rather odd to me. Most languages / dependency management systems that I'm familiar with (like rust and cargo) have an explicit way to ...
1
vote
2
answers
498
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
2k
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 ...
1
vote
1
answer
334
views
REST API Per-Method Versioning
New to writing REST APIs. Had a question about versioning.
Let's say that we have a service with the following methods:
Search <- Given some data, it will perform a search
Billing <- Given a ...
-3
votes
3
answers
195
views
Should a major version increase indicate cutting-edge or rounded-out?
I'm working on a FOSS library whose versions are all 0.x.y . I am wondering when to bump the version up to 1.0.
On the one hand, the switch from 0 to 1 suggests a level of maturity, of the software ...
6
votes
1
answer
804
views
Is changing the exception a method throws a breaking change for a library?
I have a library that I am distributing on maven in the new version I will be changing the exceptions some methods are throwing. Is this considered a breaking change? If this is the only change in the ...
-1
votes
2
answers
2k
views
How to access version of a Java application programmatically when running from an IDE?
As far as I understand, the best practice for programmatic access to the version of a Java application is to:
Specify version via build system (e.g. in Gradle).
Include the version string as a ...
2
votes
2
answers
462
views
Fix internal library versions or always use the latest one?
Given we have several data transformation applications, which e.g. load an image, do some calculation and save some output. They make use of several internal libraries (internal = developed at our ...
0
votes
2
answers
279
views
How to manage ongoing development of two variants of the same library?
I'm the developer and maintainer of a FOSS C++ library, call it libfoo.
There used to be just one variant of it; and I've made several numbered releases. Last year, I've created a second variant of ...
-2
votes
1
answer
181
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 ...
0
votes
2
answers
249
views
How to version modules that depend on different framework versions
I work as a Website developer. We use a framework for building the backend of our sites.
This framework recently released a new major version with lots of breaking changes. We have some sites using ...
1
vote
1
answer
130
views
Dealing with queries on versioned data
I have a dataset stored in ElasticSearch, only for searching purposes (the source of truth is external).
Each index has an associated schema and there are associated queries.
From time to time, the ...
0
votes
2
answers
955
views
Why is master branch important in GitHub flow?
First let me phrase my understanding of GitHub flow before asking the question:
In GitHub flow, we have a main branch, and feature/topic/bugfix/whatever branches branching off that main branch. Once ...