Skip to content

Centralize version management in version.py and wire it through common.py and treeinfo.py#203

Merged
lubomir merged 6 commits intorelease-engineering:developmentfrom
guillermodotn:dev
Feb 18, 2026
Merged

Centralize version management in version.py and wire it through common.py and treeinfo.py#203
lubomir merged 6 commits intorelease-engineering:developmentfrom
guillermodotn:dev

Conversation

@guillermodotn
Copy link
Contributor

Stacked on: #202

Summary

Makes productmd/version.py the single source of truth for all version
constants and utilities, replacing scattered hardcoded version logic across
the codebase.

Changes

  • Rename DEFAULT_VERSIONOUTPUT_FORMAT_VERSION to clarify its role
    as the format version stamped into output files
  • Enhance VersionedMetadataMixin: add _default_output_version class
    attribute for subclass overrides and get_output_version(force_version)
    for 3-level priority resolution (force > instance > class default)
  • Wire common.py: replace hardcoded VERSION = (1, 2) with
    VERSION = OUTPUT_FORMAT_VERSION; use version_to_string /
    string_to_version in Header methods
  • Wire treeinfo.py: pin Header.serialize() to VERSION_1_2,
    ensuring .treeinfo files always write v1.2 format regardless of the
    library default
  • Update __init__.py: export Location, FileEntry, and
    OUTPUT_FORMAT_VERSION

@guillermodotn guillermodotn mentioned this pull request Feb 17, 2026
5 tasks
@guillermodotn
Copy link
Contributor Author

README.md road-map:

  • Update VERSION to (2, 0) in productmd/common.py

@lubomir lubomir merged commit 74f07a3 into release-engineering:development Feb 18, 2026
10 checks passed
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