e1bf4d8454
Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
9.1 KiB
9.1 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
- Basis-Infrastruktur & Domain-Definition:
- DDD-Modelle für
Veranstaltung,Turnier,BewerbundAbteilunggemäß ÖTO definiert. - ZNS-Parser Prototyp für Dateiformate (VEREIN01, LIZENZ01, PFERD01, RICHT01).
- Plan-B Mail-Service (Spring Boot) für Nennungs-Versand via World4You.
- Desktop-App Skelett mit Navigation und UI-Hüllen (Compose Desktop).
- DDD-Modelle für
Reality-Reset (28.04.2026)
- Korrektur: Vormalige Einträge über "abgeschlossene" Billing-, Results- und Zeitplan-Features wurden entfernt, da diese im Code nicht funktional hinterlegt waren.
- Status: Fokus zurück auf die Kern-Hierarchie (Veranstaltung -> Turnier -> Bewerb).
[1.0.6-SNAPSHOT] — 2026-04-10
Hinzugefügt
- Entries-Domain: Strukturiertes Abteilungs-Warnungssystem gemäß ÖTO § 39 implementiert.
- Neues Value Object
AbteilungsWarnungund EnumAbteilungsWarnungCodeEfür präzise Fehlermeldungen und ÖTO-Referenzen. - Erweiterung von
Bewerbum die MethodevalidateStrukturellesTeilungzur Prüfung vorgeschriebener Abteilungsstrukturen (z.B. Lizenz-Trennung bei CSN-C-NEU, Stilspringen, Caprilli). - Umstellung des
CompetitionWarningServiceundAbteilungsRegelServiceauf das neue strukturierte Warnungsmodell.
- Neues Value Object
- Entries-Service: Erweiterung der REST-API (
BewerbeController) um die Auslieferung von Warnungen in den DTOs (BewerbResponse). - Frontend (Turnier-Feature): Visuelle Integration der Abteilungs-Warnungen in der Bewerbe-Liste.
- Anzeige eines Warn-Icons (gelb) bei Regelverstößen.
- Tooltip-Funktionalität zur Anzeige der detaillierten Warnungstexte und ÖTO-Paragraphen.
- Erweiterung des
BewerbUiModelund Repositories zur Unterstützung der Warnungs-Metadaten.
Geändert
- QA:
AbteilungsRegelServiceTestundBewerbTestauf das neue Warnungssystem aktualisiert und um Tests für strukturelle Teilungen (CSN Stilspringen, Caprilli) erweitert. - KMP: Korrektur von veralteten
Instant-Deprecations in Testklassen (kotlin.time.Instant).
[1.0.5-SNAPSHOT] — 2026-04-06
Geändert
- Masterdata: Bereinigung und Standardisierung von Masterdaten-Tabellen (Mehrzahl-Konvention):
bundesland->bundeslaenderqualifikation_master->funktionaers_qualifikationenreiter_lizenz->reit_lizenzenturnierklasse->turnier_klassen
- Seeding: Umfassende Erweiterung der Seeder für Funktionärs-Qualifikationen, Turnierklassen und Turnier-Sparten gemäß ÖTO.
- Data Modeling: Einführung der Tabelle
turnier_spartenund Entfernung der redundantenreiter_sparte. - Infrastructure: Datenbank-Migration
V013implementiert alle Schema-Änderungen und Umbenennungen.
[1.0.4-SNAPSHOT] — 2026-04-06
Hinzugefügt
- Reiter-Lizenzen: Strukturierte Speicherung von Lizenzen (STARTKARTE, REITERLIZENZ, FAHRLIZENZ) in einer 1:n Relation (
ReiterLizenzTable). - Altersklassen: Einführung von Enums (
ReiterAltersKlasseE) für präzise Filterung und Validierung im Domain-Modell und Parser. - Mitgliedsnummer: Validierungs-Logik gemäß ÖTO-Spezifikation (Bundesland-Präfix 1-9) in
Reiter.ktimplementiert. - ZNS-Import:
ZnsReiterParsererweitert, um Lizenzen und Altersklassen-Enums direkt aus LIZENZ01.DAT zu extrahieren. - Persistenz:
ReiterExposedRepositoryunterstützt nun das transaktionale Speichern und Laden der 1:n Lizenzen.
[1.0.3-SNAPSHOT] — 2026-04-06
Hinzugefügt
- Masterdata: Refactoring der Reiter-Stammdaten (LIZENZ01.DAT). Bundesland, Verein und Nation werden nun über Master-Tabellen referenziert.
- Domain: Validierungslogik für die 8-stellige OEPS-Mitgliedsnummer im
Reiter-Modell implementiert. - Infrastructure: Neue Tabellen
reiter_lizenz(1:n Beziehung) und MigrationV012zur Schemaanpassung und Datenbereinigung eingeführt. - ZNS-Import: Automatisches Auflösen von Relationen (Verein nach Name, Bundesland nach Nummer, Nation nach ISO-Code) während des Reiter-Imports.
Behoben
- Infrastruktur: Consul Health-Check für
masterdata-servicekorrigiert (Port 8086 für Actuator). - Masterdaten:
MasterdataSeederfür Nationen und Bundesländer hinzugefügt, um Datenvollständigkeit nach Volume-Cleanup sicherzustellen. - Datenintegrität: Heilungs-Logik (
fixReiterForeignKeys) implementiert, die Reiter-Datensätze nachträglich mit Masterdaten verknüpft. - Code-Qualität: Redundante
BundeslandTableDefinition inReiterTable.ktentfernt. - Infrastruktur:
BeanDefinitionOverrideExceptionimzns-import-servicedurch Konsolidierung der Repositories inRepositoryConfigurationbehoben. - Service-Discovery: Fehlende Consul-Registrierung des
masterdata-servicedurch Hinzufügen der Discovery-Dependency und Konfiguration behoben. - Build: Kompilierfehler in
BundeslandExposedRepository.ktbehoben (inkonsistente Rückgabetypen imBundeslandRepository-Interface). - Infrastruktur: Fehlendes Autowiring im
zns-import-servicedurch explizite Bean-Definitionen für alle Repositories inZnsImportServiceApplication.ktbehoben. - Domain: Kompilierfehler in
Bundesland.ktbehoben (uninitialisierte EigenschaftbundeslandIdentfernt). - Migration: SQL-Syntaxfehler in
V012behoben (korrekter Fremdschlüssel-Constraint fürreiter_lizenzund Wiederherstellung desDO $$-Blocks).
[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