Skip to content

semantic version parsing and comparison package

License

Notifications You must be signed in to change notification settings

launchdarkly/go-semver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LaunchDarkly Semantic Version Package

Actions Status

Overview

This Go package implements parsing and comparison of semantic version (semver) strings, as defined by the Semantic Versioning 2.0.0 specification.

Several semver implementations exist for Go. This implementation was designed for high performance in applications where semver operations may be done frequently, such as in the LaunchDarkly Go SDK. To that end, it does not use regular expressions and it never allocates data on the heap.

It does not include any additional functionality beyond what is defined in the Semantic Versioning 2.0.0 specification, such as comparison against range/wildcard expressions like ">=1.0.0" or "2.5.x".

This package has no external dependencies other than the regular Go runtime.

Supported Go versions

The library supports the 'latest' and 'penultimate' Go versions defined in this file.

LaunchDarkly intends to keep those versions up-to-date with the Go project's latest two releases, which represents a support period of roughly 1 year. This policy is intended to match Go's official Release Policy: each major Go release is supported until there are two newer major releases.

Additionally, a 'minimum' version is tested in CI but not officially supported. This minimum version is found in go.mod. This version may be bumped from time to time as new Go features become available that are useful to the SDK.

Contributing

We encourage pull requests and other contributions from the community. Check out our contributing guidelines for instructions on how to contribute to this project.