Zum Hauptinhalt springen

Changelog

Alle relevanten Änderungen am FIT-Connect Java SDK werden in dieser Datei dokumentiert.

Das Format basiert auf Keep a Changelog und hält sich an Semantic Versioning.

[2.4.0] - 2024-11-29

Hinzugefügt

Destination-API Client (Story)

  • neuer Client zur Anlage und zum Management von Zustellpunkten über ClientFactory.createDestinationClient(config)
  • Nutzung über die Subscriber-Credentials
  • siehe auch Destination-API und Doku

Angabe der Region (ARS) für nachgelagertes Routing (Story)

  • die SendableSubmission ermöglicht über .setServiceTypeWithRegion(leikaKey, name, region), das Setzen einer Region für eine bestimmte Leistung
  • enthält eine Submission eine Region, muss diese zum ARS im Zustellpunkt passen

ZBP-Zertifikatshandling ohne mTLS (Story)

  • für die Nutzung des ZBP-Clients im ZBP-Adapter wurde das Zertifikatshandling für den Einsatz in der produktiven ZBP-Infrastruktur angepasst
  • das ZBP benötigt hierbei das TLS/ZBP-Postfachzertifikat des ZBP-Adapters im PEM-Format als Cookie im HTTP-Header

Aktualisierte Bibliotheken

  • Jackson-Annotations 2.18.2
  • Jackson-Databind 2.18.2
  • JsonSchemaValidator 1.5.4

[2.3.5] - 2024-11-15

Behobene Bugs

Fix Routing DestinationParameters-Signature Validierung (Story und Story )

Änderungen

  • Deprecation der Felder destinationParameters und destinationParametersSignature (Story)
  • Update und Erweiterung des Route-Models (Story)

Aktualisierte Bibliotheken

  • Lombok 1.18.36

[2.3.4] - 2024-11-01

Behobene Bugs

Fix des Eventlog Status-Mapping (Story)

  • Es wurde ein Fehler behoben, der beim Mapping des Eventlog-Status auftrat, wenn ein ACCEPT-Event eine Liste von Problems beinhaltete

Aktualisierte Bibliotheken

  • JsonSchemaValidator 1.5.3

[2.3.3] - 2024-10-29

Behobene Bugs

Ableitung des Token Signers aus dem Zertifikat (Story)

  • Der Signer des ZBP-Tokens ist nicht mehr hart codiert "FIT-Connect", sondern entspricht dem Subject des Zertifikates

Aktualisierte Bibliotheken

  • Junit 5.11.3
  • Junit Platform 1.11.3
  • Wiremock 3.9.2

[2.3.2] - 2024-10-21

Behobene Bugs

Validierung von Submission API Alias URLs (Story)

  • Ein Fehler bei der Validierung von Alias-URLs innerhalb der Destination Signatur wurde behoben

[2.3.1] - 2024-10-18

Änderungen

Setzen der Sender-Reference (Story)

  • Fehlende Möglichkeit des Setzens der senderReference in den AdditionalReferenceInfo wurde hinzugefügt
  • Neue Methode setSenderReference im SubmissionBuilder als optionales Property

Update Submission-API URLs (Story)

  • Änderung auf *.fit-connect.fitko.net/submission-api
  • Die Umgebungen nutzen neue Aliase die in den default Environments des SDKs aktualisiert wurden

Aktualisierte Bibliotheken

  • Jackson-Annotations 2.18.0
  • Jackson-Databind 2.18.0
  • Logback 1.5.11
  • Junit 5.11.2
  • Mockito 5.14.2
  • Maven-Surefire-Plugin 3.5.1
  • Maven-Failsafe-Plugin 3.5.1
  • Maven-JavaDoc-Plugin 3.10.1
  • Maven-GPG-Plugin 3.2.7

[2.3.0] - 2024-09-26

Hinzugefügt

Versand von Nachrichten an das Zentrale Bürgerpostfach (ZBP) der BundID (Story)

  • Neuer Client zum Senden von ZBP Nachrichten und Statusupdates ClientFactory.createZBPClient(...)
  • Ermöglicht das Senden von Nachrichten und Statusupdates (siehe Doku FIT-Connect und das Zentrale Bürgerpostfach (ZBP))
  • auf direktem Weg innerhalb der Netze des Bundes (NdB)
  • auf indirektem Weg außerhalb der Netze des Bundes (NdB) über die FIT-Connect Infrastruktur

