Releases: frankframework/frankframework
v10.1.0-20260307.042328 (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
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>Get the Docker image
Pull the Docker image:
docker pull frankframework/frankframework:10.1.0-20260307.042328v9.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.4.1-20260204.012729 (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
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>Get the Docker image
Pull the Docker image:
docker pull frankframework/frankframework:9.4.1-20260204.012729v9.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)
v9.3.2-20260122.033239 (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
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>Get the Docker image
Pull the Docker image:
docker pull frankframework/frankframework:9.3.2-20260122.033239v9.4.0
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.lcrather 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)
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>Get the Docker image
Pull the Docker image:
docker pull frankframework/frankframework:9.1.1-20251227.022455v9.0.4-20251218.031135 (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
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>Get the Docker image
Pull the Docker image:
docker pull frankframework/frankframework:9.0.4-20251218.031135