dunamai

Dynamic versioning library and CLI

MIT License

Downloads
2.6M
Stars
322
Committers
14

Bot releases are hidden (Show)

dunamai - v1.22.0 (2024-08-07) Latest Release

Published by mtkennerly 2 months ago

  • Fixed: The --ignore-untracked CLI flag was ignored.
  • Added: --commit-length option.
dunamai - v1.21.2 (2024-06-26)

Published by mtkennerly 4 months ago

  • Fixed: Some timestamps could fail to parse on Python 3.5 and 3.6.
dunamai - v1.21.1 (2024-05-03)

Published by mtkennerly 6 months ago

  • Fixed: Distance was calculated inconsistently for Git when there were some tags and none matched the version pattern.
dunamai - v1.21.0 (2024-04-29)

Published by mtkennerly 6 months ago

  • Generally, when Dunamai can detect the VCS in use, but there's no version set yet, then Dunamai uses 0.0.0 as a fallback, unless strict mode is enabled. This is useful for new projects that do not yet have a release.

    However, if there were some tags and none matched the version pattern, then Dunamai would yield an error. That wouldn't be helpful for a new project with some non-version tag, and it could be incorrect for a monorepo with different tags for different packages.

    Now, Dunamai will use 0.0.0 in this case as well, unless strict mode is enabled.

  • You can now specify a pattern prefix. For example, --pattern default --pattern-prefix some-package- would match tags like some-package-v1.2.3. This is useful if you just want a custom prefix without writing a whole pattern.

  • Added --ignore-untracked option to control checking whether the repository is dirty.

dunamai - v1.20.0 (2024-04-12)

Published by mtkennerly 6 months ago

  • Updated Version.bump() to add a smart argument, which only bumps when distance != 0. This will also make Version.serialize() use pre-release formatting automatically, like calling Version.serialize(bump=True).
dunamai - v1.19.2 (2024-02-16)

Published by mtkennerly 8 months ago

  • Fixed an exception when a Git repository had a broken ref. Git would print a warning that Dunamai failed to parse.
dunamai - v1.19.1 (2024-02-07)

Published by mtkennerly 9 months ago

  • Relaxed Python bounds from ^3.5 to >=3.5 since Python does not follow Semantic Versioning.
  • Fixed some git log commands that did not include -c log.showsignature=false. (Contributed by pdecat)
dunamai - v1.19.0 (2023-10-04)

Published by mtkennerly about 1 year ago

  • Added a --path option to inspect a directory other than the current one. The Version.from_* methods now also take a path argument.
dunamai - v1.18.1 (2023-09-22)

Published by mtkennerly about 1 year ago

  • For Git 2.16+, --decorate-refs=refs/tags/ is now specified for git log in case you've configured log.excludeDecoration=refs/tags/.
dunamai - v1.18.0 (2023-07-10)

Published by mtkennerly over 1 year ago

  • Added a vcs attribute to Version to indicate which VCS was detected.
dunamai - v1.17.0 (2023-05-19)

Published by mtkennerly over 1 year ago

  • The from command will print a warning for shallow Git repositories. This becomes an error with --strict.
  • The Version class has a new concerns field to indicate warnings with the version. Right now, the only possibility is Concern.ShallowRepository.
dunamai - v1.16.1 (2023-05-13)

Published by mtkennerly over 1 year ago

  • Fixed outdated reference to pkg_resources in the docstring for get_version.
  • CHANGELOG.md and tests are now included in sdists.
dunamai - v1.16.0 (2023-02-21)

Published by mtkennerly over 1 year ago

  • Updated Version.parse to better handle PEP 440 versions produced by Dunamai itself. Specifically, in 1.2.3.post4.dev5, the post number becomes the distance and the dev number is ignored. In 1.2.3.dev5, the dev number becomes the distance.
  • Added increment argument to bump_version and Version.bump. (Contributed by legendof-selda)
  • Fixed Git detection when there is a "dubious ownership" error. Previously, from git would report that it was not a Git project, and from any would report that it could not detect a VCS. Now, both commands report that there is dubious ownership.
  • Improved error reporting for from any VCS detection. The error now specifies which VCSes were checked and which were not found to be installed.
dunamai - v1.15.0 (2022-12-02)

Published by mtkennerly almost 2 years ago

  • Added compatibility with Git versions as old as 1.8.2.3.
dunamai - v1.14.1 (2022-11-15)

Published by mtkennerly almost 2 years ago

  • Fixed Git 2.7.0 compatibility by changing git log --no-show-signature to git -c log.showsignature=false log.
dunamai - v1.14.0 (2022-11-07)

Published by mtkennerly almost 2 years ago

  • Added a strict option to prevent falling back to 0.0.0 when there are no tags.
  • Added support for .git_archival.json files created by git archive.
  • Added support for .hg_archival.txt files created by hg archive.
dunamai - v1.13.2 (2022-10-14)

Published by mtkennerly about 2 years ago

  • Fixed an error when parsing Git output with showSignature = true configured. (Contributed by riton)
dunamai - v1.13.1 (2022-09-25)

Published by mtkennerly about 2 years ago

  • Made pattern-related error messages more readable by moving the pattern after the primary message instead of mixing them.
dunamai - v1.13.0 (2022-08-21)

Published by mtkennerly about 2 years ago

  • Added support for Pijul.
dunamai - v1.12.0 (2022-05-07)

Published by mtkennerly over 2 years ago

  • Added Pattern type for named pattern presets. Currently, this includes:
    • Pattern.Default (CLI: --pattern default) for the existing default.
    • Pattern.DefaultUnprefixed (CLI: --pattern default-unprefixed) for the existing default, but without requiring the v prefix.
  • Added tag_branch option (CLI: --tag-branch) for Git repositories. This is particularly useful for Gitflow without fast forward, where develop does not contain the tag history, so you can specify --tag-branch master.
  • Added full_commit option (CLI: --full-commit) for Git and Mercurial repositories to obtain the full commit hash instead of the short form.
  • Fixed Version.parse so that it better handles versions without the v prefix when the pattern does not (or may not) require it.
  • Fixed error reporting when a custom pattern is an invalid regular expression, as well as when a custom format is malformed.
    It was fine when Dunamai was used as a library, but the error message lacked context on the CLI.
  • Fixed from any not passing the --tag-dir option along for Subversion repositories.