Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-poetry-dynamic-versioning for
openSUSE:Factory checked in at 2025-07-06 17:15:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-poetry-dynamic-versioning (Old)
and /work/SRC/openSUSE:Factory/.python-poetry-dynamic-versioning.new.1903
(New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-poetry-dynamic-versioning"
Sun Jul 6 17:15:46 2025 rev:12 rq:1290821 version:1.9.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-poetry-dynamic-versioning/python-poetry-dynamic-versioning.changes
2025-03-31 11:44:58.148613444 +0200
+++
/work/SRC/openSUSE:Factory/.python-poetry-dynamic-versioning.new.1903/python-poetry-dynamic-versioning.changes
2025-07-06 17:19:44.664330415 +0200
@@ -1,0 +2,7 @@
+Sat Jul 5 18:23:08 UTC 2025 - Richard Rahl <[email protected]>
+
+- update to 1.9.0:
+ * Option tool.poetry-dynamic-versioning.commit-prefix
+ * Option tool.poetry-dynamic-versioning.escape-with
+
+-------------------------------------------------------------------
Old:
----
poetry_dynamic_versioning-1.8.2.tar.gz
New:
----
poetry_dynamic_versioning-1.9.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-poetry-dynamic-versioning.spec ++++++
--- /var/tmp/diff_new_pack.FmklSg/_old 2025-07-06 17:19:45.440362504 +0200
+++ /var/tmp/diff_new_pack.FmklSg/_new 2025-07-06 17:19:45.440362504 +0200
@@ -18,7 +18,7 @@
%{?sle15_python_module_pythons}
Name: python-poetry-dynamic-versioning
-Version: 1.8.2
+Version: 1.9.0
Release: 0
Summary: Plugin for Poetry to enable dynamic versioning based on VCS
tags
License: MIT
++++++ poetry_dynamic_versioning-1.8.2.tar.gz ->
poetry_dynamic_versioning-1.9.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/poetry_dynamic_versioning-1.8.2/CHANGELOG.md
new/poetry_dynamic_versioning-1.9.0/CHANGELOG.md
--- old/poetry_dynamic_versioning-1.8.2/CHANGELOG.md 2025-03-28
23:42:59.165768000 +0100
+++ new/poetry_dynamic_versioning-1.9.0/CHANGELOG.md 2025-07-04
21:45:44.206459000 +0200
@@ -1,521 +1,529 @@
-## v1.8.2 (2025-03-28)
-
-* Fixed:
- * Possible `object has no attribute 'poetry'` error in some projects.
-
-## v1.8.1 (2025-03-24)
-
-* Fixed:
- * `NameError` exception with Python 3.7.
-
-## v1.8.0 (2025-03-20)
-
-* Added:
- * The `bump` config may now be set to a table,
- which supports an `index` field.
- * `commit-length` option to set a fixed length for commit hashes.
- * `{major}`, `{minor}`, and `{patch}` format placeholders.
-* Fixed:
- * Compatibility with other plugins (such as `poetry-monoranger-plugin`)
- that replace the `ConsoleCommandEvent.command.poetry` instance.
- ([Contributed by
stevapple](https://github.com/mtkennerly/poetry-dynamic-versioning/pull/222))
-* Changed:
- * Updated Dunamai to 1.23.0+ for the latest features.
-
-## v1.7.1 (2025-01-22)
-
-* Fixed:
- * There was an intermittent `ValueError` in PEP 621 mode,
- related to trying to remove `"version"` from `project.dynamic`
- when it had already been removed.
-
-## v1.7.0 (2025-01-15)
-
-* Added:
- * The `enable` command now supports the bypass/override environment variables
- to use a different placeholder version than 0.0.0.
-* Fixed:
- * The `enable` command would add `"version"` to `project.dynamic` even if it
were already present.
- ([Contributed by
waketzheng](https://github.com/mtkennerly/poetry-dynamic-versioning/pull/214))
- * The `enable` command would set `tool.poetry.version` to `"0.0.0"`
- even if the field were already present with a different value.
-
-## v1.6.0 (2025-01-10)
-
-* Added:
- * CLI: `show` command to print the version without changing any files.
-
-## v1.5.2 (2025-01-09)
-
-* Fixed:
- * The formatting of `project.dynamic` and `tool.poetry.version`
- could be changed when triggering the plugin via `poetry
dynamic-versioning` or `pip install`
- (but not via `poetry build` or `poetry-dynamic-versioning`).
-
-## v1.5.1 (2025-01-09)
-
-* Fixed:
- * Array formatting was not preserved when changing `project.dynamic` in
pyproject.toml.
- ([Contributed by
edgarrmondragon](https://github.com/mtkennerly/poetry-dynamic-versioning/pull/207))
-
-## v1.5.0 (2025-01-05)
-
-* Added:
- * CLI: When pyproject.toml contains the `project` section,
- the `enable` command will add the required fields for Poetry 2.0.0+.
-* Fixed:
- * For compatibility with Poetry 2.0.0,
- adjusted Poetry constraint from `^1.2.0` to `>=1.2.0`.
- * For compatibility with Poetry 2.0.0,
- when inserting the dynamic version into pyproject.toml with PEP 621 mode
activated,
- the plugin ensures not to set `project.version` and `tool.poetry.version`
at the same time.
- * An `UnboundLocalError` could happen when pyproject.toml was misconfigured.
-
-## v1.4.1 (2024-09-10)
-
-* Fixed:
- * The `enable` command would fail when the pyproject.toml tables were out of
order.
-
-## v1.4.0 (2024-06-17)
-
-* Added:
- * The plugin now supports Poetry's upcoming PEP-621 functionality.
- More info here: https://github.com/python-poetry/poetry/issues/3332
-
- If your pyproject.toml defines `tool.poetry.name`,
- then the plugin will preserve its existing behavior.
-
- However, if your pyproject.toml:
-
- * does not define `tool.poetry.name`
- * defines `project.name`
- * defines `project.dynamic` to include `"version"`
- * does not define `project.version`
-
- ...then the plugin will enable its PEP-621 functionality.
-
- Because PEP-621 support is not yet released and finalized in Poetry itself,
- it is also subject to change in the plugin.
-
- ([Prototyped by
edgarrmondragon](https://github.com/mtkennerly/poetry-dynamic-versioning/pull/181))
-
-## v1.3.0 (2024-04-29)
-
-* Added:
- * `pattern-prefix` option to add a prefix to the version tag pattern.
- * `ignore-untracked` option to control the detection of dirty state.
- * `from-file` config section to read a version from a file instead of the
VCS.
- * `POETRY_DYNAMIC_VERSIONING_DEBUG` environment variable for some logging.
-* Changed:
- * Updated Dunamai to 1.21.0+ for the latest features.
-
-## v1.2.0 (2023-12-02)
-
-* Added:
- * `initial-content-jinja` option in `tool.poetry-dynamic-versioning.files`
section.
-* Fixed:
- * Line ending style was not preserved in some cases because of the default
behavior of `pathlib.Path.read_text`.
- To avoid this, `pathlib.Path.read_bytes` is used instead now.
- ([Contributed by
nardi](https://github.com/mtkennerly/poetry-dynamic-versioning/pull/157))
-
-## v1.1.1 (2023-10-27)
-
-* Fixed:
- * Custom substitutions in pyproject.toml weren't cleaned up correctly.
- This was because the plugin would record the "original" content of the file
- after the `version` and `enable` fields had already been changed.
- Now, substitutions are reverted first before reverting `version` and
`enable`.
-
-## v1.1.0 (2023-10-01)
-
-* Added:
- * `tool.poetry-dynamic-versioning.files` config section.
- This allows you to create a file in a default state before applying
substitutions to it.
- You can also leave the substitutions in place when the plugin deactivates.
-
-## v1.0.1 (2023-08-21)
-
-* Fixed:
- * Compatibility with poetry-core 1.7.0, which removed the
`poetry.core.semver` module.
- * The `enable` command now constrains the plugin version to `>=1.0.0,<2.0.0`
- to protect against any potential API changes.
-
-## v1.0.0 (2023-08-18)
-
-* Fixed:
- * Running `poetry dynamic-versioning` followed by `poetry build`
- would leave the plugin enabled in the sdist's pyproject.toml.
-
-## v0.25.0 (2023-07-11)
-
-* Added:
- * `fix-shallow-repository` option to attempt to automatically fix shallow
repositories.
- Currently, this only supports Git and will run `git fetch --unshallow`.
-* Changed:
- * Updated Dunamai to 1.18.0+ for the latest features.
-
-## v0.24.0 (2023-06-30)
-
-* Added:
- * `POETRY_DYNAMIC_VERSIONING_COMMANDS_NO_IO`
- environment variable to prevent the plugin from modifying files during
certain commands.
- The plugin still sets the dynamic version in memory so that Poetry itself
can write it as needed.
-* Changed:
- * During `poetry version`, the plugin still activates, but no longer
modifies pyproject.toml.
-
-## v0.23.0 (2023-06-13)
-
-* Added:
- * CLI `enable` subcommand to enable the plugin in pyproject.toml.
- * Support for `POETRY_DYNAMIC_VERSIONING_OVERRIDE` environment variable.
- * `mode` option for substitution to support `__version_tuple__` style.
-* Changed:
- * CLI: `poetry dynamic-versioning` now outputs a summary of the changes,
- the same way that `poetry-dynamic-versioning` already did.
-
-## v0.22.0 (2023-05-19)
-
-* Added:
- * The plugin will print a warning for shallow Git repositories
- (and any other `Concern`s reported by Dunamai in the future).
- This becomes an error with `strict = true`.
-* Changed:
- * Updated Dunamai to 1.17.0+ for the latest features and bug fixes.
-
-## v0.21.5 (2023-05-15)
-
-* Fixed:
- * Compatibility with poetry-core 1.6.0+.
-* Changed:
- * `CHANGELOG.md` and `tests` are now included in sdists.
-
-## v0.21.4 (2023-02-21)
-
-* Fixed:
- * In the Poetry CLI mode and standalone script mode,
- `path` dependencies received the same dynamic version as the active
project.
- This issue did not affect the build backend mode.
-* Changed:
- * Updated Dunamai to 1.16.0+ for the latest features and bug fixes.
-
-## v0.21.3 (2022-12-23)
-
-* Fixed:
- * Resolved a deprecation warning when used with Poetry Core 1.3.0+.
- ([Contributed by
edgarrmondragon](https://github.com/mtkennerly/poetry-dynamic-versioning/pull/106))
-
-## v0.21.2 (2022-12-16)
-
-* Fixed:
- * Line endings were not necessarily preserved because of the default
behavior of `pathlib.Path.write_text`.
- To avoid this, `pathlib.Path.write_bytes` is used instead now.
-
-## v0.21.1 (2022-11-08)
-
-* Fixed:
- * Warning for invalid config was printed to stdout instead of stderr.
-
-## v0.21.0 (2022-11-07)
-
-* Added:
- * The plugin now prints a warning if its configuration is invalid.
- Right now, this just checks for unknown keys.
- * A `strict` option to prevent falling back to `0.0.0` when there are no
tags.
-* Changed:
- * Updated Dunamai to 1.14.0+ for the latest features.
- This adds support for VCS archival files, namely ones produced by `git
archive` and `hg archive`.
- Refer to [the Dunamai
documentation](https://github.com/mtkennerly/dunamai#vcs-archives) for more
info.
-
-## v0.20.0 (2022-10-18)
-
-* Changed:
- * Updated Dunamai to 1.13.2+ for the latest features and bug fixes.
- In particular, this fixes an error when parsing Git output with
`showSignature = true` configured.
-
-## v0.19.0 (2022-09-16)
-
-* Fixed:
- * When using `poetry build`, the plugin did not properly disable itself in
the
- copy of pyproject.toml included in source distributions, causing failures
- when trying to install them.
-* Added:
- * Support for activating the dynamic versioning only for certain Poetry
commands
- (environment variable: `POETRY_DYNAMIC_VERSIONING_COMMANDS`).
-
-## poetry-dynamic-versioning: v0.18.0 (2022-09-05)
-
-* Changed:
- * The minimum supported Python version is now 3.7.
- * The minimum supported Poetry version is now 1.2.0.
- * Import hacks have been eliminated in favor of a PEP 517 build backend
wrapper
- around Poetry Core.
- * The two flavors of poetry-dynamic-versioning are now combined into one
package
- via the optional `plugin` feature.
-
-## poetry-dynamic-versioning-plugin: v0.4.0 (2022-09-05)
-
-* Deprecated the name `poetry-dynamic-versioning-plugin`
- in favor of a newly unified `poetry-dynamic-versioning`.
-
-## poetry-dynamic-versioning-plugin: v0.3.2 (2022-05-25)
-
-* Fixed:
- * `poetry` did not work correctly when in a folder without a pyproject.toml.
- * `poetry plugin show` did not work correctly.
-
-## poetry-dynamic-versioning: v0.17.1 & poetry-dynamic-versioning-plugin:
v0.3.1 (2022-05-19)
-
-* Fixed:
- * CLI mode failed when pyproject.toml did not specify `enable = true`.
-
-## poetry-dynamic-versioning: v0.17.0 & poetry-dynamic-versioning-plugin:
v0.3.0 (2022-05-13)
-
-* Added:
- * Option `tool.poetry-dynamic-versioning.substitution.folders`.
-
-## poetry-dynamic-versioning: v0.16.0 & poetry-dynamic-versioning-plugin:
v0.2.0 (2022-05-07)
-
-* Changed:
- * Option `tool.poetry-dynamic-versioning.subversion.tag-dir` is now
`tool.poetry-dynamic-versioning.tag-dir`.
-* Added:
- * Option `tool.poetry-dynamic-versioning.tag-branch`.
- * Option `tool.poetry-dynamic-versioning.full-commit`.
-
-## poetry-dynamic-versioning-plugin: v0.1.0 (2022-04-28)
-
-* Changed:
- * The Poetry 1.2+ plugin now has a new name,
`poetry-dynamic-versioning-plugin`,
- and this is its first release as a separate package.
-
- The import-hack-based pseudo-plugin will continue to be called
`poetry-dynamic-versioning`.
-
-## poetry-dynamic-versioning: v0.15.0 (2022-04-28)
-
-* Changed:
- * Internal improvements/refactoring to unify code base with
`poetry-dynamic-versioning-plugin`,
- which is released as a separate package. These changes should not affect
- users of `poetry-dynamic-versioning`.
-
-## v1.0.0b3 (2022-04-24)
-
-* Fixed:
- * The plugin can now update versions for dependencies that also use the
plugin.
-
-## v1.0.0b2 (2022-04-15)
-
-* Fixed:
- * The plugin maintained its own copy of the default `pattern`, which meant
that
- it could fall behind the copy in Dunamai and lead to surprising behavior.
- The plugin now automatically uses the latest default from Dunamai directly
- when you do not customize it in the plugin settings.
-
-## v0.14.1 (2022-04-14)
-
-* Fixed:
- * The plugin maintained its own copy of the default `pattern`, which meant
that
- it could fall behind the copy in Dunamai and lead to surprising behavior.
- The plugin now automatically uses the latest default from Dunamai directly
- when you do not customize it in the plugin settings.
-
-## v1.0.0b1 (2022-03-10)
-
-* Changed:
- * Implemented the official Poetry plugin interface.
-
-## v0.14.0 (2022-03-09)
-
-* Changed:
- * The build backend is now poetry-core.
- ([Contributed by
fabaff](https://github.com/mtkennerly/poetry-dynamic-versioning/pull/63))
- * The default list of `substitution.patterns` now handles `__version__`
- when it has a type annotation.
- ([Draft by
da2ce7](https://github.com/mtkennerly/poetry-dynamic-versioning/pull/64))
-* Added:
- * Option to bypass the version control system and set a hard-coded version
- in an environment variable called `POETRY_DYNAMIC_VERSIONING_BYPASS`.
- ([Draft by
jonringer](https://github.com/mtkennerly/poetry-dynamic-versioning/pull/69))
- * `branch`, `branch_escaped`, and `timestamp` formatting variables.
-
-## v0.13.1 (2021-08-09)
-
-* Fixed an oversight where the default version tag pattern would only find
- tags with exactly three parts in the base (e.g., `v1.0.0` and `v1.2.3`).
- This is now relaxed so that `v1`, `v1.2.3.4`, and so on are also recognized.
-
-## v0.13.0 (2021-05-26)
-
-* Changed:
- * Broadened version range of Jinja2 dependency to support projects that need
- a newer version.
- * Bumped the minimum Poetry version to 1.1.0, since the above Jinja2 change
- seemed to trip up Poetry 1.0.10 (on Python 3.7 and 3.8, but not 3.5 or 3.6,
- for some reason).
-* Fixed:
- * The plugin did not work on Fedora inside of Pip's isolated build
- environment, because the plugin would be loaded before some of its
- dependencies. Now, those imports are delayed until needed.
-
-## v0.12.7 (2021-05-20)
-
-* Fixed:
- * Parsing files containing special UTF-8 characters would result in an error.
- Files are now assumed to be UTF-8.
- ([Contributed by
rhorenov](https://github.com/mtkennerly/poetry-dynamic-versioning/pull/50))
-
-## v0.12.6 (2021-04-19)
-
-* Fixed:
- * The previous `bump` fix only applied to `format-jinja`. It has now been
- fixed for other scenarios as well.
-
-## v0.12.5 (2021-04-18)
-
-* Fixed:
- * When the `bump` option was enabled, the version would be bumped even when
on
- a commit with a version tag. Now, no bumping occurs when on such a commit.
-
-## v0.12.4 (2021-03-05)
-
-* Fixed:
- * An incompatibility with `tox-poetry-installer` where the working directory
- was received as a `str` instead of a `Path`.
- ([Contributed by
cburgess](https://github.com/mtkennerly/poetry-dynamic-versioning/pull/41))
-
-## v0.12.3 (2021-02-19)
-
-* Fixed:
- * Previously, when building a source distribution with `poetry build`, the
- plugin's config section would retain the `enable = true` setting, which
- would then cause an error when installing the artifact since the VCS info
- would not be available.
- (This was not an issue for wheels generated by `poetry build`.)
-
- The dynamic version from build time is still present in the source
- distribution, so there is no need for the plugin at install time.
- Therefore, the plugin now temporarily sets `enable = false` so that that
- value will be placed in the source distribution, then restores the original
- setting for development purposes.
-
-## v0.12.2 (2021-01-30)
-
-* Fixed:
- * Another possible exception when applying patches if only `poetry-core` was
- installed and not the Poetry tool, particularly combined with Tox.
-
-## v0.12.1 (2021-01-04)
-
-* Fixed:
- * Possible exception when applying patches if only `poetry-core` was
- installed and not the Poetry tool.
-
-## v0.12.0 (2020-12-05)
-
-* Added:
- * `tagged-metadata` option, for the corresponding Dunamai feature.
- ([Contributed by
mariusvniekerk](https://github.com/mtkennerly/poetry-dynamic-versioning/pull/32))
-
-## v0.11.0 (2020-11-21)
-
-* Added:
- * `bump` option.
-* Fixed:
- * `poetry shell` did not clean up after itself.
-
-## v0.10.0 (2020-10-08)
-
-* Added:
- * Support for patching `poetry-core` when used as a standalone build system.
-
-## v0.9.0 (2020-09-27)
-
-* Changed:
- * Dropped support for `pip wheel .` and bumped the minimum Poetry version to
- 1.0.2 in order to enable fixing the following issue.
-* Fixed:
- * The main project's dynamic version would be applied to path/Git
dependencies.
- Now, the plugin tracks state and configuration for each dependency
separately
- in order to correctly report their versions.
- * `poetry run` did not always clean up after itself.
- * `poetry.semver.version` could not be imported because it was moved to
- `poetry.core.semver.version` starting in Poetry 1.1.0a1. The plugin can now
- handle either location.
-
-## v0.8.3 (2020-08-07)
-
-* Fixed a possible issue with string interning in glob handling.
- ([Contributed by
mariusvniekerk](https://github.com/mtkennerly/poetry-dynamic-versioning/pull/18))
-
-## v0.8.2 (2020-07-06)
-
-* Fixed an issue with Python 3.5 compatibility.
- (Contributed by [gsemet](https://github.com/gsemet))
-* Increased minimum Dunamai version to propagate the latest updates.
-
-## v0.8.1 (2020-05-29)
-
-* Fixed an issue where CLI mode did not persist the change to pyproject.toml.
- This problem was missed because of an issue in the integration tests,
- which are fixed now as well.
-
-## v0.8.0 (2020-05-28)
-
-* Added the option `format-jinja-imports`.
-* Added support for Pip's PEP 517 isolated builds.
-* In CLI mode:
- * Improved handling of error conditions.
- * Added output of the generated version and any modified files.
-* Removed handling for Poetry versions prior to 1.0.0.
-* Avoid writing files if the content does not need to be changed.
-
-## v0.7.0 (2020-05-14)
-
-* Added a CLI mode.
-
-## v0.6.0 (2020-03-22)
-
-* Expose new Dunamai functions via `format-jinja`:
- * `bump_version`
- * `serialize_pep440`
- * `serialize_pvp`
- * `serialize_semver`
-
-## v0.5.0 (2020-02-12)
-
-* Added the `format-jinja` option.
-
-## v0.4.0 (2019-12-13)
-
-* Added the ability to update the version in other files than pyproject.toml.
-
-## v0.3.2 (2019-12-13)
-
-* Fixed an issue with Poetry 1.0.0b2 and newer where the original version
- would not be restored after `poetry run`.
- (Contributed by [lmoretto](https://github.com/lmoretto))
-
-## v0.3.1 (2019-11-28)
-
-* Fixed [#3](https://github.com/mtkennerly/poetry-dynamic-versioning/issues/3)
- where the plugin would revert not only the dynamic version change in
pyproject.toml,
- but also any other changes, such as the addition of new dependencies.
- (Contributed by [lmoretto](https://github.com/lmoretto))
-
-## v0.3.0 (2019-10-27)
-
-* Updated for Dunamai v1.0.0:
- * Added support for Fossil.
- * Better error reporting, such as when no tags match the expected pattern.
- * Custom formatting:
- * Renamed `{post}` to `{distance}`
- * Renamed `{pre_type}` to `{stage}`
- * Renamed `{pre_number}` to `{revision}`
- * Removed `{epoch}`
- * Removed `{dev}`
-
-## v0.2.0 (2019-10-19)
-
-* Added support for Poetry 1.0.0b2.
-
-## v0.1.0 (2019-06-05)
-
-* Initial release.
+## v1.9.0 (2025-07-04)
+
+* Added:
+ * Option `tool.poetry-dynamic-versioning.commit-prefix`.
+ * Option `tool.poetry-dynamic-versioning.escape-with`.
+* Changed:
+ * Updated Dunamai to 1.25.0+ for the latest features.
+
+## v1.8.2 (2025-03-28)
+
+* Fixed:
+ * Possible `object has no attribute 'poetry'` error in some projects.
+
+## v1.8.1 (2025-03-24)
+
+* Fixed:
+ * `NameError` exception with Python 3.7.
+
+## v1.8.0 (2025-03-20)
+
+* Added:
+ * The `bump` config may now be set to a table,
+ which supports an `index` field.
+ * `commit-length` option to set a fixed length for commit hashes.
+ * `{major}`, `{minor}`, and `{patch}` format placeholders.
+* Fixed:
+ * Compatibility with other plugins (such as `poetry-monoranger-plugin`)
+ that replace the `ConsoleCommandEvent.command.poetry` instance.
+ ([Contributed by
stevapple](https://github.com/mtkennerly/poetry-dynamic-versioning/pull/222))
+* Changed:
+ * Updated Dunamai to 1.23.0+ for the latest features.
+
+## v1.7.1 (2025-01-22)
+
+* Fixed:
+ * There was an intermittent `ValueError` in PEP 621 mode,
+ related to trying to remove `"version"` from `project.dynamic`
+ when it had already been removed.
+
+## v1.7.0 (2025-01-15)
+
+* Added:
+ * The `enable` command now supports the bypass/override environment variables
+ to use a different placeholder version than 0.0.0.
+* Fixed:
+ * The `enable` command would add `"version"` to `project.dynamic` even if it
were already present.
+ ([Contributed by
waketzheng](https://github.com/mtkennerly/poetry-dynamic-versioning/pull/214))
+ * The `enable` command would set `tool.poetry.version` to `"0.0.0"`
+ even if the field were already present with a different value.
+
+## v1.6.0 (2025-01-10)
+
+* Added:
+ * CLI: `show` command to print the version without changing any files.
+
+## v1.5.2 (2025-01-09)
+
+* Fixed:
+ * The formatting of `project.dynamic` and `tool.poetry.version`
+ could be changed when triggering the plugin via `poetry
dynamic-versioning` or `pip install`
+ (but not via `poetry build` or `poetry-dynamic-versioning`).
+
+## v1.5.1 (2025-01-09)
+
+* Fixed:
+ * Array formatting was not preserved when changing `project.dynamic` in
pyproject.toml.
+ ([Contributed by
edgarrmondragon](https://github.com/mtkennerly/poetry-dynamic-versioning/pull/207))
+
+## v1.5.0 (2025-01-05)
+
+* Added:
+ * CLI: When pyproject.toml contains the `project` section,
+ the `enable` command will add the required fields for Poetry 2.0.0+.
+* Fixed:
+ * For compatibility with Poetry 2.0.0,
+ adjusted Poetry constraint from `^1.2.0` to `>=1.2.0`.
+ * For compatibility with Poetry 2.0.0,
+ when inserting the dynamic version into pyproject.toml with PEP 621 mode
activated,
+ the plugin ensures not to set `project.version` and `tool.poetry.version`
at the same time.
+ * An `UnboundLocalError` could happen when pyproject.toml was misconfigured.
+
+## v1.4.1 (2024-09-10)
+
+* Fixed:
+ * The `enable` command would fail when the pyproject.toml tables were out of
order.
+
+## v1.4.0 (2024-06-17)
+
+* Added:
+ * The plugin now supports Poetry's upcoming PEP-621 functionality.
+ More info here: https://github.com/python-poetry/poetry/issues/3332
+
+ If your pyproject.toml defines `tool.poetry.name`,
+ then the plugin will preserve its existing behavior.
+
+ However, if your pyproject.toml:
+
+ * does not define `tool.poetry.name`
+ * defines `project.name`
+ * defines `project.dynamic` to include `"version"`
+ * does not define `project.version`
+
+ ...then the plugin will enable its PEP-621 functionality.
+
+ Because PEP-621 support is not yet released and finalized in Poetry itself,
+ it is also subject to change in the plugin.
+
+ ([Prototyped by
edgarrmondragon](https://github.com/mtkennerly/poetry-dynamic-versioning/pull/181))
+
+## v1.3.0 (2024-04-29)
+
+* Added:
+ * `pattern-prefix` option to add a prefix to the version tag pattern.
+ * `ignore-untracked` option to control the detection of dirty state.
+ * `from-file` config section to read a version from a file instead of the
VCS.
+ * `POETRY_DYNAMIC_VERSIONING_DEBUG` environment variable for some logging.
+* Changed:
+ * Updated Dunamai to 1.21.0+ for the latest features.
+
+## v1.2.0 (2023-12-02)
+
+* Added:
+ * `initial-content-jinja` option in `tool.poetry-dynamic-versioning.files`
section.
+* Fixed:
+ * Line ending style was not preserved in some cases because of the default
behavior of `pathlib.Path.read_text`.
+ To avoid this, `pathlib.Path.read_bytes` is used instead now.
+ ([Contributed by
nardi](https://github.com/mtkennerly/poetry-dynamic-versioning/pull/157))
+
+## v1.1.1 (2023-10-27)
+
+* Fixed:
+ * Custom substitutions in pyproject.toml weren't cleaned up correctly.
+ This was because the plugin would record the "original" content of the file
+ after the `version` and `enable` fields had already been changed.
+ Now, substitutions are reverted first before reverting `version` and
`enable`.
+
+## v1.1.0 (2023-10-01)
+
+* Added:
+ * `tool.poetry-dynamic-versioning.files` config section.
+ This allows you to create a file in a default state before applying
substitutions to it.
+ You can also leave the substitutions in place when the plugin deactivates.
+
+## v1.0.1 (2023-08-21)
+
+* Fixed:
+ * Compatibility with poetry-core 1.7.0, which removed the
`poetry.core.semver` module.
+ * The `enable` command now constrains the plugin version to `>=1.0.0,<2.0.0`
+ to protect against any potential API changes.
+
+## v1.0.0 (2023-08-18)
+
+* Fixed:
+ * Running `poetry dynamic-versioning` followed by `poetry build`
+ would leave the plugin enabled in the sdist's pyproject.toml.
+
+## v0.25.0 (2023-07-11)
+
+* Added:
+ * `fix-shallow-repository` option to attempt to automatically fix shallow
repositories.
+ Currently, this only supports Git and will run `git fetch --unshallow`.
+* Changed:
+ * Updated Dunamai to 1.18.0+ for the latest features.
+
+## v0.24.0 (2023-06-30)
+
+* Added:
+ * `POETRY_DYNAMIC_VERSIONING_COMMANDS_NO_IO`
+ environment variable to prevent the plugin from modifying files during
certain commands.
+ The plugin still sets the dynamic version in memory so that Poetry itself
can write it as needed.
+* Changed:
+ * During `poetry version`, the plugin still activates, but no longer
modifies pyproject.toml.
+
+## v0.23.0 (2023-06-13)
+
+* Added:
+ * CLI `enable` subcommand to enable the plugin in pyproject.toml.
+ * Support for `POETRY_DYNAMIC_VERSIONING_OVERRIDE` environment variable.
+ * `mode` option for substitution to support `__version_tuple__` style.
+* Changed:
+ * CLI: `poetry dynamic-versioning` now outputs a summary of the changes,
+ the same way that `poetry-dynamic-versioning` already did.
+
+## v0.22.0 (2023-05-19)
+
+* Added:
+ * The plugin will print a warning for shallow Git repositories
+ (and any other `Concern`s reported by Dunamai in the future).
+ This becomes an error with `strict = true`.
+* Changed:
+ * Updated Dunamai to 1.17.0+ for the latest features and bug fixes.
+
+## v0.21.5 (2023-05-15)
+
+* Fixed:
+ * Compatibility with poetry-core 1.6.0+.
+* Changed:
+ * `CHANGELOG.md` and `tests` are now included in sdists.
+
+## v0.21.4 (2023-02-21)
+
+* Fixed:
+ * In the Poetry CLI mode and standalone script mode,
+ `path` dependencies received the same dynamic version as the active
project.
+ This issue did not affect the build backend mode.
+* Changed:
+ * Updated Dunamai to 1.16.0+ for the latest features and bug fixes.
+
+## v0.21.3 (2022-12-23)
+
+* Fixed:
+ * Resolved a deprecation warning when used with Poetry Core 1.3.0+.
+ ([Contributed by
edgarrmondragon](https://github.com/mtkennerly/poetry-dynamic-versioning/pull/106))
+
+## v0.21.2 (2022-12-16)
+
+* Fixed:
+ * Line endings were not necessarily preserved because of the default
behavior of `pathlib.Path.write_text`.
+ To avoid this, `pathlib.Path.write_bytes` is used instead now.
+
+## v0.21.1 (2022-11-08)
+
+* Fixed:
+ * Warning for invalid config was printed to stdout instead of stderr.
+
+## v0.21.0 (2022-11-07)
+
+* Added:
+ * The plugin now prints a warning if its configuration is invalid.
+ Right now, this just checks for unknown keys.
+ * A `strict` option to prevent falling back to `0.0.0` when there are no
tags.
+* Changed:
+ * Updated Dunamai to 1.14.0+ for the latest features.
+ This adds support for VCS archival files, namely ones produced by `git
archive` and `hg archive`.
+ Refer to [the Dunamai
documentation](https://github.com/mtkennerly/dunamai#vcs-archives) for more
info.
+
+## v0.20.0 (2022-10-18)
+
+* Changed:
+ * Updated Dunamai to 1.13.2+ for the latest features and bug fixes.
+ In particular, this fixes an error when parsing Git output with
`showSignature = true` configured.
+
+## v0.19.0 (2022-09-16)
+
+* Fixed:
+ * When using `poetry build`, the plugin did not properly disable itself in
the
+ copy of pyproject.toml included in source distributions, causing failures
+ when trying to install them.
+* Added:
+ * Support for activating the dynamic versioning only for certain Poetry
commands
+ (environment variable: `POETRY_DYNAMIC_VERSIONING_COMMANDS`).
+
+## poetry-dynamic-versioning: v0.18.0 (2022-09-05)
+
+* Changed:
+ * The minimum supported Python version is now 3.7.
+ * The minimum supported Poetry version is now 1.2.0.
+ * Import hacks have been eliminated in favor of a PEP 517 build backend
wrapper
+ around Poetry Core.
+ * The two flavors of poetry-dynamic-versioning are now combined into one
package
+ via the optional `plugin` feature.
+
+## poetry-dynamic-versioning-plugin: v0.4.0 (2022-09-05)
+
+* Deprecated the name `poetry-dynamic-versioning-plugin`
+ in favor of a newly unified `poetry-dynamic-versioning`.
+
+## poetry-dynamic-versioning-plugin: v0.3.2 (2022-05-25)
+
+* Fixed:
+ * `poetry` did not work correctly when in a folder without a pyproject.toml.
+ * `poetry plugin show` did not work correctly.
+
+## poetry-dynamic-versioning: v0.17.1 & poetry-dynamic-versioning-plugin:
v0.3.1 (2022-05-19)
+
+* Fixed:
+ * CLI mode failed when pyproject.toml did not specify `enable = true`.
+
+## poetry-dynamic-versioning: v0.17.0 & poetry-dynamic-versioning-plugin:
v0.3.0 (2022-05-13)
+
+* Added:
+ * Option `tool.poetry-dynamic-versioning.substitution.folders`.
+
+## poetry-dynamic-versioning: v0.16.0 & poetry-dynamic-versioning-plugin:
v0.2.0 (2022-05-07)
+
+* Changed:
+ * Option `tool.poetry-dynamic-versioning.subversion.tag-dir` is now
`tool.poetry-dynamic-versioning.tag-dir`.
+* Added:
+ * Option `tool.poetry-dynamic-versioning.tag-branch`.
+ * Option `tool.poetry-dynamic-versioning.full-commit`.
+
+## poetry-dynamic-versioning-plugin: v0.1.0 (2022-04-28)
+
+* Changed:
+ * The Poetry 1.2+ plugin now has a new name,
`poetry-dynamic-versioning-plugin`,
+ and this is its first release as a separate package.
+
+ The import-hack-based pseudo-plugin will continue to be called
`poetry-dynamic-versioning`.
+
+## poetry-dynamic-versioning: v0.15.0 (2022-04-28)
+
+* Changed:
+ * Internal improvements/refactoring to unify code base with
`poetry-dynamic-versioning-plugin`,
+ which is released as a separate package. These changes should not affect
+ users of `poetry-dynamic-versioning`.
+
+## v1.0.0b3 (2022-04-24)
+
+* Fixed:
+ * The plugin can now update versions for dependencies that also use the
plugin.
+
+## v1.0.0b2 (2022-04-15)
+
+* Fixed:
+ * The plugin maintained its own copy of the default `pattern`, which meant
that
+ it could fall behind the copy in Dunamai and lead to surprising behavior.
+ The plugin now automatically uses the latest default from Dunamai directly
+ when you do not customize it in the plugin settings.
+
+## v0.14.1 (2022-04-14)
+
+* Fixed:
+ * The plugin maintained its own copy of the default `pattern`, which meant
that
+ it could fall behind the copy in Dunamai and lead to surprising behavior.
+ The plugin now automatically uses the latest default from Dunamai directly
+ when you do not customize it in the plugin settings.
+
+## v1.0.0b1 (2022-03-10)
+
+* Changed:
+ * Implemented the official Poetry plugin interface.
+
+## v0.14.0 (2022-03-09)
+
+* Changed:
+ * The build backend is now poetry-core.
+ ([Contributed by
fabaff](https://github.com/mtkennerly/poetry-dynamic-versioning/pull/63))
+ * The default list of `substitution.patterns` now handles `__version__`
+ when it has a type annotation.
+ ([Draft by
da2ce7](https://github.com/mtkennerly/poetry-dynamic-versioning/pull/64))
+* Added:
+ * Option to bypass the version control system and set a hard-coded version
+ in an environment variable called `POETRY_DYNAMIC_VERSIONING_BYPASS`.
+ ([Draft by
jonringer](https://github.com/mtkennerly/poetry-dynamic-versioning/pull/69))
+ * `branch`, `branch_escaped`, and `timestamp` formatting variables.
+
+## v0.13.1 (2021-08-09)
+
+* Fixed an oversight where the default version tag pattern would only find
+ tags with exactly three parts in the base (e.g., `v1.0.0` and `v1.2.3`).
+ This is now relaxed so that `v1`, `v1.2.3.4`, and so on are also recognized.
+
+## v0.13.0 (2021-05-26)
+
+* Changed:
+ * Broadened version range of Jinja2 dependency to support projects that need
+ a newer version.
+ * Bumped the minimum Poetry version to 1.1.0, since the above Jinja2 change
+ seemed to trip up Poetry 1.0.10 (on Python 3.7 and 3.8, but not 3.5 or 3.6,
+ for some reason).
+* Fixed:
+ * The plugin did not work on Fedora inside of Pip's isolated build
+ environment, because the plugin would be loaded before some of its
+ dependencies. Now, those imports are delayed until needed.
+
+## v0.12.7 (2021-05-20)
+
+* Fixed:
+ * Parsing files containing special UTF-8 characters would result in an error.
+ Files are now assumed to be UTF-8.
+ ([Contributed by
rhorenov](https://github.com/mtkennerly/poetry-dynamic-versioning/pull/50))
+
+## v0.12.6 (2021-04-19)
+
+* Fixed:
+ * The previous `bump` fix only applied to `format-jinja`. It has now been
+ fixed for other scenarios as well.
+
+## v0.12.5 (2021-04-18)
+
+* Fixed:
+ * When the `bump` option was enabled, the version would be bumped even when
on
+ a commit with a version tag. Now, no bumping occurs when on such a commit.
+
+## v0.12.4 (2021-03-05)
+
+* Fixed:
+ * An incompatibility with `tox-poetry-installer` where the working directory
+ was received as a `str` instead of a `Path`.
+ ([Contributed by
cburgess](https://github.com/mtkennerly/poetry-dynamic-versioning/pull/41))
+
+## v0.12.3 (2021-02-19)
+
+* Fixed:
+ * Previously, when building a source distribution with `poetry build`, the
+ plugin's config section would retain the `enable = true` setting, which
+ would then cause an error when installing the artifact since the VCS info
+ would not be available.
+ (This was not an issue for wheels generated by `poetry build`.)
+
+ The dynamic version from build time is still present in the source
+ distribution, so there is no need for the plugin at install time.
+ Therefore, the plugin now temporarily sets `enable = false` so that that
+ value will be placed in the source distribution, then restores the original
+ setting for development purposes.
+
+## v0.12.2 (2021-01-30)
+
+* Fixed:
+ * Another possible exception when applying patches if only `poetry-core` was
+ installed and not the Poetry tool, particularly combined with Tox.
+
+## v0.12.1 (2021-01-04)
+
+* Fixed:
+ * Possible exception when applying patches if only `poetry-core` was
+ installed and not the Poetry tool.
+
+## v0.12.0 (2020-12-05)
+
+* Added:
+ * `tagged-metadata` option, for the corresponding Dunamai feature.
+ ([Contributed by
mariusvniekerk](https://github.com/mtkennerly/poetry-dynamic-versioning/pull/32))
+
+## v0.11.0 (2020-11-21)
+
+* Added:
+ * `bump` option.
+* Fixed:
+ * `poetry shell` did not clean up after itself.
+
+## v0.10.0 (2020-10-08)
+
+* Added:
+ * Support for patching `poetry-core` when used as a standalone build system.
+
+## v0.9.0 (2020-09-27)
+
+* Changed:
+ * Dropped support for `pip wheel .` and bumped the minimum Poetry version to
+ 1.0.2 in order to enable fixing the following issue.
+* Fixed:
+ * The main project's dynamic version would be applied to path/Git
dependencies.
+ Now, the plugin tracks state and configuration for each dependency
separately
+ in order to correctly report their versions.
+ * `poetry run` did not always clean up after itself.
+ * `poetry.semver.version` could not be imported because it was moved to
+ `poetry.core.semver.version` starting in Poetry 1.1.0a1. The plugin can now
+ handle either location.
+
+## v0.8.3 (2020-08-07)
+
+* Fixed a possible issue with string interning in glob handling.
+ ([Contributed by
mariusvniekerk](https://github.com/mtkennerly/poetry-dynamic-versioning/pull/18))
+
+## v0.8.2 (2020-07-06)
+
+* Fixed an issue with Python 3.5 compatibility.
+ (Contributed by [gsemet](https://github.com/gsemet))
+* Increased minimum Dunamai version to propagate the latest updates.
+
+## v0.8.1 (2020-05-29)
+
+* Fixed an issue where CLI mode did not persist the change to pyproject.toml.
+ This problem was missed because of an issue in the integration tests,
+ which are fixed now as well.
+
+## v0.8.0 (2020-05-28)
+
+* Added the option `format-jinja-imports`.
+* Added support for Pip's PEP 517 isolated builds.
+* In CLI mode:
+ * Improved handling of error conditions.
+ * Added output of the generated version and any modified files.
+* Removed handling for Poetry versions prior to 1.0.0.
+* Avoid writing files if the content does not need to be changed.
+
+## v0.7.0 (2020-05-14)
+
+* Added a CLI mode.
+
+## v0.6.0 (2020-03-22)
+
+* Expose new Dunamai functions via `format-jinja`:
+ * `bump_version`
+ * `serialize_pep440`
+ * `serialize_pvp`
+ * `serialize_semver`
+
+## v0.5.0 (2020-02-12)
+
+* Added the `format-jinja` option.
+
+## v0.4.0 (2019-12-13)
+
+* Added the ability to update the version in other files than pyproject.toml.
+
+## v0.3.2 (2019-12-13)
+
+* Fixed an issue with Poetry 1.0.0b2 and newer where the original version
+ would not be restored after `poetry run`.
+ (Contributed by [lmoretto](https://github.com/lmoretto))
+
+## v0.3.1 (2019-11-28)
+
+* Fixed [#3](https://github.com/mtkennerly/poetry-dynamic-versioning/issues/3)
+ where the plugin would revert not only the dynamic version change in
pyproject.toml,
+ but also any other changes, such as the addition of new dependencies.
+ (Contributed by [lmoretto](https://github.com/lmoretto))
+
+## v0.3.0 (2019-10-27)
+
+* Updated for Dunamai v1.0.0:
+ * Added support for Fossil.
+ * Better error reporting, such as when no tags match the expected pattern.
+ * Custom formatting:
+ * Renamed `{post}` to `{distance}`
+ * Renamed `{pre_type}` to `{stage}`
+ * Renamed `{pre_number}` to `{revision}`
+ * Removed `{epoch}`
+ * Removed `{dev}`
+
+## v0.2.0 (2019-10-19)
+
+* Added support for Poetry 1.0.0b2.
+
+## v0.1.0 (2019-06-05)
+
+* Initial release.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/poetry_dynamic_versioning-1.8.2/PKG-INFO
new/poetry_dynamic_versioning-1.9.0/PKG-INFO
--- old/poetry_dynamic_versioning-1.8.2/PKG-INFO 1970-01-01
01:00:00.000000000 +0100
+++ new/poetry_dynamic_versioning-1.9.0/PKG-INFO 1970-01-01
01:00:00.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: poetry-dynamic-versioning
-Version: 1.8.2
+Version: 1.9.0
Summary: Plugin for Poetry to enable dynamic versioning based on VCS tags
Home-page: https://github.com/mtkennerly/poetry-dynamic-versioning
License: MIT
@@ -27,7 +27,7 @@
Classifier: Topic :: Software Development :: Version Control :: Git
Classifier: Topic :: Software Development :: Version Control :: Mercurial
Provides-Extra: plugin
-Requires-Dist: dunamai (>=1.23.0,<2.0.0)
+Requires-Dist: dunamai (>=1.25.0,<2.0.0)
Requires-Dist: jinja2 (>=2.11.1,<4)
Requires-Dist: poetry (>=1.2.0) ; extra == "plugin"
Requires-Dist: tomlkit (>=0.4)
@@ -263,6 +263,12 @@
then the format will be validated against the style's rules.
If `style` is unset, the default output format will follow PEP 440,
but a custom `format` will only be validated if `style` is set explicitly.
+
+ Regardless of the style you choose,
+ the dynamic version is ultimately subject to Poetry's validation as well,
+ and Poetry is designed around PEP 440 versions.
+ Poetry can usually understand SemVer/etc input,
+ but sometimes, Poetry may reject an otherwise valid version format.
* `latest-tag` (boolean, default: false):
If true, then only check the latest tag for a version,
rather than looking through all the tags until a suitable one is found to
match the `pattern`.
@@ -296,6 +302,12 @@
* `full-commit` (boolean, default: false):
If true, get the full commit hash instead of the short form.
This is only used for Git and Mercurial.
+ * `commit-length` (integer, default: unset):
+ Use this many characters from the start of the full commit hash.
+ * `commit-prefix` (string, default: unset):
+ Add this prefix to the commit ID when serializing.
+ This can be helpful when an all-numeric commit would be misinterpreted.
+ For example, "g" is a common prefix for Git commits.
* `strict` (boolean, default: false):
If true, then fail instead of falling back to 0.0.0 when there are no tags.
* `fix-shallow-repository` (boolean, default: false):
@@ -303,8 +315,9 @@
Currently, this only supports Git and will run `git fetch --unshallow`.
* `ignore-untracked` (boolean, default: false):
If true, ignore untracked files when determining whether the repository is
dirty.
- * `commit-length` (integer, default: unset):
- Use this many characters from the start of the full commit hash.
+ * `escape-with` (string, default: unset):
+ When escaping, replace invalid characters with this substitution.
+ The default is simply to remove invalid characters.
* `[tool.poetry-dynamic-versioning.substitution]`:
Insert the dynamic version into additional files other than just
pyproject.toml.
These changes will be reverted when the plugin deactivates.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/poetry_dynamic_versioning-1.8.2/README.md
new/poetry_dynamic_versioning-1.9.0/README.md
--- old/poetry_dynamic_versioning-1.8.2/README.md 2025-03-21
03:33:06.838995000 +0100
+++ new/poetry_dynamic_versioning-1.9.0/README.md 2025-07-04
21:36:53.993060800 +0200
@@ -227,6 +227,12 @@
then the format will be validated against the style's rules.
If `style` is unset, the default output format will follow PEP 440,
but a custom `format` will only be validated if `style` is set explicitly.
+
+ Regardless of the style you choose,
+ the dynamic version is ultimately subject to Poetry's validation as well,
+ and Poetry is designed around PEP 440 versions.
+ Poetry can usually understand SemVer/etc input,
+ but sometimes, Poetry may reject an otherwise valid version format.
* `latest-tag` (boolean, default: false):
If true, then only check the latest tag for a version,
rather than looking through all the tags until a suitable one is found to
match the `pattern`.
@@ -260,6 +266,12 @@
* `full-commit` (boolean, default: false):
If true, get the full commit hash instead of the short form.
This is only used for Git and Mercurial.
+ * `commit-length` (integer, default: unset):
+ Use this many characters from the start of the full commit hash.
+ * `commit-prefix` (string, default: unset):
+ Add this prefix to the commit ID when serializing.
+ This can be helpful when an all-numeric commit would be misinterpreted.
+ For example, "g" is a common prefix for Git commits.
* `strict` (boolean, default: false):
If true, then fail instead of falling back to 0.0.0 when there are no tags.
* `fix-shallow-repository` (boolean, default: false):
@@ -267,8 +279,9 @@
Currently, this only supports Git and will run `git fetch --unshallow`.
* `ignore-untracked` (boolean, default: false):
If true, ignore untracked files when determining whether the repository is
dirty.
- * `commit-length` (integer, default: unset):
- Use this many characters from the start of the full commit hash.
+ * `escape-with` (string, default: unset):
+ When escaping, replace invalid characters with this substitution.
+ The default is simply to remove invalid characters.
* `[tool.poetry-dynamic-versioning.substitution]`:
Insert the dynamic version into additional files other than just
pyproject.toml.
These changes will be reverted when the plugin deactivates.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/poetry_dynamic_versioning-1.8.2/poetry_dynamic_versioning/__init__.py
new/poetry_dynamic_versioning-1.9.0/poetry_dynamic_versioning/__init__.py
--- old/poetry_dynamic_versioning-1.8.2/poetry_dynamic_versioning/__init__.py
2025-03-24 16:50:23.692949800 +0100
+++ new/poetry_dynamic_versioning-1.9.0/poetry_dynamic_versioning/__init__.py
2025-07-04 21:34:01.443429500 +0200
@@ -120,6 +120,8 @@
"fix-shallow-repository": bool,
"ignore-untracked": bool,
"commit-length": Optional[int],
+ "commit-prefix": Optional[str],
+ "escape-with": Optional[str],
"from-file": _FromFile,
},
)
@@ -258,6 +260,8 @@
"fix-shallow-repository": False,
"ignore-untracked": False,
"commit-length": None,
+ "commit-prefix": None,
+ "escape-with": None,
"from-file": {
"source": None,
"pattern": None,
@@ -563,6 +567,8 @@
format=config["format"],
style=style,
tagged_metadata=config["tagged-metadata"],
+ commit_prefix=config["commit-prefix"],
+ escape_with=config["escape-with"],
)
return (serialized, version)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/poetry_dynamic_versioning-1.8.2/pyproject.toml
new/poetry_dynamic_versioning-1.9.0/pyproject.toml
--- old/poetry_dynamic_versioning-1.8.2/pyproject.toml 2025-03-28
23:43:03.341098500 +0100
+++ new/poetry_dynamic_versioning-1.9.0/pyproject.toml 2025-07-04
21:45:44.206459000 +0200
@@ -1,64 +1,64 @@
-[tool.poetry]
-name = "poetry-dynamic-versioning"
-version = "1.8.2"
-description = "Plugin for Poetry to enable dynamic versioning based on VCS
tags"
-license = "MIT"
-authors = ["Matthew T. Kennerly <[email protected]>"]
-readme = "README.md"
-repository = "https://github.com/mtkennerly/poetry-dynamic-versioning"
-keywords = ["poetry", "plugin", "version", "versioning", "dynamic"]
-classifiers = [
- "Development Status :: 5 - Production/Stable",
- "Environment :: Plugins",
- "Intended Audience :: End Users/Desktop",
- "License :: OSI Approved :: MIT License",
- "Natural Language :: English",
- "Programming Language :: Python",
- "Programming Language :: Python :: 3",
- "Topic :: Software Development :: Version Control",
- "Topic :: Software Development :: Version Control :: Git",
- "Topic :: Software Development :: Version Control :: Mercurial",
- "Topic :: Software Development :: Version Control :: Bazaar",
-]
-include = [
- { path = "CHANGELOG.md", format = "sdist" },
- { path = "tests", format = "sdist" },
-]
-
-[tool.poetry.dependencies]
-python = "^3.7"
-dunamai = "^1.23.0"
-tomlkit = ">= 0.4"
-jinja2 = ">=2.11.1, <4"
-poetry = { version = ">=1.2.0", optional = true }
-
-[tool.poetry.extras]
-plugin = ["poetry"]
-
-[tool.poetry.dev-dependencies]
-pytest = "^7.0"
-pre-commit = "^1.16"
-black = "^22.8"
-mypy = "^0.971"
-ruff = {version = "^0.0.272", python = "^3.7"}
-argparse-manpage = "^4.6"
-
-[tool.poetry.scripts]
-poetry-dynamic-versioning = 'poetry_dynamic_versioning.__main__:main'
-
-[tool.poetry.plugins."poetry.application.plugin"]
-poetry-dynamic-versioning =
"poetry_dynamic_versioning.plugin:DynamicVersioningPlugin"
-
-[tool.black]
-line-length = 120
-
-[tool.mypy]
-allow_redefinition = true
-
-[tool.ruff]
-line-length = 120
-extend-select = ["W605", "N"]
-
-[build-system]
-requires = ["poetry-core>=1.0.0"]
-build-backend = "poetry.core.masonry.api"
+[tool.poetry]
+name = "poetry-dynamic-versioning"
+version = "1.9.0"
+description = "Plugin for Poetry to enable dynamic versioning based on VCS
tags"
+license = "MIT"
+authors = ["Matthew T. Kennerly <[email protected]>"]
+readme = "README.md"
+repository = "https://github.com/mtkennerly/poetry-dynamic-versioning"
+keywords = ["poetry", "plugin", "version", "versioning", "dynamic"]
+classifiers = [
+ "Development Status :: 5 - Production/Stable",
+ "Environment :: Plugins",
+ "Intended Audience :: End Users/Desktop",
+ "License :: OSI Approved :: MIT License",
+ "Natural Language :: English",
+ "Programming Language :: Python",
+ "Programming Language :: Python :: 3",
+ "Topic :: Software Development :: Version Control",
+ "Topic :: Software Development :: Version Control :: Git",
+ "Topic :: Software Development :: Version Control :: Mercurial",
+ "Topic :: Software Development :: Version Control :: Bazaar",
+]
+include = [
+ { path = "CHANGELOG.md", format = "sdist" },
+ { path = "tests", format = "sdist" },
+]
+
+[tool.poetry.dependencies]
+python = "^3.7"
+dunamai = "^1.25.0"
+tomlkit = ">= 0.4"
+jinja2 = ">=2.11.1, <4"
+poetry = { version = ">=1.2.0", optional = true }
+
+[tool.poetry.extras]
+plugin = ["poetry"]
+
+[tool.poetry.dev-dependencies]
+pytest = "^7.0"
+pre-commit = "^1.16"
+black = "^22.8"
+mypy = "^0.971"
+ruff = {version = "^0.0.272", python = "^3.7"}
+argparse-manpage = "^4.6"
+
+[tool.poetry.scripts]
+poetry-dynamic-versioning = 'poetry_dynamic_versioning.__main__:main'
+
+[tool.poetry.plugins."poetry.application.plugin"]
+poetry-dynamic-versioning =
"poetry_dynamic_versioning.plugin:DynamicVersioningPlugin"
+
+[tool.black]
+line-length = 120
+
+[tool.mypy]
+allow_redefinition = true
+
+[tool.ruff]
+line-length = 120
+extend-select = ["W605", "N"]
+
+[build-system]
+requires = ["poetry-core>=1.0.0"]
+build-backend = "poetry.core.masonry.api"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/poetry_dynamic_versioning-1.8.2/tests/test_integration.py
new/poetry_dynamic_versioning-1.9.0/tests/test_integration.py
--- old/poetry_dynamic_versioning-1.8.2/tests/test_integration.py
2025-03-28 23:41:52.161715300 +0100
+++ new/poetry_dynamic_versioning-1.9.0/tests/test_integration.py
2025-05-06 18:49:57.601678400 +0200
@@ -5,7 +5,7 @@
import subprocess
import tarfile
from pathlib import Path
-from typing import Optional, Sequence, Tuple
+from typing import List, Optional, Sequence, Tuple
import dunamai
import pytest
@@ -76,6 +76,15 @@
run("poetry self remove poetry-dynamic-versioning", codes=[0, 1])
+def get_poetry_version() -> List[int]:
+ _, msg = run("poetry --version")
+ result = re.search(r"(\d+(\.\d+)+)", msg.strip())
+ if result is not None:
+ parts = result.group(1).split(".")
+ return [int(x) for x in parts]
+ return []
+
+
@pytest.fixture(scope="module", autouse=True)
def before_all():
uninstall_plugin()
@@ -140,6 +149,9 @@
run("poetry build", where=DUMMY, codes=[1])
[email protected](
+ [1, 7] <= get_poetry_version() < [2], reason="virtualenv: error:
unrecognized arguments: --wheel=bundle"
+)
def test_keep_pyproject_modifications():
package = "cachy"
# Using --optional to avoid actually installing the package
@@ -213,6 +225,9 @@
assert parsed["tool"]["poetry-dynamic-versioning"]["enable"] is False
[email protected](
+ [1, 7] <= get_poetry_version() < [2], reason="virtualenv: error:
unrecognized arguments: --wheel=bundle"
+)
def test_dependency_versions():
run("poetry install", where=DUMMY)
_, out = run("poetry run pip list --format freeze", where=DUMMY)