Changelogs

9.0.1

Release Date: 2025-10-08

Breaking Changes

A breaking change may require manual adjustments by the administrator. Please read the description.

INUBIT-20877

The button for updating the INUBIT BPC modules has been removed. Please ensure that the corresponding modules are present in the BPC’s deploy directory. If the BPC is deployed via the installer, the modules should be present.

Impacts:

INUBIT-21683

The Data Stream Analyzer could be forced to use MimeUtil to determine the MIME type using the special module property "datastreamanalyzer.mode." This option has now been removed. Apache Tika is now always used for analysis.

Breaking Change

If the module property "datastreamanalyzer.mode" is explicitly set in the Data Stream Analyzer, it no longer has any effect. Apache Tika is always executed internally to analyze the data stream. This may lead to a change in the detected MIME type.

Impacts:

Security Fixes

Security fixes include the remediation of security-related vulnerabilities. In addition to INUBIT’s own code, this also includes updating and replacing third-party components used.

INUBIT-15703

The spring boot library has been updated.

Impacts:

INUBIT-16458

The tika library has been updated.

Impacts:

New Functionalities - Improvements

INUBIT-21534

The ZUGFeRD utility has been extended to support reading and writing of PDFs of type PDF/A-3B and PDF/A-3U.

Impacts:

INUBIT-20877

The button for updating the INUBIT BPC modules has been removed. Please ensure that the corresponding modules are present in the BPC’s deploy directory. If the BPC is deployed via the installer, the modules should be present.

Impacts:

INUBIT-20895

The "Migrate to Saxon 10" option has been removed from the Workbench. The necessary Saxon adjustments will be performed automatically during the migration or import.

Impacts:

INUBIT-21452

The REST API endpoints now return the response in the format requested by the client. The same applies to error messages. The default is "application/json"; for XML, "application/xml" must be specified in the Accept header.

Impacts:

INUBIT-21683

The Data Stream Analyzer could be forced to use MimeUtil to determine the MIME type using the special module property "datastreamanalyzer.mode." This option has now been removed. Apache Tika is now always used for analysis.

Breaking Change

If the module property "datastreamanalyzer.mode" is explicitly set in the Data Stream Analyzer, it no longer has any effect. Apache Tika is always executed internally to analyze the data stream. This may lead to a change in the detected MIME type.

Impacts:

Bug Fixes

INUBIT-21287

If INUBIT is used with Keycloak, the backup files created so far are incomplete and the diagram, module, and repository data of INUBIT users are missing. This ticket will resolve the issue, and the backup files created from now on will be complete.

After applying this patch, we recommend creating a new backup file. Previously created backups should no longer be used.

Impacts:

INUBIT-17227, SUPPORT-7809

The FTP Connector plugin has been corrected so that it now terminates correctly in a timeout situation and the workflow aborts with a corresponding message due to this error.

Impacts:

INUBIT-18817, SUPPORT-12176

Fixed an issue in the module wizard on the MDN validator page that prevented the stored certificate from being displayed.

Impacts:

INUBIT-21659

An error when creating an SQL statement caused an error when executing the Midnight Task and has now been fixed.

Impacts:

  • Application - Process Engine

INUBIT-21125

The online documentation in version 9.0 is now called from the INUBIT 9.0 Workbench.

Impacts:

INUBIT-20988

In the module wizard, the correct online help pages are now called from the Connection Pooling dialog when you click F1.

Impacts:

9.0.0

Release Date: 2025-09-10

Breaking Changes

A breaking change may require manual adjustments by the administrator. Please read the description.

INUBIT-20752

The Remote Connector has been updated with INUBIT 9.0.

Breaking Change

The Remote Connector in INUBIT 9.0 can no longer be used in INUBIT 8.1 and earlier. Adding it in the Connection Manager is no longer possible, significantly limiting maintenance and monitoring.

Impacts:

INUBIT-21095

The HTTP status description available in the restConnector.responseStatusDescription variable has changed. If you need the value of this variable, adjust your logic to the new values.

The following table illustrates the new values:

HTTP status code HTTP status description before 9.0 HTTP status description from 9.0 onwards

100

The client should continue with its request

Continue

101

The server is willing to change the application protocol being used on this connection

Switching Protocols

102

Interim response used to inform the client that the server has accepted the complete request, but has not yet completed it

Processing

200

The request has succeeded

OK

201

The request has been fulfilled and resulted in a new resource being created

Created

202

The request has been accepted for processing, but the processing has not been completed

Accepted

