Skip to content

v8.1.0-RC1

Pre-release
Pre-release
Compare
Choose a tag to compare
@nielsm5 nielsm5 released this 05 Apr 17:42
· 196 commits to master since this release

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. (see log4j4ibis.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
  • 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.