All Projects → theory → semver

theory / semver

Licence: other
Semantic version object for Perl

Programming Languages

perl
6916 projects

Projects that are alternatives of or similar to semver

Grabver
Gradle Automatic Build Versioning Plugin - An easy Gradle plugin that follows semver.org rules to automatically generate the Patch version, Build number and Code version, while Major, Minor and Pre-Release suffix remain under our control.
Stars: ✭ 39 (+225%)
Mutual labels:  semver, version
perfekt
Release, changelog and version your packages with perfe(k)t 👌 ease!
Stars: ✭ 15 (+25%)
Mutual labels:  semver, version
Version
♈ Value Object that represents a SemVer-compliant version number.
Stars: ✭ 117 (+875%)
Mutual labels:  semver, version
Reckon
Infer a project's version from your Git repository.
Stars: ✭ 124 (+933.33%)
Mutual labels:  semver, version
next-ver
Tells you the next semantic version for your local package
Stars: ✭ 27 (+125%)
Mutual labels:  semver, version
Cli
🆑📍 Setup automated semver compliant package publishing
Stars: ✭ 272 (+2166.67%)
Mutual labels:  semver, version
Semver.c
Semantic version library written in ANSI C
Stars: ✭ 147 (+1125%)
Mutual labels:  semver, version
Python Semver
Python package to work with Semantic Versioning (http://semver.org/)
Stars: ✭ 264 (+2100%)
Mutual labels:  semver, version
bin-version-cli
Get the version of a binary in semver format
Stars: ✭ 36 (+200%)
Mutual labels:  semver, version
Semantic Release
📦🚀 Fully automated version management and package publishing
Stars: ✭ 14,364 (+119600%)
Mutual labels:  semver, version
Version
Represent and compare versions via semantic versioning (SemVer) in Swift
Stars: ✭ 160 (+1233.33%)
Mutual labels:  semver, version
bump
A generic version tracking and update tool
Stars: ✭ 33 (+175%)
Mutual labels:  semver, version
zerover
0️⃣ Minimalist versioning scheme for devs who can't be bothered.
Stars: ✭ 141 (+1075%)
Mutual labels:  semver, version
version-check
An action that allows you to check whether your npm package version has been updated
Stars: ✭ 65 (+441.67%)
Mutual labels:  semver, version
shenv
Simple shell version management
Stars: ✭ 27 (+125%)
Mutual labels:  version
glare
gracefully download (latest) releases from GitHub
Stars: ✭ 64 (+433.33%)
Mutual labels:  semver
cpp-semver
semver in c++
Stars: ✭ 25 (+108.33%)
Mutual labels:  semver
SSAppUpdater
SSAppUpdater is an open-source framework that compares the current version of the app with the store version and returns the essential details of it like app URL, new app version number, new release note, etc. So you can either redirect or notify the user to update their app.
Stars: ✭ 58 (+383.33%)
Mutual labels:  version
dotnet-version-cli
dotnet version cli (similar to npm version cli)
Stars: ✭ 30 (+150%)
Mutual labels:  version
semver
Simple PHP Semantic Versioning Parser and Comparator
Stars: ✭ 21 (+75%)
Mutual labels:  semver

SemVer version 0.10.1

CPAN version Build Status

This module subclasses version to create semantic versions, as defined by the Semantic Versioning 2.0.0 Specification The salient points of the specification, for the purposes of version formatting, are:

  1. A normal version number MUST take the form X.Y.Z where X, Y, and Z are non-negative integers, and MUST NOT contain leading zeroes. X is the major version, Y is the minor version, and Z is the patch version. Each element MUST increase numerically. For instance: 1.9.0 < 1.10.0 < 1.11.0.

  2. A pre-release version MAY be denoted by appending a hyphen and a series of dot separated identifiers immediately following the patch version. Identifiers MUST comprise only ASCII alphanumerics and hyphen [0-9A-Za-z-]. Identifiers MUST NOT be empty. Numeric identifiers MUST NOT include leading zeroes. Pre-release versions have a lower precedence than the associated normal version. A pre-release version indicates that the version is unstable and might not satisfy the intended compatibility requirements as denoted by its associated normal version. Examples: 1.0.0-alpha, 1.0.0-alpha.1, 1.0.0-0.3.7, 1.0.0-x.7.z.92.

  3. Build metadata MAY be denoted by appending a plus sign and a series of dot separated identifiers immediately following the patch or pre-release version. Identifiers MUST comprise only ASCII alphanumerics and hyphen [0-9A-Za-z-]. Identifiers MUST NOT be empty. Build metadata SHOULD be ignored when determining version precedence. Thus two versions that differ only in the build metadata, have the same precedence. Examples: 1.0.0-alpha+001, 1.0.0+20130313144700, 1.0.0-beta+exp.sha.5114f85.

  4. Precedence refers to how versions are compared to each other when ordered. Precedence MUST be calculated by separating the version into major, minor, patch and pre-release identifiers in that order (Build metadata does not figure into precedence). Precedence is determined by the first difference when comparing each of these identifiers from left to right as follows: Major, minor, and patch versions are always compared numerically. Example: 1.0.0 < 2.0.0 < 2.1.0 < 2.1.1. When major, minor, and patch are equal, a pre-release version has lower precedence than a normal version. Example: 1.0.0-alpha < 1.0.0. Precedence for two pre-release versions with the same major, minor, and patch version MUST be determined by comparing each dot separated identifier from left to right until a difference is found as follows: identifiers consisting of only digits are compared numerically and identifiers with letters or hyphens are compared lexically in ASCII sort order. Numeric identifiers always have lower precedence than non-numeric identifiers. A larger set of pre-release fields has a higher precedence than a smaller set, if all of the preceding identifiers are equal. Example: 1.0.0-alpha < 1.0.0-alpha.1 < 1.0.0-alpha.beta < 1.0.0-beta < 1.0.0-beta.2 < 1.0.0-beta.11 < 1.0.0-rc.1 < 1.0.0.

Installation

To install this module, type the following:

perl Build.PL
./Build
./Build test
./Build install

Dependencies

SemVer requires version.

Copyright and License

Copyright (c) 2010-2020 David E. Wheeler. Some Rights Reserved.

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].