Skip to content

Latest commit

 

History

History
1260 lines (690 loc) · 64.4 KB

CHANGELOG.md

File metadata and controls

1260 lines (690 loc) · 64.4 KB

Changelog

0.24.1 (2024-06-26)

Compare the full difference.

Fixes

  • Refactor error handling in SCM and add error handling test. 7ca6356

    This commit includes a new test in test_scm.py to verify the correct formatting and raising of subprocess errors in the SCM module. Additionally, the subprocess error handling has been refactored in the SCM module to include a new method, format_and_raise_error, for improved code readability and reusability.

Other

0.24.0 (2024-06-25)

Compare the full difference.

New

  • Add VersionNotFoundError test in test_bump.py. cb050a8

    The code in test_bump.py file has been modified to include a test for VersionNotFoundError exception. This ensures that the implementation properly handles cases where a specified version could not be found.

  • Add test for no commit on modification error. 7527029

    A test has been added to the bumpversion library to ensure that no commit and tag is made if there is an error modification. Specifically, the test checks the "do_bump" function and asserts that "mock_commit_and_tag" and "mock_update_config_file" are not called under these conditions.

Other

Updates

  • Improve error message for SCM command failures. 8f72f86

    The error message for failures in the SCM command execution has been enhanced. Now it displays not only the command's return code but also the standard output and error, improving the debugging process.

0.23.0 (2024-06-14)

Compare the full difference.

Fixes

  • Refactor valid_bumps and invalid_bumps to include_bumps and exclude_bumps. 2df57cc

    The configuration parameters valid_bumps and invalid_bumps were renamed to include_bumps and exclude_bumps respectively. This new naming better denotes their function, and the changes were consistently applied across all related files and tests. Numerous fixture outputs were also updated to reflect these changes.

  • Fixed spelling in CODE_OF_CONDUCT.md. 254ea44

New

  • Add file filtering based on valid and invalid bumps. f9f7f96

    This commit introduces the ability to filter files based on whether the specified bump type is valid or not. It adds valid_bumps and invalid_bumps lists in the file configurations and adjusts the bumping process to consider these configurations. Tests are updated to reflect these new handling of valid and invalid bumps.

  • Add new files to .gitignore. 34e4dc1

    Several new file types have been added to .gitignore for ignoring during commits. These include '.python-version', 'requirements-dev.lock', and 'requirements.lock' files.

  • Add valid_bumps and invalid_bumps to file configuration. 9458851

    Updated the configuration file model to support valid_bumps and invalid_bumps. This feature provides control over which version section updates can trigger file changes. Adjusted various test fixtures and cleaned up tests to match these changes. Also, some updates were made to the documentation accordingly.

Other

Updates

  • Update documentation for clarification. 2224808

    The changes made update the wording in the documentation to clarify the roles of include_bumps and exclude_bumps in the bump-my-version configuration. Additionally, unnecessary repetition was removed and overlapping examples were also corrected.

  • Update docs/reference/configuration.md. 7c801c0

    co-authored-by: wkoot 3715211+wkoot@users.noreply.github.com

0.22.0 (2024-06-11)

Compare the full difference.

New

  • Add extensive documentation for the 'show' subcommand. 91409d8

    This commit adds extensive documentation for the show subcommand in the program's reference. It also includes smaller updates and corrections to other parts of the documentation. An in-depth example usage of show is added both to the dedicated show.md file and in the function's docstring.

Updates

  • Renamed version workflow to release. 68f9eee

0.21.1 (2024-05-16)

Compare the full difference.

Other

Updates

0.21.0 (2024-05-01)

Compare the full difference.

Fixes

  • Fixed a bug in the glob tests. 1041fe9

    Was not properly looking in the correct relative directories.

  • Fixed test for Windows glob paths. ea45c4c

  • Fixed exclusion logic with wcmatch. 1c391be

  • Refactored glob matching to use the wcmatch library. bbf4ae0

New

  • Adds glob_exclude file specification parameter. 420e3bd

    User can prune the files resolved via the glob parameter.

    Fixes #184

Other

0.20.3 (2024-04-26)

Compare the full difference.

Fixes

  • Fixed test logging setup. 3777f27

  • Fixed the indentation problem. ec3cd99

    • Added a dedent when a file does not match the change pattern.
    • Fixes #181

Other

0.20.2 (2024-04-23)

Compare the full difference.

Fixes

  • Fixed the rendering of numeric version components. c522c75

    • Numeric version components now will attempt to render its value as an integer and fall back to the parsed value.
  • Fixed code block in the README. b4ff9f3

Other

0.20.1 (2024-04-13)

