Skip to main content

Questions tagged [semantic-versioning]

Semantic Versioning is a community-driven version-numbering standard. Use this tag to indicate the software versioning concepts defined at http://semver.org.

semantic-versioning
Filter by
Sorted by
Tagged with
5393 votes
22 answers
1.9m views

What's the difference between tilde(~) and caret(^) in package.json?

After I upgraded to the latest stable node and npm, I tried npm install moment --save. It saves the entry in the package.json with the caret ^ prefix. Previously, it was a tilde ~ prefix. Why are ...
Fizer Khan's user avatar
  • 91.3k
283 votes
5 answers
116k views

What is the bower (and npm) version syntax?

Bower enables me to specify version requirements for packages using the following syntax: "dependencies": { "<name>": "<version>", }, But I have not been able to find what is the ...
Samuel Hapak's user avatar
  • 7,112
125 votes
3 answers
22k views

What is the caret sign (^) before the dependency version number in Flutter's pubspec.yaml?

In the pubspec.yaml file of my Flutter project there is a caret (^) before the version number of some of the dependencies. dependencies: flutter: sdk: flutter cupertino_icons: ^0.1.2 ...
Suragch's user avatar
  • 503k
81 votes
4 answers
64k views

Update package to a major release with NPM

Inside a Node.js project, it's not clear to me what the correct workflow would be to upgrade a package to a major release. Let's suppose I'm installing stylelint: npm install --save stylelint By ...
caneta's user avatar
  • 1,832
69 votes
3 answers
24k views

Should I pin my Python dependencies versions?

I am about to release a Python library I've been working on the past few weeks. I've read a lot about Python dependencies but something is not quite clear yet: Some people pretend you should never pin ...
ereOn's user avatar
  • 55k
66 votes
3 answers
35k views

What package version does @next specify for npm?

What version of package foo will this command install? npm install foo@next The package.json and semver docs don't mention next.
Dan Dascalescu's user avatar
60 votes
7 answers
48k views

How do I install the latest minor version of a package on npm?

