Add version chip (v0.1.0) + changelog
- version.py: __version__ = 0.1.0 + structured CHANGELOG (newest first). - footer version chip on every page (base.html) links to /changelog. - /changelog page renders release notes; CHANGELOG.md mirrors it. - 0.1.0 captures the storage/SQLite/settings/suggestions/backup work. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
11
app.py
11
app.py
@@ -8,6 +8,7 @@ import calendar as cal_module
|
||||
from storage import load_json, save_json
|
||||
from settings import load_settings, save_settings, SECRET_KEYS
|
||||
import txns_db
|
||||
from version import __version__ as APP_VERSION, CHANGELOG
|
||||
from categories import CATEGORIES, CATEGORY_COLORS
|
||||
from bills import load_bills, save_bills, bills_for_month, calendar_grid, get_week_num
|
||||
from sinking import (load_funds, save_funds, FUND_COLORS, monthly_needed,
|
||||
@@ -167,6 +168,11 @@ def inject_unreviewed_count():
|
||||
# Fast COUNT query instead of parsing the whole transaction store per request.
|
||||
return dict(unreviewed_count=txns_db.count_unreviewed())
|
||||
|
||||
|
||||
@app.context_processor
|
||||
def inject_version():
|
||||
return dict(app_version=APP_VERSION)
|
||||
|
||||
DATA_DIR = os.environ.get("DATA_DIR", os.path.join(os.path.dirname(__file__), "data"))
|
||||
TRANSACTIONS_FILE = os.path.join(DATA_DIR, "transactions.json")
|
||||
RULES_FILE = os.path.join(DATA_DIR, "rules.json")
|
||||
@@ -2878,5 +2884,10 @@ def settings_view():
|
||||
saved=request.args.get("saved"))
|
||||
|
||||
|
||||
@app.route("/changelog")
|
||||
def changelog_view():
|
||||
return render_template("changelog.html", changelog=CHANGELOG, app_version=APP_VERSION)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
app.run(debug=os.environ.get("FLASK_DEBUG") == "1", port=5000)
|
||||
|
||||
Reference in New Issue
Block a user