diff --git a/CHANGELOG.md b/CHANGELOG.md index 4e66f937..51046584 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,34 @@ edit the release notes and re-run the generator. Upgrading, pinning a version and rolling back: [docs/self-hosting.md](docs/self-hosting.md#upgrading). +## 0.88.0 — 2026-09-18 + +When something goes wrong, you can now turn on detailed logging for yourself for 24 hours — and read your own log on the spot, before any of it is sent anywhere. Siftlode also has a privacy policy and terms at last, in both languages, saying exactly what is recorded and for how long. + +### Features + +- Settings → Diagnostics: choosing Detailed or Full changes nothing until you confirm a box that tells you what will be recorded, that the server keeps it, for how long, and that it switches itself off after 24 hours. Going back to Basic needs no confirmation and takes effect at once. +- “My log”, on the same tab, shows what your browser has recorded — newest first, any line openable. Nothing leaves the browser before you have consented. +- What you search for and filter by is recorded only at Full, and only under your own consent — never an administrator's. Passwords, tokens, cookies and email addresses are recorded at no level, by anyone. +- Your last sign-in is shown in your account panel, and in the administrator's user list. +- A privacy policy and terms of service, in Hungarian and English, covering what the server logs and what each diagnostics level adds. +- Administrators get a Diagnostics section in Configuration: the log level takes effect without a restart, and stored logs are cleaned up on a schedule (7 days by default). +- Every setting with a fixed set of values is now picked from those values instead of typed in, so a wrong one can no longer be saved. + +### Fixes + +- Every message arrived twice if you left a conversation and came back quickly: two chat connections stayed open where there should have been one. +- Settings was unusable on a phone — the tab rail took the width and left almost nothing for the panel beside it. +- Dates and numbers follow the language you picked in Siftlode, not the one your computer happens to be set to. An English Siftlode on a Hungarian machine no longer shows Hungarian dates. +- An administrator setting shown as a dropdown opened on its first option instead of the one actually in force. +- In Hungarian, the audit log and the new log settings had names you could not tell apart. +- The scheduled feed poll now covers only channels somebody actually follows — on this instance 582 of 979 polled channels had no follower at all. The trade-off is deliberate: new uploads from a channel nobody follows no longer appear in the shared Library. + +### Internal + +- One logging mechanism replaced four. The API, the worker, the downloader and the migration tool now write the same structured line; secrets are scrubbed where the line is written rather than at each of ~125 places that write one; and every request carries an id that joins a line from your browser to the server line of the same request. The browser's log uses the same shape and the same redaction rules, checked from both sides against one shared set of cases. +- Two adversarial review rounds over the epic: 56 findings raised, 32 survived three independent attempts to refute each, all fixed. Every regression test was proven to fail with its own fix removed — which is how a test that passed only on leftover state from an earlier test was caught, and how a focus bug that jsdom could not reproduce at all was settled in a real browser. + ## 0.87.1 — 2026-09-16 A YouTube video that YouTube will only show to a signed-in viewer can now be downloaded: paste your YouTube cookies in Settings the way the failure message already told you to — until now that list had no YouTube in it. diff --git a/VERSION b/VERSION index 7921aa12..fe6d01c1 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.87.1 +0.88.0 diff --git a/frontend/src/lib/releaseNotes.ts b/frontend/src/lib/releaseNotes.ts index 71672ff2..ca9331e3 100644 --- a/frontend/src/lib/releaseNotes.ts +++ b/frontend/src/lib/releaseNotes.ts @@ -14,6 +14,33 @@ export interface ReleaseEntry { } export const RELEASE_NOTES: ReleaseEntry[] = [ + { + version: "0.88.0", + date: "2026-09-18", + summary: + "When something goes wrong, you can now turn on detailed logging for yourself for 24 hours — and read your own log on the spot, before any of it is sent anywhere. Siftlode also has a privacy policy and terms at last, in both languages, saying exactly what is recorded and for how long.", + features: [ + "Settings → Diagnostics: choosing Detailed or Full changes nothing until you confirm a box that tells you what will be recorded, that the server keeps it, for how long, and that it switches itself off after 24 hours. Going back to Basic needs no confirmation and takes effect at once.", + "“My log”, on the same tab, shows what your browser has recorded — newest first, any line openable. Nothing leaves the browser before you have consented.", + "What you search for and filter by is recorded only at Full, and only under your own consent — never an administrator's. Passwords, tokens, cookies and email addresses are recorded at no level, by anyone.", + "Your last sign-in is shown in your account panel, and in the administrator's user list.", + "A privacy policy and terms of service, in Hungarian and English, covering what the server logs and what each diagnostics level adds.", + "Administrators get a Diagnostics section in Configuration: the log level takes effect without a restart, and stored logs are cleaned up on a schedule (7 days by default).", + "Every setting with a fixed set of values is now picked from those values instead of typed in, so a wrong one can no longer be saved.", + ], + fixes: [ + "Every message arrived twice if you left a conversation and came back quickly: two chat connections stayed open where there should have been one.", + "Settings was unusable on a phone — the tab rail took the width and left almost nothing for the panel beside it.", + "Dates and numbers follow the language you picked in Siftlode, not the one your computer happens to be set to. An English Siftlode on a Hungarian machine no longer shows Hungarian dates.", + "An administrator setting shown as a dropdown opened on its first option instead of the one actually in force.", + "In Hungarian, the audit log and the new log settings had names you could not tell apart.", + "The scheduled feed poll now covers only channels somebody actually follows — on this instance 582 of 979 polled channels had no follower at all. The trade-off is deliberate: new uploads from a channel nobody follows no longer appear in the shared Library.", + ], + chores: [ + "One logging mechanism replaced four. The API, the worker, the downloader and the migration tool now write the same structured line; secrets are scrubbed where the line is written rather than at each of ~125 places that write one; and every request carries an id that joins a line from your browser to the server line of the same request. The browser's log uses the same shape and the same redaction rules, checked from both sides against one shared set of cases.", + "Two adversarial review rounds over the epic: 56 findings raised, 32 survived three independent attempts to refute each, all fixed. Every regression test was proven to fail with its own fix removed — which is how a test that passed only on leftover state from an earlier test was caught, and how a focus bug that jsdom could not reproduce at all was settled in a real browser.", + ], + }, { version: "0.87.1", date: "2026-09-16",