8.3 KiB
Changelog — Meldestelle
Alle wesentlichen Änderungen an diesem Projekt werden in dieser Datei dokumentiert.
Format basiert auf Keep a Changelog. Versionierung folgt Semantic Versioning.
Versionsschema:
MAJOR.MINOR.PATCH[-QUALIFIER]
MAJOR— Breaking Changes / inkompatible API-ÄnderungenMINOR— Neue Features (abwärtskompatibel)PATCH— Bugfixes (abwärtskompatibel)QUALIFIER—SNAPSHOT(Entwicklung),beta.N(Vorversion), leer = Release
Unreleased
Hinzugefügt
- Core: Modularisierte ZNS-Parser eingeführt (
ZnsVereinParser,ZnsReiterParser,ZnsPferdParser,ZnsFunktionaerParser) zur Verbesserung der Wartbarkeit und Unterstützung von Einzelimporten. - Fix: SQL-Migrationsfehler in
V010behoben, indem die Umbenennung der Spaltenameinverein_namedurch einen idempotentenDO-Block abgesichert wurde (behebt "Unable to resolve column 'name'"). - Infrastructure: Datenbank-Migration
V010hinzugefügt, um das Schema final mit denExposed-Modellen zu synchronisieren. - Infrastructure: Datei-Archivierung für hochgeladene ZNS-ZIP-Dateien im
ZnsImportOrchestratorimplementiert. - Infrastructure:
ZnsImportServicevollständig auf die neuen spezialisierten Parser umgestellt und als Spring-Bean im Backend registriert. - QA: Umfassende Test-Suite
ZnsParserTest.ktmit realen ZNS-Daten (Hämmerle, Neuwirth, etc.) erstellt; Korrektur der Extraktions-Logik für Mitgliedsnummern (Position 147) und Funktionär-Daten (RICHT01). - QA: Neue Betriebsanleitung für ZNS-Importer Tests erstellt:
docs/07_Infrastructure/runbooks/ZNS_Importer_Test_Manual.md. - Infrastructure:
MasterdataDatabaseConfigurationkorrigiert: Expliziter Aufruf vonDatabase.connect()hinzugefügt, um Abstürze beim Anwendungsstart ("No database specified") zu beheben. - Infrastructure:
application.ymlimmasterdata-servicevervollständigt (DataSource-Konfiguration mitpg-user/pg-passwordund Flyway-Aktivierung). - Domain: Legacy-Spezifikationen für ZNS-Schnittstellen (Import/Export) formalisiert:
docs/03_Domain/02_Reference/Legacy_Specs/OETO-2026_Meldestelle_Pflichtenheft_V2.4.md(Basis-Satzarten A-N)docs/03_Domain/02_Reference/Legacy_Specs/OETO-2026_Meldestelle_Erweiterung-Schnittstelle_2014.md(XML-Erweiterung, LinkID-Logik)
- QA B-2:
OnboardingValidator-Objekt extrahiert;OnboardingValidatorTest.kt(17 Unit-Tests: Pflichtfeld-Guard, Doppelklick-Schutz, Abbrechen-Reset, rememberSaveable-Regression) - QA B-3:
AbteilungsRegelServiceTest.ktum 14 Tests erweitert: CSN-C-NEU ≤95 cm / ≥100 cm Pflicht-Teilung, ORGANISATORISCH, SEPARATE_SIEGEREHRUNG, Caprilli-Regression, Grenzfälle 90/110 cm - Domain:
AbteilungsTeilungsTypEumORGANISATORISCHundSEPARATE_SIEGEREHRUNGerweitert
Behoben
-
Masterdata: Qualifikations-Management für Funktionäre (Richter/Parcoursbauer) professionalisiert: Umstellung von unstrukturiertem Text auf offizielle ÖTO/FEI Master-Daten Referenzen (
QualifikationMasterTable). -
Masterdata: Fehlende Tabelle
funktionaer_qualifikationin der Initialisierung beider Services (masterdataundzns-import) ergänzt, umPSQLExceptionwährend des ZNS-Imports zu beheben. -
Infrastructure: Start-Probleme des
masterdata-serviceendgültig behoben: Port-Konflikt zwischen Spring Boot (Management/Actuator) und dem Gateway (8081) durch Umzug auf Port 8086 (gemäß Infrastruktur-Vorgaben) gelöst. -
Infrastructure: Port-Konflikt im
masterdata-servicedurch Trennung der Bind-Adressen (Spring: 127.0.0.1, Ktor: 0.0.0.0) und Bereinigung verwaister Prozesse stabilisiert. -
Core: Veraltete
ZnsLegacyParsersTest.ktentfernt; alle Tests sind nun inZnsParserTest.ktkonsolidiert. -
Domain: Fehlschlagenden
LicenseMatrixServiceTestbehoben; fehlendereiterLizenz-Daten in Test-Reitern ergänzt und Fallback-Logik inLicenseMatrixServiceImplfür spartenübergreifende Lizenzen (z.B. Springlizenz für Dressur-Basis) stabilisiert. -
Infrastructure: Fehlschlagenden
RegulationSeedVerificationTestbehoben; Testdaten an das neue Modell (reiterLizenzFeld) angepasst. -
Infrastructure: Kompilierfehler 'Unresolved reference lizenzKlasse' in
ReiterExposedRepositorybehoben; fehlendes FeldlizenzKlassezuReiterTableund Datenbank-MigrationV010hinzugefügt. -
Onboarding:
remember→rememberSaveablefürgeraetName,sharedKey,znsStatusinOnboardingScreen.kt( Felder gingen bei Zurück-Navigation verloren) -
AbteilungsRegelService: CSN-C-NEU Pflicht-Teilungslogik implementiert (≤95 cm: ohne/mit Lizenz; ≥100 cm: R1/R2+);
SparteE-Import ergänzt -
Desktop-Packaging konfiguriert:
.deb(Linux),.msi(Windows),.dmg(macOS) -
Zentrale Versionsdatei
version.properties(Single Source of Truth für SemVer) -
Automatisches Git-Tagging via CI/CD (
release.ymlGitea Actions Workflow) -
CHANGELOG.mdeingeführt (dieses Dokument)
[1.0.2-SNAPSHOT] — 2026-04-06
Geändert
- ZNS-Import:
ZnsImportServicestabilisiert (ZipInputStream-Management korrigiert), um sequentielle Imports in Tests zu ermöglichen. - Test-Vollständigkeit:
ZnsImportServiceTestkorrigiert (Mocking für Reiter-Suche ergänzt, Testdaten für Funktionäre an Int-Parser angepasst). Alle 9 Tests nun grün. - Data Modeling: Redundante Kontakt- und Adressdaten aus
FunktionaerTableentfernt; stattdessen Verknüpfung zuReiterTableviareiter_idhinzugefügt. (Bereinigung der Felder erfolgte inV010). - Import: ZNS-Importer verknüpft nun Funktionäre automatisch mit vorhandenen Reitern anhand des Namens (Nachname, Vorname).
- Infrastructure:
findByNameinReiterRepositoryimplementiert für effiziente Suche während des Imports. - Datenbank: Migration
V011hinzugefügt, um die Fremdschlüsselbeziehung zu etablieren.
[1.0.1-SNAPSHOT] — 2026-04-05
Geändert
- Masterdata: Funktionär-Datenmodell und API bereinigt und vollständig dokumentiert. Konsistente Verwendung von
satzId(stattsatzID) in allen Schichten (Domain, Infrastructure, API). - Refactoring:
DomVereinzuVerein,DomReiterzuReiter,DomPferdzuPferdundDomFunktionaerzuFunktionaerumbenannt (Domain, Infrastructure, API, Core). - Domain:
personIdist nun optional (nullable) beiVerein,Reiter,PferdundFunktionaer, um ZNS-Initialimporte zu unterstützen. - Infrastructure:
VereinTable,ReiterTable,HorseTableundFunktionaerTablesynchronisiert;personIdist nun optional. - API:
VereinController,ReiterController,HorseControllerundFunktionaerController(DTOs/Requests) an die neuen Modelle angepasst. - Doku:
Ubiquitous_Language.mdundMASTER_ROADMAP.mdan das neue Namensschema (Reiter,Pferd,Funktionaer) angepasst.
Behoben
- ZNS-Import: Kompatibilitätsprobleme in
ZnsLegacyParsersundZnsImportServicenach Domain-Refactorings behoben (UUID-Person-Referenzen und Enum-Synchronisation). - Domain: Felder
kurznameundoepsRegionNummerbeiVereinentfernt (nicht in VEREIN01.DAT vorhanden).
1.0.0-SNAPSHOT — 2026-04-03
Hinzugefügt
- Sprint A: Docker-Compose-Setup, Healthchecks für alle Services
- Sprint B: CI/CD Pipeline für Compose Desktop Tests (headless, Xvfb)
- Sprint B: Gradle-Build-Optimierungen (Cache, Parallel, Wrapper 9.4.0)
- Sprint B: Onboarding-Wizard (Veranstalter, Verein, Turnier, Bewerb, Abteilung)
- Sprint B:
BewerbRepository,AbteilungRepository,DefaultTurnierRepository - Sprint B:
ReiterProfilEditDialog,PferdProfilEditDialogmitMsValidationWrapper - Sprint B: ÖTO-Regelwerk als Regulation-as-Data (Lizenz-/Altersmatrix, V008/V009 Migrations)
- Sprint B: Tenant-Isolation Grundstruktur (Multi-Tenant Postgres-Schemas)
- Sprint B: Architektur-Tests (
:platform:architecture-tests)
Geändert
- Gradle Wrapper auf
9.3.1aktualisiert - JVM-Toolchain auf Java 25 angehoben