Skip to content

Releases: frankframework/frankframework

v9.2.1-20250826.133401 (nightly)

26 Aug 14:14
f5c85d0
Compare
Choose a tag to compare
Pre-release

The Frank!Framework nightly (snapshot) build provides a daily compilation of the latest code changes and developments, allowing users to access cutting-edge features and updates before they are officially released.

Copy version

9.2.1-20250826.133401

Download instructions

Get the Webapp

Add it to the pom.xml:

<dependencies>
  <dependency>
    <groupId>org.frankframework</groupId>
    <artifactId>frankframework-webapp</artifactId>
    <version>9.2.1-20250826.133401</version>
  </dependency>
</dependencies>

<repositories>
  <repository>
    <id>frankframework</id>
    <name>Frank!Framework</name>
    <url>https://nexus.frankframework.org/content/repositories/public</url>
  </repository>
</repositories>

Or download it from Nexus

Get the Docker image

Pull the Docker image:

docker pull frankframework/frankframework:9.2.1-20250826.133401

Or visit the image on DockerHub

v9.3.0-20250827.042331 (nightly)

27 Aug 04:16
deb12b3
Compare
Choose a tag to compare
Pre-release

The Frank!Framework nightly (snapshot) build provides a daily compilation of the latest code changes and developments, allowing users to access cutting-edge features and updates before they are officially released.

Copy version

9.3.0-20250827.042331

Download instructions

Get the Webapp

Add it to the pom.xml:

<dependencies>
  <dependency>
    <groupId>org.frankframework</groupId>
    <artifactId>frankframework-webapp</artifactId>
    <version>9.3.0-20250827.042331</version>
  </dependency>
</dependencies>

<repositories>
  <repository>
    <id>frankframework</id>
    <name>Frank!Framework</name>
    <url>https://nexus.frankframework.org/content/repositories/public</url>
  </repository>
</repositories>

Or download it from Nexus

Get the Docker image

Pull the Docker image:

docker pull frankframework/frankframework:9.3.0-20250827.042331

Or visit the image on DockerHub

v7.9.7-20250826.065038 (nightly)

26 Aug 06:37
9de8a92
Compare
Choose a tag to compare
Pre-release

The Frank!Framework nightly (snapshot) build provides a daily compilation of the latest code changes and developments, allowing users to access cutting-edge features and updates before they are officially released.

Copy version

7.9.7-20250826.065038

Download instructions

Get the Webapp

Add it to the pom.xml:

<dependencies>
  <dependency>
    <groupId>org.frankframework</groupId>
    <artifactId>frankframework-webapp</artifactId>
    <version>7.9.7-20250826.065038</version>
  </dependency>
</dependencies>

<repositories>
  <repository>
    <id>frankframework</id>
    <name>Frank!Framework</name>
    <url>https://nexus.frankframework.org/content/repositories/public</url>
  </repository>
</repositories>

Or download it from Nexus

Get the Docker image

Pull the Docker image:

docker pull frankframework/frankframework:7.9.7-20250826.065038

Or visit the image on DockerHub

v9.0.2-20250826.031130 (nightly)

26 Aug 02:30
a15053d
Compare
Choose a tag to compare
Pre-release

The Frank!Framework nightly (snapshot) build provides a daily compilation of the latest code changes and developments, allowing users to access cutting-edge features and updates before they are officially released.

Copy version

9.0.2-20250826.031130

Download instructions

Get the Webapp

Add it to the pom.xml:

<dependencies>
  <dependency>
    <groupId>org.frankframework</groupId>
    <artifactId>frankframework-webapp</artifactId>
    <version>9.0.2-20250826.031130</version>
  </dependency>
</dependencies>

<repositories>
  <repository>
    <id>frankframework</id>
    <name>Frank!Framework</name>
    <url>https://nexus.frankframework.org/content/repositories/public</url>
  </repository>
</repositories>

Or download it from Nexus

Get the Docker image

Pull the Docker image:

docker pull frankframework/frankframework:9.0.2-20250826.031130

Or visit the image on DockerHub

v9.2.0

09 Jul 09:41
Compare
Choose a tag to compare

Full Changelog: v9.1.0...v9.2.0, see Milestone 9.2.0 for more info.

Highlights

Bumped dependencies 163 times
Improved documentation
(Structured) logging improvements
Automated OWASP ZAP reports

Tip

The Frank!Framework no longer requires JMS as a required dependency.

Note

Since 9.1.0: ApiListeners may now throw security warnings, allows whitelisting of HTTP parameters.

