Skip to content
Snippets Groups Projects
CHANGELOG.md 5.58 KiB
Newer Older
All notable changes to the FIT-Connect Java SDK will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/),
and this project adheres to [Semantic Versioning](https://semver.org/).
Martin Vogel's avatar
Martin Vogel committed
## [2.0.0] - 2024-02-20

### Added

- Bidirectional Communication with FIT-Connect Reply Channel (planning#654)
    - send new submissions for an exiting case
    - send replies to a submission as a subscriber
    - receive replies as a sender
    - list available cases and replies
    - poll current status for replies
    - new ``FitConnect`` reply channel that transfers the public reply encryption key and a list of processing standards
    - `ReplyChannelKeyGenerator` to generate ephemeral keys for reply encryption and decryption
- ServiceType Getter on ReceivedSubmission (planning#1072)
- Set the ApplicationDate on a SendableSubmission via `setApplicationDate(localDate)` (planning#1243)
    - date back a submission application date
    - independent of technical issued-at submission timestamp
- Configure HTTP-Client timeouts within new HttpConfig, default is 30s (planning#1664)
    - set readTimeout
    - set writeTimeout
    - set connectionTimeout
- Arbitrary data schema formats for validation can be added now from the local filesystem via `config.yaml` or `ApplicationConfig` (planning#1196)
- New DTOs for submission and reply notification callbacks (planning#1400)
- Access to the submitted-at (iat) timestamp on the `ReceivedSubmission` of the technical ``SUBMITTED``-Event via `getSubmittedAt` (planning#654)
- New internal core``KeyGenerator`` to generate X509 test certificates, RSA-KeyPairs and JWKs (planning#664)

### Changed
> **For further details on the changes related to this update please have a look at the** [Update Guide](docs/update-guide.md)

- Updated schemas:
  - Metadata-schema 1.2.0
  - SET-schema 1.2.1
- Models classes moved from client module to api module (planning#654)
- API method renaming (planning#654):
    - ClientFactory static client methods to ``ClientFactory.create...(config)``
    - ReplyChannel static methods to ``ReplyChannel.of...()``
    - ``DefaultEnvironments`` for TEST, STAGE and PROD were renamed to `Environments`
- EventLog Status Object was renamed from ``SubmissionStatus`` to `Status` (planning#654)
  - is both used for ``getSubmissionStatus`` and ``getReplyStatus``
  - contains new ``issuedAt`` Date
- ``ReceivedSubmission`` implements ``Comparable<Date>`` and is sorted by `issuedAt`(planning#654)
- new ``HttpConfig`` object (planning#1664):
  - contains HTTP `TimeoutConfig`
  - `ProxyConfig` was moved to `HttpConfig`
- Polling method ``getAvailableSubmissionsForDestination`` (without limit and offset) is implicitly fetching ALL available submissions now (recursively in chunks of 25). This makes it easier to get a list of all available submissions without having to deal with pagination. (planning#654)
- JWKValidator 2.0.0 caches requests which improves the key validation speed
- More detailed request logging that include HTTP method, status code and elapsed time (planning#654)
- All static resources (schemas, trusted root certificates, etc.) are stored and loaded in the client-module resources (planning#1671)
- ``UserAgentInterceptor`` transfers the system property ``java.version`` on all requests within the HTTP UserAgent Header (planning#1673)
- Updated Demo project module with new BiDiCo example calls

### Fixed

- Fixed timestamp format in callback validation form ms to seconds (planning#1400)
- Fixed json validator locale that lead to build errors on environments wih german locale (planning#1370)
- Added correct content type header (cty) to JWE-encryption header (planning#1244)
- Fixed routing verification bug that solves validation of multiple services within the JWT-claims (planning#1481)

### Deprecated
Attachment ``fromString`` methods will be deprecated from SDK version `3.0.0` since it can lead to character encoding issued  when used incorrectly (planning#1308).

### Removed
- Command-Line-Interface Module (planning#1571)
    - the executable command-line-client was removed from the SDK and is a standalone project now
    - see [FIT-Connect Tools Repository](https://git.fitko.de/fit-connect/fit-connect-tools/) for further information
- Apache Tika dependency (was used by cli module)
- JCommander dependency (was used by cli module)

### Dependency Updates

- 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.1.0-rc.0] - 2023-11-03

### Added
- Bidirectional Communication with FIT-Connect Reply Channel (#654)
- ServiceType Getter on ReceivedSubmission (#1072)

### Changed
- Upgraded dependencies:
Martin Vogel's avatar
Martin Vogel committed
    - Nimbus/Jose 9.37
    - OkHttp 5.0.0-alpha.11
    - Lombok 1.18.30
    - Jackson 2.15.3
    - Logback 1.4.1
    - SLF4J 2.0.9
    - Apache Tika 2.9.1
    - SnakeYaml 2.2
    - JsonSchemaValidator 1.0.87
## [1.0.0] - 2023-08-04

### Added
- JWK test-certificate generator (#664)
- moved demo project to SDK (#1109)

### Changed
- Upgraded dependencies:
Martin Vogel's avatar
Martin Vogel committed
    - 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.2] - 2023-06-14

### Fixed
- Fix of invalid XML schema validation (#1070)
- Fix of invalid ReplyChannel validation (#1073)

### Changed

Martin Vogel's avatar
Martin Vogel committed
- Upgraded dependencies:
    - Jackson 2.15.2
    - Lombok 1.18.28
    - Logback 1.4.8
    - Apache Tika 2.8.0
    - Json Schema Validator 1.0.84

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

- initial release candidate version of the SDK