For example: I have version 2.0.0 of package-name installed. The latest minor version that has the same major version is 2.1.2 The latest major version (which would be installed if I ran npm install ...
mikemaccana's user avatar
59 votes
3 answers
45k views

Are there npm version prerelease identifiers?

There is a very handy npm version command. Besides arguments like major, minor and patch it accepts arguments like prerelease, prepatch, etc. It says in the docs that the commands work in accordance ...
timetowonder's user avatar
  • 5,311
53 votes
3 answers
35k views

What is the meaning of -rc in semantic versioning?

I get the logic of MAJOR.MINOR.PATCH and kinda intuitively get what -alpha and -beta mean at the end of a semver number but -rc doesn't ring any bell for me. Couldn't find a satisfying answer there ->...
Félix Paradis's user avatar
50 votes
8 answers
39k views

Azure Pipeline Nuget Package Versioning Scheme, How to Get "1.0.$(Rev:r)"

I'm setting up an Azure Pipelines build that needs to package a C# .NET class library into a NuGet package. In this documentation, it lists a couple different ways to automatically generate SemVer ...
aurath's user avatar
  • 1,397
47 votes
2 answers
35k views

npm version to add alpha postfix

How can i bump the package.json version to contain -alpha using npm versioning. Running npm version <new version> will bump the version of the package.json file, however i want to add -alpha ...
Bamieh's user avatar
  • 10.8k
47 votes
1 answer
21k views

What is the convention for versioning npm packages prior to 1.0.0?

I was reading up on versioning with npm, and apparently it provides a nice convenient command for bumping your package versions. npm version [<newversion> | major | minor | patch | premajor | ...
SteamDev's user avatar
  • 4,394
45 votes
5 answers
60k views

Is there a workaround for `npm publish -f`

Now that npm publish -f is deprecated, is there a workaround or a package that makes it possible to overwrite a target version after it's been published? I know about semver; I still want npm ...
Alexej Magura's user avatar
44 votes
1 answer
17k views

releasing alpha to beta to production with SemVer

My understanding of the SemVer release cycle is as follows: My first release is going to be 0.1.0-alpha.1 I may make a few tweaks and re-release at 0.1.0-alpha.2 (repeat as needed) When ready, I ...
user avatar
42 votes
2 answers
13k views

Parcel SemVer bug

So, I've used Parcel multiple times before and I've never had an issue with it. This time it throws some stupid errors about SemVer versioning and I'm literally loosing my mind trying to find a ...
veilvokay's user avatar
  • 449
42 votes
5 answers
5k views

What does "public api" mean in Semantic Versioning?

I'm learning about how to assign and increment version numbers with the rule called "Semantic Versioning" from http://semver.org/. Among all its rules, the first one said: Software using Semantic ...
Neekey's user avatar
  • 4,204
41 votes
1 answer
15k views

Semantic versioning of REST apis?

I've evaluated a number of versioning schemas for REST apis (header, url, …). So far, the most reliable approach seems to be the url option: It works with proxies, and does not rely on obscure schemas ...
Golo Roden's user avatar
  • 147k
39 votes
7 answers
19k views

How to sort semantic versions in bash?

I would like to sort semantic versions (semver.org) v1.4.0 v1.4.0-alpha v1.4.0-alpha1 v1.4.0-patch v1.4.0-patch9 v1.4.0-patch10 v1.4.0-patch2 v1.5.0 v1.5.0-alpha v1.5.0-alpha1 v1.5.0-alpha2 v1.5.0-...
Kirby's user avatar
  • 3,037
37 votes
4 answers
25k views

What is the proper first version? 0.1.0 or 0.0.1 or anything else?

How do you name the initial version? Could you tell the proper version of the first version? Here is my candidates. Way1 Start => 0.1.0 => 0.1.1 => 0.1.2 => 0.2.0 => 0.2.2 =&...
ryo's user avatar
  • 2,119
32 votes
9 answers
12k views

Where do you store your Rails Application's version number?

We use the wonderful semantic versioning paradigm when versioning our rails app. One question I had was where is it best to store this number? I've seen it stored in /lib, environment.rb, etc. Just ...
Greg Olsen's user avatar
31 votes
3 answers
29k views

How do I find out what version of a bower package is actually installed?

Normally a bower.json file specifies some dependencies, but these are typically expressed so that they allow a range of versions of a bower package to be used (e.g. >=1.0, which means anything ...
Andrew Ferrier's user avatar
27 votes
2 answers
16k views

What does the "rc" in a npm package version structure [closed]

I was wondering what the rc in 2.2.0-rc.0 stands for. Does it mean that its production ready?
Clement's user avatar
  • 4,710
27 votes
1 answer
14k views

Specifying version numbers in Bower

When writing bower.json you can specify version numbers in your dependencies. Sometimes I see people writing { ... "devDependencies" : { "grunt" : "~0.3.13", } } What exactly does ...
Presidenten's user avatar
  • 6,387
26 votes
4 answers
10k views

Is 0.0.1 valid semver?

A colleague got into a casual argument about the first version of a module. We're wondering if 0.0.1 should be the initial release. I think 0.1.0 is the proper first version, as 0.0.1 implies an ...
M Miller's user avatar
  • 5,502
26 votes
1 answer
14k views

How to create a nuspec dependency which includes prereleases

Some context: I have 4 nuget packages with dependencies. They are all in pre-release mode, and they evolve from alpha to "stable" at their own pace. I want to be able to specify in the dependency ...
Filip De Vos's user avatar
  • 11.8k
25 votes
1 answer
7k views

How do I see the release notes for an npm package before I upgrade?

Does the npm registry expose release notes in a standardized way? I've seen release notes in: The README.md On GitHub as a tagged release with no description On GitHub as a tagged release with a ...
Weston's user avatar
  • 1,952
24 votes
1 answer
8k views

What does .RELEASE mean in Spring Framework versions

What does the .RELEASE ending to a file mean? e.g. <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</...
Tomeister's user avatar
  • 684
23 votes
1 answer
4k views

What exactly is considered a breaking change to a library crate?

Rust crates use Semantic Versioning. As a consequence, each release with a breaking change should result in a major version bump. A breaking change is commonly considered something that may break ...
Lukas Kalbertodt's user avatar
22 votes
3 answers
11k views

How to get the semver Major part of a Maven version?

Is it possible to get the major version (<Major>.<Minor>.<Patch>) of the project.version? For example if my version is 1.3.4, I'd like to get 1 to later use it in a configuration ...
Yuriy Nemtsov's user avatar
19 votes
2 answers
2k views

Is there an equivalent scheme to Semantic Versioning for non-API software?

I really like the Semantic Versioning scheme but it really only makes sense for APIs, since the focus is on breaking changes and backwards-compatibility. For non-API, e.g. end-user software, many of ...
neverfox's user avatar
  • 6,880
17 votes
4 answers
30k views

bash regex to match semantic version number

I have the following: versionNumber=$(sw_vers -productVersion) # Finds version number versionShort=${versionNumber:0:4} # Cut string to 1 decimal place for calculation which works when versions ...
lukemh's user avatar
  • 5,233
16 votes
2 answers
17k views

regex for semver

What is a correct regex for matching semantic versioning? It should not match for instance 01.1.1 9.8.7-whatever+meta+meta 1.2.3.DEV 1.2.3-0123 1.0.0-alpha_beta 1.2-SNAPSHOT 1.2.31.2.3----RC-SNAPSHOT....
karlsebal's user avatar
  • 1,651
16 votes
3 answers
10k views

What is a good iOS app versioning strategy when using TestFlight for internal testing?

I have an iOS app that uses semantic versioning to tag shipped builds. I'm also using Apple's TestFlight to push internal builds to the team for testing/QA. Pushing an internal build requires ...
redhotvengeance's user avatar
15 votes
2 answers
3k views

Composer.phar difference between | and ||

What is the difference between pipe and douoble pipe in composer.json file? For example: "^1.0.0 || ^2.0.0" and '^1.0.0|^2.0.0'
Roman678's user avatar
  • 161
15 votes
1 answer
2k views

What is the breaking change in semver 2.0.0

There is a version 2.0.0 of the semantic versioning spec, given that you should: increment the MAJOR version when you make incompatible API changes, What was the incompatible change between semver ...
Jeremy French's user avatar
15 votes
1 answer
18k views

npm install using pre-release versions

i want to use pre-release versions in my package.json to get some dependencies in the latest version (containing als pre-releases) but for some reasons it doesn't work in my case. The pre-releases are ...
Michael's user avatar
  • 173
15 votes
2 answers
2k views

Does semantic versioning apply to source or binary compatibility?

This question applies to any language which is written in one language ("source"), e.g. C or Java, and distributed in another ("binary"), e.g. machine code or Java byte code, using dynamic linking. ...
Paul Draper's user avatar
  • 81.7k
12 votes
3 answers
18k views

Reason for MINOR vs PATCH rules in SemVer

The rules for when to increase the MAJOR vs the MINOR version number with SemVer 2.0 are very compelling. They clearly give a lot of advantages to knowing if the app/service is backwards compatible. ...
Vaccano's user avatar
  • 81k
12 votes
2 answers
4k views

REST API versioning - why aren't models versioned

I've been reading up on all the approaches to version REST APIs. In almost all implementations, controllers and views are versioned, however models are not. To give the rails example, controllers are ...
Naya Bonbo's user avatar
12 votes
5 answers
4k views

NuGet Versioning with ProjectReference Dependencies

I have a solution containing several projects. Let's say PackageA and PackageB, where PackageB depends on PackageA with a ProjectReference. Each project is set to also output a NuGet package on build. ...
Aeon's user avatar
  • 131
12 votes
3 answers
4k views

Semantic Versioning and Dependency Changes

Some context: I'm working on a team which produces 6 different NuGet packages, which depend directly, and sometimes indirectly, on each other. Simply, we could have a situation like p0 < p1 < p2,...
Daniel Miller's user avatar
12 votes
1 answer
3k views

Gradle: what means that a dependency has a "promoted version"?

Today I discover this "experimental" screen in Android Studio. Some updates says "Gradle promoted library version from..." what means with that? (I checked the source code and found this: https://...
Matias Elorriaga's user avatar
11 votes
2 answers
5k views

bower register new version

I register a version of my "angular-backstrech-adrr" to bower: bower register angular-backstrech-adrr [email protected]:AladdinMhaimeed/angular-backstrech-adrr.git this is bower.json: { "author": "...
Aladdin Mhemed's user avatar
11 votes
2 answers
4k views

Do I have to update project version when only README has changed on GitHub?

I'm editing one of my open-source projects on GitHub and I want to replace link (pointing to a demo) in README.md. Do I have to update library version every time I introduce some minor changes to the ...
Slava Fomin II's user avatar
11 votes
2 answers
6k views

Is there a NuGet package that contains a semantic version parser in .NET? [closed]

I found this blog post and the related Gist. The author does not appear to have created a corresponding NuGet package. Anyone aware of a NuGet package that already exists? For reference, here is the ...
David Peden's user avatar
  • 18.1k
11 votes
3 answers
2k views

Should major SemVer updates cascade?

So "myLibrary" references "anotherLibrary". Both libraries follow http://semver.org/ If I release a new version of myLibrary that forces consumers to update to a new major version of anotherLibrary ...
Simon's user avatar
  • 34.4k
11 votes
5 answers
6k views

How to setup semantic-release without the need for npm?

I have a C# project and would like to add semantic versioning to it. So whenever I push to the main branch I want to create a new release and autogenerate a new version number based on the commit ...
Question3r's user avatar
  • 3,214
10 votes
1 answer
6k views

How to version front-end projects?

Semantic versioning brings the follow approach: MAJOR version when you make incompatible API changes MINOR version when you add functionality in a backwards-compatible manner PATCH version when you ...
Luan Kevin Ferreira's user avatar
9 votes
4 answers
7k views

How to implement semantic versioning of Docker images in GitHub Actions workflow?

I would like to achieve the following CI pipeline with GitHub Actions workflow. Pull Request is merged -> GitHub action is being triggered -> docker image is being built with semantic version ...
Mikolaj's user avatar
  • 1,729
9 votes
2 answers
797 views

What's the point of having a "compatible version" (^version) declared in package.json if package-lock.json locks it?

I know the main advantages of package-lock.json and I agree with that. It not only locks the downloaded version in the last install, but also the uri... and that's required on most cases for being ...
Mauricio Alvim's user avatar

1
2 3 4 5
14