Files
MindSift/CHANGELOG.md
T
sandrodachandClaude Opus 5.5 1af3a6e90a
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 1m52s
feat(auth): server-side sessions and current password for account changes (FLAW-30, FLAW-31)
- Every login is a session (device, IP, last use); the token's jti is its ID.
  Sessions end on logout, per device from the profile, or after 30 idle days.
- Tokens older than a day are renewed via the X-Session-Token header.
- Changing password or login e-mail needs the current password; a new
  password logs out all other devices and mails the old address.
- Demo reset keeps the demo visitors' sessions.
- revoked_tokens is replaced by sessions (migration 4); everyone is logged
  out once after the upgrade.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 19:25:22 +01:00

2.4 KiB

Changelog

Alle nennenswerten Änderungen an MindSift stehen in dieser Datei.

Das Format folgt Keep a Changelog, die Versionsnummern folgen ab v0.6.0 Semantic Versioning. Solange die Hauptversion 0 ist, können sich API und Datenformate mit jeder Minor-Version ändern; solche Änderungen stehen unter „Changed“ bzw. „Removed“ und sind mit Achtung markiert.

Unreleased

Security

  • Links in Notizen, Aufgaben-Notizen und Impressum öffnen nur noch http, https und mailto; javascript: und ähnliche Links erscheinen als Text. Vorher konnte ein Bearbeiter einer geteilten Aufgabenliste über einen präparierten Link Code im Browser anderer ausführen (FLAW-28).
  • Sicherheits-Header für alle Antworten: Content-Security-Policy (Scripts nur von MindSift selbst, keine Einbettung in fremde Seiten), X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy (FLAW-29).
  • Passwort und Login-E-Mail lassen sich nur noch mit dem aktuellen Passwort ändern; die bisherige Adresse bekommt eine Hinweismail, wenn SMTP eingerichtet ist (FLAW-30).
  • Anmeldungen sind serverseitige Sitzungen: Jedes Gerät lässt sich einzeln abmelden, unbenutzte Sitzungen enden nach 30 Tagen, aktive werden täglich erneuert. Ein neues Passwort meldet alle anderen Geräte ab (FLAW-31).

Fixed

  • Der Offline-Start der App funktioniert zuverlässig: Ein altes Script in der Startseite hat bei jedem Aufruf alle Caches des Service Workers gelöscht.

Added

  • Profil → „Aktive Sitzungen“: Liste der angemeldeten Geräte mit letzter Nutzung und „Abmelden“ je Gerät.
  • API: GET /auth/sessions, DELETE /auth/sessions/{id}.

Changed

  • Achtung: Nach dem Update sind alle Benutzer einmal abgemeldet (neue Sitzungsverwaltung, die alte Sperrliste revoked_tokens entfällt).
  • Achtung: PATCH /auth/settings verlangt für password und email das Feld currentPassword, sonst 403.
  • Versionsnummern folgen jetzt Semantic Versioning mit dreiteiligen Tags (v0.6.0); die Kopfzeile zeigt die volle Version (v0.6.0-dev für Entwicklungsstände). Vorabversionen wie v1.0.0-rc.1 verschieben das Image :stable nicht.
  • Das Mengenfeld in Listen öffnet auf dem Handy die Zahlentastatur.