# Versions- und Abhängigkeitsprüfung 0.3.0

Prüfdatum: 2026-08-27

## Ergebnis

Die neuen Kartenfunktionen führen keine zusätzliche Produktionsabhängigkeit
ein. Die vorhandenen offiziellen Mapsforge-Writer werden weiterhin im
isolierten Worker verwendet. Das projektlokale Prüfwerkzeug OSV-Scanner wurde
auf den aktuellen Bugfixstand 2.5.1 angehoben. Alle Entscheidungen wurden gegen
die offiziellen Veröffentlichungsseiten geprüft; der maschinelle Gradle-Bericht
wird zusätzlich unter `security/reports/0.3.0/dependency-updates.json` erzeugt.

| Komponente | Verwendet | Geprüfte stabile Version | Entscheidung | Offizielle Quelle |
| --- | --- | --- | --- | --- |
| Gradle | 9.7.1 | 9.7.1 | beibehalten; aktueller stabiler Wrapper | https://gradle.org/releases/ |
| Kotlin | 2.4.10 | 2.4.10 | beibehalten; aktuelle Fehlerkorrektur der unterstützten 2.4-Linie | https://kotlinlang.org/docs/releases.html |
| Kotlin Coroutines | 1.11.0 | 1.11.0 | beibehalten | https://github.com/Kotlin/kotlinx.coroutines/releases/tag/1.11.0 |
| Compose Multiplatform | 1.12.0 | 1.12.0 | beibehalten; aktueller stabiler Stand | https://github.com/JetBrains/compose-multiplatform/releases/tag/v1.12.0 |
| Material3 | 1.9.0 | 1.9.0 | beibehalten; vom maschinellen Gradle-Bericht geprüft | https://maven.pkg.jetbrains.space/public/p/compose/dev/org/jetbrains/compose/material3/material3/ |
| Mapsforge Reader/Writer | 0.29.0 | 0.29.0 | beibehalten; aktueller stabiler Release, FTS5-Präfixabfragen stehen erst im unveröffentlichten Folge-Changelog | https://github.com/mapsforge/mapsforge/releases/tag/0.29.0 |
| Osmosis | 0.49.2 | 0.49.2 | beibehalten | https://github.com/openstreetmap/osmosis/releases/tag/0.49.2 |
| OSM Binary | 1.6.1 | 1.6.1 | beibehalten; vom maschinellen Gradle-Bericht geprüft | https://github.com/openstreetmap/osmosis-osm-binary/releases/tag/1.6.1 |
| CycloneDX Gradle Plugin | 3.4.1 | 3.4.1 | beibehalten | https://plugins.gradle.org/plugin/org.cyclonedx.bom |
| Gradle Versions Plugin | 0.61.0 | 0.61.0 | beibehalten | https://plugins.gradle.org/plugin/io.github.ben-manes.versions |
| OSV-Scanner | 2.5.1 | 2.5.1 | aktualisiert; offizielles Windows-x64-Artefakt mit veröffentlichter SHA-256-Prüfsumme verifiziert | https://github.com/google/osv-scanner/releases/tag/v2.5.1 |
| Microsoft OpenJDK | 25.0.4.1 LTS | 25.0.4.1 LTS | beibehalten; lokale Werkzeugkette wird im Releasebericht erfasst | https://learn.microsoft.com/java/openjdk/download |
| Android Studio | 2026.1.3 Patch 1 | 2026.1.3 Patch 1 | beibehalten | https://developer.android.com/studio/releases |

## Mapsforge-Entscheidung

MapTools verwendet keine eigene PBF-zu-Mapsforge-Implementierung. Die
eigentliche Erzeugung von `.map` und `.poi` übernimmt das offizielle
Mapsforge-Osmosis-Writer-Paket. Eigenentwickelt sind die Oberfläche, der
portable Cache, die räumliche Vorauswahl, die Mehrbereichslogik, der
Worker-Aufruf und die Validierung der Ausgabe.

Mapsforge 0.29.0 ist am Prüftag der aktuelle stabile Release. Das offizielle
Folge-Changelog nennt FTS5-Präfixabfragen nur unter „Next version“; daraus darf
keine bereits veröffentlichte 0.30.0 abgeleitet werden. Die lokale Suche sowie
die direkte v3↔v4-Migration lesen beziehungsweise erzeugen R-Tree, FTS5 und die
POI-Daten gegen 0.29.0. Diese Version bleibt hash-verifiziert und wird vom
SBOM-/OSV-Gate vollständig erfasst.

## Gebündelte Writer-Komponenten

Guava, JAXB, SQLite JDBC und weitere Einträge unter `bundledRuntimeMetadata`
sind Bestandteil der offiziellen Mapsforge-0.29.0-Fat-JARs und können nicht
sicher einzeln ersetzt werden. Ein erzwungenes Einzelupdate würde die
eingebetteten Klassen nicht austauschen und könnte doppelte oder binär
inkompatible Klassen erzeugen. Sie bleiben unverändert und werden in beiden
CycloneDX-SBOMs sowie durch OSV-Scanner geprüft.

## Kompatibilitäts- und Leistungsbewertung

Der Detailindex wird nur einmal je PBF-Identität im portablen Cache erzeugt.
Anschließend liest die Vorschau über den Mapsforge-Kachelindex ausschließlich
den sichtbaren Ausschnitt. Das vermeidet einen vollständigen PBF-Scan bei jedem
Mausradschritt. Vor dem Aufbau prüft die Anwendung den freien Speicher. Die
Übersicht bleibt währenddessen nutzbar; für vorhandene `.map`-Quellen entfällt
der Writer-Schritt vollständig.

Der isolierte Writer verwendet für Eingaben bis 256 MiB weiterhin den
RAM-Prozessor mit 4-GiB-Heap und für größere Eingaben den HD-Prozessor. Diese
Grenze wurde nicht verändert. Vollständige Modul-, UI- und Worker-Tests sowie
die abschließenden SBOM- und OSV-Ergebnisse bilden das Release-Gate.
