Release v5.1.0 πŸš€

May 2, 20242 minutes

Major Features

  • New REST Interfaces

    • POST /entitylist/psn-service/$pseudonymize: Pseudonymize identifiers using FHIR Parameters.
    • GET /entitylist/psn-service/pseudonym/exists: Check if a pseudonym exists without creating it.
  • Mail Service for Error Reporting

    • Automatic error reporting via email.
    • New environment variables:
      • MAIL_SERVICE_ENABLED: Enable or disable the mail service.
      • MAIL_SERVICE_FROM_EMAIL: Sender email address.
      • MAIL_SERVICE_TO_EMAIL: Recipient email addresses (comma-separated).
      • MAIL_SERVICE_HOST: Mail server hostname.
      • MAIL_SERVICE_PORT: Mail server port.
      • MAIL_SERVICE_USERNAME: Mail server username.
      • MAIL_SERVICE_PASSWORD: Mail server password.
      • KEYCLOAK_SERVER_NAME: Domain name of the Keycloak server (included in error reports).

Docker & Deployment

  • New Docker Containers

    • service-trustcenter-config-server: Replaces spring-cloud-config-server.
      • Replace SPRING_CLOUD_CONFIG_URI with SPRING_CONFIG_IMPORT.
      • Updated application names:
        • entitylist-psn-service replaces entitylist-backend.
        • psns-psn-service replaces psns-backend.
    • service-trustcenter-webapp-home: Replaces static HTML landing pages.
  • Keycloak

    • Use specific version v22.0.1 instead of latest.

Dependency Upgrades

  • Spring Boot: 2.2.8.RELEASE β†’ 3.2.1
    • Spring Security: 5.2.5 β†’ 6.2.1
    • Hibernate: 5.4.17 β†’ 6.4.1
    • JUnit4 β†’ JUnit5 (test migrations included)
  • Java: 11 β†’ 17
  • log4j2: 2.17.1 β†’ 2.22.1
  • Spring Cloud: Hoxton.SR4 β†’ 2023.0.0

Configuration Changes

  • Updated or removed due to Spring Boot 3 upgrade:

    • spring.datasource.platform β†’ spring.sql.init.platform
    • Removed: spring.jpa.properites.hibernate.metadata_builder_contributor, spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults
    • Use spring.security.oauth2.resourceserver.jwt.issuer-uri for JWT validation.
    • Removed deprecated OAuth2 properties:
      • security.oauth2.resource.token-info-uri
      • security.oauth2.resource.user-info-uri
      • security.oauth2.resource.realm-info-uri
      • security.oauth2.resource.jwt.key-value
      • rest.security.issuer-uri
      • rest.security.realm
    • Monitoring:
      • management.endpoints.web.cors.allowed-origins β†’ management.endpoints.web.cors.allowedOriginPatterns
      • management.prometheus.metrics.export.enabled β†’ management.endpoints.web.exposure.include
  • Removed Deprecated Parameters

    • server.http2, server.ssl.enabled, spring.profiles, security.oauth.client.*, security.enabled, server.activationhandler.enabled

API Documentation

  • Introduced springdoc-openapi-ui, replacing springfox-swagger.
    • Removed swagger.* parameters.
    • New parameters:
      • springdoc.swagger-ui.config-url
      • springdoc.swagger-ui.url
      • springdoc.swagger-ui.disable-swagger-default-url

Testing Enhancements

  • Spring Security Test Framework
    • Uses Testcontainers to spin up real Keycloak Docker containers for integration tests.
  • Automatic REST Interface Integration Tests

Other Improvements

  • Minor bug fixes and internal refactorings.