Repository navigation
Centralize Apprise API version for runtime and package metadata - #376
Merged
Merged
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #376 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 26 27 +1
Lines 3848 3900 +52
Branches 676 684 +8
=========================================
+ Hits 3848 3900 +52 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Apprise API v2.0.1 declared version 2.0.1 in Python project metadata while its UI still reported 2.0.0. The immediate label is already corrected on master, but separate API version literals can drift again.
Define Apprise API's own version once in a dependency-free
core/version.pymodule and use it for Django settings, setuptools metadata, and the TerraMaster builder's default version. Existing UI labels, API asset cache keys, and webhook user agents continue to follow the Django setting. Document the new release-version location and add three regression tests.The Apprise library remains independently versioned: its dependency requirements and separately displayed installed version are unchanged. The module also supports Docker and native source deployments that rename the application directory to
webapp/without installing the API distribution. TerraMaster's explicit--versionoverride remains supported.Packaging note: the API distribution now uses setuptools dynamic version metadata. External tooling that parses a literal
[project].versionmust adapt; the known in-repository consumer, TerraMaster's builder, is updated here.Checklist
tox -e lint).tox -e test).Testing
Validated on Linux:
tox -e lint,testpassed with 816 passed, 9 skipped, 319 subtests passed. Lint includes Ruff, Python formatting, Django template checks, and OpenAPI validation.webapp/source deployment with runtime dependencies but no installedapprise-apidistribution returned HTTP 200 and rendered the expected API footer and asset version.A Docker image was not built or started; source-layout compatibility was checked with the renamed-source smoke test. No running homelab service was changed for this contribution.
To reproduce:
git clone -b fix/single-source-api-version https://github.com/brokentokin/apprise-api.git cd apprise-api tox -e lint,test python -m pip install build python -m build tox -e runserverRequires Python 3.14 and tox. Open http://localhost:8000/ and confirm the API footer reports 2.0.1 and the library version is displayed separately.