203

The returned meta-information is not the definitive set as available from the origin server

Non-Authoritative Information

204

The server has fulfilled the request but does not need to return an entity-body, and might want to return updated meta-information

No Content

205

The server has fulfilled the request and the user agent should reset the document view which caused the request to be sent

Reset Content

206

The server has fulfilled the partial get request for the resource

Partial Content

207

Provides status for multiple independent operations

Multi-Status

300

The requested resource corresponds to any one of a set of representations

Multiple Choices

301

The requested resource has been assigned a new permanent URI

Moved Permanently

302

The requested resource can be found under a different URI

Found

303

The response to the request can be found under a different URI

See Other

304

The client has performed a conditional GET request and the document has not been modified

Not Modified

305

The requested resource must be accessed through the proxy given by the location field

Use Proxy

307

The requested resource resides temporarily under a different URI

Temporary Redirect

400

The request could not be understood by the server due to malformed syntax

Bad Request

401

The request requires user authentication

Unauthorized

402

This code is reserved for future use

Payment Required

403

The server understood the request, but is refusing to fulfill it

Forbidden

404

The server has not found anything matching the request URI

Not Found

405

The method specified in the request is not allowed for the resource identified by the request URI

Method Not Allowed

406

The resource identified by the request is only capable of generating response entities which have content characteristics not acceptable according to the accept headers sent in the request

Not Acceptable

407

This code is similar to Unauthorized, but indicates that the client must first authenticate itself with the proxy

Proxy Authentication Required

408

The client did not produce a request within the time that the server was prepared to wait

Request Timeout

409

The request could not be completed due to a conflict with the current state of the resource

Conflict

410

The requested resource is no longer available at the server and no forwarding address is known

Gone

411

The server refuses to accept the request without a defined content length

Length Required

412

The precondition given in one or more of the request header fields evaluated to false when it was tested on the server

Precondition Failed

413

The server is refusing to process a request because the request entity is larger than the server is willing or able to process

Payload Too Large

414

The server is refusing to service the request because the request URI is longer than the server is willing to interpret

URI Too Long

415

The server is refusing to service the request because the entity of the request is in a format not supported by the requested resource for the requested method

Unsupported Media Type

416

For byte ranges, this means that the first byte position were greater than the current length of the selected resource

Requested range not satisfiable

417

The expectation given in the request header could not be met by this server

Expectation Failed

422

The server understands the content type of the request entity and the syntax of the request entity is correct but was unable to process the contained instructions

Unprocessable Entity

423

The source or destination resource of a method is locked

Locked

424

The method could not be performed on the resource because the requested action depended on another action and that action failed

Failed Dependency

429

