Repository navigation
mandari 0.12.0 bringt die Arbeit seit September und schließt mehrere Sicherheitslücken, darunter eine kritische. Alle Änderungen liefen vorher in unserer Produktion. Die vollständige Liste steht im Changelog.
Wer mandari selbst betreibt, sollte zügig aktualisieren. Für die 0.11-Linie folgt in Kürze 0.11.1 mit denselben Sicherheitskorrekturen.
Sicherheit
Gefunden bei einer internen Sicherheitsprüfung. Eine Ausnutzung ist uns nicht bekannt. Die Einzelheiten veröffentlichen wir in den Security Advisories dieses Repositorys, sobald auch 0.11.1 erschienen ist. CVE-Kennungen sind beantragt.
- Zugangsmails (kritisch): Einladungs- und Bestätigungslinks gehen immer über den Versandweg der Plattform, auch wenn eine Organisation einen eigenen SMTP-Server eingetragen hat. Der Bestätigungslink der Selbstregistrierung wirkt nur noch mit dem angemeldeten Konto des Links (#1173).
- Ingestor: Schreiben, Löschmarkierungen und Verweise sind an die Quelle der abgeglichenen Kommune gebunden; Beratungen werden nur mit Sitzungen und Tagesordnungspunkten derselben Quelle verbunden (#1176).
- Grenzen für Texte und Suchindex: Erkannter Text höchstens 5.000.000 Zeichen je Datei; Seiten, Suche, KI-Zusammenfassung und OParl laden ihn nur begrenzt; Bulk-Anfragen an den Suchindex mit Bytegrenze (#1177, #1179).
- Ingestor: Die Textebene von PDFs wird nur noch in einem eigenen Prozess mit Speicher- und Zeitgrenze gelesen (#1178).
- KI-Assistent und Mail-Versand: Längengrenzen vor regulären Ausdrücken, lineare Muster (#1174).
- Container-Images: Das Build-Backend der lokalen Pakete kommt hash-geprüft aus
uv.lock(#1175).
Vor dem Update lesen (Selbstbetrieb)
- Migrationen: wie üblich
python manage.py migratevor dem Start der neuen Version, Ingestor erst danach starten. - Nach dem Update einmal ausführen:
python manage.py texte_begrenzenzählt gespeicherte Texte über der neuen Obergrenze; mit--ausfuehrenkürzt es sie und schreibt die betroffenen Einträge im Suchindex neu. - Selbstregistrierung: Wer sich bei einer Organisation selbst registriert, meldet sich jetzt vor der Bestätigung an. Offene Einladungen, die über einen eigenen SMTP-Server einer Organisation verschickt wurden, sollten neu ausgestellt werden („Einladung erneut senden“).
- Ingestor, neue Einstellungen mit Vorgaben:
INGESTOR_TEXT_LAYER_MEMORY_LIMIT_MB(384),INGESTOR_TEXT_LAYER_TIMEOUTundINGESTOR_TEXT_LAYER_CONCURRENCY(2). Zwei Prozesse à 384 MB plus Grundbedarf brauchen mehr als die Compose-Vorgabe von 512 MiB für den Ingestor; bei BedarfINGESTOR_MEM_LIMITanheben. - Suche: Durchsucht werden höchstens die ersten 5.000.000 Zeichen einer Datei.
- Eigene Image-Bauten brauchen BuildKit.
- Entfernt: unter anderem
manage.py sync_oparlundsync_daemon(synchronisiert wird nur noch über den Ingestor), das Feldinvitation_urlin der Antwort der Provisionierungs-API sowie wirkungslose Einstellungen und Befehle. Abgekündigt ist die alte Session-API unter/session/<kommune>/api/session/…mit Wegfall am 31.05.2027. Einzelheiten im Changelog.
Neu (Auswahl)
mandari work (Fraktionen)
- Laufende Fraktionssitzung: TOPs während der Sitzung ergänzen, Sichtschutz für den nichtöffentlichen Teil, Anwesenheit mit einem Klick.
- Anträge per E-Mail an die Verwaltung einreichen, wenn keine Verbindung zu mandari session besteht; Anhänge an Dokumenten.
mandari session (Verwaltung)
- Sitzungsformate (präsent, hybrid, digital) mit Landesprofilen für alle 16 Länder; Teilnahmeart in der Anwesenheit.
- Die OParl-Schnittstelle wird je Mandant freigeschaltet; E-Mail-Adressen von Personen nur mit Einwilligung.
Bürgerportal, Ingestor und Betrieb
- Antragstellende Fraktionen an Anträgen und Anfragen, auch in der OParl-API.
- Umringe von Bebauungsplänen aus dem Geodienst, eigene Adressen je gelisteter Kommune.
- Texterkennung in zwei Stufen, Ereignistechnik und Datendrehscheibe als Grundlage, PgBouncer und mehrere Anwendungsprozesse im Compose-Betrieb, Wartungsmodus.