Skip to content

Releases: mtkennerly/dunamai

v1.5.1 (2020-12-16)

17 Dec 04:28
Compare
Choose a tag to compare

v1.5.0 (2020-12-02)

03 Dec 01:58
Compare
Choose a tag to compare
  • Added the --tagged-metadata option and corresponding attribute on the Version class. (Contributed by mariusvniekerk)
  • Added explicit dependency on setuptools (because of using pkg_resources) for environments where it is not installed by default.

v1.4.1 (2020-11-17)

17 Nov 16:34
Compare
Choose a tag to compare
  • For Git, replaced --porcelain=v1 with --porcelain to maintain compatibility with older Git versions.

v1.4.0 (2020-11-17)

17 Nov 12:15
Compare
Choose a tag to compare
  • Added the --bump command line option and the bump argument to Version.serialize().
  • Fixed an issue with Git annotated tag sorting. When there was a newer annotated tag A on an older commit and an older annotated tag B on a newer commit, Dunamai would choose tag A, but will now correctly choose tag B because the commit is newer.
  • With Git, trigger the dirty flag when there are untracked files. (Contributed by jpc4242)

v1.3.1 (2020-09-27)

27 Sep 16:18
Compare
Choose a tag to compare
  • Fixed ambiguous reference error when using Git if a tag and branch name were identical.

v1.3.0 (2020-07-04)

04 Jul 17:57
Compare
Choose a tag to compare
  • Previously, when there were not yet any version-like tags, the distance would be set to 0, so the only differentiator was the commit ID. Now, the distance will be set to the number of commits so far. For example:

    • No commits: base = 0.0.0, distance = 0
    • 1 commit, no tags: base = 0.0.0, distance = 1
    • 10 commits, no tags: base = 0.0.0, distance = 10

v1.2.0 (2020-06-12)

12 Jun 18:56
Compare
Choose a tag to compare
  • Added --debug flag in the from command.

v1.1.0 (2020-03-22)

22 Mar 23:42
Compare
Choose a tag to compare
  • Added these functions to the public API:
    • serialize_pep440
    • serialize_semver
    • serialize_pvp
    • bump_version

v1.0.0 (2019-10-26)

27 Oct 02:14
Compare
Choose a tag to compare
  • Changed the Version class to align with Dunamai's own semantics instead of PEP 440's semantics.

    Previously, Version implemented all of PEP 440's features, like epochs and dev releases, even though Dunamai itself did not use epochs (unless you created your own Version instance with one and serialized it) and always set dev to 0 in the from_git/etc methods. The serialize method then tried to generalize those PEP 440 concepts to other versioning schemes, as in 0.1.0-epoch.1 for Semantic Versioning, even though that doesn't have an equivalent meaning in that scheme.

    Now, the Version class implements the semantics used by Dunamai, giving it more power in the serialization to map those concepts in an appropriate way for each scheme. For example, dev0 is now only added for PEP 440 (in order to be compatible with Pip's --pre flag), but dev.0 is no longer added for Semantic Versioning because it served no purpose there.

    API changes:

    • post has been renamed to distance, and its type is simply int rather than Optional[int]
    • epoch and dev have been removed
    • pre_type has been renamed to stage
    • pre_number has been renamed to revision, and it is no longer required when specifying a stage
  • Improved error reporting when the version control system cannot be detected and when a specified VCS is unavailable.

  • Improved the default regular expression for tags:

    • It now requires a full match of the tag.
    • It now recognizes when the base and stage are separated by a hyphen.
    • It now recognizes when the stage and revision are separated by a dot.
    • It now allows a stage without a revision.

v0.9.0 (2019-10-22)

22 Oct 17:08
Compare
Choose a tag to compare
  • Added Fossil support.
  • Fixed case with Git/Mercurial/Subversion/Bazaar where, if you checked out an older commit, then Dunamai would consider tags for commits both before and after the commit that was checked out. It now only considers tags for the checked out commit or one of its ancestors, making the results more deterministic.
  • Changed VCS detection to be based on the result of VCS commands rather than looking for VCS-specific directories/files. This avoids the risk of false positives and simplifies cases with inconsistent VCS files (e.g., Fossil uses .fslckout on Linux and _FOSSIL_ on Windows)