The server is refusing to service the request because the user has sent too many requests in a given amount of time (\"rate limiting\")

Too Many Requests

500

The server encountered an unexpected condition which prevented it from fulfilling the request

Internal Server Error

501

The server does not support the functionality required to fulfill the request

Not Implemented

502

The server, while acting as a gateway or proxy, received an invalid response from the upstream server it accessed in attempting to fulfill the request

Bad Gateway

503

The server is currently unable to handle the request due to a temporary overloading or maintenance of the server

Service Unavailable

504

The server, while acting as a gateway or proxy, did not receive a timely response from the upstream server specified by the URI (e.g. HTTP, FTP, LDAP) or some other auxiliary server (e.g. DNS) it needed to access in attempting to complete the request

Gateway Timeout

505

The server does not support, or refuses to support, the protocol version that was used in the request message

HTTP Version not supported

507

The method could not be performed on the resource because the server is unable to store the representation needed to successfully complete the request

Insufficient Storage

Impacts:

INUBIT-21115

Starting with INUBIT 9.0, REST connectors containing multiple path parameters with the same name will no longer execute.

The following actions will result in errors in the corresponding connectors:

  • Registering listener connectors at server startup

  • Enabling

  • Publishing

  • Importing

  • Deploying

  • Breaking Change*

Path parameter names must not be used multiple times. Correct any duplicates accordingly.

Impacts:

INUBIT-21215

Starting with INUBIT 9.0, REST connectors whose path parameter contains a "." (period) will no longer be executed. The following actions will cause errors in the corresponding connectors:

  • Registering listener connectors at server startup

  • Activating

  • Publishing

  • Importing

  • Deployment

Breaking Change

Path parameter names may no longer contain periods. Correct any incorrect names accordingly.

Impacts:

INUBIT-21097

The feature available up to and including INUBIT 8.1, which allowed sending a request with the query parameter method=<HTTP method> and thus overriding the HTTP method at the endpoint, has been deprecated and is no longer available.

Breaking Change

Endpoints must now be called using the HTTP method with which they are exposed in the API. Overriding the HTTP method is no longer possible.

Impacts:

Security Fixes

Security fixes include the remediation of security-related vulnerabilities. In addition to INUBIT’s own code, this also includes updating and replacing third-party components used.

INUBIT-19071

Keycloak has been updated.

Impacts:

INUBIT-19477

A potential XXE vulnerability in the INUBIT REST API has been fixed. The following switches can be used to reject XML data that potentially exploits vulnerabilities:

# External references in prologs are not resolved
-feature.load.external.dtd=true
# Doctype prologs are not processed
feature.disallow.doctype=true
# Disable resolution of parameter entities
feature.enable.parameter.entity=true
# Disable resolution of global entities
feature.enable.general.entity=true

Recommendation: Enable these switches in production systems to prevent potential security issues when processing XML.

Impacts:

  • Application - Process Engine

INUBIT-21364

Apache Tomcat has been updated.

Impacts:

New Functionalities - Improvements

INUBIT-2946, SUPPORT-3538

The Web Service Connector module wizard has been enhanced so that when a keystore is stored, the keystore password is also saved and used at runtime. If the keystore and password do not match, the module will fail to execute, or the keystore cannot be stored in the module.

Impacts:

INUBIT-18677, SUPPORT-13290

If the FTP connector is configured with a server via FTP or FTPS and the connection must be made via a proxy, this can now be configured accordingly in the module properties.

Impacts:

INUBIT-20752

The Remote Connector has been updated with INUBIT 9.0.

Breaking Change

The Remote Connector in INUBIT 9.0 can no longer be used in INUBIT 8.1 and earlier. Adding it in the Connection Manager is no longer possible, significantly limiting maintenance and monitoring.

Impacts:

INUBIT-21318, SUPPORT-14066

A problem with the task filter REST API endpoint has been fixed so that all tasks on the process engine that match the filter criteria can now be queried across all roles.

Impacts:

INUBIT-9599

Accessing the Process Engine via CLI is now possible even on systems that do not support a browser UI.

Impacts:

INUBIT-12869

Logging in via Workbench to a process engine that uses Keycloak as an identity provider is now token-based (OAuth). The user switches to the browser and logs in directly to Keycloak. Workbench then only uses the access token that Keycloak returns upon success.

Impacts:

INUBIT-12884

The Workbench login screen has been redesigned and now supports login when using Keycloak as well as internal user management.

Impacts:

INUBIT-13159

If Keycloak is used as an IdP, the session running there will be removed from the workbench when a user logs out.

Impacts:

INUBIT-13606

Login via CLI against the internal user management is still supported with user and password.

Impacts:

INUBIT-14669

INUBIT installer uses InstallAnywhere version IA2025 now.

Impacts:

INUBIT-16358, SUPPORT-14728

The certificates to be stored in the connector can now also be integrated via the Credentials Manager.

Impacts:

INUBIT-16359

The certificates, keystores and truststores to be stored in the connector can now also be integrated via the Credentials Manager.

Impacts:

INUBIT-16360

The certificates, keystores and truststores to be stored in the connector can now also be integrated via the Credentials Manager.

Impacts:

INUBIT-16450, SUPPORT-5152

The Credentials Manager now supports certificate storage. This can be used in modules to securely store public keys or certificates.

Impacts:

INUBIT-16451, SUPPORT-5152

The Credentials Manager now supports key pair storage. This can be used in modules to securely store private keys or key pairs.

Impacts:

INUBIT-16578

Certificates for remote connector configuration can now be integrated into system connectors via the Credentials Manager.

Impacts:

INUBIT-18140

The AS4 gateway now works on Apache Tomcat 10.

Impacts:

INUBIT-18382

The option to limit GUI threads has been removed under "General Settings". Any number of UIs can now connect to the Process Engine.

Impacts:

INUBIT-18597

The tunnel functionality of the INUBIT Process Engine has already been discontinued and is now removed.

Impacts:

  • Application - Process Engine

  • Application - Workbench

INUBIT-18840

The Apache Camel library has been updated.

Impacts:

INUBIT-19261, SUPPORT-13702

Additional endpoints for deleting diagrams and modules, as well as their versions, have been added to the Process Engine REST API.

Impacts:

INUBIT-19478, SUPPORT-13851

INUBIT now supports Windows 2025.

Impacts:

INUBIT-19594

A potential XXE vulnerability when reading the as4-gateway.xml file has been closed.

Impacts:

INUBIT-19607

Support for "userType=processUser" has been removed from the following REST API endpoints:

  • /ready

  • /user/users

  • /user/roles

  • /user/hasrole

  • /partnermanagement/data

  • /diagrams/**

  • /modules/**

Impacts:

INUBIT-19654

When OAuth is enabled, the CLI now redirects to the configured authorization server to perform user login via OAuth.

Impacts:

INUBIT-20099

The INUBIT CLI now allows OAuth authentication even when no browser is available.

Impacts:

INUBIT-20116

The SOAP API in the INUBIT Process Engine has been removed. All access is now via the REST API.

Impacts:

  • Application - Process Engine

INUBIT-20303

Workbench and CLI now use OAuth for authentication against the Process Engine. Basic Auth is still supported as a fallback, but it is deprecated and no longer recommended for security reasons.

Impacts:

INUBIT-20431

The JSON validator uses only modern way to validate the JSON with backward compatibility. Removed the legacy way to validate the JSON.

Impacts:

INUBIT-20537

To set the username and password for the Keycloak connection, the values can now be passed as environment variables:

  • Username: INUBIT_PE_KEYCLOAK_USERNAME

  • Password: INUBIT_PE_KEYCLOAK_PASSWORD

If the environment variables are not set, the values from the JSON configuration file are used.

Impacts:

  • Application - Process Engine

INUBIT-20591

Keycloak is now the default preconfigured user management system in the INUBIT Process Engine. Please fill out the required JSON configuration file correctly so that the server can start successfully.

Internal user management is still offered, but is not suitable for use in production environments.

Impacts:

INUBIT-20679, SUPPORT-12661, SUPPORT-13404, SUPPORT-3238, SUPPORT-8069, SUPPORT-9724

When executing asynchronous workflow jumps with the same process ID via WFC, in which a multiplexer bundles incoming data streams, it is currently not possible to distinguish between the different executions at the mux. Therefore, the mux merges the first incoming data streams, which is not always desired.

The new module property "CreateModuleRunId" (type: Boolean) has been introduced at the workflow connector, which allows the multiplexer to distinguish between different asynchronous workflow executions. The module property must be created manually and assigned the desired value ("true", "false").

Impacts:

INUBIT-20858

The keycloak_template.json file has been expanded to include a description of all available options. This means you can find the documentation directly in the file, rather than in the online documentation.

Impacts:

INUBIT-21326

Keycloak has been included in the standard install set. This bundles the appropriate components for productive installation in one package.

Impacts:

Bug Fixes

INUBIT-17168

A problem with detecting the port on which the INUBIT Process Engine is running has been improved so that it now works flawlessly even when using multiple ports.

Impacts:

  • Application - Process Engine

INUBIT-21056, SUPPORT-13940

Fixed a memory issue in the Workbench when repeatedly running diagram deployment.

Impacts:

  • Workbench - Import / Export / Deployment

INUBIT-21122

A performance issue when inserting large amounts of data into a MySQL database has been fixed.

Impacts:

INUBIT-20778

Reading the contents of database tables failed when using some database types (including MySQL). This issue has now been resolved.

Impacts:

INUBIT-20856

If Keycloak is configured as the IdP in a process engine, the user base will not be changed during migration or backup restoration. All INUBIT users must be manually created in Keycloak before the migration/backup.

Impacts:

INUBIT-21040

Using the CLI has changed slightly. To access the help, you must explicitly pass the -h or --help parameter.

Impacts:

INUBIT-21095

The HTTP status description available in the restConnector.responseStatusDescription variable has changed. If you need the value of this variable, adjust your logic to the new values.

The following table illustrates the new values:

HTTP status code HTTP status description before 9.0 HTTP status description from 9.0 onwards

100

The client should continue with its request

Continue

101

The server is willing to change the application protocol being used on this connection

Switching Protocols

102

Interim response used to inform the client that the server has accepted the complete request, but has not yet completed it

Processing

200

The request has succeeded

OK

201

The request has been fulfilled and resulted in a new resource being created

Created

202

The request has been accepted for processing, but the processing has not been completed

Accepted

203

The returned meta-information is not the definitive set as available from the origin server

Non-Authoritative Information

204

The server has fulfilled the request but does not need to return an entity-body, and might want to return updated meta-information

No Content

205

The server has fulfilled the request and the user agent should reset the document view which caused the request to be sent

Reset Content

206

The server has fulfilled the partial get request for the resource

Partial Content

207

Provides status for multiple independent operations

Multi-Status

300

The requested resource corresponds to any one of a set of representations

Multiple Choices

301

The requested resource has been assigned a new permanent URI

Moved Permanently

302

The requested resource can be found under a different URI

Found

303

The response to the request can be found under a different URI

See Other

304

The client has performed a conditional GET request and the document has not been modified

Not Modified

305

The requested resource must be accessed through the proxy given by the location field

Use Proxy

307

The requested resource resides temporarily under a different URI

Temporary Redirect

400

The request could not be understood by the server due to malformed syntax

Bad Request

401

The request requires user authentication

Unauthorized

402

This code is reserved for future use

Payment Required

403

The server understood the request, but is refusing to fulfill it

Forbidden

404

The server has not found anything matching the request URI

Not Found

405

The method specified in the request is not allowed for the resource identified by the request URI

Method Not Allowed

406

The resource identified by the request is only capable of generating response entities which have content characteristics not acceptable according to the accept headers sent in the request

Not Acceptable

407

This code is similar to Unauthorized, but indicates that the client must first authenticate itself with the proxy

Proxy Authentication Required

408

The client did not produce a request within the time that the server was prepared to wait

Request Timeout

409

The request could not be completed due to a conflict with the current state of the resource

Conflict

410

The requested resource is no longer available at the server and no forwarding address is known

Gone

411

The server refuses to accept the request without a defined content length

Length Required

412

The precondition given in one or more of the request header fields evaluated to false when it was tested on the server

Precondition Failed

413

The server is refusing to process a request because the request entity is larger than the server is willing or able to process

Payload Too Large

414

The server is refusing to service the request because the request URI is longer than the server is willing to interpret

URI Too Long

415

The server is refusing to service the request because the entity of the request is in a format not supported by the requested resource for the requested method

Unsupported Media Type

416

For byte ranges, this means that the first byte position were greater than the current length of the selected resource

Requested range not satisfiable

417

The expectation given in the request header could not be met by this server

Expectation Failed

422

The server understands the content type of the request entity and the syntax of the request entity is correct but was unable to process the contained instructions

Unprocessable Entity

423

The source or destination resource of a method is locked

Locked

424

The method could not be performed on the resource because the requested action depended on another action and that action failed

Failed Dependency

429

The server is refusing to service the request because the user has sent too many requests in a given amount of time (\"rate limiting\")

Too Many Requests

500

The server encountered an unexpected condition which prevented it from fulfilling the request

Internal Server Error

501

The server does not support the functionality required to fulfill the request

Not Implemented

502

The server, while acting as a gateway or proxy, received an invalid response from the upstream server it accessed in attempting to fulfill the request

Bad Gateway

503

The server is currently unable to handle the request due to a temporary overloading or maintenance of the server

Service Unavailable

504

The server, while acting as a gateway or proxy, did not receive a timely response from the upstream server specified by the URI (e.g. HTTP, FTP, LDAP) or some other auxiliary server (e.g. DNS) it needed to access in attempting to complete the request

Gateway Timeout

505

The server does not support, or refuses to support, the protocol version that was used in the request message

HTTP Version not supported

507

The method could not be performed on the resource because the server is unable to store the representation needed to successfully complete the request

Insufficient Storage

Impacts:

INUBIT-21115

Starting with INUBIT 9.0, REST connectors containing multiple path parameters with the same name will no longer execute.

The following actions will result in errors in the corresponding connectors:

  • Registering listener connectors at server startup

  • Enabling

  • Publishing

  • Importing

  • Deploying

  • Breaking Change*

Path parameter names must not be used multiple times. Correct any duplicates accordingly.

Impacts:

INUBIT-21215

Starting with INUBIT 9.0, REST connectors whose path parameter contains a "." (period) will no longer be executed. The following actions will cause errors in the corresponding connectors:

  • Registering listener connectors at server startup

  • Activating

  • Publishing

  • Importing

  • Deployment

Breaking Change

Path parameter names may no longer contain periods. Correct any incorrect names accordingly.

Impacts:

INUBIT-21097

The feature available up to and including INUBIT 8.1, which allowed sending a request with the query parameter method=<HTTP method> and thus overriding the HTTP method at the endpoint, has been deprecated and is no longer available.

Breaking Change

Endpoints must now be called using the HTTP method with which they are exposed in the API. Overriding the HTTP method is no longer possible.

Impacts: