Changelog for https://github.com/mbarkhau/bumpver
This update adds the vendored module setuptools_v65_version.py
from setuptools==v65.7.0
.
This was the last version with support for LegacyVersion
.
- Fix #242: Fix incorrect parsing of versions with tags.
- Fix #156: Remove runtime dependency on setuptools and looseversion.
Thank you Andrew Mitchell and Tzu-Ting for your issue reports.
- Fix #224: Add
--environ
so it emits0
values. Depricate-e/--env
. - Add #223: Add support for
.bumpver.toml
Thank you Adrianne for this issue report. Thank you Xavier Francisco for your contribution.
- Add #222: Add part HEXHASH.
Thank you Atwam for your contribution.
- Add #214: Support for pre/post commit hooks.
- Add #219: Fix pathlib issues on Windows.
- Fix #201: Better error message for SemVer corner case.
- Update #215: Better error message for greedy pattern matching.
- Update #216: Use .toml format in REAMDE examples.
Thank you Sven Lohrmann for your contribution. Thank you Maikel Punie your issue report. Thank you for your help in debugging Windows issues:
- Add #188: Add
--tag-scope=<SCOPE>
to support separate versioning for branches. - Add #185: Add
--tag-message=<TMPL>
parameter andtag_message
configuration option. - Fix #209: Make
--no-tag-commit
ommit--follow-tags
.
Thank you Sven Lohrmann for your contributions. Thank you tardis4500 for the issue report.
- Fix #208: Fix handling of versions with PEP440 epoch.
Thank you Wen Kokke for the issue report.
- Fix #207: Add --ignore-vcs-tag to support bumping older versions
Thank you Jusong Yu for your contribution.
- Fix #200: Fix compatability with packaging 23.0.
- Fix #203: Add dev to the list of valid release tags
Thank you Sharon Yogev for your contribution.
- Fix #196: Add
--pin-increments
.
Thank you Markus Holtermann for this contribution.
- Fix #181: Enable use of
^$
charachters to restrict matching to beginning and end of line. - Add
GITHASH
toversion_pattern
(@mpasternak)
-
Fix: incorrect version comparison when updating from vcs tag.
When comparing the updated version to the latest vcs tag, an insufficient string comparison was used instead of comparing the parsed versions.
Thank you to Timo Ludwig @timoludwig for this contribution.
-
Fix: use default date values.
When parsing the current version, if it doesn't specify anyt date part, (such as is the case for e.g. SemVer), then use the current date to populate default parts.
This enables updating YYYY patterns in copyright headers even for projects that don't use a CalVer pattern.
Thank you Benjamin Depardon (@bdepardo) for finding and reporting this issue.
- Add: flags to override vcs options for
bumpver update
Thank you to Timo Ludwig @timoludwig for this contribution.
- Add:
--commit-message
argument forbumpver update
- Fix: Build from source on windows.
- Fix github#157: Improve error messages.
- Fix github#158: Clarify
PYTAGNUM
"part"
Thank you to Julien Palard @JulienPalard for testing and feedback.
- Add
-e/--env
option to support shell script automation. - Fix github#151: invalid increment of
TAGNUM
whenTAG=final
is set.
Thank you to Dave Wapstra @dwapstra for your contributions.
- Don't match empty patterns (possibly causing a whole file to be rewritten if braces
[]
are not escaped).
- Non-Beta release (no significant code changes).
- Fix gitlab#13: Add
--set-version=<VERSION>
to explicitly set version. - Fix gitlab#14: Parse
tool.bumpver
when using pyproject.toml as per PEP 518.
Rename package and module from PyCalVer to BumpVer. This name change is due to confusion that this project is either Python specific, or only suitible for CalVer versioning schemes, neither of which is the case.
This release includes a new syntax for patterns.
version_pattern = "vYYYY0M.BUILD[-RELEASE]" # new style
version_pattern = "v{year}{month}{build}{release}" # old style
version_pattern = "MAJOR.MINOR.PATCH" # new style semver
version_pattern = "{MAJOR}.{MINOR}.{PATCH}" # old style semver
The main reasons for this switch were:
- To enable optional parts using braces
[PART]
. - To align the syntax with the conventions used on CalVer.org
The previous syntax will continue to be supported, but all documentation has been updated to primarily reference new style patterns.
- Switch main repo from gitlab to github.
- New gitlab#7: New style pattern syntax.
- Better support for week numbers.
- Better support for optional parts.
- New:
BUILD
part now starts at1000
instead of0001
to avoid truncation of leading zeros. - New: Add
INC0
(0-based) andINC1
(1-based) parts that do auto increment and rollover. - New:
MAJOR
/MINOR
/PATCH
/INC
will roll over when a date part changes to their left.
- New gitlab#2: Added
grep
sub-command to help with debugging of patterns. - New gitlab#10:
--pin-date
to keep date parts unchanged, and only increment non-date parts. - New: Added
--date=<iso-date>
parameter to set explicit date (instead of current date). - New: Added
--release-num
to increment thealphaN
/betaN
/a0
/b0
/etc. release number - New: Added better error messages to debug regular expressions.
- New gitlab#9: Make commit message configurable.
- Fix gitlab#12: Error with sorting non-lexical version tags (e.g. SemVer).
- Fix gitlab#11: Show regexp when
--verbose
is used. - Fix gitlab#8:
bumpver update
will now also push HEAD (previously only the tag itself was pushed). - Fix: Disallow
--release=dev
. The semantics of adev
releases are different than for other release tags and further development would be required to support them correctly. - Fix: Entries in
file_patterns
were ignored if there were multiple entries for the same file.
This release no longer includes the pycalver.lexid
module, which has been moved into its own package: pypi.org/project/lexid/.
Many thanks to contributors of this release: @LucidOne, @khanguslee, @chaudum
- Add deprication warning to README.md
- Fix: Don't use git/hg command if
commit=False
is configured (thanks @valentin87)
- Fix gitlab#6: Add parts
{month_short}
,{dom_short}
,{doy_short}
. - Fix gitlab#5: Better warning when using bump with SemVer (one of --major/--minor/--patch is required)
- Fix gitlab#4: Make {release} part optional, so that versions generated by --release=final are parsed.
- Fix: Use pattern from config instead of hard-coded {pycalver} pattern.
- Fix: Better error messages for git/hg issues.
- Add: Implicit default pattern for config file.
- Fix: Add warnings when configured files are not under version control.
- Add: Colored output for bump --dry
- Fix: Allow --release=post
- Fix: Better error reporting for bad patterns
- Fix: Regex escaping issue with "?"
- Added: Support for globs in file patterns.
- Fixed: Better error reporting for invalid config.
- Added: Support for many more custom version patterns.
- Fixed: Better handling of pattern replacements with "-final" releases.
- Fixed [github#2].
pycalver init
was broken. - Fixed pattern escaping issues.
- Added lots more tests for cli.
- Cleaned up documentation.
- Add version tags using git/hg.
- Use git/hg tags as SSOT for most recent version.
- Start using https://gitlab.com/mbarkhau/bootstrapit
- Move to https://gitlab.com/mbarkhau/pycalver
- Initial release