JWK Test Key Generator (Story)

  • TestKeyBuilder zur Erzeugung von JWKs für die FIT-Connect TEST und DEV Umgebung:
  • TestKeyBuilder.generateEncryptionKeyPair()
  • TestKeyBuilder.generateSignatureKeyPair()
  • KeyWriter zum Schreiben der Keys ins Dateisystem KeyWriter.writeKeys(keyWriterSettings)

Aktualisierte Bibliotheken

  • JsonSchemaValidator 1.5.2
  • Wiremock 3.9.1
  • Junit 5.11.1

[2.2.0] - 2024-09-16

Hinzugefügt

Übertragung großer Fachdaten als Anhang (Story)

  • Übertragung von Fachdaten als Attachment, wenn das zulässige Limit im Metadatensatz von aktuell 13 MB überschritten wird
  • Beim Empfang werden die Fachdaten wie bisher in der ReceivedSubmission verfügbar gemacht
  • Alle Validierungen werden wie bisher durchgeführt
  • Beim Senden können die Daten zusätzlich als Byte-Array gesetzt werden:
  • setJsonData(bytes,dataSchemaUri)
  • setXmlData(bytes,dataSchemaUri)
    • Beim Empfang gibt es zusätzlich die Möglichkeit auf die Fachdaten über receivedSubmission.getDataAsBytes() als Byte-Array zuzugreifen

Automatische Retry-Logik (Story)

  • Konfigurierbare Retry-Logik mit definierbaren HTTP-Status-Codes und Anzahl der Wiederholungsversuche
  • Programmatisch via dev.fitko.fitconnect.api.config.http.RetryConfig und über die Config-YAML
  • Die Wartezeit zwischen den Retries erhöht sich mittels ExponentialBackoff
  • Per Default sind folgende Werte konfiguriert:
  • 5 Retries
  • StatusCodes [408, 429, 500, 502, 503, 504]
  • initialer Startwert von 500ms

BundID als Rückkanal (Story)

  • Übertragung der mailboxId im BundId-ReplyChannel der Submission
  • Übertragung der AntragsId in der AdditionalReferenceInfo des Metadatensatzes

Änderungen

  • Update des Metadatenschemas auf 1.5.0
  • Dieses beinhaltet den Attachment Purpose Data, um Anhänge als Fachdaten zu markieren
  • Neuer BundId-ReplyChannel
  • AdditionalReferenceInfo wurde um das Feld idBundDeApplicationId erweitert um die Antrags-ID (applicationId) für den BundId-Statusmonitor zu übertragen
  • Zugriff auf den Verwendungszweck des Attachments über attachment.getPurpose()

Aktualisierte Bibliotheken

  • SnakeYaml 2.3
  • JsonSchemaValidator 1.5.1
  • Logback 1.5.8
  • Slf4j 2.0.16
  • Junit 5.11
  • Mockito 5.13
  • Maven-Surefire-Plugin 3.5.0
  • Maven-Failsafe-Plugin 3.5.0
  • Maven-Checkstyle-Plugin 3.5.0
  • Maven-Install-Plugin 3.1.3
  • Maven-Deploy-Plugin 3.1.3
  • Maven-JavaDoc-Plugin 3.10.0
  • Maven-GPG-Plugin 3.2.6

[2.1.0] - 2024-07-24

Hinzugefügt

  • Attachment Chunking (Story)
    • Übertragung großer Attachment-Files (> 500 MB) als Fragmente
    • Abruf fragmentierter Attachments und zusammensetzen der Chunks zum ursprünglichen File
    • neue Methode Attachment.fromLargeAttachment() zum autom. Chunking
  • Basic Authentication über Nutzername und Passwort für die HTTP-Proxy Konfiguration (Story)
  • Zugriff auf den Issuer im Eventlog Status (Story)
  • Zugriff auf die AttachmentId (Story)
  • In der SubscriberConfig können die privaten Keys zur Entschlüsselung und zum Signieren auch direkt als JWK übergeben werden (Story)