Compare the full difference.

Fixes

  • Fix typos discovered by codespell. d5c33a3

  • Fixed relative references. 2aa1011

  • Refactored the docs. b63a9e7

Other

0.20.0 (2024-03-27)

Compare the full difference.

Fixes

  • Refactored context into its own module. 5a3e05d

New

  • Added always_increment attribute for parts. 53ee848

    This is a requirement for CalVer to ensure they always increment with each bump, but it will work for any type.

  • Added CalVer function and formatting. 7a0e639

    • Version parts now have a calver_format attribute for CalVer parts.

Updates

  • Updated the documentation. 607609d

0.19.3 (2024-03-23)

Compare the full difference.

Fixes

  • Fixed packaging of dev releases. 84254e0

  • Fixed platform-dependent encoding. f8b4d65

    • Added encoding="utf-8" to all writes.
  • Fixed version.yaml workflow. 10b007c

Other

0.19.2 (2024-03-16)

Compare the full difference.

Fixes

  • Fixed bad options not returning an error code. e88f0a9

    Fixes #153

  • Fix issue on version.yaml. 7d14065

0.19.1 (2024-03-16)

Compare the full difference.

Fixes

  • Fix commas in legacy multiline options. 62dfe8e

New

  • Added manual version bumping in the GitHub action. c9d67b5

Other

0.19.0 (2024-03-12)

Compare the full difference.

Fixes

  • Fixing version hint generation. ae1732b

Updates

  • Removes ability to call the CLI without subcommand. e56c944

    BREAKING CHANGE: You must use bump-my-version bump

0.18.3 (2024-02-25)

Compare the full difference.

Fixes

  • Fixed --ignore-missing-version and --ignore-missing-files options. 7635873

    The CLI options were defaulting to False when missing. This overrode the configuration.

    Fixes #140

0.18.2 (2024-02-25)

Compare the full difference.

Fixes

0.18.1 (2024-02-24)

Compare the full difference.

Fixes

  • Fixed type annotation in config. 2988ede

  • Fixed naming issue for docs. 2850aa7

    • renamed changelog.md and contributing.md

New

  • Added how-to doc. 68643a9

    • "How to update a date in a file"

Other

Updates

0.18.0 (2024-02-18)

Compare the full difference.

New

  • Added --ignore-missing-files option to bump. fcfaac7

  • Added configuration option ignore_missing_files. b473a19

Other

  • Convert docs to MkDocs. f805c33

  • Converted documentation to use MkDocs. 1b8c6b3

0.17.4 (2024-02-10)

Compare the full difference.

Fixes

  • Fixed linting errors. 9515afc

  • Fix encoding when reading text. c03476a

    Fixes #68

Other

0.17.3 (2024-01-29)

Compare the full difference.

Fixes

  • Refactored VersionComponentConfig to VersionComponentSpec. b538308

    More consistent with VersionSpec

New

  • Added mental model documentation. 5cbd250

Other

Updates

  • Updated more documentation. 779c84c

0.17.2 (2024-01-27)

Compare the full difference.

Fixes

  • Fixed some tests. 593a4ee

  • Refactored serialization. 0ac2cd8

    • Moved serialization from VersionConfig to version.serialization
  • Fixed extra capture group in PEP440 parser. 384fd99

  • Refactored verioning models. 88e7f71

    • created a "conventions" module for future release
    • added an optional depends_on version component configuration
    • The depends_on is required for PEP440 versioning
  • Fixed None as value for a function. f8c4d05

    • Turns None into an empty string
  • Fixed bad imports. 5c86d51

  • Refactored versioning models and tests. 7d05414

  • Refactored version parsing. 5ed546b

  • Refactored versioning functions and version parts. be87721

  • Fixed timezone of a test. 0e01253

0.17.1 (2024-01-25)

Compare the full difference.

Fixes

  • Fixed bad error checking with SCM. 10e5d7d

  • Fix missing current version within the context. a5dca4c

0.17.0 (2024-01-22)

Compare the full difference.

Fixes

  • Fixed Py3.8 type annotation. c15b23b

  • Fixed some output in visualizing. 406f97a

  • Fixed bad type annotation. 8f4bedf

  • Fixed bad test imports. a74342b

  • Refactored the create subcommand. f529d28

    • Also organized the CLI tests

New

  • Added show-bump subcommand. 0bbd814

    • Shows possible resulting versions of the bump command
  • Added sample-config feature. 3d0f67d

    • Initial implementation

Updates

0.16.2 (2024-01-13)

Compare the full difference.

