Prowide Integrator SDK - CHANGELOG
9.6.7 - December 2025
- (PW-2967) Updated Scheme MT514, added missing letter option D
- (PW-2968) Updated Scheme MT586, fixed letter option typo
- Feat: Updated Schemes MT304 and MT306
9.6.6 - November 2025
- Feat: Updated Schemes MT103_STP, MT205COV and MT5**
- Updated Scheme MT103_STP to fix missing Semantic rule C44
- (PW-2842) Added debug logging for LAU signing and verification operations
- (PW-2838) Added service setter in AbstractDataPDU to allow runtime configuration of SWIFT service identifier
- (PW-2838) Changed default SWIFT service identifier from swift.fin/swift.eni!x to swift.finplus!xpf for broader compatibility
- Fix: Fixed the MtPath NPE when the msg attachment is null
- Feat: Added
removeChildmethod to XmlNode to remove a child node from the children list - Feat: Added
findAllmethod to XmlNode as an alias to find() for more intuitive API - (PW-2798) Updated the MT031, MT081, MT920, MT942 scheme structures
- (PW-2798) Updated the PrintoutSchemaGen logic regarding scheme changes
9.6.5 - October 2025
- Feat: Generic Business Service XSD schema registry support in MX model
- (PW-2758) Updated SRU2025 MT xsd library with enriched version of schemas including documentation labels
- Added XSD schemas library for the ISO Accelerator Pack (IAP) 1.3 2025 release
- Feat: Revamped the ISO 2002 external code sets processing for better performance and reduced memory footprint
9.6.4 - September 2025
- Added XSD schemas library for the ISO Accelerator Pack (IAP) 1.2 2024 release
- (PW-2658) Fixing NPE for SchemeMatcher when the MT message payload structure is malformed
9.6.3 - August 2025
- (PW-2613) Adding test for Field70 codeword splitting logic to allow / as trailing chars
- Feat: Added extra
FieldTypeoptions when passing field components data to the expanded printoutPrintoutVisitorinterface - (PW-2620) Updated Schemes MT541 and MT566 to fix missing options and qualifiers
- (PW-2505) Feat: Added the
senderInputTimeandreceiverOutputTimeto the expanded printout XML format and to theXmlPrintoutToSwiftMessageTransformerlogic
9.6.2 - July 2025
- (PW-2505) Feat: Added the
PrintoutSchemaGento generate schemas (XSD) for each MT, for the expanded printout XML format - (PW-2505) Feat: Added the
XmlPrintoutToSwiftMessageTransformerto convert the expanded printout XML format back into aSwiftMessage - Feat: Added support for versions 2.0.12, 2.0.15 and 2.0.16 of the SAA DataPDU wrapper parser and writer
- (PW-2519) Fixed the ISO 20022 external code set utils, that was breaking some schemas for CBPR+
- The ISO 20022 external code set schema moved from the Prowide Integrator Validation jar to this SDK jar
- Updated the 'ExternalCodeSets.xsd' and 'ExternalCodeSets.json' schema to the 1Q2025 version
- Updated Scheme MT537 to fix field 24B adding qualifier RETR
- Fixed the MX path validator to allow path expressions with namespace prefixes
9.6.1 - June 2025
- (PW-2509) Added a lenient fallback option when loading the ExternalCodeSetUtils from JSON file in classpath
- (PW-2464) Change the MX path validator to be lenient when the path expression contains a trailing slash
- Updated Scheme MT537 to fix field 24B adding qualifier RETR
- Fixed the MX path validator to allow path expressions with namespace prefixes
- Added XSD schema generation for XML expanded printout
9.6.0 - June 2025
- SWIFT Standard release update 2025 (live 21 November 2025)
- Yearly revision of deprecation phase (see https://dev.prowidesoftware.com/latest/getting-started/deprecation/)
- Feat:
ExternalCodeSetUtils#getCodes(type)to retrieve ISO 20022 external code sets values for any given type, such as 'ExternalClearingSystemIdentification1Code'
9.5.20 - May 2025
- (PW-2444) Added missing codeword
CDFIin MT564 and MT566
9.5.19 - April 2025
- Updated Scheme MT537 to fix field 97D replacing qualifier DITU with BCAW
- Avoid stack trace error reporting when creating path validator for xsys messages
9.5.18 - April 2025
- Updated Scheme MT920 to fix duplicated 34F
9.5.17 - April 2025
- (PW-2339) Fixed CashClearingSystemCodeUtils logic for null Clearing System Code cases
9.5.16 - April 2025
- Added new CashClearingSystemCodeUtils to extract the Clearing System Code from raw xml MX message
9.5.15 - March 2025
- (PW-2279) Enhanced LAU support for DataPDU messages that contain tags without a namespace prefix (e.g.,
... ). - (PW-2271) Enhanced the MT expanded printout to include user header (block 3) fields 103, 111, 113, 119 and 423
- (PW-2277) Updated javadoc and MkDocs documentation
9.5.14 - February 2025
- XPath and XmlNode: Added support find inner paths (e.g., //B/C) in XML content
9.5.13 - January 2025
- Added new XmlNode methods to delete and clone a node or clone an attribute
9.5.12 - December 2024
- Updated Schemes MT502/513/514/540/541/542/544/545/546/547 to fix field 90A
9.5.11 - November 2024
- Added new XPathSegment PREDICATE_TYPE and logic to allow filtering by the value of a component in the predicate
9.5.10 - October 2024
- XmlGenerationType class now is public for internal use.
9.5.9 - September 2024
- (PW-2012) Fixed scheme for MT306: Field29a validation issue in SRU2024
- (PW-2010) Added missing MxTypes and MxXsdRegistry classes for SRU2024 release
9.5.8 - September 2024
- (PW-2010) Added missing XSD schemas for SRU2024 release
9.5.7 - September 2024
- (PW-1972) Add support in the
MtPathevaluation to combination of :parent axis with Loop sequences
9.5.6 - August 2024
- Update org.apache.santuario:xmlsec to version 3.0.4 to fix CVE-2023-44483
- (PW-1928) Change org.apache.derby:derby and org.apache.santuario:xmlsec dependencies to optional in the distribution pom.xml
9.5.5 - August 2024
- (PW-1968) Add support in
Block4Xmlto process the NOTAG elements (fields copied from original message in n92, n95 and n96)
9.5.4 - August 2024
- (PW-1976) Fixed
Block4Xmlfor field 39F (used in MT760)
9.5.3 - August 2024
- (PW-1967) Fixed
Block4Xmlfor field 77B that requires a particular structure when used in MT734
9.5.2 - July 2024
- (PW-1945) Minor enhancement in the DataPDU TransmissionReport parsing to trim/pad the ACK sequence and session numbers if necessary
- (PW-1944) Updated the internal MT schemas to include documentation labels
- (PW-1938) Fix Block4Xml for field 78D to handle it as a Narrative with Lines (used in MT720).
9.5.1 - June 2024
- MT SchemeXmlWriter: make description and release optional
- Minor NPE prevention in MtPath when querying a message without block 4
9.5.0 - May 2024
- SWIFT Standard release update 2024 (live 16 November 2024)
- Yearly revision of deprecation phase (see https://dev.prowidesoftware.com/SRU2024/getting-started/deprecation/)
- Updated dependency: commons-lang3 -> 3.14.0
- Updated dependency: commons-text -> 1.11.0
- Updated dependency: gson -> 2.11.0
- Updated dependency: xmlsec -> 3.0.3
9.4.25 - May 2024
- (PW-1868) Added a
DataPDUWriterFactoryto create specific versions of the writer instance based on theRevisionelement in the XML - (PW-1870) Added new method to MxPrintoutVisitor in order to allow printing the MX path for a given element
9.4.24 - April 2024
- (PW-1844) Enhanced the DataPDUWriter to propagate the original Document namespace when not strictly ISO-20022 (for example SIC)
9.4.23 - April 2024
- (PW-1836) Fixed scheme for MT 537, enabling repetitions of sequence C2a
9.4.22 - April 2024
- (PW-1816) Added XmlNode support for default namespaces
9.4.21 - March 2024
- (PW-1810) Added changes to allow removing AppHdr and Document namespaces prefixes when creating a DataPDU XML
9.4.20 - March 2024
- (PW-1755) Fix Block4Xml for field 37K to handle the special "PCT" (percentage) in the currency field (used in MT305)
- (PW-1697) Fix Block4Xml for fields 29O and 37K, affecting MT306 structure validation
- Added method findAllContainingValue in XmlNode class
9.4.19 - February 2024
- Updated the SchemeMatcherQualifier report logic to provide Code word errors information
9.4.18 - January 2024
- (PW-1743) Remove usage of deprecated SafeXMLUtils methods
9.4.17 - January 2024
- (PW-1739) Fixed field 23 expanded printout in order to match specification for MT102/MT103/MT305/MT601
- Added method findFirstByValue in XmlNode class
9.4.16 - January 2024
- (PW-1734) Fixed schemes for MT503/504/506/507/510,517/538/541/567/575. Converted optional subsequences to mandatory
9.4.15 - December 2023
- (PW-1732) Fixed scheme for MT543: sequence E3 Amounts is mandatory
9.4.14 - December 2023
- (PW-1718) Fixed fields 50F and 59F expanded printout missing components
- Added Xsd Path Generator in order to generate all valid paths from a XSD element
- Added XsdPath validation classes: AppHdrPathValidator, MxPathValidator, and XsdPathValidator interface.
9.4.13 - December 2023
- (PW-1718) Fixed the TXT expanded printout for fields 50 and 59 that was missing some components
9.4.12 - November 2023
- (PW-1697) Fixed scheme for MT306
9.4.11 - November 2023
- (PW-1688) Updated the pw_mt_info properties with labels and descriptions from the SRU2023 changes
- (PW-1675) Updated Scheme 765 adding new semantic check for field 31R
9.4.10 - October 2023
- (PW-1639) Added options in the LAU signing and verification processing parameters to support latest version of SWIFT Alliance Lite
9.4.9 - October 2023
- (PW-1667) Updated Scheme 671 schema to fix field 95
9.4.8 - October 2023
- (PW-1664) Updated MT543 schema to fix field 36[B,D] PAIR/TURN position within LINK subsequence
9.4.7 - October 2023
- Added JSON file format support in the
AbstractSwiftMessageFactoryto automatically detect the JSON structure and parse it into an MT or MX message - Added missing versions to the AbstractDataPDU generic parse
9.4.6 - September 2023
- (PW-1612) Fixed
Block4Xmlserialization of field 72 in MT102_STP and MT103_STP tht was producing a non XSD compatible structure - (PW-1605) Fixed the
SwiftMessageFactory#toggleDirectionto use 24-hour time format in the Block2 Output
9.4.5 - September 2023
- (PW-1594) Fixed invalid qualifier in MT543 scheme; qualifier MFKT -> MRKT in sequence B1
9.4.4 - September 2023
- (PW-1578) Updated schemes 710, 720 to fix a bug introduced in 9.4.1
- (PW-1449) Added support for version 2.0.14 of the SAA DataPDU wrapper
- (PW-1118) Added support in
MtPathextract content fromBlock3given an existingMtPathResultas parameter
9.4.3 - July 2023
- (PW-1423) Added a RitsMessageIdentifierGenerator helper class to generate RITS MX message identifiers
9.4.2 - June 2023
- (PW-1369) Added a property to the TxtPrintoutVisitor to opt out printing the label for the components within a field
- (PW-1369) Added an includeComponentLabel boolean to the MTInfo#fieldValue method to opt out printing the label for the components within a field
- (PW-1369) Added an onField method to the PrintoutVisitor interface to customize how field components are split and printed
- Changed the MtPathExpression to support variables in predicates, such as A[2]/B[{n}]/B1[3]/23A[{m}]/Line[{o}]
9.4.1 - June 2023
- Fixed MT schemes fo MT537
- Fixed MT schemes fo MT710 and MT720
9.4.0 - May 2023
- SWIFT Standard release update 2023 (live 19 November 2023)
- Yearly revision of deprecation phase (see https://dev.prowidesoftware.com/SRU2022/getting-started/deprecation/)
9.3.23 - April 2023
- (PW-1350) Added 2 MxWriteParams vars to XmlV2Configuration in order to allow custom setting of AppHdr and Document namespaces prefixes when creating a DataPDU XML
9.3.22 - April 2023
- (PW-1348) Added a IBICDirectory setter to the MTInfo to customize the directory used when doing expanded printout of BIC codes
9.3.21 - March 2023
- (PW-1239) Further enhanced the PrintoutWriter to resolve the labels of the MT798 proprietary fields, for any recognized sub-message type
- Changed the MTInfo.fieldValue to use the same implementation as the PrintoutWriter, which is more complete and produces a better result
9.3.20 - March 2023
- (PW-1239) Enhanced the PrintoutWriter to resolve the labels of the MT798_700 proprietary fields
9.3.19 - March 2023
- (PW-1195) Revert charset to system default value instead of fixed UTF-8 in: XmlNode, DataPDU, MxPrintoutWriter and LAU
9.3.18 - March 2023
- Fixed MtPath log verbosity when querying fields with wildcard letter option, such as 93a
- Re-enabled the BIC query tool command line to check the integrator data jar file contains the imported data
9.3.17 - February 2023
- Minor javadoc fixes
9.3.16 - February 2023
- (PW-1168) Added message model for the MT SCORE subtypes 723/733/737/751/758/776/780/782/731/736/748/753/755/757/771/773
9.3.15 - February 2023
- Prowide Core dependency update
9.3.14 - January 2023
- (PW-1149) Added UETR to the MT expanded printout, and fixed indentation when printing multiline fields in TXT format
9.3.13 - December 2022
- Removed the deprecated "eval" JS expressions from the MT schemes, in favor of the new "qualifierValidation" structure
9.3.12 - November 2022
- (GH-63) Added message type versions in categories: acmt, admi, auth, caaa, camt, catm, fxtr, pacs, reda, seev, semt, sese, setr, supl and trck
- Added new business process and messages for: caad, cafc, cain, casp
9.3.11 - November 2022
- (PW-1109) Fixed BLock4Xml for narrative container fields having a codeword without any narrative text
- Added DataPDU model for versions 2.0.1, 2.0.2, 2.0.3, 2.0.4, 2.0.5, 2.0.6, 2.0.8, 2.0.9 and 2.0.10
- Deprecated the SdkConfiguration in favor of localized configuration API in each module/feature
- Fixed the embedded BIC directory connection handling, with automatic reopening after a closed connection
9.3.10 - November 2022
- Updated Apache Commons Text dependency to 1.10 to fix reported CVE
- (PW-1101) Fixed field 35C unmarshalling in XmlBlock4
- (PW-1086) Fixed field 36D unmarshalling in XmlBlock4
- (PW-1085) Moved the custom BIC directory implementation setter from the SDK singleton configuration to the PrintoutWriter constructor
9.3.9 - October 2022
- (PW-1082) Added support for cached JaxbContext in the DataPDU parsing to achieve better performance
9.3.8 - October 2022
- Added a StringSchemaProvider that can be used to provide a schema from a String when using the Mx API
9.3.7 - September 2022
- (PW-1058) Fix SCORE 798<767> and 798<775> B2C - field 21 is optional
- (PW-1048) Added options in the SwiftMessageFactory to create an ACK from an MX message
9.3.6 - September 2022
- (GH-119) MT566: Fixed repetitions of sequence USECU/FIA that is not repetitive
- Minor fix in MT internal schemes, added some missing "rules" reference attributes
9.3.5 - August 2022
- MT schemes refactor to decommission the need for the Rhino dependency when validating MT message structure
9.3.4 - August 2022
- (PW-1010) Added helper API MtSanitizer to fix MT content charset, start of line characters and certain missing components
- (PW-1015) Added field validation for fields 47E, 49D and 49F (required in SCORE MT798_774)
- (PW-922) MxPrintout: Added support for xsys message types
- SchemeXmlWriter/Reader fixed and refactored
9.3.3 - August 2022
- (PW-922) Added a fallback option to the MX printout writer to handle unknown message types
9.3.2 - July 2022
- (PW-977) Fixed MT scheme 203 with inner loops instead of formal sequences
- (PW-969) fixes to xml converters for fields 12E, 12K and 12R
- (PW-895) Fixed Block4Xml to properly name anonymous sequences (LoopN)
- (PW-894) Fixed MT scheme 203 with inner loops instead of formal sequences
- (PW-873) Added a new MxPrintoutWriter to generate a human-friendly view of MX messages in plain text
- (PW-873) Added the MxLabelInfo helper class to retrieve business labels for MX message elements
- Split MxType into enumeration per category to deal with compiler class size limitations
- Added internal loops API to MTs: 110, 201, 203, 210, 410, 412, 420, 422, 450, 456, 604, 605, 801, 920, 973
- Added support for Loop selectors in MtPath, example: Loop1/58A/1
- MtType: added a method to retrieve the MtId equivalent
- MtType: enhanced the enum to implement the SchemaProvider interface, and thus return XSD schemas for MTs
- Added PathSchemaProvider helper class to read the schemas from a file path
- Added missing schemas for new versions of MX messages
9.3.1 - May 2022
- Fixed packaging
9.3.0 - May 2022
- SWIFT Standard release update 2022 (live 20 November 2022)
- Yearly revision of deprecation phase (see http://www.prowidesoftware.com/resources/deprecation-policy)
- Updated gson dependency to 2.9.0
9.2.21 - May 2022
- (PW-923) Updated org.apache.santuario:xmlsec dependency to 2.3.1 (only used in LAU signing) to fix CVE-2022-23437
- (PW-813) Internal enhancement to fix CVE
- Deprecation API review
9.2.20 - May 2022
- Fixed security vulnerabilities for XML to MT Block4 parser
9.2.19 - April 2022
- Fixed MT LAU sign/verify when an ACK + Msg is received
9.2.18 - April 2022
- Internal schema compress to reduce jar size
- (PW-877) Added XmlBlock4; XML to MT Block4 conversion, with an XML structure compatible with the XSD for FIN by SWIFT
- Fixes to Block4ToXml
- (PW-810) Fix un LAU signing and verifying algorithm
9.2.17 - March 2022
- (PW-877) Fixed exception in Block4Xml when not using Apache xalan
9.2.16 - March 2022
- (PW-871) Fixed Block4ToXml for field 46B
- Added @attach feature to the MtPath, specially suited to retrieve content from the original message attached to an ACK/NAK
9.2.15 - March 2022
- Added implementation for version 2.0.11 and 2.0.13 of the SAA DataPDU wrapper
- Added support for multiple versions of the SAA DataPDU wrapper
9.2.14 - February 2022
- (PW-829) In the MT text expanded printout, line feeds are now system dependant
9.2.13 - January 2022
- (PW-833) Fixed mandatory field 77E in MTn98 scheme
9.2.12 - January 2022
- (PW-819-820) Fixed scheme for SCORE message MT798_760
- NPE prevention in SwiftMessageFactory#toggleDirection
9.2.11 - January 2022
- MT530: Fixed repetition of sequence C ADDINFO
- Updated dependency: gson:2.8.8 -> gson:2.8.9
9.2.10 - December 2021
- Added Block4Xml; a new converter from MT Block4 into the XML structure compatible with the XSD for FIN by SWIFT
- Added com.prowidesoftware.integrator.sdk as automatic module name in the MANIFEST for JPMS support
- (PW-785) Added the original sent message content in the expanded printout of service 21 messages (ACK/NAK)
9.2.9 - November 2021
- Fixed MT509 scheme: letter options in B/98a
9.2.8 - October 2021
- (PW-750) Fixed MT527 scheme, invalid 94L qualifiers
- (CR-23) Added MOR to the expanded printout of for inbound MT messages
- (PW-749) Updated dependency: org.apache.santuario:xmlsec -> 2.2.3 to fix vulnerability (only used in XML v2 features)
- Updated dependency: Apache Commons Lang 3.8.1 -> 3.12.0
- Updated dependency: Apache Commons Text 1.6 -> 1.9
- Updated dependency: Gson 2.8.2 -> 2.8.8
9.2.7 - October 2021
- (PW-723) Fixed LT identifier (X or default) in SwiftMessageFactory#toggleDirection
- (PW-719) fixed 77H qualifiers in MT 300, 304, 305 and 306
9.2.6 - October 20221
- Added a SchemeXmlWriter class to serialize the MT structure structure definitions into plain XML
9.2.5 - September 2021
- Added support for block 5 in the MtPath selector expressions such as b5/MRF
9.2.4 - August 2021
- (PW-654) Fixed bic importer parameter path
9.2.3 - August 2021
- (PW-599) MT564: Minor scheme fix, 92a TAXR and WITL can be repeated in CASHMOVE (E2)
9.2.2 - July 2021
- MT548: Minor scheme fix, added letter option "C" in field "98C:SCTS" in sequence "C1a1B1"
- (PW-625) XMLv2 DataPDU: mapped Block3/103 into CopyService, and Block3/111 into ServiceLevelAgreement with default to "001"
- (PW-590) Fixed MtPath evaluator when selecting an inner sequence with no unique boundary separator, such as B1 (FIA) in MT564
9.2.1 - June 2021
- Changed the generic XmlParser to preserve whitespace by default (added a new method to use the previous implementation)
- Minor special case fix in MtPath when the source result targets the same field/qualifier as the target expression
- Added sameQualifier(Field) in the MtPathExpression adn asList() in MtPathResult
- MT537 scheme fixed fieldset definition for 95PQR ACOW CACO in D1a1B1
- MT548 scheme fixed fieldset definition for 22F TRTR, SETR in C1a1B1
- Minor fixes in scheme for MT575
9.2.0 - May 2021
- SWIFT Standard release update 2021 (live 21 November 2021)
- Yearly revision of deprecation phase (see http://www.prowidesoftware.com/resources/deprecation-policy)
9.1.11 - April 2021
- (PW-460) Divided the internal schemas package into packages by category to allow trimming the jar by use
- (PW-500) Fixed schemes for MT565, qualifier check for field 90[F,J]:OFFR in CAINST sequence
9.1.10 - March 2021
- (PW-499) Fixed schemes for MT513, MT564 and MT566: invalid qualifier in field 69D
9.1.9 - March 2021
- (PW-494) Fixed schemes for MT565 (sequence B can be repeated up to 1) and MT568 (sequence B is optional, not mandatory)
9.1.8 - March 2021
- (PW-493) Fixed scheme for MT671, missing :22H::PRCD//PREF in Other Details sequence
9.1.7 - March 2021
- Added expanded printout support for service 21 messages (ACK and NAK)
- Enhanced the MTInfo implementation to be lenient on the detected message type
9.1.6 - February 2021
- (PW-455) Added lenient parsing of MT headers in conversion to XML v2
9.1.5 - January 2021
- Added selector b2/Direction in MtPath returning Input or Output
- Added valueForPath in the MtPathResult to get precise values related to the queried path
9.1.4 - December 2020
- Added GpiUtils to determine if the UETR field in block 3 is mandatory for an MT
- Added explicit file format to model when creating messages with the AbstractSwiftMessageFactory
9.1.3 - November 2020
- (PW-414) Fixed DataPDU parsing of LocalOutputTime into block2 receiver date and time fields
- Added API in Scheme to check if an MT Scheme contains sequences or internal loops
- (CR-28) Enhanced MtPath to support full-block selector expressions "b1" and "b2", returning the complete block value as a single result
- Added targetNamespace() method to the SchemaProvider interface and to the MxType enumeration
- Fixed MT537 scheme: field 19A in sequence D1a1B1 Transaction Details
- (PW-387) In the DataPDU parser for MT messages, the Body element is autodetected expecting either a complete MT content or only the block 4
- (PW-387) DataPDUWriter: Added generation of the Message/InterfaceInfo
9.1.2 - September 2020
- (PW-358) Added LAU signing and verification for FileAct (XML v2 companion files detached from actual payload)
- (PW-343) Added canonicalization to signed XMLv2 messages
- (PW-357) PrintoutWriter: Added a setter to overwrite the default BICDirectory
9.1.1 - August 2020
- (PW-343) Added API in the XML v2 and LAU classes to compute and verify the binary prefix in XML v2 messages
- (PW-344) Fixed the XML v2 parser of MT headers when message is Output (inbound) and Body contains only block 4
- (PW-316) Added LAU signature creation and verification for the XML v2 message wrapper
- (PW-327) Added support in the XML v2 API to parse DataPDU TransmissionReport into ACK/NACK messages
- (PW-324) Fixed the XML v2 parser to capture gpi fields (111 and 121) from the FINUserHeader element when present
- (PW-324) Updated the XML v2 DataPDU wrapper model to version SAA 2.0.7
- (PW-195) Added handy methods in the BICDirectory to query by institution and country
- Internal refactor of generated MT Scheme classes to avoid MethodTooLargeException in runtime
- (PW-322) Fixed the XML v2 parser for MT Output messages with DataPDU Body containing only the block 4
9.1.0 - May 2020
- SWIFT Standard release update 2020 (live 22 November 2020)
- Yearly revision of deprecation phase (see http://www.prowidesoftware.com/resources/deprecation-policy)
9.0.1 - May 2020
- (PW-301) Minor fix in SwiftMessageFactory.toggle that was not setting sender input time in outbound to inbound conversion
9.0.0 - May 2020
- Prowide Integrator fatjar split into single jars for the SDK and modules, each with its own versioning from now on
8.0.9 - May 2020
- Fixed scheme for 564, typo in MET2 and MET3 qualifiers
8.0.8 - April 2020
- Expanded the ISO 20022 model to include all the historic message versions, not only the latest
- Added a specific model library including the set of restricted ISO 20022 for CBPR+ (Cross-border Payments and Reporting Plus) release 1.2
- Enhanced the PrintoutWriter to support invalid message types and invalid fields
- NPE prevention in BICDirectory create connection
8.0.7 - March 2020
- Added a specific model library including the set of restricted ISO 20022 for SIC (Swiss RTGS) v4.6 release
- Added support for keywords "sender" and "receiver" in MtPath expressions to retrieve header addresses regardless of the message direction
8.0.6 - February 2020
- Added parser and model classes for seev.045, seev.046, seev.047, seev.048, seev.049
8.0.5 - January 2019
- (PW-235) Added SafeXmlUtils to disallow XXE in all XML parsing and validation code
- Added abstract message() serialization method to AbstractMessage (implemented by the AbstractMT and AbstractMX subclasses)
- Fixed NPE in MtPath evaluation with null blocks as parameter
- Added support for "child" axis in MtPath expressions to query direct children of sequences instead of the default "all descendants" behaviour
- BusinessHeader added factory methods to create the ISO business header or the legacy SWIFT header given a few simple parameters
8.0.4 - December 2019
- Prevention of NPE in expanded printout when sender or receiver BIC are null
- Changed default MX serialization root element "message" to "RequestPayload" when both Document and AppHdr are present
- Changed default MX serialization in AbstractMX#message() to include the AppHdr when present and not just the Document
- Added a jaxb context cache to boost performance when parsing MX messages, this can be enabled with SdkConfiguration#setCachedJaxbContext
8.0.3 - September 2019
- (PW-189) Added back message model for pain.008.001.02, pain.001.001.05 and pain.002.001.05
- (PW-186) Added fallback option to load IBAN property file from different classloader
- Added a specific model library including all SEPA messages of the EPC 2019 v1.0 release
- Added the SchemaProvider interface, implemented by the MxType enum, to get the default ISO schemas for each message type
8.0.2 - August 2019
- Explicit UTF-8 encoding was added where necessary to ensure portability
- Added fallback option to load license from different classloader
8.0.1 - July 2019
- Fixed BIC Directory imported (truncation error for BIC PLus files)
- Fixed SwiftMessageFactory#ACK that was appending the original message to the ACK twice
8.0.0 - May 2019
- JRE requirement increased to Java 1.8
- SWIFT Standard release update 2019 (live 17 November 2019)
- Yearly revision of deprecation phase (see http://www.prowidesoftware.com/resources/deprecation-policy)
7.10.9 - May 2019
- Fixed classpath in bin/*.bat scripts
- Added support for field repetitions in MtPath expressions, such as /A/22F[3] to select the third 22F in sequence A
- Fixed stack overflow exception in XmlParser#parse(Stream)
- Fixed SwiftMessageFactory#ACK the MUR field goes to block 4 instead of block 3
7.10.8 - March 2019
- Updated dependencies: apache-commons-lang 3.7 -> 3.8.1
- Updated dependencies: apache-text 1.3 -> 1.6
- Fixed obfuscation to keep directories in jar
- Added API to sign and validate LAU signatures in MT messages
- Added valueDate and tradeDate to the AbstractSwiftMessage model
7.10.7 - January 2019
- Fixed constructor for String or MxSwiftMessage in the MX model classes (subclasses of AbstractMX)
- Added support for legacy pain.002.001.03
- Fixed semantic rules for MT 360 and 361
- Moved MtSchemeValidator from internal package to com.prowidesoftware.swift.scheme as part of the public API
7.10.6 - November 2018
- (PW-120) Added an SDK configuration option to indicate if the institution is a GPI member
- Added tag index information to the MtPath results when the expression targets a field or a component within a field
- Added a builder pattern implementation to the MtPathResult
- Fixed MX parser for Java 8+ to enable parsing recognized MX messages with non-standard (swift or iso) xmlns
- Fixed writer and parser for XML v2 (block 4 only mode): removed trailing line break in last tag
- Fixed writer for XML v2 (whole message mode): removed empty blocks before base64 encoding
7.10.5 - October 2018
- Added checkFormat in AbstractSwiftMessageFactory to validate a raw SWIFT content against an expected format
- Added XmlV2Configuration to customize the behaviour of the XML v2 parser and writer API
- Fixed DataPDUWriter creation from AbstractMX that was not propagating the MX header
7.10.3 - July 2018
- Removed deprecated Hibernate XML mappings for MT schemes (Scheme.hbm.xml, SchemeElement.hbm.xml, SchemeFieldDefaultValue.hbm.xml)
7.10.2 - July 2018
- JPA annotations moved from accessors to fields
- Fixed com.sun.xml reference in MX marshalling
- Added toJson and fromJson to MX classes (AbstractMX and subclasses)
7.10.0 - April 2018
- SWIFT Standard release update 2018
- JRE requirement increased to Java 1.7
- Dependencies: updated apache commons-lang from 2.6 to 3.7
- Yearly revision of deprecation phase (see http://www.prowidesoftware.com/resources/deprecation-policy)
- BIC directory: added support to seamlessly import BIC Plus or BIC Directory 2018 txt files from swiftrefdata.com
7.9.7u1 - February 2018
- (PW-54) New API in SwiftMessageFactory to toggle the message direction
7.9.7 - January 2018
- Changes in the distribution package:
- Command line tools in the bic directory changed from jar files to wrapper scripts
- Dependencies directory renamed to lib
- Removed the BUILD id timestamp from the jar files
- Updated dependency: org.apache.derby:derby:10.10.1.1 -> org.apache.derby:derby:10.12.+
- Updated dependency: com.google.code.gson:gson 1.7.1 -> com.google.code.gson:gson:2.8.2
7.9.6 - December 2017
- Added isEmpty API in MtPathResult
- XmlNode: added support for parent steps (..) in find API
7.9.5 - December 2017
- PrintoutVisitor: added onBICExpansion event to customize how BIC codes are expanded with information from the catalog
- PrintoutVisitor: added ACCOUNT as FieldType to customize how to render account numbers
- Added "ignore whitespaces and case" to value comparator
- Changed checksum fields in persistence mapping from length 30 to 32 to support uncoded MD5 hashes size
- Added checksumBody to persistence mapping
- Deprecated message relation DUPLICATE in favour of DUPLICATE OF and DUPLICATED BY
7.9.4 - November 2017
- JRE requirement backported to Java 1.6
- BIC directory: added all fields from the FI specification to both the importer tool and the query API
- Fixed MANIFEST classpath for bicimporter.jar tool
7.9.3 - October 2017
- Added MtPathType in MtPathResult and MtPathExpression
- MtPath: enhanced support in nested queries, check javadoc for MtPath#evaluate(String path, MtPathResult source)
- Added attributes in MtPathResult to hold the original message and path used for the query
- Fixed MtPath when querying for fields within other source field block and with an expression not targeting a component
- New helper API to trim segments in XPath
- New out-of-the-box XML expanded printout for MTs (XmlPrintoutVisitor)
- Added comprehensive support for MX system messages (xsys category)
- Added API in MtPath API to query content within a specific given block
- Fixed city heading import in BIC directory
7.9.2 - August 2017
- Added API in generic XmlNode implementation: hasAttributes(), isEmpty() and removeEmptyElements()
- Added schemes and model for MX cbrf category
- Added missing updates for MX supl
- XPath added API to strip predicates and to collapse parent segments
- XmlNode more API for siblings, enhanced path() to include predicates when element is repeated
- Removed commons-beanutils and dom4j dependencies
- Updated pom.xml for Integrator
7.9.1 - June 2017
- Added customizable expanded printout for MT messages, to display MT messages in human-friendly TXT and HTML
7.9 - May 2017
- SWIFT Standard release update 2017 (live 19 November 2017 for MT and 18 November for MX)
7.8.9 - May 2017
- Yearly revision of deprecation phase (see http://www.prowidesoftware.com/resources/deprecation-policy)
7.8.8 - March 2017
- Added helper class BICDirectoryUtils to expand BIC codes
- New MXInfo feature to retrieve MX messages names and description in english
7.8.7 - December 2016
- New generic ValueComparator to compare field and components values with special equality condition based on exceptions
- Internal code clean ups (removing SRU2015 stuff)
7.8.6 - November 2016
- JRE requirement increased to Java 1.7 (only for Integrator SDK and modules, Core still works on 1.5)
- New internal MT-XML converter
- New internal XSD package for MT
- Internal code clean ups (removing deprecated SRU2014 stuff)
- Updated all internal XSD schemas for MX to the latest enriched version
7.8.4 - Oct 2016
- Enhanced AbstractMX parse to support namespaces with single quotes
- Expanded BIC directory and bicimporter to include institution name, city and country as table columns
- Added updateFrom AbstractMX to MxSwiftMessage
- Fixed MxSwiftMessage mapping to store BusinessProcess enum as simple string
- New AbstractSwiftMessageFactory to create messages from different source formats and objects
- Enhanced Mx parsing to support a wider range of XMLs, reading AppHdr and Document as partial chunks and ignoring the rest
- Mx reader migrated from SAX to StAX for better performance
- Support for SAA message wrapper (DataPDU) used in XML v2 formats for both MT and MX
7.8.3 - Jul 2016
- Generic XML API migrated from MyFormat to SDK
- Removed invalid Mx classes generated from FIN schemas
7.8.2 - Jul 2016
- Fixed schemes: definition of field 12A in FIA subsequences of MTs 54x
- Semantic 283 bugfix (used in MTs 307,503,504,505,506,536,537,548,578,586)
2016 June
- Added API Scheme.getSequenceByField
- Added API SchemeManager schemes loading from MT message objects
- Added API SchemeManager to get default scheme name for MT messages
2015 November
- Added API to control prefix, and XML declaration when serializing Mx headers and documents
- Added wrapper API, with SNL wrapper as initial implementation
- Added MxParserIntegrator containing generic Mx parsing (common API to parse all Mx)
- Fixed entity escape in serialization to XML (for example: & instead of & in the generated XML)
- Fixed serialization of field 11R, 11S and 32R
2015 August
- Fields 11R and 11S component 3 split into two independent components.
2014 December
- MX: Fixed attribute handling in xml event writer
- MX: Better XML error handling
- Added adhoc sequence code to MT609
- SwiftTagListBlock: more consistent append api, deprecated replaced methods
- SwiftParser: Added a lenient version to allow partial parsing of blocks 1 and blocks 2 when the total value size is invalid
2014 June
- Release package includes now both checkouts of core examples and integrator examples from github
- Examples moved out to github repository
2014 April
- Added Field.is(String,String)
2014 March
- Added missing SwiftCharset_it.properties
- Added exists() to BICDirectory
- Added IntegratorConfiguration class
- Optional BIC Directory query and app to import into internal database
- Added a BIC directory importing command line application
- Added model and API for BIC Directory information
2013 September
- SRU 2013 update