Releases: CodeForFire/lagebuch
Release list
Lagebuch v0.5.0
Attachment handling, PDF export control, more depth in CO-Messung and accessibility —
plus every P0/P1 fix from the 2026-09 architecture, security and performance review (#304).
Added
- Drag and drop attachments onto the Dateien tab (#273)
- Delete an attachment, with a confirmation prompt (#271)
- PDF export: pick which sections go in, with progress and status feedback, and the incident
remembers where it was last exported to (#269) - CO-Messung: colour-coded ppm danger severity and a warning on implausible readings (#278)
- CO-Messung: per-floor unit counts and labels (#268)
- CO-Messung: an OG HINZUFÜGEN button to add upper floors (#263)
- A visible ÖFFNEN button on each recent-incidents row (#276)
- Search box on the Links tab, and ÖFFNEN now shows and says that it opens the system browser (#262, #275)
- Accessibility: AutomationProperties labelling and keyboard navigation for the Kräfte flyouts (#283)
- The project logo and slogan (#281)
Changed
- CO-Messung: ABBRECHEN in the Wohnung editor now actually discards. Status, CO-Wert,
Bezeichnung, Bewohnername and Schlüssel are buffered until FERTIG, so an intermediate or
mistyped ppm reading no longer lands in the Einsatztagebuch. The tile previews the pending
state while the sidebar is open. (#242) - The PIN field on the join screen accepts digits only (#277)
- Removing a unit asks for confirmation first, and Kräfte/Stammdaten explain why a control is
disabled or a label abbreviated (#257) - Release notes are generated from this file's section for the tag being built (#261)
- Dependency updates across Avalonia, Microsoft.Data.Sqlite, the SignalR client and the test SDK
Fixed
- Stop a Kraft's Stärke-Historie from duplicating on every save: each save was re-inserting
the whole edit history on top of what was already on disk, so a file saved N times held N
copies of every correction. Existing files are deduplicated the next time they are opened. (#279) - Surface a failed background save (disk full, read-only, locked/corrupt DB) as a persistent
red banner in the Einsatz workspace instead of silently leaving the incident unsaved (#280) - Leaving an open Einsatz via the top command bar (ÜBERSICHT, STAMMDATEN, ÖFFNEN, NEUER EINSATZ,
VERBINDEN) instead of the workspace's own "ZUR STARTSEITE" no longer leaks its subscription to
the background save-failure store (#280) - Navigating home no longer leaves the incident workspace running in the background: closing it
now stops its once-a-second ticker (Atemschutz, Aufgaben, ILS-Erinnerung) and unsubscribes it
from further changes, and a joined client also drops its host-connection event handlers. (#284) - Funktionen: the Rolle suggestions now open on focus and on click, not only while typing (#266)
- Kräfte: the Zugführer flag no longer adds a seat on top of the vehicle's own capacity (#264)
Security
- Harden CI workflows:
ci.ymlnow runs with read-onlycontentspermission and enforces
dotnet formatin CI;claude.ymlonly responds to@claudementions from repo owners,
members and collaborators; Dependabot now tracks the Android and acceptance-test projects'
ownDirectory.Packages.propsfiles in addition to the root one. - Attachment names from a joined device can no longer escape the temp directory or smuggle in an
executable type. A file name is reduced to its last path segment and capped at 255 bytes on the
way into the domain (and on load, so a name already in a snapshot or file is neutralised too),
its extension must match the declared file type, ÖFFNEN copies the bytes into a fresh private
directory under the app's own temp root instead of the shared system temp directory, and the
desktop launcher refuses anything that is not a regular image or PDF file inside that root. (#285) JsonTrustStorenow takes its lock for reads too, closing a race where the TLS
certificate-pin check on a join could read the trusted-thumbprint cache while another
handshake was writing it; the trust file is also now written via a temp file plus rename, so
a crash mid-write can no longer leave a corrupttrust.jsonbehind. Joining another device's
incident no longer has an "accept any certificate" fallback — a trust store is required, so a
join is always TLS-pinned. (#286)- Android: the
FileProvidernow grants access to only itsshared/andlagebuch/
subdirectories, not the whole cache directory —import.json, picked attachments and the
synced-attachment cache are no longer reachable through a shared or opened URI. A malicious
content provider'sDISPLAY_NAMEfor a picked attachment can no longer escape the app's cache
directory via../path traversal; it is now sanitised to a bare file name with a safe fallback. (#303)
Getaggter Release-Build.
| Plattform | Datei |
|---|---|
| Windows | lagebuch-0.5.0-x64.msi |
| Linux | lagebuch_0.5.0_amd64.deb |
| Android | lagebuch-0.5.0.apk |
Ein macOS-Build (Apple Silicon, .dmg) wird auf Anfrage bereitgestellt und dann hier
angehängt.
Die Pakete sind nicht signiert. Beim ersten Start:
- Windows: SmartScreen → Weitere Informationen → Trotzdem ausführen.
- Linux:
sudo dpkg -i lagebuch_*.deb(odersudo apt install ./lagebuch_*.deb). - Android: aktiviere einmalig Installation aus unbekannten Quellen für den
Browser/Dateimanager, mit dem die APK geöffnet wird. - macOS: Rechtsklick auf Lagebuch.app → Öffnen (einmalig bestätigen),
oderxattr -dr com.apple.quarantine /Applications/Lagebuch.app.
Lagebuch v0.4.1
Added
- Show the 25 MB per-file attachment limit in the Files view (#213)
- Create a task from an already-saved ETB entry via a row icon (#247)
- Add a Zugführer headcount to Kräfte (#233)
- Support Untergeschoss (UG) floors in CO-Messung (#235)
- Add a +5 minute snooze for the ILS reminder (#244)
- Add a Zugführer flag to vehicle master data (#248)
- Derive the Feuerwehr automatically from a single Fahrzeug pick (#231)
- Lock the brigade and call sign once a Fahrzeug is picked (#251)
Changed
- Unify the "add entry" button placement across tabs (#236)
Fixed
- Hide ETB system messages by default (#230)
- Keep the selected Haus after entering a ppm value in CO-Messung (#238)
- Make the apartment header field look editable in CO-Messung (#234)
- Make Truppnummer an internal, auto-assigned SCBA field (#226)
- Stop the Aufgabe alarm from clipping (#228)
- Disable HINZUFÜGEN until a Kraft row has counted personnel (#227)
- Stop bundling QuestPDF into the Android build (#252)
- Allow adding an Einsatznummer even without a Stichwort (#253)
Getaggter Release-Build.
| Plattform | Datei |
|---|---|
| Windows | lagebuch-0.4.1-x64.msi |
| Linux | lagebuch_0.4.1_amd64.deb |
| Android | lagebuch-0.4.1.apk |
Ein macOS-Build (Apple Silicon, .dmg) wird auf Anfrage bereitgestellt und dann hier
angehängt.
Die Pakete sind nicht signiert. Beim ersten Start:
- Windows: SmartScreen → Weitere Informationen → Trotzdem ausführen.
- Linux:
sudo dpkg -i lagebuch_*.deb(odersudo apt install ./lagebuch_*.deb). - Android: aktiviere einmalig Installation aus unbekannten Quellen für den
Browser/Dateimanager, mit dem die APK geöffnet wird. - macOS: Rechtsklick auf Lagebuch.app → Öffnen (einmalig bestätigen),
oderxattr -dr com.apple.quarantine /Applications/Lagebuch.app.
Lagebuch v0.4.0
Getaggter Release-Build.
| Plattform | Datei |
|---|---|
| Windows | lagebuch-0.4.0-x64.msi |
| Linux | lagebuch_0.4.0_amd64.deb |
| Android | lagebuch-0.4.0.apk |
Ein macOS-Build (Apple Silicon, .dmg) wird auf Anfrage bereitgestellt und dann hier
angehängt.
Die Pakete sind nicht signiert. Beim ersten Start:
- Windows: SmartScreen → Weitere Informationen → Trotzdem ausführen.
- Linux:
sudo dpkg -i lagebuch_*.deb(odersudo apt install ./lagebuch_*.deb). - Android: aktiviere einmalig Installation aus unbekannten Quellen für den
Browser/Dateimanager, mit dem die APK geöffnet wird. - macOS: Rechtsklick auf Lagebuch.app → Öffnen (einmalig bestätigen),
oderxattr -dr com.apple.quarantine /Applications/Lagebuch.app.
Lagebuch v0.3.0
Getaggter Release-Build.
| Plattform | Datei |
|---|---|
| Windows | lagebuch-0.3.0-x64.msi |
| Linux | lagebuch_0.3.0_amd64.deb |
| Android | lagebuch-0.3.0.apk |
Ein macOS-Build (Apple Silicon, .dmg) wird auf Anfrage bereitgestellt und dann hier
angehängt.
Die Pakete sind nicht signiert. Beim ersten Start:
- Windows: SmartScreen → Weitere Informationen → Trotzdem ausführen.
- Linux:
sudo dpkg -i lagebuch_*.deb(odersudo apt install ./lagebuch_*.deb). - Android: aktiviere einmalig Installation aus unbekannten Quellen für den
Browser/Dateimanager, mit dem die APK geöffnet wird. - macOS: Rechtsklick auf Lagebuch.app → Öffnen (einmalig bestätigen),
oderxattr -dr com.apple.quarantine /Applications/Lagebuch.app.
Lagebuch v0.2.0
Was ist neu seit v0.1.0
Neue Funktionen
- Mehrgeräte-Sync: Einsatz im Netzwerk freigeben (ohne Tailscale, über localhost/LAN),
„Mit Gerät verbinden"-Beitrittsflow und Freigabe-PIN zum Beitritt (#52, #55, #57–#60, #65) - Android-Portierung: gemeinsamer Kern (
Feuerwehr.App.Shared) + Android-Head (#54) - Stammdaten per Import/Export statt kompiliertem Seed (#49)
- Vollständige, einheitliche bayerische Einsatznummer (#50)
- Konfigurierbare Timer-/Dauer-Standardwerte in den Stammdaten (#63)
- Flammen-App-Icon in der Kommandoleiste statt „L"-Badge (#51)
- Kopfzeile überarbeitet: Einsatznummer als Hero, App-Name nur noch einmal (#66)
Fehlerbehebungen
- Freigabe-PIN wird beim ersten Teilen sofort angezeigt (#67)
- Netzwerk-Änderungsereignisse auf den UI-Thread marshallen (#61)
Getaggter Release-Build.
| Plattform | Datei |
|---|---|
| Windows | lagebuch-0.2.0-x64.msi |
| Linux | lagebuch_0.2.0_amd64.deb |
| Android | lagebuch-0.2.0.apk |
Ein macOS-Build (Apple Silicon, .dmg) wird auf Anfrage bereitgestellt und dann hier
angehängt.
Die Pakete sind nicht signiert. Beim ersten Start:
- Windows: SmartScreen → Weitere Informationen → Trotzdem ausführen.
- Linux:
sudo dpkg -i lagebuch_*.deb(odersudo apt install ./lagebuch_*.deb). - Android: aktiviere einmalig Installation aus unbekannten Quellen für den
Browser/Dateimanager, mit dem die APK geöffnet wird. - macOS: Rechtsklick auf Lagebuch.app → Öffnen (einmalig bestätigen),
oderxattr -dr com.apple.quarantine /Applications/Lagebuch.app.
Lagebuch v0.1.0
Getaggter Release-Build.
| Plattform | Datei |
|---|---|
| Windows | lagebuch-0.1.0-x64.msi |
| Linux | lagebuch_0.1.0_amd64.deb |
Ein macOS-Build (Apple Silicon, .dmg) wird auf Anfrage bereitgestellt und dann hier
angehängt.
Die Pakete sind nicht signiert. Beim ersten Start:
- Windows: SmartScreen → Weitere Informationen → Trotzdem ausführen.
- Linux:
sudo dpkg -i lagebuch_*.deb(odersudo apt install ./lagebuch_*.deb). - macOS: Rechtsklick auf Lagebuch.app → Öffnen (einmalig bestätigen),
oderxattr -dr com.apple.quarantine /Applications/Lagebuch.app.