Warning

Our Tomcat Container's classpath has been changed. Ensure resources and configurations are mounted properly.

Bugs

  • Fix the use of multiple credential providers(#8909)
  • Fix CredentialFactory in HttpSender to authenticate requests (#8866)
  • Fix charset bug in SerializableFileReference (#8950)
  • Fix WebServiceListener result message closed too early (#8969)
  • Fix MQTT resources (#9025)
  • Fix "ISender#sendMessageOrThrow" closing result that has also been referenced in Session keys (#9024)
  • Fix MongoDB resource.yml parsing (#9034)
  • Fix GraalJS JavascriptEngine arguments (#9044)
  • Use FileSystem attributes for process-state / errorstorage comments (#9059)
  • Fix OAuth flow in standalone app (#9086)
  • Fix IfPipe can lose the input message (#9105)
  • Improve JSON Path validation and evaluation in Parameter (#9154)
  • Fix Module loading in WildFly (#9216)

Features

  • Improved caching of TransformerPools (#8781)
  • Allow JWT Token to omit "Bearer" when it is a non-standard header (#8818)
  • Introduce ContextSecurityHandler(#8829)
  • JSON Parameter and jsonPathExpression (#8862)
  • Allow users to use ScanningDirectoryClassloader instead of normal DirectoryClassloader (#8962)
  • Expand BooleanParameter to allow !false (#8958)
  • Change the DelineaCredentialFactory.hasCredentials to getSecret(#8989)
  • Use generic common method to generate message IDs (#9005)
  • Add Narayana expiryScanner to either purge or move expired items (#9092)
  • Introduce springdoc for openapi endpoint(#8874)
  • Introduce a SoapAction ServiceListener (#9077)
  • Make HTTP timeout work based on the HttpSession (sharedResources) (#9107)
  • Handle numerical and boolean values in JSON better (#9152)
  • Add JsonPathPipe (#9143)
  • Update the JsonValidator to allow validation using newer json schemas(#9179)
  • Rename XmlSwitch to SwitchPipe and add jsonPathExpression (#9175)
  • Add bearer only authentication and validate role claim(#9140 + #9221)
  • Add new property to csv parser pipe to trim whitespace(#9249)
  • Change Tomcat classpath, configs are no longer on the classpath (#9256)

Console

  • Add sorting options in error store (#9206)
  • Improve flow modal window size (#9208)
  • Fix adapter pipes & receivers disappearing after certain adapter updates (#8821)
  • Only show existing columns in message storage views (#8676)
  • Filtering on message storage with dynamic columns (#8847)
  • Fix statistics graph time offset (#8982)
  • Fix Console error page & logging page on framework startup error (#9133)
  • Fix CSRF session pinning (#9056)
  • Sort processing receivers statistics based on thread name (#9181)
  • Add Mermaid flow zooming & panning (#9173)
  • Add expiring certificates to security items page (#9110 + #9136)
  • Disable testtool echo2 by default (#8961)

Larva

  • Add warnings in Larva when properties are overwritten by included files (#9038)
  • Add larva.enabled property (#9240)
  • Make reading of scenario steps more flexible (#8980)
  • Change Larva Output (#8974)

ErrorFormatters

  • Allow formatting of error messages as JSON (#8981)
  • Always use ErrorMessageFormatter from the Adapter (#8953)
  • Add DataSonnetErrorMessageFormatter (#8990)
  • Pipes should not handle ExceptionForward themselves (#9144 + #9180)
  • Add parameters to ExceptionPipe and update ErrorMessageFormatter to apply them (#9165)
  • Optimize pipeline error-return flows (#9220)
  • Add Configuration-wide default ErrorMessageFormatter (#9017)

Non backwards compatible changes

Important

Removed deprecated pipes from 7.8 or older. This means that the following pipes are now removed: FileLineIteratorPipe, FilenameSwitch, PostboxRetrieverPipe, PutParametersInSession, Stream2StringPipe, XmlBuilderPipe, XmlFileElementIteratorPipe.

Warning

Tomcat classpath has been changed!

  • The configurations directory is no longer mounted on the classpath.
  • The drivers directory has been added to allow users to overwrite drivers with ease.

v9.1.1-20250624.022330 (nightly)

24 Jun 01:48
b8af547
Compare
Choose a tag to compare
Pre-release

The Frank!Framework nightly (snapshot) build provides a daily compilation of the latest code changes and developments, allowing users to access cutting-edge features and updates before they are officially released.

Copy version

9.1.1-20250624.022330

Download instructions

Get the Webapp

Add it to the pom.xml:

<dependencies>
  <dependency>
    <groupId>org.frankframework</groupId>
    <artifactId>frankframework-webapp</artifactId>
    <version>9.1.1-20250624.022330</version>
  </dependency>
</dependencies>

<repositories>
  <repository>
    <id>frankframework</id>
    <name>Frank!Framework</name>
    <url>https://nexus.frankframework.org/content/repositories/public</url>
  </repository>
</repositories>

Or download it from Nexus

Get the Docker image

Pull the Docker image:

docker pull frankframework/frankframework:9.1.1-20250624.022330

Or visit the image on DockerHub

v8.3.3-20250605.001628 (nightly)

04 Jun 23:37
311bf55
Compare
Choose a tag to compare
Pre-release

The Frank!Framework nightly (snapshot) build provides a daily compilation of the latest code changes and developments, allowing users to access cutting-edge features and updates before they are officially released.

Copy version

8.3.3-20250605.001628

Download instructions

Get the Webapp

Add it to the pom.xml:

<dependencies>
  <dependency>
    <groupId>org.frankframework</groupId>
    <artifactId>frankframework-webapp</artifactId>
    <version>8.3.3-20250605.001628</version>
  </dependency>
</dependencies>

<repositories>
  <repository>
    <id>frankframework</id>
    <name>Frank!Framework</name>
    <url>https://nexus.frankframework.org/content/repositories/public</url>
  </repository>
</repositories>

Or download it from Nexus

Get the Docker image

Pull the Docker image:

docker pull frankframework/frankframework:8.3.3-20250605.001628

Or visit the image on DockerHub

v9.1.0

10 Apr 17:23
Compare
Choose a tag to compare

Full Changelog: v9.0.0...v9.1.0, see Milestone 9.1.0 for more info.

Highlights

Bumped dependencies 184 times
Add JDK24 Build Support
Improved documentation

Tip

The Frank!Framework no longer requires JMS as a required dependency.

Note

ApiListeners may now throw security warnings, allows whitelisting of HTTP parameters.

Performance

  • Memory footprint has been reduced when doing XML and JSON conversions
  • Fix memory leak when iterating over large files using iterating pipes and returned sessionkeys
  • Fix session pollution when using parallel iterating pipes and a SenderWrapper
  • Fix parallel XSLT processing (with and without pipeline transactions)
  • Improve disk to memory IO operations
  • Improved JDBC query builder

Bugs

  • Fix 'time' in parameter pattern
  • Fix configuration webcontent lookups
  • Fix manual retry capability by using the proper ID fields such as StorageID, MessageID and CorrelationID
  • Fix broken parameter pattern substitution
  • Fix a NPE when trying to list files and folders using the AmazonS3sender
  • Fix for XML2JSON mapping with wildcard-types that have nested elements
  • Don't use Phaser in IteratingPipe to allow handling of more than 65.535 elements

Features

  • Setup a new module and plugin structure
  • Enable monitoring capability (by default)
  • No longer display default-value configuration-warnings
  • Improve log traceability
  • Don't rename threads anymore
  • Extended Resource Locators (resources.yml) to use the new module structure
  • Health endpoints now require authorization except on localhost
  • Ignore namespaces when comparing XML in CompareStringPipe
  • Allow setting MQTT topic via a parameter
  • Share MQTT connection between different Frank Components
  • Add skip-locked functionality for H2 databases
  • Add ability to move message 'stuck in processing' to Error state
  • Allow returning extra fields from JDBCTableListener
  • Add option to omit XML declaration from the output of Json2XmlValidator
  • Allow Narayana to deal with 'stuck' Heuristic Hazard transactions

CredentialProviders & Authenticators

  • Add DelineaCredentialFactory
  • Add Azure AD Authenticator

Ladybug & Larva

  • Display MessageContext in Ladybug
  • Display more information in Ladybug Reports
  • Add Ladybug 'convert to larva' button, only works on local development
  • Larva can now use nearly all framework listeners and senders, including JMS and the new FrankListener and FrankSender
  • Use Message instead of Strings, allows binary comparisons

Frank!Framework Console

  • Make code editor resizable
  • Make log page scroll back to previous position when clicking back
  • Allow configurations to be stopped from Console
  • Add button to open a log file in a new window
  • Add root tag around configuration elements to make it xml compliant
  • Store form field values when switching between pages
  • Improve adapter statistics overview
  • Fix JEE authentication in console and ladybug
  • Fix duplicate server warning response
  • Fix errorstore issues when configuration doesnt have errors
  • Allow users to update websocket intervals

Non backwards compatible changes

Important

Removed deprecated pipes from 7.8 or older. This means that the following pipes are now removed: FileLineIteratorPipe, FilenameSwitch, PostboxRetrieverPipe, PutParametersInSession, Stream2StringPipe, XmlBuilderPipe, XmlFileElementIteratorPipe.

Warning

MqttSender and MqttListener now require a resource to be registered in resources.yml. This allows multiple senders/listeners to use the same connection at the same time.

Warning

Remove JMX capability.

v9.0.1

10 Apr 17:36
Compare
Choose a tag to compare

Patch Changelog: v9.0.0...v9.0.1 - Full Changelog: v8.3.0...v9.0.1, see Milestone 9.0.1 for more info.

Performance

  • Fix session pollution when using parallel iterating pipes and a SenderWrapper
  • Fix parallel XSLT processing (with and without pipeline transactions)
  • Improve disk to memory IO operations

Bugs

  • Fix 'time' in parameter pattern
  • Fix configuration webcontent lookups
  • Fix manual retry capability by using the proper ID fields such as StorageID, MessageID and CorrelationID
  • Fix broken parameter pattern substitution
  • Fix a NPE when trying to list files and folders using the AmazonS3sender
  • Fix for XML2JSON mapping with wildcard-types that have nested elements

Features

  • Enable monitoring capability (by default)
  • No longer display default-value configuration-warnings
  • Don't rename threads anymore
  • Add ability to move message 'stuck in processing' to Error state
  • Add option to omit XML declaration from the output of Json2XmlValidator
  • Allow Narayana to deal with 'stuck' Heuristic Hazard transactions

Frank!Framework Console

  • Make code editor resizable
  • Make log page scroll back to previous position when clicking back
  • Fix JEE authentication in console and ladybug
  • Fix duplicate server warning response
  • Fix errorstore issues when configuration doesnt have errors
  • Allow users to update websocket interval

Non backwards compatible changes

  • The SenderPipe no longer accepts a Listener, when using asynchronous messaging (sender/listener combination) please use the AsyncSenderWithListenerPipe instead. No other attributes need to be modified!
  • The default ldap-role-mapping.properties file and ldap.auth.<role name> properties have been removed as it was not always possible to overwrite this file. An example can be found at security/src/test/resources/oauth-role-mapping.properties. Users are encouraged to map roles to 'scopes' in their preferred oauth environment, the example file only verifies logging in.
  • Receiver configuration property maxDeliveries has been deprecated. Instead, configure maxRetries. For backwards compatibility, if you have configured maxDeliveries this will set maxRetries to the same value. See the Frank!Doc for these properties in the Receiver for more information.
  • Fix the exponential delay after errors in message processing. This feature has not worked for an unknown time. There might be potential problems with transactions having an unexpected timeout due to this increased delay, which could result in an unrecoverable error situation. For this reason the delay is maximum half of the configured transaction timeout duration. However, this might not always be sufficient for each process and the transaction timeout can not always be determined so please watch out for transaction timeout errors that might happen after a number of retries and see the next bullet point for remediation.
  • To avoid the above unexpected transaction timeouts, the maximum delay after errors has been made configurable. This can be configured for the whole configuration with the property receiver.defaultMaxBackoffDelay, or per receiver with the attribute maxBackoffDelay. The value is in seconds. The default is 100 seconds.

v8.0.6-20250305.000628 (nightly)

05 Mar 00:18
945314c
Compare
Choose a tag to compare
Pre-release

The Frank!Framework nightly (snapshot) build provides a daily compilation of the latest code changes and developments, allowing users to access cutting-edge features and updates before they are officially released.

Copy version

8.0.6-20250305.000628

Download instructions

Get the Webapp

Add it to the pom.xml:

<dependencies>
  <dependency>
    <groupId>org.frankframework</groupId>
    <artifactId>frankframework-webapp</artifactId>
    <version>8.0.6-20250305.000628</version>
  </dependency>
</dependencies>

<repositories>
  <repository>
    <id>frankframework</id>
    <name>Frank!Framework</name>
    <url>https://nexus.frankframework.org/content/repositories/public</url>
  </repository>
</repositories>

Or download it from Nexus

Get the Docker image

Pull the Docker image:

docker pull frankframework/frankframework:8.0.6-20250305.000628

Or visit the image on DockerHub