{% extends "base.html" %} {% block title %}WMT Client Releases – {{ app_name }}{% endblock %} {% block page_title %}WMT Client Release Management{% endblock %} {% block content %}
Current Release
{% if meta %}
Version v{{ meta.version }}
File {{ meta.filename }}
Size {% if zip_size %}{{ (zip_size / 1024 / 1024) | round(2) }} MB{% else %}file missing!{% endif %}
Uploaded {{ meta.uploaded_at }}
Notes {{ meta.notes or '—' }}
Download zip
{% else %}
No release uploaded yet.
Upload a zip below to enable client auto-update.
{% endif %}
Upload New Release
Numeric only, e.g. 3.0 or 3.1.2. Must be higher than the current version to trigger client updates.
Must contain app.py at the zip root.
Include dependency_utils.py, config.py, Files/reposytory/, and Files/Screen.html for a full release.
Uploading will replace the current release immediately. All WMT clients will download the new version on their next 5-minute sync cycle.
Build Release from Server Folder

Package the WMT source folder that lives on this server into a clean release zip. Hidden files (.git, .gitignore, .lgd-nfy0, …), __pycache__, data/, venv/ and compiled .pyc / .log files are automatically excluded.

Absolute path to the WMT folder on this server.
Excluded automatically: .git/   .gitignore   .lgd-*   any hidden file/folder  ·  __pycache__/   *.pyc   *.log   *.bak  ·  data/   venv/
How Auto-Update Works
1
Client checks version
Every 5 min, client calls GET /api/wmt/client/version and compares server version with its own (from line 1 of app.py)
2
Download if outdated
If server version > local version, client downloads GET /api/wmt/client/download
3
Apply & back up
Zip is extracted over the WMT folder. Old app.py is backed up as app.py.bak.<version>
4
Service restart
Client calls sudo systemctl restart wmt (or reboots) to start the new code
{% endblock %}