MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 1m2s
- NewID uses 96 random bits; invite codes get their own 100 bits in Base32. - Registration and forgot-password are limited per address via loginGuard. - The invite is claimed atomically before the account is created and released again when the account cannot be created. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2.9 KiB
2.9 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,httpsundmailto;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).
- IDs neuer Datensätze haben 96 statt 40 Zufallsbits, Einladungscodes eigene 100 Bit (
INV-ABCDE-FGHIJ-KLMNO-PQRST); vorhandene IDs und Codes bleiben gültig (FLAW-32). - Registrierung und „Passwort vergessen“ sind pro Adresse begrenzt (20 bzw. 10 Anfragen in 15 Minuten), Einladungscodes lassen sich so nicht durchprobieren (FLAW-39).
- Ein Einladungscode lässt sich auch bei gleichzeitigen Registrierungen nur einmal einlösen (FLAW-40).
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_tokensentfällt). - Achtung:
PATCH /auth/settingsverlangt fürpasswordundemaildas FeldcurrentPassword, sonst403. - Versionsnummern folgen jetzt Semantic Versioning mit dreiteiligen Tags (
v0.6.0); die Kopfzeile zeigt die volle Version (v0.6.0-devfür Entwicklungsstände). Vorabversionen wiev1.0.0-rc.1verschieben das Image:stablenicht. - Das Mengenfeld in Listen öffnet auf dem Handy die Zahlentastatur.