Releases · frankframework/frankframework

v9.4.2-20260404.013537 (nightly)

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

Download instructions

Get the Webapp

Add it to the pom.xml:

<dependencies>
  <dependency>
    <groupId>org.frankframework</groupId>
    <artifactId>frankframework-webapp</artifactId>
    <version>9.4.2-20260404.013537</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.4.2-20260404.013537

Or visit the image on DockerHub

v10.1.0-20260402.042330 (nightly)

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

Download instructions

Get the Webapp

Add it to the pom.xml:

<dependencies>
  <dependency>
    <groupId>org.frankframework</groupId>
    <artifactId>frankframework-webapp</artifactId>
    <version>10.1.0-20260402.042330</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:10.1.0-20260402.042330

Or visit the image on DockerHub

v9.3.3-20260325.033226 (nightly)

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

Download instructions

Get the Webapp

Add it to the pom.xml:

<dependencies>
  <dependency>
    <groupId>org.frankframework</groupId>
    <artifactId>frankframework-webapp</artifactId>
    <version>9.3.3-20260325.033226</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.3-20260325.033226

Or visit the image on DockerHub

v9.1.2-20260325.022421 (nightly)

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

Download instructions

Get the Webapp

Add it to the pom.xml:

<dependencies>
  <dependency>
    <groupId>org.frankframework</groupId>
    <artifactId>frankframework-webapp</artifactId>
    <version>9.1.2-20260325.022421</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.2-20260325.022421

Or visit the image on DockerHub

v9.0.5-20260401.170744 (nightly)

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

Download instructions

Get the Webapp

Add it to the pom.xml:

<dependencies>
  <dependency>
    <groupId>org.frankframework</groupId>
    <artifactId>frankframework-webapp</artifactId>
    <version>9.0.5-20260401.170744</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.5-20260401.170744

Or visit the image on DockerHub

v9.1.1

Full Changelog: v9.1.0...v9.1.1. See FF! Insights for all versions.

