From 652031b31d6da769217a4962da5dc02b83d1124b Mon Sep 17 00:00:00 2001 From: StyxX65 <150797939+StyxX65@users.noreply.github.com> Date: Wed, 10 Jun 2026 14:50:31 +0200 Subject: [PATCH] Release 1.7.1 - CHANGELOG: cut the 1.7.1 release (dated 2026-06-10); reset Unreleased. - VERSION: 1.7.0 -> 1.7.1. - Manuals (DA + EN): bump version stamps; document the new Settings -> General -> Software update group (check/install/auto-update, git-checkout-only, self-restart, refused during scans). Co-Authored-By: Claude Fable 5 --- CHANGELOG.md | 4 ++++ VERSION | 2 +- docs/manuals/MANUAL-DA.md | 5 +++-- docs/manuals/MANUAL-EN.md | 5 +++-- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6600a84..a800d88 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,10 @@ Version numbers follow [Semantic Versioning](https://semver.org/spec/v2.0.0.html ## [Unreleased] +--- + +## [1.7.1] — 2026-06-10 + ### Added - **Software update from the GUI** — a new **Settings → General → Software update** group lets the operator check for and install updates without touching the server shell. "Check for updates" fetches origin and shows either "You are running the latest version" or the list of pending commits; "Install update" fast-forwards the git checkout to `origin/`, reinstalls dependencies only if `requirements.txt` changed, writes an `app_update` audit-log entry, and restarts the app in place by re-exec'ing the process (`os.execv` — same PID, so it works both under systemd and when launched via `start_gdpr.sh`). The page polls until the server is back and reloads itself. Local server-side edits are auto-stashed (kept, never discarded) before the merge. Updating is refused with a clear message while any scan is running. An **"Install updates automatically"** toggle (stored in `config.json` under `auto_update`) enables a background thread that checks once a day and installs unattended, skipping (and retrying hourly) while a scan runs. The group is only shown when the app runs from a git checkout — the frozen desktop build hides it. New blueprint `routes/updates.py` with `GET /api/update/check`, `POST /api/update/apply`, `GET/POST /api/update/settings`; 11 new tests in `tests/test_updates.py` with fully mocked git. diff --git a/VERSION b/VERSION index bd8bf88..943f9cb 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.7.0 +1.7.1 diff --git a/docs/manuals/MANUAL-DA.md b/docs/manuals/MANUAL-DA.md index 86b8854..9038439 100644 --- a/docs/manuals/MANUAL-DA.md +++ b/docs/manuals/MANUAL-DA.md @@ -1,6 +1,6 @@ # GDPR Scanner — Brugermanual -Version 1.7.0 +Version 1.7.1 --- @@ -566,6 +566,7 @@ Klik på **Nulstil database** for at slette alle scanningsdata, dispositioner og | Indstilling | Beskrivelse | |-------------|-------------| | Tema | Mørkt eller lyst | +| Softwareopdatering | Søg efter og installér nye versioner af scanneren direkte fra browseren, eller slå automatisk daglig opdatering til. Vises kun på serverinstallationer, der kører fra et git-checkout (ikke i skrivebordsappen). Programmet genstarter selv efter installation; opdatering afvises, mens en scanning kører, og næste scanning efter en opdatering fortsætter normalt. | ### Fanen Sikkerhed @@ -670,4 +671,4 @@ For en typisk skole- eller kommunescanning er omkostningen ubetydelig — Claude --- -*GDPR Scanner v1.7.0 — teknisk opsætning og konfiguration: se README.md* +*GDPR Scanner v1.7.1 — teknisk opsætning og konfiguration: se README.md* diff --git a/docs/manuals/MANUAL-EN.md b/docs/manuals/MANUAL-EN.md index 856d4e3..fa78a5b 100644 --- a/docs/manuals/MANUAL-EN.md +++ b/docs/manuals/MANUAL-EN.md @@ -1,6 +1,6 @@ # GDPR Scanner — User Manual -Version 1.7.0 +Version 1.7.1 --- @@ -566,6 +566,7 @@ Click **Reset DB** to wipe all scan data, dispositions, and deletion log. This i | Setting | Description | |---------|-------------| | Theme | Dark or light mode | +| Software update | Check for and install new versions of the scanner directly from the browser, or enable automatic daily updates. Only shown on server installations running from a git checkout (not in the desktop app). The app restarts itself after installing; updating is refused while a scan is running, and the next scan after an update continues normally. | ### Security tab @@ -670,4 +671,4 @@ For a typical school or municipality scan the cost is negligible — Claude Haik --- -*GDPR Scanner v1.7.0 — for technical setup and configuration see README.md* +*GDPR Scanner v1.7.1 — for technical setup and configuration see README.md*