Sbt Dynver Versions Save

An sbt plugin to dynamically set your version from git

v3.1.0

5 years ago

Improvements

  • Faster way to count git commits #74 by @agemooij
  • Count commits when no tags are present #72 by @raboof
  • Add a new key 'previousStableVersion' which detects the last version #50 by @jatcwang

https://github.com/dwijnand/sbt-dynver/compare/v3.0.0...v3.1.0

v3.0.0

6 years ago

Breaking Changes

Tweak version to make it compatible with ivy2/maven wildcard patterns

Prior to this change, the first "dirty" version (i.e with local, uncommitted changes) after a tag had the form 1.0.0+20140707-1030 (tag version + timestamp), while the version on the first commit after a tag was 1.0.0+1-1234abcd (tag version + commit distance + commit sha). This meant that a version specified like "1.0.0+" would select the older version over the newer one.

From version 3.0.0 onwards the first dirty version contains "+0" and the commit sha: 1.0.0+0-1234abcd-20140707-1030.

#52/#63 by @leonardehrenfried

Thank you @leonardehrenfried! But also @lokkju reporting the issue, and @raboof and @laughedelic for helping in the review.

Improvements

  • Introduces dynverSonatypeSnapshots (disabled by default) which appends "-SNAPSHOT" to the version if isSnapshot is true (it's only false when on a tag with no local changes). This opt-in makes it easier to use sbt-dynver when publishing to Sonatype snapshots. #53/#64 by @leonardehrenfried

Thanks again @leonardehrenfried.

https://github.com/dwijnand/sbt-dynver/compare/v2.1.0...v3.0.0

v2.1.0

6 years ago
  • Fixes dynver's behaviour when there are multiple builds (e.g with source dependencies). #57 by @jvican

https://github.com/dwijnand/sbt-dynver/compare/v2.0.0...v2.1.0

v2.0.0

6 years ago

Breaking Changes

Change in isSnapshot - now only tagged versions are not snapshots

Previously, because sbt-dynver generates a unique, stable version for each commit from a non-dirty repository, it set isSnapshot to false for this case. This made sense since these versions are stable, immutable identifiers that can be relied upon, for example, for caching, but did not correspond to the intuition of a 'snapshot' as an intermediate, non-released version. From version 2.0.0 onwards, isSnapshot will only be false for tagged releases, and the key isVersionStable can be used to determine whether the current version is a stable identifier, as well as a migration aid to sbt-dynve 2.x. #23/#42 by @raboof

v1.3.0

7 years ago

Improvements

  • Introduces GitRef.isTag & GitCommitSuffix.isEmpty utilities. #34 by @dwijnand
  • Cross builds against sbt 1.0.0-M5. #39 by @dwijnand

v1.2.0

7 years ago

Improvements

v1.1.1

7 years ago

Bug Fixes

  • Fixes a bug where git output on Windows threw a MatchError (CR+LF). #20/#21 by @dwijnand

v1.1.0

7 years ago

Improvements

  • Allows matching lightweight (aka non-annotated) tags (eg. git tag without the -a). #14/#15 by @2m
  • Reduced the number of git calls to 1. #11 by @dwijnand
  • Adds MiMa to verify binary compatibility, included in PR validation. #6/#8 by @dwijnand

Bug Fixes

  • Fixes a bug where major-only version tags weren't matched (eg. "v2"). #7/#15 by @2m

v1.0.0

7 years ago