X-Road v7.8 Release Notes
Release Info
Latest version release | 7.8.0 |
|---|---|
Release date | 02.02.2026 |
Supported versions |
|
Supported platforms | Central Server
Configuration Proxy
Security Server
|
Official documentation | |
Source code | |
Software license |
Changes in This Release
Summary of changes in version 7.8.0
Support for selecting between free and paid OCSP and timestamping services on the Security Server.
Support for automatically picking up the supported Certificate Signing Request (CSR) format (
PEM/DER) for the selected CA when generating a CSR for authentication or sign certificate on the Security Server.Enhance the Security Server’s diagnostic capabilities by introducing additional connection debugging tools.
Add support for multiple tokens in the
autologinscript.Add support for hardware tokens into the Security Server Sidecar.
Minor enhancements and bug fixes based on user feedback.
Notices
Version 7.8.0
Before strategies for choosing between free and paid OCSP responders and time stamping authorities can be taken into use, the trust services must be correctly configured on the Central Server. Make sure to check with your X-Road Operator.
Tickets in Release
Issue types: fix (bug fix or technical debt), improvement (improvement to an existing feature), new (a new feature).
Issue ID | Type | Summary |
|---|---|---|
Version 7.7.0 | ||
Improvement | Improve the method by which the operational monitoring component on the Security Server resolves its internal IP. | |
Improvement | Allow ACME HTTP challenge port to be customised. This helps in cases where the host or container doesn’t have port 80 available to bind to, but the user still wants to use ACME. The port can be customised for native installations by setting the system parameter The port can be customised for Sidecar deployments by setting the environmental variable The ACME protocol requires the HTTP challenge to take place over port 80. When customising the port on the host or container, it needs to be configured on the network level so that port 80 from the public inbound IP of the Security Server will route to the custom port on the host/container. | |
Improvement | Improve the diagnostics information available on the diagnostics page of the Security Server user interface regarding the global configuration and TSA connections. | |
New | Add functionality to the Central Server to support diagnostic checks for global configuration and authentication certificate registration initiated from the Security Server. | |
New | Add functionality to the Security Server that allows testing connections to peer Security Servers and clients via the diagnostics page. This enables Security Server administrators to verify connections to other Security Servers and clients, for example, to confirm that the required firewall configurations are in place. | |
Improvement | Improve global configuration download client behavior and implement a better retry logic with exponential back-off to decrease the chances of a deadlock. The retry logic can be tuned by modifying the following system parameters under the [configuration-client] block:
| |
Fix | Fix an issue on the Security Server where adding a member to a local group would cause identifier entries to be duplicated. | |
Fix | Fix an issue that caused the backup restore process to override the local | |
Improvement | Merge translation contribution to the Estonian language by TaaviMeinberg. | |
Improvement | Merge a Security Server Sidecar contribution by tuomari. This improvement allows providing the Security Server UI user password as a | |
Improvement | Merge translation contribution to the Portuguese language by georgeroliveira. | |
New | Add a new input field to the Central Server UI to define which CSR format should be used with a specific CA. The format is mandatory when adding a new CA or updating and existing one. | |
New | Add support for automatically selecting the supported CSR format during the certificate request flow in the Security Server UI. When the CSR format is automatically selected, the CSR format menu is read-only and its value cannot be changed. Automatic selection is enabled when the supported CSR format is defined for the selected CA on the Central Server. | |
New | Add functionality to the Central Server UI to allow marking CA’s and TSA’s as being free or paid. When adding a new trust service or updating and existing one, marking them as free or paid is mandatory. | |
New | Add support for configuring the strategy used to determine which CA or TSA service is used on the Security Server. The strategy can be chosen by setting the following system parameters:
Possible strategies for both are:
| |
New | Add functionality to apply the selected trust service strategy for proxy communications on the Security Server. | |
Fix | Fix an issue where the value of the “Updated date” field is not correctly updated when a global group is changed in the Central Server UI. | |
Fix | Fix an issue on the Security Server UI, where long member names in the local group management view didn’t wrap correctly, causing the “Remove” button to be hidden. | |
Fix | Fix an issue where the configuration client was erroneously started on the Central Server after a backup was restored. | |
New | Add functionality to the autologin script to handle multiple tokens, allowing both software and hardware tokens to be logged in automatically. The original behavior still exists - if there is only one line in the If the If the script The new behavior takes each of the lines and tries to use the pin code with the token id defined on the same line. The autologin process will succeed if all login attempts were successful and error if any of them failed. The returned code is the highest return code between all of the attempts. For the Security Server Sidecar, multiple tokens can also be provided using environmental variables in the format: NB! Note that only multiple tokens are supported with this method, which means it is not possible to define an environmental variable for a single token other than with ID 0. | |
Fix | Fix a bug where the header of the keys and certificates page in the Security Server UI was not visible. | |
Fix | Fix an inconsistency on the Security Server UI where the column was named “member name”, when the actual contents were “subsystem name”. | |
Fix | Fix issue where the | |
Fix | Review memory usage of X-Road 7 components. Increased the messagelog addon module's metaspace default from | |
New | Add a new version of the basic certificate profile that supports ACME. The new profile is identical to the existing one but includes the
| |
Improvement | Install the hardware token module addon as baseline in the Security Server Sidecar so that hardware tokens can be used with it. The addon is now included in all the Security Server Sidecar variants. | |
Improvement | Migrate to the ECharts JS library on the Security Server UI due to licensing changes in the original charting library used. | |
Fix | Fix an issue in the Security Server initialisation flow that was caused by the “Served id exists” warning. | |
Fix | Fix an issue with the | |
Improvement | Implement automatic | |
Improvement | Improve input validation on Security Server and Central Server web UI and REST API to further prevent potential injection vectors. | |
Improvement | Improve Content Security Policy (CSP) settings on the Security Server web UI to further harden the frontend against potential attacks. | |
Fix | Fix an issue that caused the “Used Servers” section in the Central Server’s “Member Details” view to be always empty. | |
Fix | Fix issues with Configuration Proxy where view configuration and create instance commands were not working with the CLI tool. | |
Fix | Fix issue causing validation message on the Central Server web UI not working correctly for the Central Server address field validation. | |
Fix | Fix issue where the proxy memory setting utility suggested incorrect values in certain cases. | |
Fix | Fix issue in the Security Server web UI, where the Access Rights list showed the Local Group ID instead of the code. | |
New/Updated Dependencies
Dependency | Old Version | New Version |
|---|---|---|
Version 7.8.0 | ||
ch.qos.logback.access:logback-access-tomcat | 2.0.6 | 2.0.7 |
ch.qos.logback:logback-classic | 1.5.18 | 1.5.24 |
com.codeborne:selenide | 7.12.0 | 7.13.0 |
com.codeborne:selenide-proxy | 7.12.0 | 7.13.0 |
com.fasterxml.jackson.core:jackson-annotations | 2.19.1 | 2.19.4 |
com.fasterxml.jackson:jackson-bom | 2.19.1 | 2.19.4 |
com.google.guava:guava | 33.4.0-jre | 33.5.0-jre |
com.google.protobuf:protobuf-java-util | 4.31.1 | 4.32.1 |
com.google.protobuf:protoc | 4.31.1 | 4.32.1 |
com.zaxxer:HikariCP | 6.3.0 | 7.0.2 |
commons-cli:commons-cli | 1.9.0 | 1.11.0 |
commons-codec:commons-codec | 1.18.0 | 1.20.0 |
commons-io:commons-io | 2.19.0 | 2.21.0 |
io.dropwizard.metrics:metrics-core | 4.2.33 | 4.2.37 |
io.dropwizard.metrics:metrics-jmx | 4.2.33 | 4.2.37 |
io.grpc:grpc-netty-shaded | 1.73.0 | 1.76.0 |
io.grpc:grpc-protobuf | 1.73.0 | 1.76.0 |
io.grpc:grpc-stub | 1.73.0 | 1.76.0 |
io.grpc:protoc-gen-grpc-java | 1.73.0 | 1.76.0 |
io.opentelemetry.instrumentation:opentelemetry-instrumentation-annotations | 2.15.0 | 2.20.1 |
io.rest-assured:rest-assured | 5.5.5 | 5.5.6 |
io.swagger.core.v3:swagger-annotations | 2.2.34 | 2.2.41 |
io.swagger.parser.v3:swagger-parser | 2.1.30 | 2.1.37 |
io.swagger.parser.v3:swagger-parser-v3 | 2.1.30 | |