Skip to content

fix(#679): rename semver version schemes to semver-pep440 - #1276

Merged
RonnyPfannschmidt merged 2 commits into
pypa:developfrom
RonnyPfannschmidt:fix/rename-semver-schemes-679
Feb 25, 2026
Merged

RonnyPfannschmidt merged 2 commits into
pypa:developfrom
RonnyPfannschmidt:fix/rename-semver-schemes-679

Conversation

@RonnyPfannschmidt

Copy link
Copy Markdown
Contributor

Summary

  • Renames python-simplified-semver → semver-pep440 and release-branch-semver → semver-pep440-release-branch to clarify these produce PEP 440 versions, not actual semver
  • Old names remain as deprecated aliases via Python-level wrapper functions that emit DeprecationWarning before delegating to the real implementation
  • Updates docs, tests, and examples to use the new names; adds tests verifying deprecated names still work correctly

Closes #679

Changes

  • _standard.py: Added _deprecated_simplified_semver_version and _deprecated_release_branch_semver_version wrapper functions
  • pyproject.toml: Old entry point names now point to deprecated wrappers; new names point to real implementations
  • docs/extending.md: Updated scheme docs with new names and "Renamed in setuptools-scm 10" notes
  • docs/integrators.md + __init__.py: Updated examples to use new names
  • Tests: Updated existing tests to new names + added test_deprecated_scheme_names_warn and test_deprecated_scheme_names_still_work
  • Changelog: Added 679.deprecation.md fragment

Test plan

  • uv run pytest vcs-versioning/testing_vcs -n12 — 358 passed
  • pre-commit run --all-files — all checks pass
  • New names resolve correctly via entry points
  • Old names emit DeprecationWarning and still produce correct versions
  • Old and new names produce identical version strings

Made with Cursor

…ent confusion

The semver-named version schemes produce PEP 440-compliant versions,
not actual semver. Rename them to make this clear:

- python-simplified-semver → semver-pep440
- release-branch-semver → semver-pep440-release-branch

Old names remain as deprecated aliases via wrapper functions that
emit DeprecationWarning before delegating to the real implementation.

Closes pypa#679

Co-authored-by: Cursor AI <[email protected]>
Co-authored-by: Anthropic Claude <[email protected]>
Copilot AI review requested due to automatic review settings February 25, 2026 18:57

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR renames two version scheme names to better reflect that they produce PEP 440-compliant versions rather than strict semantic versions (semver). The renaming addresses issue #679 where users were confused because the schemes append .devN which is not valid in actual semver.

Changes:

  • Renames python-simplified-semver to semver-pep440 and release-branch-semver to semver-pep440-release-branch
  • Maintains backward compatibility by keeping old names as deprecated aliases that emit DeprecationWarning
  • Updates all documentation, examples, and tests to use the new naming scheme

Reviewed changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated no comments.

Show a summary per file
File Description
vcs-versioning/src/vcs_versioning/_version_schemes/_standard.py Added deprecation wrapper functions that emit warnings and delegate to the actual implementations
vcs-versioning/pyproject.toml Updated entry points: old names point to deprecation wrappers, new names point to real implementations
vcs-versioning/testing_vcs/test_version.py Added comprehensive tests verifying deprecated names emit warnings and produce identical output
vcs-versioning/testing_vcs/test_overrides_api.py Updated test to use new scheme name
vcs-versioning/testing_vcs/test_mercurial.py Updated tests to use new scheme names
vcs-versioning/testing_vcs/test_git.py Updated tests to use new scheme names
vcs-versioning/testing_vcs/test_integrator_helpers.py Updated tests to use new scheme names
docs/extending.md Updated scheme documentation with new names and added "Renamed in setuptools-scm 10" notes
docs/integrators.md Updated code examples to use new scheme names
vcs-versioning/src/vcs_versioning/init.py Updated docstring example to use new scheme name
vcs-versioning/changelog.d/679.deprecation.md Added changelog fragment describing the deprecation

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@RonnyPfannschmidt
RonnyPfannschmidt merged commit 436366d into pypa:develop Feb 25, 2026
27 checks passed
@RonnyPfannschmidt
RonnyPfannschmidt deleted the fix/rename-semver-schemes-679 branch February 25, 2026 19:20
tacaswell added a commit to tacaswell/matplotlib that referenced this pull request Mar 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants