From 841311a6bd42d61d306acbdf5781d8bdf26ab978 Mon Sep 17 00:00:00 2001 From: StyxX65 <150797939+StyxX65@users.noreply.github.com> Date: Thu, 11 Jun 2026 15:02:44 +0200 Subject: [PATCH] Release 1.7.6 - CHANGELOG: cut the 1.7.6 release (dated 2026-06-11); reset Unreleased. - VERSION: 1.7.5 -> 1.7.6. - Manuals (DA + EN): bump version stamps. Co-Authored-By: Claude Fable 5 --- CHANGELOG.md | 4 ++++ VERSION | 2 +- docs/manuals/MANUAL-DA.md | 4 ++-- docs/manuals/MANUAL-EN.md | 4 ++-- 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cd5d9e6..4365717 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.6] — 2026-06-11 + ### Fixed - **Update restart leaked the listening socket and hopped to port 5101** — Werkzeug marks its server socket inheritable (`srv.socket.set_inheritable(True)`, unconditionally, for its debug reloader), so the in-app update's `os.execv` restart carried the old listening socket into the new process as a zombie listener: same PID listening on both 5100 (never accepted — clients hang) and 5101 (the actual server). The 1.7.3 `SO_REUSEADDR`/grace-period fix couldn't help because the port genuinely was occupied — by the restarting process itself. `_restart_self()` now marks every fd above stderr close-on-exec before the exec (`_mark_fds_cloexec()`, enumerating `/proc/self/fd` on Linux), so the old socket dies with the exec and the new server rebinds 5100 immediately. diff --git a/VERSION b/VERSION index 6a126f4..de28578 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.7.5 +1.7.6 diff --git a/docs/manuals/MANUAL-DA.md b/docs/manuals/MANUAL-DA.md index a62c115..e204785 100644 --- a/docs/manuals/MANUAL-DA.md +++ b/docs/manuals/MANUAL-DA.md @@ -1,6 +1,6 @@ # GDPR Scanner — Brugermanual -Version 1.7.5 +Version 1.7.6 --- @@ -671,4 +671,4 @@ For en typisk skole- eller kommunescanning er omkostningen ubetydelig — Claude --- -*GDPR Scanner v1.7.5 — teknisk opsætning og konfiguration: se README.md* +*GDPR Scanner v1.7.6 — teknisk opsætning og konfiguration: se README.md* diff --git a/docs/manuals/MANUAL-EN.md b/docs/manuals/MANUAL-EN.md index 4cd5327..601dee7 100644 --- a/docs/manuals/MANUAL-EN.md +++ b/docs/manuals/MANUAL-EN.md @@ -1,6 +1,6 @@ # GDPR Scanner — User Manual -Version 1.7.5 +Version 1.7.6 --- @@ -671,4 +671,4 @@ For a typical school or municipality scan the cost is negligible — Claude Haik --- -*GDPR Scanner v1.7.5 — for technical setup and configuration see README.md* +*GDPR Scanner v1.7.6 — for technical setup and configuration see README.md*