Releases: jwodder/versioningit
Releases · jwodder/versioningit
v1.1.1 — Speed up package import
- Do not import setuptools unless needed (contributed by @jenshnielsen)
v1.1.0 — "onbuild" step
- Added custom setuptools commands for inserting the project version into a source file at build time
- New step and subtable: "onbuild"
- New public
get_cmdclasses()
andrun_onbuild()
functions
- Moved documentation from the README to a Read the Docs site
- Established external documentation for the public library API
- When falling back to using
tool.versioningit.default-version
, emit a warning if the version is not PEP 440-compliant. - The
versioningit
command now honors theVERSIONINGIT_LOG_LEVEL
environment variable
v1.0.0 — "git-archive" improvements and some breaking changes
- Changes to custom methods:
- The signatures of the method functions have changed; user-supplied parameters are now passed as a single
params: Dict[str, Any]
argument instead of as keyword arguments. - User-supplied parameters with the same names as step-specific method arguments are no longer discarded.
- The signatures of the method functions have changed; user-supplied parameters are now passed as a single
- Changes to the "git-archive" method:
- Lightweight tags are now ignored (by default, but see below) when installing from a repository in order to match the behavior of the
%(describe)
format placeholder. - The "match" and "exclude" settings are now parsed from the
describe-subst
parameter, which is now required, and the oldmatch
andexclude
parameters are now ignored. - Git 2.35's "tags" option for honoring lightweight tags is now recognized.
- Added a dedicated error message when an invalid
%(describe)
placeholder is "expanded" into itself in an archive
- Lightweight tags are now ignored (by default, but see below) when installing from a repository in order to match the behavior of the
- The
file
parameter to the "basic" write method is now required when the[tool.versioningit.write]
table is present. If you don't want to write the version to a file, omit the table entirely. - Library API:
Config
is no longer exported; it should now be considered private.- Merged
Versioningit.from_config()
functionality intoVersioningit.from_project_dir()
- Renamed
Versioningit.from_config_obj()
toVersioningit.from_config()
; it should now be considered private
v0.3.3 — Support Git 1.8.0
- Git 1.8.0 is now the minimum required version for the git methods, and this is documented. (Previously, the undocumented minimum version was Git 1.8.5.)
- Document the minimum supported Mercurial version as 5.2.
v0.3.2 — Speedup
- Call
importlib.metadata.entry_points()
only once and reuse the result for
a speedup (contributed by @jenshnielsen)
v0.3.1 — Support tomli 2.0
- Support Python 3.10
- Support tomli 2.0
v0.3.0 — Calculating just the next version
- Gave the CLI interface an
-n
/--next-version
option for showing a project's next release version - Added a
get_next_version()
function - Added a mention to the README of the existence of exported functionality other than
get_version()
- Renamed the individual step-calling methods of
Versioningit
to have names of the formdo_$STEP()
v0.2.1 — Update for tomli 1.2.0
Version 0.2.1
v0.2.0 — Mercurial and Git archive support
- The log messages displayed for unknown parameters are now at WARNING level instead of INFO and include suggestions for what you might have meant
- "git"
vcs
method:default-tag
will now be honored if thegit describe
command fails (which generally only happens in a repository without any commits) - Added an experimental "git-archive" method for determining a version when installing from a Git archive
- Project directories under
.git/
are no longer considered to be under version control - Project directories inside Git working directories that are not themselves tracked by Git are no longer considered to be under version control
- Support added for installing from Mercurial repositories & archives
v0.1.0 — First full release
- Add more logging messages
- Changed default version formats to something that doesn't use
{next_version}
- "basic"
tag2version
method:- If
regex
is given and it does not contain a group named "version
," the entire text matched by the regex will be used as the version - Added a
require-match
parameter for erroring if the regex does not match
- If
- "basic"
write
method:encoding
now defaults to UTF-8 - New
next-version
methods:"minor-release"
,"smallest-release"
, and"null
" - Replaced
entry-points
dependency withimportlib-metadata
- Added
tool.versioningit.default-version
for setting the version to use if an error occurs - When building a project from a shallow clone or in a non-sdist directory without VCS information, display an informative error message.