Skip to content

Releases: frankframework/frankframework

v10.1.0-20260307.042328 (nightly)

07 Mar 05:33
0ada452

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

10.1.0-20260307.042328

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-20260307.042328</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-20260307.042328

Or visit the image on DockerHub

v9.0.4

04 Mar 09:58

Choose a tag to compare

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

10 Feb 16:59

Choose a tag to compare

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

05 Feb 12:12

Choose a tag to compare

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.4.1-20260204.012729 (nightly)

04 Feb 03:18
b9ef8c9

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

Download instructions

Get the Webapp

Add it to the pom.xml:

<dependencies>
  <dependency>
    <groupId>org.frankframework</groupId>
    <artifactId>frankframework-webapp</artifactId>
    <version>9.4.1-20260204.012729</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.1-20260204.012729

Or visit the image on DockerHub

v9.3.2

23 Jan 15:17

Choose a tag to compare

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)

v9.3.2-20260122.033239 (nightly)

22 Jan 04:47
01f10c6

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.2-20260122.033239

Download instructions

Get the Webapp

Add it to the pom.xml:

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

Or visit the image on DockerHub

v9.4.0

06 Jan 14:26

Choose a tag to compare

Full Changelog: v9.3.0...v9.4.0, see Milestone 9.4.0 for more info.

Highlights

Bumped dependencies 115 times
Improved documentation
(Structured) logging improvements

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.

Bugs

  • Close the SFTP session (#9803)
  • Fix the CredentialProvider and Kubernetes module (#9805)
  • Fix Locker expiryDate not working as expected (#9819)
  • Don't verify if target Adapter exists when it's in a different Configuration to prevent startup-order errors. (#9834)
  • Improve database performance by applying the DB param conversion to more databases (#9940)
  • Fix CommandSender output buffer overflowing (#9888)
  • Fix Global Forwards on Exceptions (#9838)
  • Fix overflow in navigation sidebar (#9956)
  • Fix race condition in XSD PreparseResult intialization (#9959)
  • Fix NPE in SQL param conversion (#10027)
  • Allow spaces in returnedSessionKey (#10062)
  • Update CSP header for monaco-editor (#10114)
  • Remove ContentEncoding header (#10113)
  • Use Nimbus to validate OAuth Token flow (#10117)
  • Remove charset from application/json mimetype (#10109)
  • ForEachChildElementPipe with IbisLocalSender - ReturnedSessionKeys - Session values closed prematurely (#10121 + #10124)
  • Fix skip-pipe should not store result in session key, should preserve original input (#10173)

Features

  • Add parameter-pattern principal (#9769 + #9781)
  • First version of expression evaluation (#9756)
  • Add alias to oauth2Authenticator (#9779)
  • Use expression to compute instance.name.lc rather than Java code (#9787)
  • Add wildcard for contextKey (#9777)
  • Add ConfigWarning element (#9788)
  • Enable the k8s module by default in the container image (#9797)
  • Parameter jsonPathExpression should not throw exception when no value found in input (#9814)
  • Make it possible to manage the lifecycle of plugins (#9825)
  • Throw (optional) exceptions when alias cannot be found (#9827)
  • Allow specifying unit of time for retention-time of a Locker (#9829)
  • Standalone Console API & user feedback improvements (#9847)
  • Ensure frontend resource is strictly under console path (#9780)
  • Introduce support for multi-valued role mapping for oauth (#9872)
  • Only show iframe when url returns succesful status (#9862)
  • Add validation that table name and all configured fields are valid (#9879)
  • Do not show Save button in Larva when saving is not possible (#9948)
  • Make access to HTTP headers case-insensitive (#10018)
  • Make Larva aware of the input data MimeType (#10028)
  • Add an option to allow passing X-Forwarded headers to the application (#10030)
  • Allow multiple stub4testtool xslts (#10058)
  • Make it possible to abort startup when no CredentialProviders are found (#10066)
  • Allow senders in DataSonnetPipe (#10056 + #10170)
  • Make jsonPathPipe return the correct mimetype and fix toString (#10086)
  • Change parameter types conversion (#10144 + #10137 + #10198)
  • Filter PipelinePart element and update XSD (#9867)
  • Introduce recursionFilter and maxRecursion attributes in LdapFindGroupMembershipsPipe (#10172)
  • Update the ladybug to use SpringMVC (#10167)
  • Reduce logging when bus endpoint doesn't return data (#10196)
  • Log warnings for invalid credential alias formats in credential factories (#10189)
  • Implement lax mode health check (#10206)

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-20251227.022455 (nightly)

27 Dec 02:51
b4358e1

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-20251227.022455

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-20251227.022455</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-20251227.022455

Or visit the image on DockerHub

v9.0.4-20251218.031135 (nightly)

18 Dec 03:33
fe8875e

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.4-20251218.031135

Download instructions

Get the Webapp

Add it to the pom.xml:

<dependencies>
  <dependency>
    <groupId>org.frankframework</groupId>
    <artifactId>frankframework-webapp</artifactId>
    <version>9.0.4-20251218.031135</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.4-20251218.031135

Or visit the image on DockerHub