Skip to content

Centralize app version in config/VERSION and update documentation#141

Merged
BeckettFrey merged 3 commits into
developfrom
mismatch
May 19, 2026
Merged

Centralize app version in config/VERSION and update documentation#141
BeckettFrey merged 3 commits into
developfrom
mismatch

Conversation

@BeckettFrey

Copy link
Copy Markdown
Member

This pull request implements a "single source of truth" for the application version by centralizing version management in the config/VERSION file. All references to the version throughout the codebase, configuration files, installer scripts, and packaging metadata now read from this canonical file. The PR also updates documentation and tests to reflect this change, and enhances the onboarding guide for contributors.

The most important changes are:

Centralized Version Management:

  • Introduced config/VERSION as the authoritative version file, and updated all version consumers (code, config, installer, packaging) to read from it instead of hardcoded or duplicated strings. [1] [2] [3] [4] [5] [6] [7] [8] [9]

Code and Installer Updates:

  • Updated src/voxkit/__init__.py and AppConfig.from_yaml to read the version from config/VERSION at runtime, handling both normal and PyInstaller-bundled execution. [1] [2]
  • Modified the Windows installer script (installer/windows/VoxKit.iss) to dynamically read the version from config/VERSION at build time, ensuring installers are always version-accurate.
  • Changed pyproject.toml to use a dynamic version sourced from config/VERSION for packaging, removing the previous hardcoded version. [1] [2]

Configuration and Documentation:

  • Removed all hardcoded version fields from app_info.yaml files in both the main config and profile directories, with comments explaining the new version sourcing. [1] [2] [3]
  • Expanded and clarified the onboarding guide (AGENTS.md), including explicit instructions about version management, configuration layout, and development workflow with invoke. [1] [2] [3]

Testing:

  • Updated and added tests to ensure the version is always read from config/VERSION, and to verify the existence and format of the canonical version file. [1] [2] [3] [4]

These changes ensure consistent versioning across all parts of the application and streamline the process for future version bumps.

Previously the version was duplicated across pyproject.toml, the
voxkit package __init__, three app_info.yaml files, and the Windows
installer script, and had drifted (0.1.0 / 0.4.0 / 0.4.1). All
consumers now read from config/VERSION (canonicalized to 0.4.1).
@BeckettFrey BeckettFrey merged commit 1c1dea8 into develop May 19, 2026
4 checks passed
@BeckettFrey BeckettFrey deleted the mismatch branch May 19, 2026 16:32
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.

1 participant