Änderungen

  • Update des Metadatenschemas auf 1.3.0
  • Update des SET-Schemas auf 1.2.2
  • Modulkonfiguration
    • die Module API und Core wurden in das Client-Modul integriert
    • damit ist der Client nicht mehr von zwei weiteren Modulen abhängig, sondern erzeugt im Build und beim Laden über Maven nur noch ein einzelnes Client-Modul

Entfernt

Die Zip-Kompression im JWE-Header wurde entfernt (Story). Siehe hierzu:

RFC 8725, Sec. 3.6: Compression of data SHOULD NOT be done before encryption, because such compressed data often reveals information about the plaintext.

Aktualisierte Bibliotheken

  • JWKValidator 2.1.1
  • Nimbus/Jose 9.37.3
  • Lombok 1.18.34
  • Jackson 2.17.2
  • JsonSchemaValidator 1.5.0
  • Junit 5.10.3
  • Maven-Surefire-Plugin 3.3.1
  • Maven-Failsafe-Plugin 3.3.1
  • Maven-Jar-Plugin 3.4.2
  • Maven-Checkstyle-Plugin 3.4.0
  • Maven-Javadoc-Plugin 3.8.0
  • Maven-Git-Commit-Plugin 9.0.1

[2.0.3] - 2024-05-23

Änderungen

Downgrade der Nimbus/Jose Library auf 9.37.x, um die Größenbeschränkung des Payloads bei aktivierter Zip-Compression im JWE Header aufzuheben. Siehe hierzu https://bitbucket.org/connect2id/nimbus-jose-jwt/issues/545

Aktualisierte Bibliotheken

  • Nimbus/Jose 9.37

[2.0.2] - 2024-05-23

Behobene Bugs

  • Fix des transactionTimestamp Datentyps der PaymentInformation im Metadaten (Story)

Aktualisierte Bibliotheken

  • Nimbus/Jose 9.39
  • Lombok 1.18.32
  • OkHttp 5.0.0-alpha.14
  • Jackson 2.17.1
  • JsonSchemaValidator 1.4.0
  • Logback 1.5.6
  • Mockito 5.12
  • Slf4j 2.0.13

[2.0.1] - 2024-03-15

Behobene Bugs

  • Die Validierung von ARS Schlüsseln bei der Abfrage von Routing-Informationen wurde so angepasst, dass auch Regionen die in einer anderen Region enthalten sind, korrekt geprüft werden (Story)

Änderungen

Um im Log keine sensiblen Daten zu loggen wurden folgende Anpassungen in der Logback Konfiguration vorgenommen:

  • Das Loglevel für den Schema Validator wurde für com.networknt.* auf INFO gesetzt
  • Das Loglevel für den OkHttp Client wurde für okhttp3.* auf INFO gesetzt

Aktualisierte Bibliotheken

  • JWK-Validator 2.1.0
  • Jackson 2.17.0
  • Logback 1.5.3
  • Mockito 5.11
  • Maven GPG Plugin 3.2.0
  • Maven Assembly Plugin 3.7.0
  • Maven Git Commit ID Plugin 8.0.1

[2.0.0] - 2024-02-20

Hinzugefügt

  • Bidirektionale Kommunikation mit FIT-Connect Antwortkanal (Story)
    • neue Submissions für einen existierenden Case senden
    • Antworten (Replies) auf Submissions senden
    • Antworten empfangen
    • Liste der verfügbaren Cases und Replies
    • aktuellen Status für Replies abfragen
    • Neuer FitConnect-ReplyChannel, der den öffentlichen Reply-Verschlüsselungsschlüssel und eine Liste von Verarbeitungsstandards überträgt
    • ReplyChannelKeyGenerator zur Erzeugung von ephemeral-keys für die Ver- und Entschlüsselung von Replies
  • ServiceType-Getter an der ReceivedSubmission (Story)
  • Setzen des ApplicationDate an der SendableSubmission über setApplicationDate(localDate) (Story)
    • Zurückdatieren des Einreichungsdatums
    • unabhängig vom technischen issued-at Zeitstempel der Submission
  • Konfiguration von HTTP-Client-Timeouts in der neuen HttpConfig (Story)
    • readTimeout setzen
    • writeTimeout setzen
    • connectionTimeout setzen
  • Für die Validierung lokaler Fachdatenschemata können beliebige Schema-formate vom lokalen Dateisystem über die config.yaml oder ApplicationConfig hinzugefügt werden (Story)
  • Neue DTOs für Callback-Benachrichtigung über neue Submissions und Replies (Story)
  • Zugriff auf den technischen submitted-at (iat) Zeitstempel an der ReceivedSubmission (Story)
  • Neuer KeyGenerator zur Erzeugung von X.509-Testzertifikaten, RSA-KeyPairs und JWKs (Story)

