Skip to content

feat: add dynamic versioning from Git tags#29

Merged
doughayden merged 1 commit intomainfrom
fix/sync-pyproject-version
Jun 28, 2025
Merged

feat: add dynamic versioning from Git tags#29
doughayden merged 1 commit intomainfrom
fix/sync-pyproject-version

Conversation

@doughayden
Copy link
Copy Markdown
Owner

What

Implement automatic version management using poetry-dynamic-versioning plugin to eliminate manual version updates in pyproject.toml.

Why

Resolves Issue #28 - The project version was hardcoded in pyproject.toml and required manual updates to stay in sync with semantic-release tags, creating version inconsistencies and manual maintenance overhead.

How

  • Added poetry-dynamic-versioning plugin (v1.5.0+) as dev dependency
  • Configured dynamic versioning in [project] section with dynamic = ["version"]
  • Updated build system to use poetry_dynamic_versioning.backend
  • Removed semantic-release version_toml config (no longer needed)
  • Set placeholder version 0.0.0 in [tool.poetry] section

Technical Details

  • Version automatically detected from Git tags (currently: 0.1.0)
  • Compatible with existing semantic-release workflow
  • No manual version maintenance required
  • Maintains Poetry compatibility with placeholder version

Tests

  • All tests pass (93/93)
  • Dynamic versioning correctly detects v0.1.0 from Git tags
  • Poetry commands work correctly with new configuration
  • Build system compatibility verified

Breaking Changes

None - existing functionality preserved

Related Issues

Closes #28

- Add poetry-dynamic-versioning plugin for automatic version detection
- Configure dynamic version field in [project] section
- Remove manual version maintenance requirement
- Version now automatically synced with semantic-release tags
@doughayden doughayden merged commit d48b1c3 into main Jun 28, 2025
2 checks passed
@doughayden doughayden deleted the fix/sync-pyproject-version branch June 28, 2025 18:33
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.

feat: auto-update pyproject.toml version

1 participant