# Changelog for https://github.com/mbarkhau/pycalver ## NEXT 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][gitlab_i7]: New style pattern syntax. - Better support for week numbers. - Better support for optional parts. - New: `BUILD` part now starts at `1000` instead of `0001` to avoid truncation of leading zeros. - New: Add `INC0` (0-based) and `INC1` (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][gitlab_i2]: Added `grep` sub-command to help with debugging of patterns. - New [gitlab#10][gitlab_i10]: `--pin-date` to keep date parts unchanged, and only increment non-date parts. - New: Added `--date=` parameter to set explicit date (instead of current date). - New: Added `--release-num` to increment the `alphaN`/`betaN`/`a0`/`b0`/etc. release number - New: Added better error messages to debug regular expressions. - New [gitlab#9][gitlab_i9]: Make commit message configurable. - Fix [gitlab#12][gitlab_i12]: Error with sorting non-lexical version tags (e.g. SemVer). - Fix [gitlab#11][gitlab_i11]: Show regexp when `--verbose` is used. - Fix [gitlab#8][gitlab_i8]: `pycalver push ` will now also push HEAD (previously only the tag itself was pushed). - Fix: Disallow `--release=dev`. The semantics of a `dev` 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/](https://pypi.org/project/lexid/). Many thanks to contributors of this release: @LucidOne, @khanguslee, @chaudum [gitlab_i7]:https://gitlab.com/mbarkhau/pycalver/-/issues/7 [gitlab_i2]: https://gitlab.com/mbarkhau/pycalver/-/issues/2 [gitlab_i10]: https://gitlab.com/mbarkhau/pycalver/-/issues/10 [gitlab_i9]: https://gitlab.com/mbarkhau/pycalver/-/issues/9 [gitlab_i12]: https://gitlab.com/mbarkhau/pycalver/-/issues/12 [gitlab_i11]: https://gitlab.com/mbarkhau/pycalver/-/issues/11 [gitlab_i8]: https://gitlab.com/mbarkhau/pycalver/-/issues/8 ## v201907.0036 - Fix: Don't use git/hg command if `commit=False` is configured (thanks @valentin87) ## v201907.0035 - Fix [gitlab#6][gitlab_i6]: Add parts `{month_short}`, `{dom_short}`, `{doy_short}`. - Fix [gitlab#5][gitlab_i5]: Better warning when using bump with SemVer (one of --major/--minor/--patch is required) - Fix [gitlab#4][gitlab_i4]: Make {release} part optional, so that versions generated by --release=final are parsed. [gitlab_i6]: https://gitlab.com/mbarkhau/pycalver/-/issues/6 [gitlab_i5]: https://gitlab.com/mbarkhau/pycalver/-/issues/5 [gitlab_i4]: https://gitlab.com/mbarkhau/pycalver/-/issues/4 ## v201903.0030 - 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. ## v201903.0028 - Fix: Add warnings when configured files are not under version control. - Add: Colored output for bump --dry ## v201902.0027 - Fix: Allow --release=post - Fix: Better error reporting for bad patterns - Fix: Regex escaping issue with "?" ## v201902.0024 - Added: Support for globs in file patterns. - Fixed: Better error reporting for invalid config. ## v201902.0020 - Added: Support for many more custom version patterns. ## v201812.0018 - Fixed: Better handling of pattern replacements with "-final" releases. ## v201812.0017 - Fixed [github#2]. `pycalver init` was broken. - Fixed pattern escaping issues. - Added lots more tests for cli. - Cleaned up documentation. [gihlab_i2]: https://github.com/mbarkhau/pycalver/-/issues/2 ## v201812.0011-beta - 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 ## v201809.0001-alpha - Initial release