ChangelogChangelog
Alle Versionen und Neuerungen der App im Überblick. All app versions and updates at a glance.
Version 2.0.0
Aktuell LatestApp-Identität & Plattform App identity & platform
-
Neue App-Identität: Erstrelease unter eigener Bundle-ID
de.schaefer-dryden.brmanager— markenrechtliche Trennung vom THW. Disclaimer „Inoffiziell. Nicht vom THW herausgegeben" in Stores und About-Dialog. New app identity: First release under its own bundle IDde.schaefer-dryden.brmanager— trademark-clean separation from THW. Disclaimer "Unofficial. Not published by THW" in stores and About dialog. - Display-Name vereinheitlicht: „BR Manager" mit Leerzeichen über alle Plattformen, Lokalisierungen und die Marketing-Website hinweg. Display name unified: "BR Manager" with a space across all platforms, localizations, and the marketing website.
- macOS-Auslieferung eingestellt: Plattform-Code, Fastlane-Lanes und Mac-App-Store-Metadaten entfernt. Die App läuft fortan nur noch auf iOS und Android. macOS delivery discontinued: Platform code, Fastlane lanes and Mac App Store metadata removed. The app now only runs on iOS and Android.
Sicherheit & Revisionssicherheit Security & tamper-evidence
- SQLCipher-Verschlüsselung (AES-256): Die lokale Datenbank ist vollständig verschlüsselt. Schlüssel im Plattform-Keychain (iOS) bzw. Keystore (Android). Bestehende Klartext-Datenbank wird beim ersten Start einmalig migriert. SQLCipher encryption (AES-256): The local database is fully encrypted. Key in the platform keychain (iOS) / keystore (Android). Existing plain databases are migrated once on first launch.
- App-Lock: PIN (PBKDF2-HMAC-SHA-256, 100 000 Iterationen) und optionale Biometrie (FaceID / TouchID / Fingerabdruck). Auto-Sperre nach konfigurierbarer Hintergrund-Zeit. App lock: PIN (PBKDF2-HMAC-SHA-256, 100,000 iterations) and optional biometrics (FaceID / TouchID / fingerprint). Auto-lock after configurable background time.
- Verschlüsselte Backups (.brm): AES-256-GCM, Schlüssel via PBKDF2 aus Passwort + Salt. Klartext-Backups bleiben rückwärtskompatibel. Encrypted backups (.brm): AES-256-GCM, key via PBKDF2 from password + salt. Plain backups remain backwards compatible.
- Revisionssicheres Logbuch: Einträge sind unveränderlich. Korrekturen erscheinen als neue Einträge mit Verweis auf das Original. SHA-256-Hash-Kette über alle Einträge — Manipulation in der DB bricht die Kette an genau dieser Lfd.-Nr. Tamper-evident logbook: Entries are immutable. Corrections appear as new entries with a reference to the original. SHA-256 hash chain over all entries — direct DB manipulation breaks the chain at the exact entry number.
- PDF-Master-Hash: Eigene Integritätsseite mit Lfd.-Nr.-Hash-Tabelle und Master-Hash (SHA-256 über alle Eintrags-Hashes). Master-Hash-Kurzform im Footer aller Inhaltsseiten. PDF master hash: Dedicated integrity page with entry-number-hash table and master hash (SHA-256 over all entry hashes). Short master hash in the footer of every content page.
- Aktivitätsprotokoll: Eigener Bildschirm unter Einstellungen → Sicherheit. Korrekturen, Check-in/-out, Terminal-Aktionen, Schichtübergaben und Archivierungen mit Filter und „Integrität prüfen"-Button. Activity log: Dedicated screen under Settings → Security. Corrections, check-in/out, terminal actions, shift handovers and archivings with filter and "Verify integrity" button.
- Dashboard-Server gehärtet: Token-Authentifizierung (32-Byte Random im QR-Code), optionale Stations-PIN für Terminal-Schreib-Endpunkte, Token-Bucket-Rate-Limiter (60 Anfragen/Min/IP), CORS auf lokales Netz beschränkt, Server-seitige Validierung. Hardened dashboard server: Token authentication (32-byte random in QR code), optional station PIN for terminal write endpoints, token-bucket rate limiter (60 req/min/IP), CORS restricted to local network, server-side validation.
-
Archiv-Sperre im Service-Layer: Schreib-Operationen gegen archivierte Einsätze werden zentral durch den
DeploymentStatusGuardabgelehnt — vorher hat nur die UI das verhindert. Archive lock in the service layer: Write operations on archived deployments are centrally rejected byDeploymentStatusGuard— previously only enforced in the UI.
Datenschutz & DSGVO Privacy & GDPR
- Einsatz anonymisieren: Archivierte Einsätze nachträglich anonymisieren — personenbezogene Klartextfelder werden mit „[anonymisiert]" überschrieben. Hash-Kette bleibt unangetastet, der Bruch erscheint als eigenes Ereignis im Aktivitätsprotokoll. Anonymize deployment: Anonymize archived deployments retroactively — personal plain-text fields are overwritten with "[anonymized]". The hash chain stays intact; the break shows up as its own event in the activity log.
- Auskunft zu einer Person (DSGVO Art. 15): Volltextsuche über BR-Leiter, Aufträge, Logbuch, Verpflegungs-Notizen und Schreiber. Treffer als PDF (gruppiert, mit Disclaimer) oder JSON exportierbar. Personal data export (GDPR Art. 15): Full-text search across BR leaders, tasks, logbook, meal notes, and writers. Hits exportable as PDF (grouped, with disclaimer) or JSON.
- Mehrere Schichtleiter: Mehrere Schreiber-Profile pro Gerät, Wechsel im laufenden Einsatz. Schichtwechsel erzeugt automatisch einen Logbuch-Eintrag „Schichtwechsel: alt → neu". Multiple shift leaders: Multiple writer profiles per device, switch mid-mission. Shift handover automatically writes a logbook entry "Shift change: old → new".
-
Schreiber pro Eintrag: Alle Logbuch-Einträge, Aufträge, Verpflegungs-Events und Check-ins erfassen Name + Funktion des schreibenden Helfers. PDF-Export zeigt Schreiber als eigene Spalte. Remote-Terminal-Aktionen werden mit
[Terminal]markiert. Writer per entry: All log entries, tasks, meal events and check-ins record the writer's name and role. PDF export shows the writer as a dedicated column. Remote-terminal actions are tagged[Terminal]. - Datenschutz-Sektion: Eigener Bildschirm unter Einstellungen → Rechtliches. Erklärt zweisprachig, welche Daten lokal gespeichert werden, was über das LAN geteilt wird, Aufbewahrung und Rechte erfasster Personen. Privacy section: Dedicated screen under Settings → Legal. Explains in both languages what is stored locally, what is shared over the LAN, retention, and data subjects' rights.
Verfahrensdoku & Compliance Procedure docs & compliance
- Verfahrensdokumentation als PDF: Über Einstellungen → Rechtliches → Verfahrensdokumentation lässt sich eine GoBD-/DSGVO-konforme Beschreibung erzeugen — Datenmodell, Hash-Verfahren, Korrektur- und Anonymisierungs-Workflow, Backup-Format, Server-Architektur. Procedure documentation as PDF: Settings → Legal → Procedure documentation generates a GoBD-/GDPR-compliant description — data model, hashing, correction and anonymisation workflow, backup format, server architecture.
- Integritäts-Statusbericht im PDF: Eine zusätzliche Seite zwischen Inhalt und Master-Hash zeigt Einsatz-Status, Eintrags-Zähler, Schreiber-Liste, Hash-Ketten-Status und Anonymisierungs-Hinweise. Integrity status report in the PDF: An extra page between content and master hash shows mission status, entry counts, writer list, hash chain status and anonymisation notices.
-
Compliance-Bericht in den Einstellungen: Versionierte Selbstauskunft pro Release mit Anforderungen je Kategorie, Status-Icons und Detail-Sheet (Quelle, Seit-Version, Nachweis-Pfade). Quelle ist
compliance/checklist.yaml. Compliance report in settings: Versioned self-disclosure per release with requirements by category, status icons and detail sheet (source, since version, proof paths). Source of truth iscompliance/checklist.yaml. -
Release-Sperre: Die
release-Lanes brechen ab, wenn der Compliance-Snapshot zur aktuellen Version fehlt — kein Build geht ohne dokumentierten Compliance-Stand in den Store. Release lock: Thereleaselanes abort if the compliance snapshot for the current version is missing — no build ships without a documented compliance status.
Neue Features New features
- Onboarding: Beim ersten Start führen 6 Seiten durch die wichtigsten Funktionen, inkl. eigener „Sicherheit & Datenschutz"-Seite mit Direkt-Sprung in die Sicherheits-Einstellungen. Onboarding: Six pages introduce the key features on first launch, including a dedicated "Security & Privacy" page with a direct jump into the security settings.
- Dashboard-Freigabe: Lagebild als Web-Seite im lokalen Netzwerk teilen — QR-Code, Auto-Refresh alle 30 Sekunden. Dashboard sharing: Share the situation overview as a web page on the local network — QR code, auto-refresh every 30 seconds.
-
Remote Check-in Terminal: Interaktives Web-Terminal für Check-in/Check-out über ein zweites Gerät am BR-Eingang. Eigener QR-Code, Duplikat-Erkennung,
[Terminal]-Kennung im Logbuch. Remote check-in terminal: Interactive web terminal for check-in/check-out via a second device at the entrance. Separate QR code, duplicate detection,[Terminal]tag in the logbook. - Fahrzeug-Freitext: Fahrzeuge per Autocomplete oder als Freitext eingeben (z.B. „THW Kran"). Free-text vehicles: Enter vehicles via autocomplete or as free text (e.g. "THW crane").
- Verpflegungs-Editor: Dialog vor dem Speichern mit bearbeitbarer Portionszahl und optionalem Bemerkungsfeld. Meal editor: Dialog before saving with editable portion count and optional notes field.
- Konfigurierbarer Dashboard-Port: Server-Port für Dashboard und Check-in Terminal in den Einstellungen änderbar (Standard: 8080). Configurable dashboard port: Server port for dashboard and check-in terminal configurable in settings (default: 8080).
Bugfixes & Politur Bugfixes & polish
- PDF-Export: Uhrzeit im Kopfdatenblock wird korrekt angezeigt (statt 00:00). PDF export: Time in the header block now displays correctly (instead of 00:00).
- Stärke-Eingabe: Nur Ziffern erlaubt, max. 999. Sonderzeichen und Vorzeichen werden blockiert. Strength input: Digits only, max. 999. Special characters and signs are blocked.
- Check-in-Validierung: Einchecken-Button erst aktiv, wenn alle Pflichtfelder ausgefüllt sind. Check-in validation: Check-in button only active when all required fields are filled.
- Org-Wechsel: Stärkewerte werden beim Wechsel der Organisation korrekt zurückgesetzt (mit Bestätigungsdialog). Organization switch: Strength values are correctly reset when switching organizations (with confirmation dialog).
- Deployment-Schutz: Neuanlage eines BR bei aktivem Einsatz blockiert mit Warndialog. Deployment protection: Creating a new BR while a deployment is active is blocked with a warning dialog.
- Einsatzzeit-Timer: Pausiert automatisch bei Status „In Ruhe" und zählt nur aktive Einsatzzeit. Deployment timer: Pauses automatically on status "Resting" and counts only active deployment time.
- Logbuch-Sprache: Einheitliche deutsche Bezeichnungen für Einheiten-Status, Verpflegungstypen und Auftragsstatus. Logbook language: Unified German labels for unit status, meal types and task status.
Performance Performance
- Timer-Rebuilds: Lagemeldungs-Timer löst UI-Rebuild nur noch bei sichtbarer Änderung aus (statt jede Sekunde). Timer rebuilds: The situation report timer now triggers a UI rebuild only on visible change (instead of every second).
- SQL-Aggregation: Stärke nach Organisation und Verpflegungs-Zusammenfassung werden direkt per SQL berechnet (statt alle Datensätze zu laden). SQL aggregation: Strength by organization and meal summary are computed directly via SQL (instead of loading all rows).
- Provider-Caching: Berechnete Werte (Stärke-Summen, Status-Zähler, Fahrzeug-Maps) werden gecacht statt bei jedem Rebuild neu berechnet. Provider caching: Computed values (strength sums, status counters, vehicle maps) are cached instead of recomputed on every rebuild.
-
DB-Index: Neuer Index auf
task_units(unit_id)für schnellere Einheiten-Auftrags-Abfragen. DB index: New index ontask_units(unit_id)for faster unit-task queries.
Version 1.1.1
Neue Funktionen New features
- Einheiten-Zuordnung zu Aufträgen: Eine oder mehrere Einheiten aus dem BR können einem Auftrag zugeordnet werden. Sie wechseln automatisch auf „Im Einsatz" und zurück bei Auftrags-Abschluss. Assign units to tasks: One or more units from the BR can be assigned to a task. They automatically switch to "Deployed" and back on task completion.
Stammdaten Master data
- Bundespolizei (BPol) als Organisation hinzugefügt — inkl. FuStW, GruKW, BeDoKW. Federal Police (BPol) added as an organization — incl. patrol car, group transport, command vehicle.
- Bundeswehr (BW) als Organisation hinzugefügt — Wolf, Dingo, Unimog, LKW. German Army (BW) added as an organization — Wolf, Dingo, Unimog, truck.
- Kreisverwaltung (Kreis) als Organisation hinzugefügt; Stadt wurde in Kommune (Kom) umbenannt. District administration (Kreis) added; City renamed to Municipality (Kom).
- Erweiterte Fahrzeug-Stammdaten: THW (BLF, Radlader, NEA), FW (HLF 10, TLF 3000, GW-A, WLF, Abrollbehälter), RD (NAW, ITW, GRTW), Wasserrettung (Boot, GW-Taucher, GW-Wasserrettung). Extended vehicle master data: THW, fire brigade, EMS and water rescue vehicles added.
UX-Verbesserungen UX improvements
- Logbuch-Sortierung: Einträge nach „Neueste zuerst" (Standard) oder „Älteste zuerst" sortierbar. Logbook sorting: Entries sortable by "newest first" (default) or "oldest first".
- Einheiten „Im Einsatz" oben gruppiert: Eigene Sektion mit Amber/Gelb-Akzent für bessere visuelle Unterscheidung. "Deployed" units grouped at the top: Dedicated section with amber/yellow accent for better visual distinction.
- Einheiten-Auswahl für Aufträge: Suchbare Auswahlliste statt FilterChips. Unit picker for tasks: Searchable selection list instead of filter chips.
- Fahrzeug-Kategorie Autocomplete: Vorhandene Kategorien als Vorschläge beim Anlegen/Bearbeiten von Fahrzeugen. Vehicle category autocomplete: Existing categories suggested when adding/editing vehicles.
- Verpflegungs-SnackBar: Verschwindet nach 5 Sekunden und schwebt über dem Content. Meal snackbar: Disappears after 5 seconds and floats above the content.
Version 1.1.0
Neue Funktionen New features
- Erweiterte Einheiten-Status: „Im Einsatz", „In Ruhe" oder „Nicht einsatzbereit" — Status-Wechsel werden automatisch im Logbuch protokolliert. Extended unit status: "Deployed", "Resting" or "Not operational" — status changes are automatically logged.
- Einsatzzeit-Tracking: Live-Anzeige pro Einheit, konfigurierbare Warnung bei Überschreitung der maximalen Einsatzzeit (Standard: 10 h). Deployment time tracking: Live display per unit, configurable warning when the maximum deployment time is exceeded (default: 10 h).
- Lagemeldungs-Timer: Konfigurierbarer Countdown erinnert an fällige Lagemeldungen, automatischer Logbuch-Eintrag bei Ablauf. Situation report timer: Configurable countdown reminds about due situation reports, automatic logbook entry on expiry.
- Kräftenachweis-PDF: Tabellarischer Report aller Einheiten mit Check-in/out-Zeiten, Stärke und Einsatzdauer — für die Abrechnung mit Bedarfsträgern. Force verification PDF: Tabular report of all units with check-in/out times, strength and duration — for billing documentation.
- Verpflegungsplanung: Portionsbedarf basierend auf aktueller Stärke. Mahlzeiten-Ausgabe (Frühstück, Mittag, Abend, Snack) erfassen und automatisch protokollieren. Meal planning: Portion needs based on current strength. Track meal distribution (breakfast, lunch, dinner, snack) with automatic logging.
- Auftrags-Tracking: Aufträge erstellen, priorisieren (Hoch/Mittel/Niedrig), nachverfolgen. 5. Tab im Dashboard mit Badge für offene Aufträge. Task tracking: Create, prioritize (high/medium/low) and track tasks. 5th dashboard tab with badge for open tasks.
- Wettervorhersage auf dem Dashboard: Aktuelle Temperatur, Wind, Niederschlag und 24-Stunden-Forecast via Open-Meteo. Cache für Offline-Betrieb, Veraltet-Warnung. Weather forecast on the dashboard: Current temperature, wind, precipitation and 24-hour forecast via Open-Meteo. Cache for offline use, staleness warning.
- Nacht-Modus (Rot): Dunkler Modus mit Rot-Tönung — schont die Nachtsicht bei Einsätzen im Dunkeln. Night mode (red): Dark mode with red tint — preserves night vision during operations in the dark.
- Zweisprachig (Deutsch + Englisch): App folgt der Systemsprache, ~95 übersetzte Strings. Bilingual (German + English): App follows the system language, ~95 translated strings.
UX & Design UX & design
- Einsatztauglich: Mindestens 48 dp Touch-Targets für Bedienung mit Handschuhen, haptisches Feedback bei wichtigen Aktionen. Field-ready: At least 48 dp touch targets for gloved operation, haptic feedback on key actions.
- Schnellaktionen auf dem Dashboard: Lagemeldung und neuer Logbuch-Eintrag mit einem Tipp. Quick actions on the dashboard: Situation report and new logbook entry with one tap.
- Komplette Dark-Mode-Überarbeitung: Alle hardcodierten Farben durch theme-aware ColorScheme ersetzt. Drei Erscheinungsbilder: Hell, Dunkel, Nacht (Rot) + System-Automatik. Complete dark mode overhaul: All hardcoded colors replaced with theme-aware ColorScheme. Three themes: Light, Dark, Night (red) + system automatic.
- Verpflegung rückgängig machen: Undo-Button im SnackBar nach Mahlzeit-Ausgabe. Undo meal: Undo button in the snackbar after meal distribution.
- Auftrags-Tab: Verbesserter Empty-State mit Swipe-Hinweis. Task tab: Improved empty state with swipe hint.
Version 1.0.0
Erste Veröffentlichung Initial release
- Setup-Prozess: Erfassung der BR-Kopfdaten (Leiter, Standort, Stichwort, Zweck) mit GPS-Standort und automatischer Adresserkennung. Setup process: Capture BR header data (leader, location, keyword, purpose) with GPS and automatic address recognition.
- 4-Tab-Dashboard: Lagebild, Einheiten, Check-in und Logbuch mit taktischer Uhr (Format DDHHmmMMMJJ), KPI-Grid, Gesamtstärke-Leiste und Organisations-Karten. 4-tab dashboard: Situation overview, units, check-in and logbook with tactical clock (format DDHHmmMMMJJ), KPI grid, total strength bar, and organization cards.
- Check-in / Check-out: Einheiten mit Organisation, Fahrzeug, Stärke und optionalem Kennzeichen erfassen. Taktische Stärke (Fü/UFü/He) oder einfache Personenzahl je nach Organisation. Duplikat-Erkennung, Swipe-to-Checkout, Sammel-Abmeldung. Check-in / check-out: Capture units with organization, vehicle, strength, and optional license plate. Tactical strength (Ldr/NCO/Enl) or plain head count depending on organization. Duplicate detection, swipe-to-checkout, bulk dismissal.
- Logbuch: Automatische Einträge bei Check-in, Check-out und BR-Eröffnung/-Schließung. Manuelle Einträge über FAB. Schichtübergabe wird automatisch protokolliert. Logbook: Automatic entries on check-in, check-out and BR opening/closing. Manual entries via FAB. Shift handover automatically logged.
- PDF-Export (Einsatztagebuch): Schwarz/Weiß-Layout gemäß THW-Vorlage, Kopfdaten-Block, Multi-Page-Support, Unterschriftszeile. PDF export (operations log): Black/white layout per THW template, header block, multi-page support, signature line.
- Stammdaten-Verwaltung: 9 Organisationen + 30 Fahrzeuge vorinstalliert. Farbwähler, Taktische-Stärke-Toggle, Fahrzeuge gruppiert nach Kategorie. Master data management: 9 organizations + 30 vehicles preinstalled. Color picker, tactical strength toggle, vehicles grouped by category.
- Archiv: Vergangene Einsätze mit Detail-Ansicht und nachträglichem PDF-Export. Archive: Past deployments with detail view and retroactive PDF export.
- Datenbank-Backup: SQLite-Datenbank über Share-Dialog sichern und wiederherstellen. Database backup: Back up and restore the SQLite database via the share dialog.