Änderungen

Details zu den Änderungen im Zusammenhang mit diesem Update entnehmen Sie bitte dem Update Guide

  • Aktualisierte Schemata:
    • Metadaten-Schema 1.2.0
    • SET-Schema 1.2.1
  • Model-Klassen vom Client-Modul wurden in das API-Modul verschoben (Story)
  • Umbenennung von API-Methoden (Story)
    • statische ClientFactory-Methoden zu ClientFactory.create...(config)
    • statische ReplyChannel-Methoden zu ReplyChannel.of...()
    • DefaultEnvironments für TEST, STAGE und PROD wurden umbenannt in Environments
  • Das EventLog Status Objekt wurde umbenannt von SubmissionStatus in Status (Story)
    • dieses wird sowohl für getSubmissionStatus als auch für getReplyStatus verwendet
    • enthält das neue issuedAt Datum
  • Die ReceivedSubmission implementiert Comparable<Date> und wird autom. nach issuedAt sortiert (Story)
  • Neues HttpConfig-Objekt (Story):
    • enthält HTTP TimeoutConfig
    • ProxyConfig wurde nach HttpConfig verschoben
  • Die Polling-Methode getAvailableSubmissionsForDestination (ohne Limit und Offset) lädt nun implizit ALLE verfügbaren Einreichungen (rekursiv in 25er-Chunks). Die macht es einfacher, eine Liste aller verfügbaren Einreichungen zu laden, ohne explizit Paging einzusetzen. (Story)
  • Der JWKValidator 2.0.0 cached Anfragen, was die Geschwindigkeit der Schlüsselüberprüfung verbessert
  • Detailliertere Protokollierung von Requests mit HTTP-Methode, Statuscode und benötigter Zeit (Story)

Behobene Bugs

  • Das Zeitstempelformat in der Callback-Validierung wurde von Millisekunden auf Sekunden korrigiert (Story)
  • Korrigierte Json Validator Locale, welche zu Build-Fehlern in Umgebungen mit deutscher Locale führte (Story)
  • Der korrekte Content-Type Header (cty) wurde zum JWE-Header hinzugefügt (Story)
  • Ein Fehler, der bei der Validierung von Routing-Services mit mehreren Diensten innerhalb der JWT-Claims auftrat, wurde behoben (Story)

Veraltet

Die Attachment fromString-Methoden werden ab SDK-Version 3.0.0 als deprecated markiert, da sie bei falscher Verwendung zu Problemen mit der Zeichencodierung führen können (Story).

Entfernt

  • Command-Line-Client (Story)
    • der ausführbare Kommandozeilen-Client wurde aus dem SDK entfernt und ist nun ein eigenständiges Projekt
    • siehe FIT-Connect Tools Repository für weitere Informationen
  • Apache Tika-Library (wurde vom cli-Modul verwendet)
  • JCommander-Library (wurde vom cli-Modul verwendet)

Aktualisierte Bibliotheken

  • JWK-Validator 2.0.0
  • Nimbus/Jose 9.37.3
  • OkHttp 5.0.0-alpha.12
  • Lombok 1.18.30
  • Jackson 2.16.1
  • Logback 1.5.0
  • SLF4J 2.0.12
  • SnakeYaml 2.2
  • JsonSchemaValidator 1.3.3
  • Junit 5.10.2
  • Mockito 5.10
  • Wiremock 3.0.1

[1.0.0] - 2023-08-04

Hinzugefügt

  • JWK Test-Zertifikat Generator
  • Integration des Demo-Projekts ins SDK

Änderungen

  • JWK-Validator 1.5.1
  • Mockito Core 5.4.0
  • JSON Schema Validator 1.0.86
  • Maven 3.9.4
  • OpenCSV 5.8

[1.0.0-rc.1] - 2023-03-05

  • Dies war die erste Release-Candidate Version des SDKs.