Releases: frankframework/frankframework
v8.2.0
Full Changelog: v8.1.0...v8.2.0, see Milestone 8.2.0 for more info.
Notice
- Some (deprecated) functionality has permanently been removed!
- Moved to Spring 6 and Spring Boot 3. Requires Jakarta package names and JDK 17.
- Changed default log level from DEBUG to INFO, for environments that are not configured with
dtap.stage
at value:ACC
orPRD
. These are by default on WARN level. - Packages names have been changed, though you should not need to change your configurations, it's advised to do it ASAP.
- We are now publishing our artifacts under our new
org.frankframework
groupid on Maven Central. - When using
log.HideRegex
you may need to unescape XML characters. (seelog4j4ibis.properties
.) - Parameter handling for types Node and DomDoc is namespace aware, starting from version 7.6. To remove namespaces, use set attribute removeNamespaces="true".
- FixedQuerySender allows duplicate parameter names ONLY if useNamedParams is explicitly set to false.
- CompressPipe pattern attributes have been deprecated, please use the appropriate parameters and resolve the pattern in there instead. The result has now also by default been changed to the file/zip-entry instead of a file location.
Highlights
Bugfixes
Performance enhancements
Code Quality improvements
Cleanup Technical Debt
Remove (some) deprecated configuration attributes
Security Updates
Upgrade to JDK 17 and add JDK21 runtime support
Improve documentation
What's Changed
- Remove BTM (#5488)
- Improve user facing error messages on Console's JDBC Executy Query page (#6624)
- Increase message persist to disk size (#6598)
- Allow custom headers in CMIS (#6620)
- Refactor and upgrade iDin (#6646)
- Fix human readable bytes calculation and unit (#6688)
- Fix getDestinationName exceptions when no connection is available (#6712)
- Allow non-jndi resources (#6689)
- Show warning on low free disk space (#6718)
- Add log statements to configuration stop method (#6715)
- Invalidate managed jms sessions instead of resetting them (#6734)
- Fix json conversion in RestListener (#6746)
- Upgrade to Spring 6 and to Jakarta namespaces (#6713)
- Remove IfMultipartPipe (#6788)
- Replace PrismJS with the Monaco Editor (#6754)
- Fix database validator log levels/statements (#6799)
- Deprecate the CompressPipe filepatterns (#6805)
- Make sure the 'root' folder of a file system is used (#6792)
- Update FixedResultPipe parameter syntax to avoid conflicting substitution (#6789)
- Reduce verbosity of toStringResult (#6818)
- Add MongoDB tests with TestContainers (#6822)
- Introduce new setting to explicitly create a root folder (#6831)
- Update Apache Tika (#6826)
- Add more FileSystem exits (#6740)
- Use a ParameterFactory to create parameters (#6835)
- Fix generated keys support for all databases (#6825)
- Add GraalJS as JavaScript engine (#6834)
- Add Hazelcast (#6849)
- Ensure all CXF endpoints are loaded as Servlet instead of a Filter (#6871)
- Fix case-sensitivity issue with Postgres & Liquibase (#6882)
- Introduce DateParameter (#6878)
- MessageStoreListener retains messages after error even when moveToMessageLog=false (#6880)
- Refactor console backend from JAX-RS to Spring-MVC (#6755)
- Remove MoveFilePipe (#6903)
- Fix exit-forward when exit was never explicitly defined (#6742)
- Allow empty message in Test a Pipeline (#6912)
- Test Mermaid fix for corner cases with Exits (#6928)
- Use Mermaid flows by default (#6946)
- Add CSRF handling to Spring MVC & Angular (#6925)
- Add Docker image for console (#6947)
- Improve Message closing (#6955)
- Make RestoredMovedElements streaming (#6945 + #7069)
- Return the directory when using a DirectoryClassLoader (#6974)
- Catch more Console API exceptions & Sanitize exception message in error page jsp (#6972)
- Replacer pipe should process messages in a streaming way (#6950)
- Add listing of folders feature in all Filesystems (#6983 + #7009)
- Add option to disable larva save button (#6997)
- Add custom file system attributes (#6988)
- Improve performance of hideRegex in logging (#7028)
- Change pace-js settings to work better with firefox (#7076)
- Fix switching from custom view to custom view (#7071)
- Add forRemoval and since attributes to Deprecated items (#7093 + #7105)
- Better handling of HideRegex in Adapter and MessageBrowser (#7099)
- Create boot app for console backend (#7101)
- Deprecate string based operations in FixedResultPipe and implement alternatives (#6987)
- Make Larva tests run in parallel (#7051)
- Display logout button in console when properly logged in (#7079 + #7121)
- Rename IbisActionJob to ActionJob (#7122)
- Improve readability of XmlIf (#7126)
Non backwards compatible changes
- Transaction Manager BTM is removed. Switch over to Narayana Transaction Manager.
- Only supports Tomcat 10.x or later. Tomcat 9.x or lower version, are no longer supported.
- FileSystemPipes and FileSystemSenders now have new forwards for
fileNotFound
,folderNotFound
,fileAlreadyExists
,folderAlreadyExists
. Some actions, such as removing a non-existing folder, were previously ignored but can now trigger one of these forwards. If such a forward is not defined, then the pipe or sender will go to theexception
forward or if that is not defined either, trigger an exception, which was previously ignored. Adding the specific exception forward and pointing it to the next pipe will solve this. - The
MoveFilePipe
was deprecated for a while and has been removed now. Please use theLocalFileSystemPipe
if you need to move a file. - In the FixedResultPipe, the deprecated
setUseOldSubstitutionStartDelimiter
has been removed. This enforced using the${..}
syntax, but now only the?{..}
is supported.
v8.2.0-20240711.042331 (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
8.2.0-20240711.042331
Download instructions
Get the Webapp
Add it to the pom.xml
:
<dependencies>
<dependency>
<groupId>org.frankframework</groupId>
<artifactId>frankframework-webapp</artifactId>
<version>8.2.0-20240711.042331</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:8.2.0-20240711.042331
v8.1.1-20240615.005005 (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
8.1.1-20240615.005005
Download instructions
Get the Webapp
Add it to the pom.xml
:
<dependencies>
<dependency>
<groupId>org.frankframework</groupId>
<artifactId>frankframework-webapp</artifactId>
<version>8.1.1-20240615.005005</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:8.1.1-20240615.005005
v8.0.3-20240604.000631 (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
8.0.3-20240604.000631
Download instructions
Get the Webapp
Add it to the pom.xml
:
<dependencies>
<dependency>
<groupId>org.frankframework</groupId>
<artifactId>frankframework-webapp</artifactId>
<version>8.0.3-20240604.000631</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:8.0.3-20240604.000631
v8.1.0
Patch Changelog: v8.1.0-RC1...v8.1.0 - Full Changelog: v8.0.0...v8.1.0, see Milestone 8.1.0 for more info.
Notice
- Some (deprecated) functionality has permanently been removed!
- Packages names have been changed, though you should not need to change your configurations, it's advised to do it ASAP.
- We are now publishing our artifacts under our new
org.frankframework
groupid on Maven Central. - When using
log.HideRegex
you may need to unescape XML characters. (seelog4j4ibis.properties
.) - Parameter handling for types Node and DomDoc is namespace aware, starting from version 7.6. To remove namespaces, use set attribute removeNamespaces="true".
- FixedQuerySender allows duplicate parameter names ONLY if useNamedParams is explicitly set to false.
- CompressPipe pattern attributes have been deprecated, please use the appropriate parameters and resolve the pattern in there instead. The result has now also by default been changed to the file/zip-entry instead of a file location.
Highlights
Bugfixes
Performance enhancements
Code Quality improvements
Cleanup Technical Debt
Remove (some) deprecated configuration attributes
Security Updates
Upgrade to JDK 17 and add JDK21 runtime support
Improve documentation
What's Changed
- AllowUrlEncodedSlash in IAF API endpoints (#6613)
- Improve user facing error messages on Console's JDBC Executy Query page (#6632)
- Allow custom headers in CMIS (#6635)
- Add JDBC error message (#6638)
- Change message persist to disk size (#6644)
- Register inbound http filter (#6665)
- Refactor iDinSender (#6667)
- Add resource locators (#6719)
- Invalidate managed jms sessions instead of resetting them (#6732)
- Fix object order (#6753)
- Fix json conversion in restlistener (#6759)
- Revert mariadb.driver.version to 2.7.10 because it fails with BTM (#6774)
- Close streams in Aspose (#6783)
- Deprecate IfMultipartPipe (#6786)
- Fix parameter substitution in FixedResultPipe (#6790)
- Deprecate the CompressPipe filepatterns (#6806)
- Fix getDestinationName exceptions when no datasource or connection is available (#6814)
- Reduce verbosity of toStringResult (#6819)
- Fix any-date parser (#6850)
Non backwards compatible changes
- Larva httpRequest parameter is no longer supported
- Json2XmlValidator input format session key prefix changed from "Json2XmlValidator.inputformat " to "Json2XmlValidator.inputFormat " (capital F)
- property xml.namespaceAware.default=true by default. When set to false, parsing is done via a DOM source, or namespaces are removed before XSLT transformations.
- IbisLocalSender no longer throws exceptions if exit.state="ERROR" situations, but provides forwardName 'exception'. The sessionKey 'originalResult' is no longer used.
- For sending replies from the JmsListener to a fixed destination the attribute 'replyDestinationName' should be used instead of a nested JmsSender, to avoid clutter in the debugger reports
- Session variable 'id' has been renamed 'mid', session variables 'messageId' and 'tcid' have been removed.
- Session variable 'exitcode' has been renamed to 'exitCode'.
- Duplicate detection might fail for messages received after an upgrade if the earlier version of the message was received before the upgrade.
This is in cases where a received (JMS) correlationId is used to send a response. - The ZipWriterPipe and ZipWriterSender have undergone major changes. In order to help the upgrading processes they both have a backwardsCompatibility attribute to revert to the old behavior. Please migrate away from this as soon as possible.
- The ZipWriterPipe with action=WRITE does no longer has its input as its response, but rather a null message. If necessary, the previous behavior can be obtained by setting preserveInput=true.
- The ZipWriterSender with no content parameter does no longer has its input as its response, but rather a null message.
- The ZipWriterPipe CLOSE action will now return the ZIP archive! It is no longer required to create a file first (with action OPEN) nor is it required to specify a filename on the OPEN action.
- Parameter with an attribute value set to an empty string will have the empty string as result. Previously the input message would be used. This behaviour can be reobtained by settin: defaultValueMethod="input".
- Larva context has changed from '/larva' to '/iaf/larva'.
- Larva default timeout has been decreased to 10s, and to 2s for local tests
- The CMIS, Aspose and AWS modules have been added to our webapp artifact. The servlet endpoints are disabled by default.
- In order to enable the CMIS endpoints either of the following properties must be set:
servlet.AtomPub10.enabled=true
,
servlet.AtomPub11.enabled=true
,
servlet.WebServices10.enabled=true
,
servlet.WebServices11.enabled=true
or
servlet.BrowserBinding.enabled=true
- In order to enable the CMIS endpoints either of the following properties must be set:
- Some API endpoints have been deprecated. Users are encouraged to change over to the new API, however in order to restore the deprecated functionality the property 'iaf-api.allowDeprecated' can be set to true.
- ApiListener eTag generation has been disabled by default, set api.etag.enabled=true to enable default etag generation.
- CleanupOldFilesPipe and UploadFilePipe have been removed.
v8.0.2
Patch Changelog: v8.0.1...v8.0.2 - Full Changelog: v7.9-RC1...v8.0.2, see Milestone 8.0.2 for more info.
Notice
- Some (deprecated) functionality has permanently been removed!
- Packages names have been changed, though you should not need to change your configurations, it's advised to do it ASAP.
- We are now publishing our artifacts under our new
org.frankframework
groupid on Maven Central. - When using
log.HideRegex
you may need to unescape XML characters. (seelog4j4ibis.properties
.) - Parameter handling for types Node and DomDoc is namespace aware, starting from version 7.6. To remove namespaces, use set attribute removeNamespaces="true".
- FixedQuerySender allows duplicate parameter names ONLY if useNamedParams is explicitly set to false.
Highlights
Bugfixes
Performance enhancements
Code Quality improvements
Cleanup Technical Debt
Remove (some) deprecated configuration attributes
Security Updates
Upgrade to JDK 11 and add JDK17 runtime support
Improve documentation
What's Changed
- Invalide managed jms sessions instead of resetting them (#6731)
- Revert mariadb.driver.version to 2.7.10 because it fails with BTM (#6773)
- Fix json conversion in restlistener (#6776)
- Close streams in Aspose (#6782)
- Deprecate IfMultipartPipe (#6785)
- Fix getDestinationName exceptions when no datasource or connection is available (#6812)
- Reduce verbosity of toStringResult (#6817)
- Fix for date parser (#6837)
Non backwards compatible changes
- Larva httpRequest parameter is no longer supported
- Json2XmlValidator input format session key prefix changed from "Json2XmlValidator.inputformat " to "Json2XmlValidator.inputFormat " (capital F)
- property xml.namespaceAware.default=true by default. When set to false, parsing is done via a DOM source, or namespaces are removed before XSLT transformations.
- IbisLocalSender no longer throws exceptions if exit.state="ERROR" situations, but provides forwardName 'exception'. The sessionKey 'originalResult' is no longer used.
- For sending replies from the JmsListener to a fixed destination the attribute 'replyDestinationName' should be used instead of a nested JmsSender, to avoid clutter in the debugger reports
- Session variable 'id' has been renamed 'mid', session variables 'messageId' and 'tcid' have been removed.
- Session variable 'exitcode' has been renamed to 'exitCode'.
- Duplicate detection might fail for messages received after an upgrade if the earlier version of the message was received before the upgrade.
This is in cases where a received (JMS) correlationId is used to send a response. - The ZipWriterPipe and ZipWriterSender have undergone major changes. In order to help the upgrading processes they both have a backwardsCompatibility attribute to revert to the old behavior. Please migrate away from this as soon as possible.
- The ZipWriterPipe with action=WRITE does no longer has its input as its response, but rather a null message. If necessary, the previous behavior can be obtained by setting preserveInput=true.
- The ZipWriterSender with no content parameter does no longer has its input as its response, but rather a null message.
- The ZipWriterPipe CLOSE action will now return the ZIP archive! It is no longer required to create a file first (with action OPEN) nor is it required to specify a filename on the OPEN action.
- Parameter with an attribute value set to an empty string will have the empty string as result. Previously the input message would be used. This behaviour can be reobtained by settin: defaultValueMethod="input".
- Larva context has changed from '/larva' to '/iaf/larva'.
- Larva default timeout has been decreased to 10s, and to 2s for local tests
- The CMIS, Aspose and AWS modules have been added to our webapp artifact. The servlet endpoints are disabled by default.
- In order to enable the CMIS endpoints either of the following properties must be set:
servlet.AtomPub10.enabled=true
,
servlet.AtomPub11.enabled=true
,
servlet.WebServices10.enabled=true
,
servlet.WebServices11.enabled=true
or
servlet.BrowserBinding.enabled=true
- In order to enable the CMIS endpoints either of the following properties must be set:
- Some API endpoints have been deprecated. Users are encouraged to change over to the new API, however in order to restore the deprecated functionality the property 'iaf-api.allowDeprecated' can be set to true.
- ApiListener eTag generation has been disabled by default, set api.etag.enabled=true to enable default etag generation.
- CleanupOldFilesPipe and UploadFilePipe have been removed.
v7.9.3
Patch Changelog: v7.9.2...v7.9.3 - Full Changelog: v7.8-RC1...v7.9.3, see Milestone 7.9.3 for more info.
Notice
- When using
log.HideRegex
you may need to unescape XML characters. (seelog4j4ibis.properties
.) - Parameter handling for types Node and DomDoc is namespace aware, starting from version 7.6. To remove namespaces, use set attribute removeNamespaces="true"
- FixedQuerySender allows duplicate parameter names ONLY if useNamedParams is explicitly set to false.
- CleanupOldFilesPipe has been deprecated to be removed in version 8.0
- When using CMIS, parameter userName has been renamed to username.
Highlights
Bugfixes
Performance enhancements
Security Updates
What's Changed
- Change CMIS warning when using userName parameter (#6623)
- Refactor and LCM iDinSender (#6672)
- Invalidate managed JMS sessions instead of resetting them (#6730)
- Fix json conversion in restlistener (#6775)
- Close streams in Aspose (#6781)
- Reduce verbosity of toStringResult (#6793)
Non backwards compatible changes
-
IbisLocalSender no longer throws exceptions if exit.state="ERROR" situations, but provides forwardName 'exception'. The sessionKey 'originalResult' is no longer used.
-
For sending replies from the JmsListener to a fixed destination the attribute 'replyDestinationName' should be used instead of a nested JmsSender, to avoid clutter in the debugger reports
-
Session variable 'id' has been renamed 'mid', session variables 'messageId' and 'tcid' have been removed.
-
Session variable 'exitcode' has been renamed to 'exitCode'.
-
Duplicate detection might fail for messages received after an upgrade if the earlier version of the message was received before the upgrade.
This is in cases where a received (JMS) correlationId is used to send a response. -
The ZipWriterPipe and ZipWriterSender have undergone major changes. In order to help the upgrading processes they both have a backwardsCompatibility attribute to revert to the old behavior. Please migrate away from this as soon as possible.
- The ZipWriterPipe with action=WRITE does no longer has its input as its response, but rather a null message. If necessary, the previous behavior can be obtained by setting preserveInput=true.
- The ZipWriterSender with no content parameter does no longer has its input as its response, but rather a null message.
- The ZipWriterPipe CLOSE action will now return the ZIP archive! It is no longer required to create a file first (with action OPEN) nor is it required to specify a filename on the OPEN action.
-
Parameter with an attribute value set to an empty string will have the empty string as result. Previously the input message would be used. This behaviour can be reobtained by settin: defaultValueMethod="input".
-
Larva context has changed from '/larva' to '/iaf/larva'.
-
Larva default timeout has been decreased to 10s, and to 2s for local tests
-
The CMIS, Aspose and AWS modules have been added to our webapp artifact. The servlet endpoints are disabled by default.
- In order to enable the CMIS endpoints either of the following properties must be set:
servlet.AtomPub10.enabled=true
,
servlet.AtomPub11.enabled=true
,
servlet.WebServices10.enabled=true
,
servlet.WebServices11.enabled=true
or
servlet.BrowserBinding.enabled=true
- In order to enable the CMIS endpoints either of the following properties must be set:
-
Some API endpoints have been deprecated. Users are encouraged to change over to the new API, however in order to restore the deprecated functionality the property 'iaf-api.allowDeprecated' can be set to true.
-
ApiListener eTag generation has been disabled by default, set api.etag.enabled=true to enable default etag generation.
v8.0.1
Patch Changelog: v8.0.0...v8.0.1 - Full Changelog: v7.9-RC1...v8.0.1, see Milestone 8.0.1 for more info.
Notice
- Some (deprecated) functionality has permanently been removed!
- Packages names have been changed, though you should not need to change your configurations, it's advised to do it ASAP.
- We are now publishing our artifacts under our new
org.frankframework
groupid on Maven Central. - When using
log.HideRegex
you may need to unescape XML characters. (seelog4j4ibis.properties
.) - Parameter handling for types Node and DomDoc is namespace aware, starting from version 7.6. To remove namespaces, use set attribute removeNamespaces="true".
- FixedQuerySender allows duplicate parameter names ONLY if useNamedParams is explicitly set to false.
Highlights
Bugfixes
Performance enhancements
Code Quality improvements
Cleanup Technical Debt
Remove (some) deprecated configuration attributes
Security Updates
Upgrade to JDK 11 and add JDK17 runtime support
Improve documentation
What's Changed
- SoapWrapper should try unwrapping with soap version 1.1 too (#6098)
- Remove SoapWrapperPipe warnings about configured SoapVersion (#6102)
- InputWrapper used to Wrap, should always specify a SoapVersion (#6163)
- Fix reading JMS BytesMessage data after extracting message properties (#6170)
- Do not close CMIS session before PipeLineSession closes (#6181)
- Make MermaidFlowGenerator more resilient to class loading errors (#6202)
- Fix async processing senders (#6232)
- Add Connection Validation and Pool configuration (#6233)
- Add ConnectionPool information to SecurityItems (#6171 + #6247)
- Make all FileSystems behave more consistent (#6252)
- Pad authAlias and sharedSecret parameter when jwtAllowWeakSecrets is true (#6265)
- Hide SMB logging by default (#6290)
- Make LogContextPipe not throw when it has an error during execution (#6299)
- Make query-timeout more consistently for all query senders (#6341)
- Improve SFTP implementation (#6343 + #6249)
- Rename jdbc minPoolSize to minIdle (#6346)
- Add ReconnectSenderWrapper (#6349 + #6433)
- Store message-context in ErrorStorage (#6352)
- Fix Oauth2 exception flow (#6404)
- Use provided charset when converting to InputSource (#6462)
- Fix duplicated messages in exception forwards (#6504)
- Use different defaults for Narayana JMS connection and session pools (#6500)
- Fix elementToMove preserve (#6533)
- Add log message when pipe is skipped (#6551)
- Remove CleanupOldFilesPipe and UploadFilePipe (#6592)
- AllowUrlEncodedSlash (#6612)
- Allow custom headers in CMISsenders (#6637)
- Register inbound http filter (#6664)
- Refactor iDinSender (#6668)
Non backwards compatible changes
- Larva httpRequest parameter is no longer supported
- Json2XmlValidator input format session key prefix changed from "Json2XmlValidator.inputformat " to "Json2XmlValidator.inputFormat " (capital F)
- property xml.namespaceAware.default=true by default. When set to false, parsing is done via a DOM source, or namespaces are removed before XSLT transformations.
- IbisLocalSender no longer throws exceptions if exit.state="ERROR" situations, but provides forwardName 'exception'. The sessionKey 'originalResult' is no longer used.
- For sending replies from the JmsListener to a fixed destination the attribute 'replyDestinationName' should be used instead of a nested JmsSender, to avoid clutter in the debugger reports
- Session variable 'id' has been renamed 'mid', session variables 'messageId' and 'tcid' have been removed.
- Session variable 'exitcode' has been renamed to 'exitCode'.
- Duplicate detection might fail for messages received after an upgrade if the earlier version of the message was received before the upgrade.
This is in cases where a received (JMS) correlationId is used to send a response. - The ZipWriterPipe and ZipWriterSender have undergone major changes. In order to help the upgrading processes they both have a backwardsCompatibility attribute to revert to the old behavior. Please migrate away from this as soon as possible.
- The ZipWriterPipe with action=WRITE does no longer has its input as its response, but rather a null message. If necessary, the previous behavior can be obtained by setting preserveInput=true.
- The ZipWriterSender with no content parameter does no longer has its input as its response, but rather a null message.
- The ZipWriterPipe CLOSE action will now return the ZIP archive! It is no longer required to create a file first (with action OPEN) nor is it required to specify a filename on the OPEN action.
- Parameter with an attribute value set to an empty string will have the empty string as result. Previously the input message would be used. This behaviour can be reobtained by settin: defaultValueMethod="input".
- Larva context has changed from '/larva' to '/iaf/larva'.
- Larva default timeout has been decreased to 10s, and to 2s for local tests
- The CMIS, Aspose and AWS modules have been added to our webapp artifact. The servlet endpoints are disabled by default.
- In order to enable the CMIS endpoints either of the following properties must be set:
servlet.AtomPub10.enabled=true
,
servlet.AtomPub11.enabled=true
,
servlet.WebServices10.enabled=true
,
servlet.WebServices11.enabled=true
or
servlet.BrowserBinding.enabled=true
- In order to enable the CMIS endpoints either of the following properties must be set:
- Some API endpoints have been deprecated. Users are encouraged to change over to the new API, however in order to restore the deprecated functionality the property 'iaf-api.allowDeprecated' can be set to true.
- ApiListener eTag generation has been disabled by default, set api.etag.enabled=true to enable default etag generation.
- CleanupOldFilesPipe and UploadFilePipe have been removed.
v7.9.2
Patch Changelog: v7.9.1...v7.9.2 - Full Changelog: v7.8-RC1...v7.9.2, see Milestone 7.9.2 for more info.
Notice
- When using
log.HideRegex
you may need to unescape XML characters. (seelog4j4ibis.properties
.) - Parameter handling for types Node and DomDoc is namespace aware, starting from version 7.6. To remove namespaces, use set attribute removeNamespaces="true"
- FixedQuerySender allows duplicate parameter names ONLY if useNamedParams is explicitly set to false.
- CleanupOldFilesPipe has been deprecated to be removed in version 8.0
- When using CMIS, parameter userName has been renamed to username.
Highlights
Bugfixes
Performance enhancements
Security Updates
What's Changed
- Use provided charset when converting to InputSource (#6357)
- Fix Ibisstore table columns & link to errorstorage (#6465)
- Use different defaults for Narayana JMS connection and session pools (#6501)
- Fix duplicated messages in exception forwards (#6497)
- Add feedback on JMS 'Send Message' success & fix TestServiceListener (#6520)
- Update vulnerable dependencies (#6515)
- Fix elementToMove when message goes to errorstorage (#6530)
- Add log message when pipe is skipped (#6550)
- Remove noise when message is stored in ErrorStorage (#6569)
- Deprecate 'CleanupOldFilesPipe' (#6577)
- Allow url encoded slash (#6611)
- Allow custom headers in CMIS (#6407)
Non backwards compatible changes
-
IbisLocalSender no longer throws exceptions if exit.state="ERROR" situations, but provides forwardName 'exception'. The sessionKey 'originalResult' is no longer used.
-
For sending replies from the JmsListener to a fixed destination the attribute 'replyDestinationName' should be used instead of a nested JmsSender, to avoid clutter in the debugger reports
-
Session variable 'id' has been renamed 'mid', session variables 'messageId' and 'tcid' have been removed.
-
Session variable 'exitcode' has been renamed to 'exitCode'.
-
Duplicate detection might fail for messages received after an upgrade if the earlier version of the message was received before the upgrade.
This is in cases where a received (JMS) correlationId is used to send a response. -
The ZipWriterPipe and ZipWriterSender have undergone major changes. In order to help the upgrading processes they both have a backwardsCompatibility attribute to revert to the old behavior. Please migrate away from this as soon as possible.
- The ZipWriterPipe with action=WRITE does no longer has its input as its response, but rather a null message. If necessary, the previous behavior can be obtained by setting preserveInput=true.
- The ZipWriterSender with no content parameter does no longer has its input as its response, but rather a null message.
- The ZipWriterPipe CLOSE action will now return the ZIP archive! It is no longer required to create a file first (with action OPEN) nor is it required to specify a filename on the OPEN action.
-
Parameter with an attribute value set to an empty string will have the empty string as result. Previously the input message would be used. This behaviour can be reobtained by settin: defaultValueMethod="input".
-
Larva context has changed from '/larva' to '/iaf/larva'.
-
Larva default timeout has been decreased to 10s, and to 2s for local tests
-
The CMIS, Aspose and AWS modules have been added to our webapp artifact. The servlet endpoints are disabled by default.
- In order to enable the CMIS endpoints either of the following properties must be set:
servlet.AtomPub10.enabled=true
,
servlet.AtomPub11.enabled=true
,
servlet.WebServices10.enabled=true
,
servlet.WebServices11.enabled=true
or
servlet.BrowserBinding.enabled=true
- In order to enable the CMIS endpoints either of the following properties must be set:
-
Some API endpoints have been deprecated. Users are encouraged to change over to the new API, however in order to restore the deprecated functionality the property 'iaf-api.allowDeprecated' can be set to true.
-
ApiListener eTag generation has been disabled by default, set api.etag.enabled=true to enable default etag generation.
v8.1.0-RC1
Full Changelog: v8.0.0...v8.1.0-RC1, see Milestone 8.1 for more info.
Notice
- Some (deprecated) functionality has permanently been removed!
- Packages names have been changed, though you should not need to change your configurations, it's advised to do it ASAP.
- We are now publishing our artifacts under our new
org.frankframework
groupid on Maven Central. - When using
log.HideRegex
you may need to unescape XML characters. (seelog4j4ibis.properties
.) - Parameter handling for types Node and DomDoc is namespace aware, starting from version 7.6. To remove namespaces, use set attribute removeNamespaces="true".
- FixedQuerySender allows duplicate parameter names ONLY if useNamedParams is explicitly set to false.
Highlights
Bugfixes
Performance enhancements
Code Quality improvements
Cleanup Technical Debt
Remove (some) deprecated configuration attributes
Security Updates
Upgrade to JDK 17 and add JDK21 runtime support
Improve documentation
What's Changed
- Remove leading comma in Access-Control-Allow-Methods response header (#6067)
- Check multiple roles with IsUserInRolePipe (#6080)
- Fix SoapWrapper should unwrap soap version 1.1 (#6092)
- Provide SSL support for MailSender (#6066)
- Increase max length of IBISCONFIG version column (#6023)
- Remove bogus SoapWrapperPipe warnings about configured SoapVersion (#6100)
- Restore forward name in ConfigurationException thrown by isUserInRolePipe (#6105)
- Support multiple methods for a single ApiListener (#6074)
- Close CMIS HTTP Client properly to avoid leaking threads (#6138 + #6180)
- Add notFoundForwardName attribute to GetPrincipalPipe (#6073)
- Add EscapePipe iterative escaping when using substringStart (#6077)
- Implement method HEAD in ApiListener (#6062)
- Add Connection Pool information (#6129)
- Fix reading JMS BytesMessage data after extracting message properties (#6176)
- Improve displaying duration of Larva tests (#6182)
- Always close Samba2FileSystem diskShare, sessions and client (#6185)
- Make all FileSystems behave more consistently (#6179)
- Make MermaidFlowGenerator more resilient to class loading errors (#6198 + #6218)
- Add StatusCode to BusExceptions (#6112)
- Rename timeOut attribute to timeout (#6211)
- Fix async processing of local-senders (#6213)
- Add Connection Validation and Pool configuration (#6212)
- Pad JwtPipe sharedSecret parameter when jwtAllowWeakSecrets is true (#6231)
- Hide SMB logging by default (#6289)
- Make LogContextPipe not throw errors when it has an error during execution (#6300)
- Fix JS engine exit error by releasing the handle to result(#6301)
- Replace FileViewerServlet for 'native bus' & api implementation (#6220)
- Make query-timeout more consistently for all query senders (#6342)
- Rename jdbc minPoolSize to minIdle (#6347)
- Add ReconnectSenderWrapper (#6338)
- Change compiler target to Java 17 and source to Java 11 (#6248)
- Store message-context in ErrorStorage (#6353)
- Reduce number of connections to JMS (#6369)
- Support multiple Credential factories (#6354)
- Load Testtool in custom Spring Context (#6367)
- Add default property for forceMessageIdAsCorrelationId on RR EsbJmsListeners (#6376)
- Rename TestTool to LarvaTool, to be more specific (#6378)
- Fix Oauth2 exception flow (#6395)
- Add FF API name and descriptions (#6403)
- Fix Javadoc generation for Java 21 (#6408)
- Pass "manual retry" flag to sub-adapter to bypass history-checking (#6410)
- Create new FileSystem module (#6416)
- Support Ladybug database storage (#6385)
- Remove unnecessary information from GrayBox view (#6371)
- Use provided charset when converting to InputSource (#6459)
- Fix log4j2 configuration (#6446)
- Metrics collector based on micrometer (#6396)
- Styling/styling convention refactor (#6472)
- Remove basic authentication support on ExchangeFileSystem (#6480)
- Display MailSender physical destination data (host, port, TLS) (#6488)
- Add ObfuscatePipe to Tibco module (#6484)
- Remove '/*' from single endpoint ApiListener in physicalDestinationName (#6481)
- Fix Test a Pipeline not reading zip entries in certain cases (#6486)
- Fix Shared HTTP resources using the same HTTP context (#6490)
- Fix duplicated messages in exception forwards (#6503)
- Fix elementToMove preserve when message is moved to the ErrorStorage (#6531)
- Add Kubernetes Module and CredentialFactory (#6521)
- Improve Liquibase logging to System.out (#6532)
- Only AOP when ladybug module is present (#6538)
- Differentiate between nothing written and empty data in Ladybug (#6537)
- Add Memcached authAlias property (#6539)
- Add log message when pipe is skipped (#6552)
- Fix add-opens classloading problem (#6561)
- Remove noise when message is stored in ErrorStorage (#6571)
- Remove CleanupOldFilesPipe and UploadFilePipe (#6576)
- Do not add the Content-Type header when it already exists (#6580)
- Add XML declaration feature on attribute omitXmlDeclaration (#6540)
- Always close all SMB resources (#6591)
Frank!Console changes
- Change adapter statistics & message store buttons to anchor tags (#6011)
- Truncate connections columns & click to copy (#6013)
- Improve pipes type & show slotid on status page (#6014)
- Fix security roles in security items (#6081)
- Fix wrong targetStates type breaking (error) message store in the console (#6132)
- Open configuration of an adapter from the adapter status (#6107)
- Add Log file sorting (#6120)
- Add Sticky sidebar in Console (#6146)
- Improve visibility of error message counters on status page (#6258)
- Add inline image generation for mermaid flows (#6321)
- Copy button for mermaid image (#6356)
- Update Angular to v17 (#6359)
- Display supported cyphers and protocols in Console (#6390)
- Fix IBISSTORE table columns (#6457)
- Fix log download & plain view (#6473)
- Add dynamic drop-down to faster select an adapter in Test a Pipeline (#6482)
- Selecting all messages will only select messages on screen (#6456)
- Show toast on adapter reload (#6513)
- Console iframe pages show pop out button (#6516)
- Add feedback on JMS 'Send Message' success & fix TestServiceListener (#6517)
- Add a role overview table (#6545)
- Truncate adapter name and descriptions in select form elements (#6160)
- Add a button to copy environment information (#6574)
- Remove the redundant source (GitHub) link in the sidebar (#6579)
- Fix browser not going back with back action on logging page (#6564)
Non backwards compatible changes
- Larva httpRequest parameter is no longer supported
- Json2XmlValidator input format session key prefix changed from "Json2XmlValidator.inputformat " to "Json2XmlValidator.inputFormat " (capital F)
- property xml.namespaceAware.default=true by default. When set to false, parsing is done via a DOM source, or namespaces are removed before XSLT transformations.
- IbisLocalSender no longer throws exceptions if exit.state="ERROR" situations, but provides forwardName 'exception'. The sessionKey 'originalResult' is no longer used.
- For sending replies from the JmsListener to a fixed destination the attribute 'replyDestinationName' should be used instead of a nested JmsSender, to avoid clutter in the debugger reports
- Session variable 'id' has been renamed 'mid', session variables 'messageId' and 'tcid' have been removed.
- Session variable 'exitcode' has been renamed to 'exitCode'.
- Duplicate detection might fail for messages received after an upgrade if the earlier version of the message was received before the upgrade.
This is in cases where a received (JMS) correlationId is used to send a response. - The ZipWriterPipe and ZipWriterSender have undergone major changes. In order to help the upgrading processes they both have a backwardsCompatibility attribute to revert to the old behavior. Please migrate away from this as soon as possible.
- The ZipWriterPipe with action=WRITE does no longer has its input as its response, but rather a null message. If necessary, the previous behavior can be obtained by setting preserveInput=true.
- The ZipWriterSender with no content parameter does no longer has its input as its response, but rather a null message.
- The ZipWriterPipe CLOSE action will now return the ZIP archive! It is no longer required to create a file first (with action OPEN) nor is it required to specify a filename on the OPEN action.
- Parameter with an attribute value set to an empty string will have the empty string as result. Previously the input message would be used. This behaviour can be reobtained by settin: defaultValueMethod="input".
- Larva context has changed from '/larva' to '/iaf/larva'.
- Larva default timeout has been decreased to 10s, and to 2s for local tests
- The CMIS, Aspose and AWS modules have been added to our webapp artifact. The servlet endpoints are disabled by default.
- In order to enable the CMIS endpoints either of the following properties must be set:
servlet.AtomPub10.enabled=true
,
servlet.AtomPub11.enabled=true
,
servlet.WebServices10.enabled=true
,
servlet.WebServices11.enabled=true
or
servlet.BrowserBinding.enabled=true
- In order to enable the CMIS endpoints either of the following properties must be set:
- Some API endpoints have been deprecated. Users are encouraged to change over to the new API, however in order to restore the deprecated functionality the property 'iaf-api.allowDeprecated' can be set to true.
- ApiListener eTag generation has been disabled by default, set api.etag.enabled=true to enable default etag generation.
- CleanupOldFilesPipe and UploadFilePipe have been removed.