Fixes

  • Fixed a bad import. 46c9c48

  • Fixed extra whitespace added when updating pyproject.toml. 839f17f

    • Removed dotted-notation from requirements. There is an issue on how dotted-notation sets values in the TOMLkit data structure.

    • Added get_nested_value and set_nested_value as replacements for dotted-notation.

Other

0.16.1 (2024-01-06)

Compare the full difference.

Fixes

  • Fixed empty string replacement bug. d9965ab

    Only a missing replacement value will trigger one of the fallback options.

    Fixes #117

0.16.0 (2024-01-05)

Compare the full difference.

New

  • Add support for legacy multiline search options (refs #98). 278eae5

Other

0.15.4 (2023-12-29)

Compare the full difference.

Fixes

  • Fix not being able to tag without also committing. 753c990

  • Fixed testing automation. 19215f1

    • The new commit/tag decoupling requires the --no-tag flag

0.15.3 (2023-12-18)

Compare the full difference.

Fixes

  • Fix miscast of current_version. b8ea252

    • When using the legacy configuration format, a single-digit version is parsed as an int

    Fixes #99

0.15.2 (2023-12-18)

Compare the full difference.

Fixes

  • Fixed regression in config update. 2bbbd74

    Fixes #108

New

  • Added a test case for line-start regexes. ef4823c

0.15.1 (2023-12-18)

Compare the full difference.

Fixes

  • Fixes workflow triggers. 690452e

  • Fixes mismatched artifact up/downloading versions. 3f61742

  • Fixed PR_NUMBER retrieval. 85a8b48

  • Fixes committing and download-artifact. 12ba54f

  • Refactored workflows. d2f30a8

Other

  • Testing PR acquisition. 67ab83d

  • Put in temporary debugging steps. 6ac064e

Updates

  • Changed the triggers to cause runs. 23e6c18

0.15.0 (2023-12-16)

Compare the full difference.

Fixes

  • Fixed requirements for github action. d96e07a

Updates

  • Changed default regex CLI value to None. 93191f3

    Fixes #64

    The default value of False was overriding other values.

0.14.0 (2023-12-15)

Compare the full difference.

Fixes

  • Fixed issue when adding files. 84556f8

  • Fixed missing requirement in GH action. 42bab83

  • Fixed regression regarding multiple changes in one file. e7a7629

    Changed the method of marking changes from a dict keyed by the file name to a list of FileChanges.

    FileChanges encapsulate a single change to a file.

  • Refactored logging to provide indented output. 4e68214

  • Refactored FileConfig to FileChange. 249a999

    This better describes what the class does: describe a file change.

    Also moved get_search_pattern to the class, since it is specific to each instance

  • Refactored config file management. a4c90b2

    Moved the INI format stuff into files_legacy.py

  • Fixes generate-requirements.sh to upgrade. 121ef69

New

  • Added caching to the resolved filemap. c96e0bd

  • Added custom GitHub action. 4ce17a9

  • Added indented logger to improve console output. d1d19e3

Updates

  • Changed the management of file changes. 909396d

    File changes are hashable to weed out duplication.

  • Removed some commented lines. 89686b8

0.13.0 (2023-12-06)

Compare the full difference.

Fixes

  • Fixed import of extract_regex_flags. a980670

  • Fixed logging and regex regression in 3.11. cae12dc

  • Fixed issue with tag name. e218264

    Fixes #74

    current_version and tag_name now do not need to match exactly

  • Fixed logic in auto bump workflow. 909a53f

  • Fixes callowayproject#85. 97049e0

    HG returns the tags in the order they were created so we want the last one in the list

  • Fixed autoversioning. a308a35

New

  • Added key_path to FileConfig. e160b40

    • Also made all attributes required except filename, glob, and key_path

Other

Updates

  • Refactored configuration file updating. e407974

    TOML files are parsed, specific values are updated, and re-written to avoid updating the wrong data.

    It uses a two-way parser, so all formatting and comments are maintained.

    INI-type configuration files use the old way, since that format is deprecated.

0.12.0 (2023-11-04)

Compare the full difference.

Fixes

  • Fixed versioning. 8769671

  • Fix dev versioning with PR number. 463082b

  • Fix dev versioning. 1eed99b

    • added an echo of the PR_NUMBER
  • Fix versioning of development versions. e89599f

  • Fixes workflows. 5ebb0d7

  • Fixed bug #65 where glob'd files weren't used. 357b9dc

New

  • Add -h for help option. fda71b0

    Fixes #67

Other

Updates

  • Changed the default regex search to non-regex. 0034716

    Fixes #59

    • Changed the flags to --regex/--no-regex
    • updated tests and docs

0.11.0 (2023-09-26)

Compare the full difference.

Other

Updates

  • Removed bumpversion as a duplicate of the bump-my-version script. a59ced8

  • Updated dependency from Pydantic 1 to 2. 577aa4c

0.10.0 (2023-09-05)

Compare the full difference.

Updates

  • Refactored file resolution, inclusion, and exclusion. 646af54

    • Fixes #61
    • Config now includes resolved_filemap property
    • resolved filemap expands all globs
    • Config now includes files_to_modify property
    • files to modify resolves inclusions and exclutions
    • Improved Config.add_files property

0.9.3 (2023-08-25)

Compare the full difference.

Fixes

  • Fixed file configuration overrides. c1ef3b2

    Fixes #55

    The file config was ignoring falsey values when constructing the dict.

    It now ignores None values.

  • Fixed documentation regarding regex config. cd71a1a

    • TOML requires the double backslash while INI doesn't
  • Fixed requirements for docs. 7856ee0

New

  • Added documentation building workflow. 48980d7

Other

Updates

  • Removed mentions of Python 3.7. a91f690

0.9.2 (2023-08-07)

Compare the full difference.

Fixes

  • Fixed modified context when committing. 130bbe0

    • Resets the context before committing and tagging
    • Fixes #14

0.9.1 (2023-08-03)

Compare the full difference.

Other

Updates

  • Remove pygments_style from docsrc/conf.py. 32798a9

    The theme defaults, subjectively, look better.

0.9.0 (2023-08-03)

Compare the full difference.

New

  • Added documentation about regular expressions. 449b70a

  • Added configuration and command-line no_regex option. a295a32

    • Global and individual file configurations available for no_regex
    • Command-line flag --no-regex flag added for bump and replace sub-commands
  • Adds regular expression searching ability. 0210d74

    • Search strings are treated as regular expressions after the initial substitution
  • Added deprecation warning on .cfg files. a0481b7

0.8.0 (2023-07-13)

Compare the full difference.

New

  • Added documentation for ignore missing version. e0731c3

  • Added --ignore-missing-version flag to bump and replace. a5bd008

  • Added ignore-missing-version configuration. 45c85be

    • Defaults to False
    • File configurations can also override this value
  • Added deprecation warnings. 733438b

    • --list option will go bye-bye in 1.0
    • calling bumpversion without a subcomand will leave in 1.0

0.7.1 (2023-07-12)

Compare the full difference.

Fixes

  • Fix search and replace options for replace. 781e8d8

    • The --search and --replace options now completely override any other search and replace logic.

    Fixes #34

Other

0.7.0 (2023-07-10)

Compare the full difference.

Fixes

  • Fixed test coverage. 3fe96f0

  • Fixed wrong pydantic version pinning. d4b125e

  • Fixed typing issue. bfe5306

    • Declared SourceCodeManager attributes as ClassVar[List[str]]
    • _TEST_USABLE_COMMAND, _COMMIT_COMMAND, and _ALL_TAGS_COMMAND affected

New

  • Added tests for CLI replace command. a53cddc

  • Added and re-organized documentation. c62d65e

  • Added replace subcommand. 8722a0f

    • Works just like bump but

      • doesn't do any version incrementing
      • Will not change the configuration file
      • Will not commit or tag
    • Can use bumpversion show new_version --increment <versionpart> to see what the new version would be

  • Adds short_branch_name to version rendering context. 7f7e50c

    • short_branch_name is the branch name, lower case, containing only a-z and 0-9, and truncated to 20 characters.

    Fixes #28

Other

0.6.0 (2023-06-23)

Compare the full difference.

Fixes

  • Fixed --help and bump invocations. 9d965e5

    • --help works for individual sub-commands, but not for the command
    • bump now works and fixed tests
  • Fixed issue regarding TOML types. 8960d24

    • tomlkit.parse() returns a TOMLDocument.
    • unwrap() converts it into a dict

New

  • Adds branch_name to SCM information. 173be1a

  • Added documentation for the show command. d537274

  • Adds --increment option to show subcommand. b01fffc

    • when specified it increments the current version and adds new_version to the available output.
  • Added show subcommand. 9bce887

    • supersedes the --list option
    • provides much more capability
    • Can output in YAML, JSON, and default
    • Can specify one or more items to display
    • Can use dotted-notation to pull items from nested data structures.

Updates

  • Changes bump-my-version into subcommands. 31ffbcf

    • Is backwards-compatible with previous versions
    • bump-my-version forwards command to bump-my-version bump subcommand
    • Only problem is that Click will not show help automatically, must provide --help

0.5.1 (2023-06-14)

Compare the full difference.

Fixes

  • Fixes reporting the wrong version missing in a file. efb04e9

    • Fixes issue #20
    • Renders the correct current_version for each file being modified.

Other

0.5.0 (2023-06-12)

Compare the full difference.

Fixes

  • Fixed ruff complaints about subprocess. c429c68

  • Fixed issue with formatting. da7544f

    There is an underlying edge case where the deriving previous environment variables with multiple ways of formatting version numbers will fail.

New

  • Add test to reproduce issue #14. d78ff46

  • Added documentation for replacing strings in different files. 893ec03

    Fixes #6

Other

  • Made VERSION_PART optional. f236b7d

    • Fixes #16
    • VERSION_PART is detected from the arguments based on the configuration

Updates

  • Updated docs indicated VERSION_PART is optional. 22edeac

  • Updated tests for bad version parts. 23be62d

  • Changed exception type raised when bad version part is detected. 1e3ebc5

    • ValueError -> click.BadArgumentUsage
  • Updated readme. 7780265

    Fixes #7

0.4.1 (2023-06-09)

Compare the full difference.

Fixes

  • Fixes release.yaml. 01870d5

    Outputs the notes to a file instead of an environment variable.

Other

0.4.0 (2023-04-20)

Compare the full difference.

Fixes

  • Fixed pre-commit hook for dependency checking. 3d5c253

  • Fixed installing test dependencies. c1034eb

  • Fixed dependency spec. 4782745

  • Fixed missing python in pypi test. e5ed27d

  • Fixed some CI issues. d4b03d7

  • Fixed vague commit and tagging info. 4fb5158

    • If commit is configured false, it will report that it will not commit

    • If commit is configured false, tagging is disabled and it reports that

    • If tagging is configured false, it will report it is not tagging

  • Fixes test package. 7c12072

    • The build-and-inspect action didn't save the dist packages

New

  • Added tests for logging branches. f8f0278

  • Added path restrictions on release-hints. e1af658

  • Added test build to CI. 8738f3f

  • Added doc files to table of contents. 49858c0

Other

Updates

  • Removed pre-commit dependency hook. ac6cdd0

  • Changed the version serialization. c529452

    • can bump "dev" to get a development release
  • Updated formatting documentation. 8006f3e

0.3.0 (2023-04-17)

Compare the full difference.

Fixes

  • Fixed bug in SCMInfo setup. e8fddc9

  • Fixed missing xml coverage report. 696503f

  • Fixed assertion in failing test. 7afe58c

  • Fixes issue when new version equals current version. 64b0de3

    • Now it reports they are the same and exits.
  • Fixes issue of duplicate tags. c025650

    • Now it checks if the tag exists and reports a warning
  • Fixed automation tooling. 19f13b7

    • changed name to bump-my-version in setup.cfg
    • added PAT in release pipeline to (hopefully) allow committing and tagging to master without issue.

New

  • Added codecov to workflow. a5009e0

Other

  • Migrated setuptools metadata to pyproject.toml. 0bd54dc

Updates

0.2.0 (2023-04-14)

Compare the full difference.

Fixes

  • Fixed configuration to allow_dirty in bumpversion. b042e31

  • Fixes issue with generate-changelog and git. 2a977af

  • Fixes the quoting in the bumpversion expressions. 9a55d6d

  • Fixed issue with windows testing. b8abc44

    • different methods for reporting paths was resolved by casting them the pathlib.Paths
  • Fixes windows testing error. 556853b

    • the differences in path specifications seems to be causing problems.
  • Fixed type issue in Python 3.7, 3.8. ddfd3bf

  • Fixed configuration file detection. fbf85c2

    Doesn't just stop when it finds one, it checks for the existence of the header.

  • Fixed logging output and output in general. 0aea9dc

New

Other

  • Removing testing for Python 3.7. 19eaeef

  • Moved configuration to pyproject.toml. d339007

  • Initial conversion. f5d1cab

  • Initial commit. d7dec79

Updates

  • Updated workflows. 857835d

    • Added better changelog parsing
    • Added workflow dispatch inputs for manual runs
  • Improved documentation. f3b7a0f

  • Renamed tox job to test. a9b6db3

  • Updated README and other documentation. e0cebb3

  • Improved Mercurial support. 560999d

  • Improved logging output. 6ccfa7d

  • Changed errors to subclass UsageError. a447651

  • Changed BaseVCS to SourceCodeManager. 11c5609

    Just for consistency.

  • Modified the group command back to a single command. 6d4179b

    Will eventually change to a group command, but later.

0.1.0 (2023-03-24)

  • Initial creation