What's Changed

  • Make sure to pass the exception to the log and reformat the javadoc (#8806)
  • Allow JWT Token to omit "Bearer" when it is a non-standard header (#8820)
  • Fix adapter pipes & receivers disappearing after certain adapter updates (#8833)
  • Allow MQTT resources to be parsed from the resources.yml (#9033)
  • Fix GraalJS JavascriptEngine arguments (#9052)
  • Fix sender closing result that has also been referenced in SessionKeys (#9069)
  • Fix oauth flow in standalone app (#9087)
  • Add expiryScanner to either purge or move expired items (#9094)
  • Fix Message closed too early (#9122)
  • Handle numerical and boolean values in JSON better (#9160)
  • Fix Console error page & logging page on framework startup error (#9134)
  • Sort processing receivers statistics based on thread name (#9182)
  • Add sorting options in error store (#9214)
  • Deprecate the RestListener (#9498)

v9.0.4

Full Changelog: v9.0.3...v9.0.4. See FF! Insights for all versions.

What's Changed

  • Dependency bump to mitigate CVEs
  • Fix HttpSender validation errors that clientId is not set, when clientAlias is used instead (#9882)
  • Add an option to allow passing X-Forwarded headers to the application (#9955)
  • Make MessageContext lookup to HTTP headers case-insensitive (#10026)
  • Fix NPE in JdbcUtil SQL Parameter type matching (#10029)
  • Remove ContentEncoding header when it's not applicable (#10102)
  • Use Nimbus to validate OAuth Token flow (#10115)
  • Introduce recursionFilter and maxRecursion attributes in LdapFindGroupMembershipsPipe (#10162)
  • Fix NPE when calling setName on AsyncSenderWithListenerPipe (#10234)
  • Remove creation of non existing forwards for XmlSwitchPipe attributes (#10480)

v10.0.0

Full Changelog: v9.4.0...v10.0.0, see Milestone 10.0.0 for more info.

Highlights

Bumped dependencies 54 times
Improved documentation

Warning

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

Warning

The Ladybug package names have been changed, you need to fix your imports when using custom resources.

Warning

The minimal Java version has been bumped from 17 to 21.

Bugs

  • Fix NPE when calling setName (#10228)
  • Add enum support to getString() in PipeLineSession (#10240)
  • Fix configurations highlighting (#10251)
  • Fix exception handlers by setting ControllerAdvice basePackages (#10261)
  • Set default JMS connectionFactory form property after retrieving list from API (#10296)
  • Fix the various ladybug circular dependency problems (#10285)
  • Disable CORS for webservice endpoints (#10316)

Features

  • Upgrade to Spring 7 (#10218)
  • Update to JDK21 (#10235)
  • Angular to v21 (#10256)
  • Add support for Kubernetes v1.33 (#10418)
  • Remove jdbc and jms driver jar files from docker image (#10180)
  • Enable directory scanning in containers by default (#10227)
  • Rename Pipe emptyInputReplacement to defaultValue and improve Frank!Doc (#10221)
  • Extend BearerOnlyAuthenticator with option to fetch roles from userinfo endpoint (#10230)
  • Make IfPipe#defaultMediaType more dynamic, add type TEXT (#10258)
  • Add PKCE support for OAuth2 authentication flow (#10259)
  • Show warning when using JMS without a database (#10263)
  • Fix healthcheck functionality in Docker containers (#10270)
  • Make ExitState a system key. ENUMs in Session only when they're system-keys, otherwise store the name of the enum (#10280)
  • Allow custom code by default in docker images (#10308)
  • Change appender log pattern to use the normal exception format (#10313)
  • Authenticator role mapping should support comma seperated user roles (#10338)
  • Validate user authorities in bearer only flow (#10339)
  • Allow Enum types in Messages, fix cast of Message to Enum (#10279)
  • Fix CORS request pattern matching in authenticators (#10342)
  • Add support for import to DataSonnetPipe (#10340)
  • Add CredentialProvider to standalone console (#10343)
  • More thorough determination of JSON (#10379)
  • Minor cleanups and use claims from userinfo endpoint (#10378)

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.4.1

Patch Changelog: v9.4.0...v9.4.1 - Full Changelog: v9.3.0...v9.4.1, see Milestone 9.4.1 for more info.

Note

The Frank!Framework requires jakarta.activation-api to be on the classpath.

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.

Warning

The Ladybug package names have been changed, you need to fix your imports when using custom resources.

What's Changed

  • Fix NPE when calling setName on AsyncSenderWithListenerPipe (#10232)
  • Add enum support to Parameter patterns (#10242)
  • Fix role mapping with incorrect prefix (#10277)
  • Set default connectionFactory in Frank!Console jms forms (#10298)
  • Fix the Tibet2 ladybug circular dependency problem (#10315 + #10318)
  • Fix Convert to Larva button (#10386)
  • Fix CORS request pattern matching in authenticators (#10387)
  • Add Credential provider in standalone console (#10388)
  • Improve JSON mimetype determination (#10389)
  • Test pipe pre-conditions with non-string values in session and parameters (#10390)

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.3.2

Patch Changelog: v9.3.1...v9.3.2 - Full Changelog: v9.2.0...v9.3.2, see Milestone 9.3.2 for more info.

Note

The Frank!Framework requires jakarta.activation-api to be on the classpath.

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.

What's changed

  • Fix CommandSender output buffer overflowing (#9898)
  • Allow spaces in returnedSessionKey (#10071)
  • Make jsonPathPipe return the correct mimetype and fix toString (#10087)
  • Remove ContentEncoding header (#10104)
  • Use Nimbus to validate OAuth Token flow (#10116)
  • Fix some iffy parameter type converions (#10143)
  • NPE when calling setName on AsyncSenderWithListenerPipe (#10231)
  • Set default connectionFactory form property after retrieving list from API (#10299)
  • Fix the Tibet2 ladybug circular dependency problem (#10311)