Releases: ibissource/iaf
v7.8
Patch Changelog: v7.8-RC3...v7.8 - Full Changelog: v7.7...v7.8, see Milestone 7.8 for more info.
Highlights
Bugfixes
Performance enhancements
Security Updates
What's Changed
- Fix Http (Multipart-) Message content length (#4639)
- Fix AmazonS3Sender AuthAlias check (#4640)
- Add Narayana logger configurable through Log Settings page (#4641)
- Add blob attributes to ResultSetIteratingPipe (#4660)
- Attempt to recover BTM disk journal (#4659 + #4714)
- Don't pollute log file when Console cannot determine errorstore count (#4667)
- Create bean to validate database connectivity (#4673)
- Improve display of ConnectionFactory info (#4680)
- Fix stopping of adapters when receiver is in state EXCEPTION_STOPPING (#4686)
- Add more robust check if the cmis proxy servlet has been initialized (#4718)
- Auto output streaming defaults to 'off'. (#4728)
- Add isValid check to BTM pooled connections (#4727)
- Workaround for bug that manual retry does not extract msg from CSV row (#4741)
Non backwards compatible changes
- HttpSender no longer treats input message as parameters by default. For 7.7 compatibility, set attribute treatInputMessageAsParameters=true
- WebServiceListener does no longer (simultaneously) bind to the listener-name AND address attribute.
- 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.
- Parameter handling for types Node and DomDoc is namespace aware, starting from version 7.6. To remove namespaces, use set attribute removeNamespaces="true"
- Larva uses different correlationId in the format Test Tool correlation id(${counter}) for each scenario.
- To use files in ZipIteratorPipe and UnzipPipe the attribute processFile="true" must be set. Otherwise the data will not be interpreted as a filename, but as data.
- JsonPipe version 1 has been removed. Json to Xml conversion has slightly changed:
- null values are rendered as '' instead of 'null'
- default array element containers are '' instead of ''
- multidimensional arrays with scalar values are not flattened into one dimensional arrays any more
- MessageSendingPipe and descendants (like SenderPipe and ForEachChildElementPipe) no longer set presumedTimeOutInterval by default.
- 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 setting defaultValueMethod="input". - Larva context has changed from '/larva' to '/iaf/larva'.
- XsltPipe/Sender: Match on comment() and use of cdata-section-elements no longer work by default (set handleLexicalEvents to true to enable again, read Frank!Doc about NullPointerExceptions)
v7.7.6
Patch Changelog: v7.7.5...v7.7.6 - Full Changelog: 7.6-release...v7.7.6
Highlights
- Backport fix for spurious "SQL Injections" warning (#4370)
- Fix Tibet2 startup errors (#4228)
- Upgrade CXF (#4399)
- Add extra logging to timeout guards (#4376 + #4471 + #4544)
- Fix AppConstants doesn't use correct file encoding (#4483)
Non backwards compatible changes
- IbisTester is the only role that can execute test-a-pipeline
- ManageDatabase adapter has been disabled by default on ACC and PRD environments
- JsonPipe produces json without root element by default. The previous behaviour can be obtained by setting version="1"
- CompareStringPipe xml=true, now does an (actual) XML compare; ignoring attribute order and whitespaces.
- Remove Struts management console (including the IAF-WebControl Configuration)
- Server healthcheck at /iaf/api/server/health is now publicly accessible. It will return 200 when all adapters are up, 503 when one or more are stopped. Previously, 401 was returned in all cases when called unauthenticated
- Property references like ${property} in configuration files are now resolved after the XML is parsed, and should therefor no longer contain characters that are invalid in XML encoded as entities. So characters like '<', '>' and '"' should appear 'as is' in properties, not as '<', '>' and '"'.
- Etag generation for ApiListeners is not enabled anymore by default. If etag generation and handling is required, it can be enabled by setting updateEtag="true".
v7.8-RC3
Patch Changelog: v7.8-RC2...v7.8-RC3 - Full Changelog: v7.7...v7.8-RC3, see Milestone 7.8 for more info.
Highlights
Bugfixes
Performance enhancements
Security Updates
Generic fixes and improvements
- Improve IbisStore search performance (#3911)
- Move Larva + Ladybug to /iaf context (#4153 + #4203 + #4439)
- Fix receiver ThreadCount check in GUI (#4273)
- Improve Mariadb multi thread TableListener performance (#4551)
- Do backoff-delay after instead of before failed msg processing (#4550)
- AppConstants doesn't use correct file encoding (#4482)
- Fix suppression of deprecation and 'default attribute' warnings (#4365 + #4393)
- Add SHA256 and SHA512 algorithms to ChecksumPipe (#3968)
- Share WSDL definitions (#4139)
- Explicit fallback to external resource in XML EntityResolver (#4175)
- Fix local resource lookup when preparsing XSD's (#4461)
- Show exitState ERROR as error in Ladybug (#4221)
Transaction Manager related changes:
- Backport Narayana StatusRecordingTransactionManager (#3941)
- Reduce narayana jta transaction manager log clutter (#4101)
- Show driver specific ConnectionFactory details under BTM and Narayana (#4375)
- Make BTM connection pools configurable (#4484 + #4491)
- Backport Narayana pooling and default transaction timeouts (#4540)
- Warn for transacted JMS without Distributed Transaction Manager (#4042)
- Overridable external default for transaction manager type (#3946)
LogContext
- Rename MdcPipe to LogContextPipe (#4132)
- Always clear ThreadContext after processing, except in JavaListener (#4032)
- Clear ThreadContext at the end of ApiListenerServlet.service (#4335)
- Restore MDC export function (#4157)
- Add mid and cid to log context when retrieved (#4166)
- Add result to MessageLog in Receiver (#4150)
Api related changes:
- Change CacheControl header to only work when no-etag is present (#4301)
- Abort request when Content-Type does not match consumes (#4309)
- Return status 400 (instead of 500) for bad multipart requests (#4308)
- Fix urlmapping property and OpenApi spec endpoints (#4382)
Non backwards compatible changes
- HttpSender no longer treats input message as parameters by default. For 7.7 compatibility, set attribute treatInputMessageAsParameters=true
- WebServiceListener does no longer (simultaneously) bind to the listener-name AND address attribute.
- 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.
- Parameter handling for types Node and DomDoc is namespace aware, starting from version 7.6. To remove namespaces, use set attribute removeNamespaces="true"
- Larva uses different correlationId in the format Test Tool correlation id(${counter}) for each scenario.
- To use files in ZipIteratorPipe and UnzipPipe the attribute processFile="true" must be set. Otherwise the data will not be interpreted as a filename, but as data.
- JsonPipe version 1 has been removed. Json to Xml conversion has slightly changed:
- null values are rendered as '' instead of 'null'
- default array element containers are '' instead of ''
- multidimensional arrays with scalar values are not flattened into one dimensional arrays any more
- MessageSendingPipe and descendants (like SenderPipe and ForEachChildElementPipe) no longer set presumedTimeOutInterval by default.
v7.7.5
Patch Changelog: v7.7.4...v7.7.5 - Full Changelog: 7.6-release...v7.7.5
Highlights
- Improve IbisStore search performance (#3912)
- Fix MessageStoreListener browser (#3988)
- Bump Ladybug from 2.2-20220124.232559 to 2.3-20221102.162219 (#4016)
- Add JDBC info to the security items page (#4083)
- Fix error response when browsing TX messages (#4089)
Non backwards compatible changes
- IbisTester is the only role that can execute test-a-pipeline
- ManageDatabase adapter has been disabled by default on ACC and PRD environments
- JsonPipe produces json without root element by default. The previous behaviour can be obtained by setting version="1"
- CompareStringPipe xml=true, now does an (actual) XML compare; ignoring attribute order and whitespaces.
- Remove Struts management console (including the IAF-WebControl Configuration)
- Server healthcheck at /iaf/api/server/health is now publicly accessible. It will return 200 when all adapters are up, 503 when one or more are stopped. Previously, 401 was returned in all cases when called unauthenticated
- Property references like ${property} in configuration files are now resolved after the XML is parsed, and should therefor no longer contain characters that are invalid in XML encoded as entities. So characters like '<', '>' and '"' should appear 'as is' in properties, not as '<', '>' and '"'.
- Etag generation for ApiListeners is not enabled anymore by default. If etag generation and handling is required, it can be enabled by setting updateEtag="true".
v7.7.4
Patch Changelog: v7.7.3...v7.7.4 - Full Changelog: 7.6-release...v7.7.4
Highlights
- Fix checkForDuplicatesMethod CORRELATIONID (#3662)
- Configure Locker in Pipeline (#3656)
- Avoid cluttering CommentField for successfully processed messages (#3705)
- Improve CheckReloadJob robustness (#3701)
- set lastPollTimeFinished in finally clause (#3689)
- Write null to CommentField instead of empty string (#3710)
- Configurable KeyStore and TrustStore for Exchange MSALClientAdapter (#3697)
- Fix IteratorPipe.itemNoSessionKey (#3746)
- fix FileSystemMessageBrowser.containsMessageId (#3756)
- Introduce Parameter type Character (#3778)
- Avoid NPE in handling certain Exchange attachments (#3791)
- Normalize XML AtributeValues (#3808)
- Messageid and correlationid support for JdbcListeners (#3847)
- Fix security issues (#3854, #3898, #3896)
Non backwards compatible changes
- IbisTester is the only role that can execute test-a-pipeline
- ManageDatabase adapter has been disabled by default on ACC and PRD environments
- JsonPipe produces json without root element by default. The previous behaviour can be obtained by setting version="1"
- CompareStringPipe xml=true, now does an (actual) XML compare; ignoring attribute order and whitespaces.
- Remove Struts management console (including the IAF-WebControl Configuration)
- Server healthcheck at /iaf/api/server/health is now publicly accessible. It will return 200 when all adapters are up, 503 when one or more are stopped. Previously, 401 was returned in all cases when called unauthenticated
- Property references like ${property} in configuration files are now resolved after the XML is parsed, and should therefor no longer contain characters that are invalid in XML encoded as entities. So characters like '<', '>' and '"' should appear 'as is' in properties, not as '<', '>' and '"'.
- Etag generation for ApiListeners is not enabled anymore by default. If etag generation and handling is required, it can be enabled by setting updateEtag="true".
v7.8-RC2
Patch Changelog: v7.8-RC1...v7.8-RC2 - Full Changelog: v7.7...v7.8-RC2, see Milestone 7.8 for more info.
Highlights
Bugfixes
Performance enhancements
Security Updates
- Fix checkForDuplicatesMethod CORRELATIONID (#3661)
- Configure Locker in Pipeline (#3657)
- Configurable KeyStore and TrustStore for Exchange MSALClientAdapter (#3675)
- Avoid cluttering CommentField for successfully processed messages (#3704)
- Improve CheckReloadJob robustness (#3700)
- set lastPollTimeFinished in finally clause (#3688)
- Restore count of open Adapters and Receivers in heartbeat.log (#3681)
- Write null to CommentField instead of empty string (#3709)
- Increase number of processes for Oracle to prevent ORA-12519 (#3720)
- Autowire FileSystem components to enable Exchange to find its truststore (#3694)
- Avoid vulnerable Apache Commons Collections version (#3713)
- fix FileSystemMessageBrowser.containsMessageId (#3755)
- Fix IteratorPipe.itemNoSessionKey (#3744)
- Introduce Parameter type Character (#3777)
- Avoid NPE in handling certain Exchange attachments (#3790)
- Use status code from parent exception when available (#3792)
- Improve JdbcListener test robustness (#3809)
- Normalize XML AtributeValues (#3807)
- Messageid and correlationid support for JdbcListeners (#3846)
- Improve re-size inline image mechanism when converting emails to PDF (#3830)
- Improve JdbcListener tests robustness (#3824)
- Fix security issues (#3855)
- Enable to configure log4j from environment (#3869)
- LCM Jackson Databind (#3899)
- LCM Apache Commons Text (#3897)
- Only single line per message in message log by default (#3900)
Non backwards compatible changes
- HttpSender no longer treats input message as parameters by default. For 7.7 compatibility, set attribute treatInputMessageAsParameters=true
- WebServiceListener does no longer (simultaneously) bind to the listener-name AND address attribute.
- 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.
- Parameter handling for types Node and DomDoc is namespace aware, starting from version 7.6. To remove namespaces, use set attribute removeNamespaces="true"
- Larva uses different correlationId in the format Test Tool correlation id(${counter}) for each scenario.
- To use files in ZipIteratorPipe and UnzipPipe the attribute processFile="true" must be set. Otherwise the data will not be interpreted as a filename, but as data.
- JsonPipe version 1 has been removed. Json to Xml conversion has slightly changed:
- null values are rendered as '' instead of 'null'
- default array element containers are '' instead of ''
- multidimensional arrays with scalar values are not flattened into one dimensional arrays any more
- MessageSendingPipe and descendants (like SenderPipe and ForEachChildElementPipe) no longer set presumedTimeOutInterval by default.
v7.8-RC1
Full Changelog: v7.7...v7.8-RC1, see Milestone 7.8 for more info.
Highlights
LCM dependencies (where possible)
Generic bugfixes
Performance enhancements
- Add Message Context (#2746)
- MicroMeter based statistics collection (#2841)
- Add default Exit to PipeLine (#2851)
- Add MediaTypes and Diacritic detection to Messages (#2790)
- Fix framework util queries to be PostgreSQL compliant (#2888 + #2920)
- Add JSON compare to Larva (#2914)
- Display all entries of CredentialFactory at SecurityItems (#2883)
- Introduce connection overview page (#2929)
- Enable Narayana XA transaction management for PostgreSQL (#2949)
- Introduce inline store overview page (#2958)
- Refactor FlowGenerator and prepare for Mermaid flows (#3025 + #3084 + #3271)
- Implement simple MSAL for Exchange (#3055 + #3368)
- Catch all unhandled FF!API exceptions (#3090 + #3365)
- Convert servlets to startup without web.xml definitions (#3096)
- Use scenario specific correlationId in Larva (#3215)
- Avoid problematic sysids for XPath expressions (#3234)
- Refactor FixedResultPipe (#3181)
- Add attribute connectionTimeToLive to HttpSenders (#3253)
- Use build-in HTTP retry mechanism (#3281)
- Improve PipeForward handling (#3289)
- Support Base64 encoded attachments in WebServiceListener (#3313)
- Add WebContent folder option to serve web content through configurations (#3317)
- Bump Xerces-J from 2.12.1-xml-schema-1.1 to 2.12.2-xml-schema-1.1 (#3311)
- Include hashcode for message in logging (#3332 + #3342)
- Implement index checks for all DBMSes (#3326)
- Allow receiver to start from status EXCEPTION_STARTING/EXCEPTION_STOPPING (#3349 + #3367)
- Avoid ALL FILES execute permission exception when loading J2V8 (#3354)
- Support multiple SapListeners (#3369)
- Add WildFly docker images (#3315)
- Fix ShadowSender (#3379)
- Add xslt3 support as supported in Saxon HE version (#3130)
- Enable to view log files even when application did not start properly (#3384)
- Jakarta dependencies are used where possible, please check your dependency tree for duplicates after updating (#3405)
- Fix editing database CRON triggers (#3522)
- Fix default JDBC datasource as first selected entry (#3510)
- Show JDBC connections when not configured as JmsRealm (#3505)
- Only retry http entities when Message.isRepeatable (#3518)
- Add option to disable JMX (#3501)
- Allow XML to be parsed directly in Text2XmlPipe (#3532)
- Correct waiting for no messages in process (#3552)
- Fix MessageOutputStream transaction resume in child thread (#3561)
- Fix Xalan racecondition (NPEs) when using lexical handlers (#3563)
- Make MultipartXml message capable of being repeated (#3564)
- Allow senders to provide pipe-forward hints (#3556)
- Introduce Spring Security (#3580)
- Add JsonValidator (#3555)
- Disable Configuration name and version attributes (#3614)
- Disable presumedTimeOutInterval by default (#3644)
Non backwards compatible changes
- HttpSender no longer treats input message as parameters by default. For 7.7 compatibility, set attribute treatInputMessageAsParameters=true
- WebServiceListener does no longer (simultaneously) bind to the listener-name AND address attribute.
- 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.
- Parameter handling for types Node and DomDoc is namespace aware, starting from version 7.6. To remove namespaces, use set attribute removeNamespaces="true"
- Larva uses different correlationId in the format Test Tool correlation id(${counter}) for each scenario.
- To use files in ZipIteratorPipe and UnzipPipe the attribute processFile="true" must be set. Otherwise the data will not be interpreted as a filename, but as data.
- JsonPipe version 1 has been removed. Json to Xml conversion has slightly changed:
- null values are rendered as '' instead of 'null'
- default array element containers are '' instead of ''
- multidimensional arrays with scalar values are not flattened into one dimensional arrays any more
- MessageSendingPipe and descendants (like SenderPipe and ForEachChildElementPipe) no longer set presumedTimeOutInterval by default.
v7.7.3
Patch Changelog: v7.7.2...v7.7.3 - Full Changelog: 7.6-release...v7.7.3
Highlights
- Fix ApiListener updateEtag documentation (#3487)
- Fix editing database schedules (#3523)
- Fix receiver in error state not appearing as error in console (#3547)
- Backport Aspose external resource loading (#3544)
- Correct waiting for no messages in process (#3553)
- Allow XML to be parsed directly in Text2XmlPipe (#3558)
- Fix MessageOutputStream transaction resume in child thread (#3562)
- Fix resumeTransaction always being forced when tx sync is inactive (#3566)
- Avoid MessageOutputStream overwriting TransactionConnector.lastInThread (#3577)
- Implement writeLineSeparator and base64 for provideOutputStream (#3637)
Non backwards compatible changes
- IbisTester is the only role that can execute test-a-pipeline
- ManageDatabase adapter has been disabled by default on ACC and PRD environments
- JsonPipe produces json without root element by default. The previous behaviour can be obtained by setting version="1"
- CompareStringPipe xml=true, now does an (actual) XML compare; ignoring attribute order and whitespaces.
- Remove Struts management console (including the IAF-WebControl Configuration)
- Server healthcheck at /iaf/api/server/health is now publicly accessible. It will return 200 when all adapters are up, 503 when one or more are stopped. Previously, 401 was returned in all cases when called unauthenticated
- Property references like ${property} in configuration files are now resolved after the XML is parsed, and should therefor no longer contain characters that are invalid in XML encoded as entities. So characters like '<', '>' and '"' should appear 'as is' in properties, not as '<', '>' and '"'.
- Etag generation for ApiListeners is not enabled anymore by default. If etag generation and handling is required, it can be enabled by setting updateEtag="true".
v7.7.2
Patch Changelog: v7.7.1...v7.7.2 - Full Changelog: 7.6-release...v7.7.2
Highlights
- Avoid problematic sysids for XPath expressions (#3235)
- Avoid jco deprecation warning (#3273)
- Throw exception when file to read does not exist in fileSystems (#3269)
- Fix cache if statement already returning true (#3294)
- Maven CI friendly versions (#3261)
- Use transformer pool in FixedErrorMessageFormatter (#3297)
- Fix missing curly bracket (#3308)
- Allow receiver to start from status EXCEPTION_STOPPING (#3324)
- Support Base64 encoded attachments in WebServiceListener (#3321)
- Fix WebSphere test (#3331)
- Update was.policy (#3340)
- Allow receiver to start from status EXCEPTION_STARTING (#3350)
- Avoid WebServiceListener config warning for ManageDatabase (#3348)
- Avoid ALL FILES execute permission exception when loading J2V8 (#3357)
- Support multiple SapListeners (#3370)
- Fix Ladybug hidden parameter handling (#3373)
- Fix classic configured job configuration (#3360)
- Improve receiver restart robustness (#3378)
- Fix splitting requestUrl in openApi schema generation (#3347)
- Fix recover receivers in state EXCEPTION_STARTING (#3388)
- Explicit activation dependency for CMIS (#3397)
- Enable to view log files even when application failed to start (#3410)
- Fix handling of pattern {fixedDate} when parameter type is set (#3413)
- Plug custom HttpClient in MSAL for handling proxy settings (#3420)
- Uniform extraction of message text from browsed objects (#3447)
- Update FrankConfig xsds (7.7.2) by @gvanbrakel in #3440
- Deprecate IbisWebServiceSender (#3459)
- Fix adapter status in GUI and escape adapter + receiver names (#3462)
- Fix log warnings when JmsRealm not found (in JmsFacade) (#3469)
- Create Session in Receiver when necessary (#3481)
- Do not generate etags by default (#3483)
Non backwards compatible changes
- IbisTester is the only role that can execute test-a-pipeline
- ManageDatabase adapter has been disabled by default on ACC and PRD environments
- JsonPipe produces json without root element by default. The previous behaviour can be obtained by setting version="1"
- CompareStringPipe xml=true, now does an (actual) XML compare; ignoring attribute order and whitespaces.
- Remove Struts management console (including the IAF-WebControl Configuration)
- Server healthcheck at /iaf/api/server/health is now publicly accessible. It will return 200 when all adapters are up, 503 when one or more are stopped. Previously, 401 was returned in all cases when called unauthenticated
- Property references like ${property} in configuration files are now resolved after the XML is parsed, and should therefor no longer contain characters that are invalid in XML encoded as entities. So characters like '<', '>' and '"' should appear 'as is' in properties, not as '<', '>' and '"'.
- Etag generation for ApiListeners is not enabled anymore by default. If etag generation and handling is required, it can be enabled by setting updateEtag="true".
v7.6.5
Patch Changelog: v7.6.4...v7.6.5 - Full Changelog: 7.5-release...v7.6.5
Highlights
- Add Message serialization compatibility test (#3001)
- Use message while retrieving formBodyPart (#3000)
- Fix ExchangeMailListener problems (#2911)
- Fix XmlSwitch namespace unaware support (#3170)
- Fix message log page navigation and total message count (#3275)
- Fix missing curly bracket (#3309)
- Fix handling of pattern {fixedDate} when parameter type is set (#3414)
Non backwards compatible changes
- IbisTester is the only role that can execute test-a-pipeline
- ManageDatabase adapter has been disabled by default on ACC and PRD environments
- JsonPipe produces json without root element by default. The previous behaviour can be obtained by setting version="1"
- CompareStringPipe xml=true, now does an (actual) XML compare; ignoring attribute order and whitespaces.
- Remove Struts management console (including the IAF-WebControl Configuration)
- Server healthcheck at /iaf/api/server/health is now publicly accessible. It will return 200 when all adapters are up, 503 when one or more are stopped. Previously, 401 was returned in all cases when called unauthenticated
- Property references like ${property} in configuration files are now resolved after the XML is parsed, and should therefor no longer contain characters that are invalid in XML encoded as entities. So characters like '<', '>' and '"' should appear 'as is' in properties, not as '<', '>' and '"'.