Skip to content

Prowide Integrator Validation - CHANGELOG

10.3.30 - August 2026

  • Feat: new ISO 20022 cross-element validation for sese.023.001.10 through 13 (SecuritiesSettlementTransactionInstruction): rules X00117-X00148, X00192-X00194, X00383 and X00553-X00555
  • Fix: MX cross-element rules conditioned on boolean indicator elements (amendment, group cancellation/return, hold) now recognize the schema-valid numeric values 1 and 0 as equivalents of true and false; messages using these values in the indicators may report validation findings that were not reported before

10.3.29 - July 2026

  • Fix: IAP and CBPR camt.053 pagination and balance-type rules now report the duplicated CLBD/OPBD/CLAV problem path on the second matching balance code instead of the second balance code overall
  • Fix: CBPR camt.053 pagination rules now accept the 1/0 lexical forms of the LastPageIndicator xs:boolean, which previously selected the wrong rule variant
  • Fix: IAP and CBPR camt.053 page number pagination rules now treat a zero-padded page number (e.g. "01") as a page greater than 1, aligned with the Readiness Portal behavior
  • Feat: IAP validation now supports the v1.3 and v1.4 usage guidelines side by side, resolving the version from the message business service and defaulting to v1.3 when the version cannot be determined
  • Feat: IapXsdRegistry is now pre-loaded from the generated SDK registry instead of a hand-maintained schema list, so it can no longer drift from the schemas used by the default IAP validation engine

10.3.28 - July 2026

  • (PW-3363) Fix: missing data element rejection now applies the per-message-type empty-structure list, no longer flags populated elements or undeclared wildcard content (e.g. SplmtryData/Envlp payloads), and tolerates non-ISO tracked-root namespaces

10.3.27 - June 2026

  • Fix: MX guideline/cross-element validation no longer computes the absolute node path of valid elements, significantly improving validation performance on large MX documents (e.g. a CAMT.053 with tens of thousands of Ntry/TxDtls); the lazy error path construction is consolidated in shared internal helpers of MxXmlNodeValidatorUtils

10.3.26 - June 2026

  • Fix: MxMessageLengthValidation the message byte-length check now uses an explicit UTF-8 encoding instead of the platform default, making the size validation deterministic across platforms

10.3.25 - June 2026

  • (PW-3276) Fix: T80 validation for Field 72/79 RETN/REJT continuation lines now accepts //// prefix (generated when the narrative itself starts with //), normalizing to // before parsing

10.3.24 - May 2026

  • Reviewed Spanish (es), French (fr), German (de) and Italian (it) validation bundles: filled missing locale bundles, restored missing keys, corrected key drift and aligned translations to formal banking register
  • Fix: RITS HVCS cross-border and cover business service validation no longer throws NPE when BizSvc is missing in the BAH

10.3.23 - May 2026

  • Fix: Field56B name & address component made optional
  • Fix: Field39M country code validation
  • Fix: Field30I and component 2 made optional
  • Fix: Field30K component 2 made optional with validation pattern updated to <DATE4>[/<DATE4>])
  • Fix: Minor structure changes in: MT306, MT340, MT500-MT502, MT504, MT508, MT510, MT513-MT515, MT518, MT519, MT524, MT527, MT530, MT535-MT538, MT540-MT548, MT558, MT564-MT566, MT575, MT578, MT586, MT600, MT601, MT671
  • Fix: Semantic208Rule no longer throws NPE when an MT exposes a sub-sequence as single (non-repetitive) instead of a list

10.3.22 - April 2026

  • (PW-3218) SIC validation: update the default factory validation to SIC version 5.2 (SRU 2025)

10.3.21 - March 2026

  • (PW-3136) Fix: Semantic Validation Rules for error codes C44, C46, C47, C48, C51, C53 and C54 are fixed to check for CODE in Field 70 and Field 72 with /CODE/.

10.3.20 - March 2026

  • Migrated deprecated StringUtils methods to Strings.CS equivalents (equals, startsWith, endsWith, contains, replace, indexOf, lastIndexOf, remove, removeEnd)

10.3.19 - February 2026

  • (PW-3073) Fix: XXE (XML External Entity) (CWE-611) vulnerability by using SafeXmlUtils for secure SchemaFactory creation in MxValidationEngineUtils
  • Added FieldPatternRegistry for centralized field validation patterns, decoupling validation from Core's Field classes
  • Fixed Rule3Data for MT920 and MT942 to include both 34F field occurrences

10.3.18 - January 2026

  • (PW-3038) Added GracePeriodHybridRule validation tests for CBPR+ pain.001.001.09
  • (PW-3028) Fixed Field 61 SUB6 validation to accept any numeric value 100-999 when Transaction Type is 'S', per SWIFT standard
  • Fix: NumberOfTransactions rule in CBPR+ pain.008.001.08 validator (was using wrong XPath)
  • Feat: Added support for pacs.010 MarginCollection business service variant
  • Feat: Added complete test coverage for CBPR+ pain.008/pacs.003/pacs.010/camt.057/camt.058/camt.108/camt.109 validators

10.3.17 - January 2026

  • (PW-3026) Fixed VAR-SEQU-1 validation in Field 61 to allow "//" within the second subfield content

10.3.16 - December 2025

  • (PW-404) Added optional GPI tracker validation for MT199 field 79, enable via getConfig().setGpiTrackerValidationEnabled(true)
  • Fix: ValidationResult.toJson() now uses non-greedy regex for URN namespace removal to preserve all expected elements in XSD error messages
  • Feat: MxXsdValidationEngine.validateMessage(xml, businessService) to optionally enforce the business service for schema lookup
  • Feat: Enhanced error description for schema and header related validation problems
  • Feat: Validation problems now report meaningful paths instead of / for general problems
  • Feat: Missing schema errors now include valid business services hint when available

10.3.15 - December 2025

  • (PW-2916) Fixed Semantic Rule C41 for MT306 to detect subsequences J1 and J2 using correct schema fields (19Y/19Z)

10.3.14 - November 2025

  • (PW-2907) Fixed validation logic for Field 31W updated format

10.3.13 - November 2025

  • Fix: MxXsdValidationEngine to properly report message ID in missing schema errors
  • Fix: AU/PDS MUG MT202 validation exception fix
  • Feat: Enhanced BusinessServiceXsdRegistry to fallback to null business service schemas when exact match not found

10.3.12 - October 2025

  • (PW-2798) Fixed validation logic for Field 332

10.3.11 - October 2025

  • (PW-2796) Fixed validation logic for Semantic Rule 230, for codeword INTA.
  • Fix: MT544-547 Tag19 NTWK Option added.
  • Feat: Revamped CBPR+/IAP/SIC validation engine with implementation of Business Service registries

10.3.10 - September 2025

  • Added dispose method to the MxValidationEngine interface to release resources when the engine is no longer needed
  • Fixed javadoc links in validation documentation to use correct API path format

10.3.9 - September 2025

  • (PW-2631) StructureProblem.H10 X in position 9 check is removed.
  • Feat: Updated Cross-rules for SRU2025

10.3.8 - September 2025

  • (PW-2719) Fixing error in Semantic Rule 50 for MT564 regarding typo in the specs
  • (PW-2638) Fixed validation logic for currency on Pain.001 messages.
  • Updated CBPR+ rules for SRU2025
  • Enhance RITS Validator to isolate Market type validation problems from CBPR+
  • Feat: Updated IAP validation engine with implementation of the IAP 1.2 and HVPS+ UG rules
  • Feat: Added IAP validation engine with implementation of the IAP 1.2 and HVPS+ UG rules
  • Feat: Revamped validation engines model with interfaces and a common ground for extensions implementations (clearings, MI, RGTS, UG, etc)

10.3.7 - August 2025

  • (PW-2623) Updated the RITS pacs.008 validation logic for SRU2025

10.3.6 - August 2025

  • (PW-2638) Fixed validation logic for currency on Pain.001 messages.
  • (PW-2623) Updated the RITS camt.029/056, pacs.004 validation logic for SRU2025
  • (PW-2594) Fixed validation logic for Fields 60, 62, 64, and 65 to ensure the DC mark component is mandatory.

10.3.5 - July 2025

  • (PW-2594) Fixed validation logic for Fields 60, 62, 64, and 65 to ensure the DC mark component is mandatory.

10.3.4 - July 2025

  • (PW-2566) Updated the RITS BizSvc validation logic for SRU2025

10.3.3 - July 2025

  • The 'ExternalCodeSets.xsd' resource default location moved to the Prowide Integrator SDK jar

10.3.2 - June 2025

  • Added Cross Rules Validator for camt.105.001.02 and camt.106.001.02
  • Added CBPR Validator for camt.105.001.02, camt.106.001.02, camt.105.001.02_MultipleCharges and camt.106.001.02_MultipleCharges

10.3.1 - June 2025

  • Enhance CBPR Validator error messages when the header business service is incorrect

10.3.0 - May 2025

  • SWIFT Standard release update 2025 (live 22 November 2025)
  • Yearly revision of deprecation phase (see https://dev.prowidesoftware.com/SRU2024/getting-started/deprecation/)
  • Updated the default ISO 20022 external code set XSD resource to the 4Q2024_ExternalCodeSets_v2.xsd release
  • Implemented the ICM (ISO contingency measures) checks, enabled by default in the ValidationConfiguration.

10.2.18 - Mayo 2025

  • (PW-2392) Fixed error in Semantic Rule 294 (36a must not be present in E1, but can be present in E1A)
  • (PW-2388) Do not validate decimal digits for currencies that does not exist in Currency.getAvailableCurrencies()

10.2.17 - April 2025

  • (PW-2358) Updated MT568 schema to fix typo in field 22F

10.2.16 - April 2025

  • (PW-2339) Updated CBPR Validator for pacs.009 (End To End Identification rule)

10.2.15 - April 2025

  • (CU-86b4jtnp0) Added Cross Rules and CBPR Validator for camt.106.001.02

10.2.14 - February 2025

  • (PW-2215) Fixed Cross Rules Validator X00050 error detection for Pacs008 and Pacs008 STP

10.2.13 - February 2025

  • Updated the SUB6 validation logic to allow the 100 value as per specs
  • Added new method to get the details of a ValidationProblem as a single string
  • Added validation for the allowed decimal places for amount values based on ISO 4217 currencies for pacs messages

10.2.12 - January 2025

  • Updated the SUB6 validation logic to allow the 100 value as per specs

10.2.11 - January 2025

  • Updated the default ISO 20022 external code set XSD resource to the 3Q2024_ExternalCodeSets_v1.xsd release

10.2.10 - December 2024

  • (PW-2099) Fixed MT field validation for fields 47B and 71E
  • Clean up useless MIR parsing log warning when validating MT fields

10.2.9 - December 2024

  • (PW-2092) Fixing error in Semantic Rule 30 (adding Field50)

10.2.8 - November 2024

  • (PW-2063) Adding new logic to validate empty optional tags that only contains optional tags children

10.2.7 - November 2024

  • (PW-2064) Adding new validation for Field 77E in MT 798 message

10.2.6 - October 2024

  • (PW-2056) MX CBPR+ and ISO CrossElementValidator fix: retrieve Document node in xml with DataPDU and multiple node structure

10.2.5 - September 2024

  • MxValidatorException refactored to ProwideValidationExitException that extends ProwideException

10.2.4 - August 2024

  • (PW-1928) Change org.apache.derby:derby dependency to optional in the distribution pom.xml

10.2.3 - August 2024

  • (PW-1893) Added BizMsgIdr format validation to RITS (HVCS) validation engine
  • Added validation of BAH version 4 (head.001.001.04)

10.2.2 - August 2024

  • (PW-1893) Added cross element validation to RITS (HVCS) validation engine
  • (PW-1893) Added missing rules to RITS (HVCS) validation engine
  • Added exit-on-first-error logic to the validation engine for RITS, CBPR+ and cross-element rules

10.2.1 - June 2024

  • (PW-1893) Added new RITS (HVCS) validators for pacs.008, pacs.009 CORE, pacs.009 COV, camt.029 and camt.056
  • (PW-1845) Added an option in the RITS (HVCS) validation engine to opt-in strict mode validation (rules not checked by the HVCS portal)

10.2.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/)

10.1.20 - May 2024

  • (PW-1845) Added new RITS (HVCS) validator for pacs.004
  • (PW-1809) Added a new optional SchemaCache to the validation engine configuration to optimize the MX validation process

10.1.19 - April 2024

  • (PW-1833) Fixed base64 encoding handling for jakarta.xml.bind-api:4.0.2 compatibility

10.1.17 - April 2024

  • (PW-1809) Added a new optional SchemaCache to the validation engine configuration to optimize the MX validation process
  • (PW-1842) Remove System.exit() call from deprecated class to avoid false positive vulnerability report

10.1.16 - February 2024

  • (PW-1761) Fixed error message for E92 on MT 545 and 547
  • Replaced generic KNN errors with specific codeword errors for designated fields such as T03, T04, T20, T35, etc...

10.1.15 - January 2024

  • (PW-1752) Added new API method 'validateTag' in order to allow to validate singe tags/fields without the need to build a full message
  • (PW-1743) Remove usage of deprecated SafeXMLUtils methods
  • Added field validation rule for pattern used in MT 097 field 109

10.1.14 - January 2024

  • (PW-1739) Modified the validation of field 23 in order to match the specification for MT102/MT103/MT305/MT601

10.1.13 - January 2024

  • Disabled 'Missing checksum field CHK (Z04)' block 5 validation because the checksum algorithm is proprietary by SWIFT and not available in the library API

10.1.12 - December 2023

  • (PW-1732) Enhanced the semantic 292 to also report the error for MT541 when the sequence E3 is missing

10.1.11 - December 2023

  • (PW-1666) Updated T13 validation logic in order to avoid false positives when validating MTs n92/n95/n96

10.1.10 - December 2023

  • (PW-1708) Fix concurrency issue with BICDirectory in semantic 257 and 5 implementations
  • Added missing implementation for SCORE UG rules in MT798<700>

10.1.9 - November 2023

  • (PW-1697) Changed field 29O validation to be compatible with the field model changes
  • (PW-1691) CBPR+: NPE fix in the validation of the specific business service for each message type
  • Minor fix in the validation of field 29O

10.1.8 - November 2023

  • (PW-1691) CBPR+ fixed validation of specific business service for each message type (version could vary depending on the specific message type)

10.1.7 - November 2023

  • (PW-1675) Fixed specific validations for SCORE messages in SRU2023

10.1.6 - October 2023

  • Updated the default ISO 20022 external code set XSD resource to the 2Q2023_ExternalCodeSets_v1.xsd release

10.1.5 - October 2023

  • (PW-1653) MT671 message is now verified to have a size less than 10,000
  • MT370 and MT670 messages are now verified to have a size less than 10,000

10.1.4 - September 2023

  • (PW-1613) fixed validation of field 44J narrative to enable 65 characters after the mandatory starting slash
  • (PW-1628) fixed validation of new Field 44A, 44B, 44E and 44F enabling multilines since they now use character 'z'

10.1.3 - September 2023

  • (PW-1478) fixed validation of new Field 44J

10.2.1 - September 2023 (invalid release number, should have been 10.1.2)

  • (PW-1480) More accurate implementation of semantic rule C25 (MTn92): field 79 or at least any fields from the original message (or both) must be present

10.1.1 - August 2023

  • (PW-1472) Fixed validation of 23X in MT767
  • (PW-1431) CBPR+: Implemented UG validation for CBPR+ 2023 messages
  • (PW-1448) Fixed size validation for field 24G
  • (PW-1431) CBPR+: Implemented UG validation for CBPR+ 2023 messages
  • Added CROSS RULES validation for new CBPR+ 2023 messages

10.1.0 - June 2023

  • Migration to Java 11
  • Migration to Jakarta EE 10
  • ValidationEngine add explicit API to validate the MX Business Application Header version 3

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.18 - June 2023

  • Fixed field 79 /REJT/ or /RETN/ validation of lines containing /TEXT/ narrative

9.3.17 - May 2023

  • (PW-1373) Minor fix in semantic validation for MT 798<720>

9.3.16 - May 2023

  • (PW-1377) Fixed NPE validating semantic rule 2 in MT 798_750

9.3.15 - May 2023

  • (PW-1373) MT SCORE 798<720>: Fixed codewords and rules for fields 40B and 41a
  • (PW-1367) Added MT SCORE 798 sub-message types: 722_LC_C2B, 726_LC_C2B, 735_LC_C2B, 770_LC_C2B, 772_LC_C2B
  • (PW-1359) Added missing T47 problem properties

9.3.14 - April 2023

  • MX validation: Added a general rule to check the maximum bytes allowed for the message

9.3.13 - February 2023

  • (PW-1206) Added message model for the MT SCORE subtypes 707/708/710/711/720/721/732/734/750
  • (PW-1198) Added validation for MT SCORE subtype 767 - Sequence B optional for 22A ISCA or ICCA

9.3.12 - January 2023

  • (PW-1154) Enhanced block 2 input validation; when priority is "S" (System) delivery monitoring and obsolesce period are not allowed
  • (PW-1150) Added validation for MT SCORE subtypes 731/736/748/753/755/757/771/773

9.3.11 - December 2022

  • Removed the org.mozilla:rhino dependency

9.3.10 - November 2022

  • Minor backward compatibility fix in the ValidationConfiguration IBICDirectory initialization

9.3.9 - November 2022

  • Updated Apache Commons Text dependency to 1.10 to fix reported CVE
  • (PW-1097) Fixed BIC validation against directory in CBPR+ messages
  • (PW-1090) Enhanced validation of field 11T in SCORE messages, with specific check for the allowed sub-message type
  • (PW-1085) Moved the custom BIC directory implementation setter from the SDK singleton configuration to the ValidationConfiguration

9.3.8 - October 2022

  • Code enhancements review

9.3.7 - October 2022

  • (PW-1074) MT568: fixed typo in qualifier name "PTNI"
  • (PW-1071) MX cross-element rules are not applied when validating a custom schema, such as SIC4
  • (PW-1064) Fallback option to system classloader in resource loading
  • SRU2022 update review: MT540 Removed field 99C
  • SRU2022 update review: MT548 Added field 98C::SCTS
  • SRU2022 update review: Field 35C changed validation to

9.3.6 - September 2022

  • Added support for MUG validations (CLSB and AU/PDS)

9.3.5 - September 2022

  • MT structure validation: enhanced report of missing required fields, adding the path of sequences when applicable
  • MT structure validation: enhanced report of unexpected fields, when the possible cause is the fields ordering

9.3.4 - August 2022

  • Permanently replaced the legacy ValidationEngine.Configuration inner class by the ValidationConfiguration
  • MT structure validation refactor to decommission the need for the Rhino dependency

9.3.3 - August 2022

  • (PW-1015) Added validation for sub-message types 700, 701 and 774 (SCORE)
  • (PW-1007) Changed the AppHdr message definition against Document namespace validation to be more flexible, allowing subtypes such as "CORE"

9.3.2 - August 2022

  • PW-1007: Changed the AppHdr message definition against Document namespace validation to be more flexible, allowing subtypes such as "CORE"
  • Implemented cross-element rules for pacs.004.001.10 and 11
  • Implemented cross-element rules for pain.001.001.10 and 11
  • Implemented cross-element rules for pain.002.001.10, 11 and 12
  • Implemented cross-element rules for camt.029.001.10 and 11
  • Added internal loops API to MTs: 110, 201, 203, 210, 410, 412, 420, 422, 450, 456, 604, 605, 801, 920, 973
  • (PW-968) Field 72: fixed validation of optional text after INSTR codes, that cannot be a complete set of blanks

9.3.1 - July 2022

  • (PW-968) Field 72: fixed validation of optional text after INSTR codes, that cannot be a complete set of blanks
  • (PW-963) Fixes message length validation rule to compute also CRLF characters
  • (PW-931) Added a field check for unexpected slash separator, in fields having an optional second component separated by slash
  • (PW-867) Enhanced validation of party fields starting with /C/ or /D/ to avoid false negative errors on /D /C prefixes in the account
  • Fixed SRU2022 changes in semantic rules 258 and 267
  • MT semantic validations minor fixes and enhancements
  • Implemented cross-element rules for newer versions of camt.052
  • Implemented cross-element rules for newer versions of camt.053
  • Implemented cross-element rules for newer versions of camt.054
  • Implemented cross-element rules for newer versions of camt.056
  • Implemented cross-element rules for newer versions of camt.057
  • Implemented cross-element rules for newer versions of camt.060
  • Implemented cross-element rules for newer versions of pacs.010
  • Implemented cross-element rules for: Pacs.008 v9 & v10 (standard and STP), pacs.009 v9 & v10

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)

9.2.31 - May 2022

  • (PW-813) Internal enhancement to fix CVE
  • Deprecation API review

9.2.30 - May 2022

  • MT semantic rules review and minor fixes
  • MX cross-element checks review and enhancements

9.2.29 - May 2022

  • MX cross-element checks review and enhancements

9.2.28 - April 2022

  • Fixed MX cross-element checks
  • Changed the ValidationResult to have the valid flag as transient field, set dynamically depending on the problems list size
  • Added missing validations for CBPR+ pacs.009

9.2.27 - April 2022

  • CBPR+ UG validation fixes

9.2.26 - March 2022

  • (PW-882) SCORE 798_760 fixed validation of sequence B which is optional if purpose of message is ICCO or ISCO
  • MT104: Fixed validation problem description in semantic rule 96

9.2.25 - March 2022

  • CBPR+ validation: apply schema from Document namespace when AppHdr message type does not match
  • pacs.002.001.10: Implemented cross-element rules, and CBPR+ UG rules
  • pain.002.001.10: Implemented cross-element rules, and CBPR+ UG rules

9.2.24 - March 2022

  • pacs.010.001.03: Implemented cross-element rules, and CBPR+ UG rules
  • camt.060.001.05: Implemented cross-element rules, and CBPR+ UG rules
  • pain.001.001.09: Implemented cross-element rules, and CBPR+ UG rules

9.2.23 - March 2022

  • Fixed error description in MX validation (cross element checks and CBPR+ rules)
  • MX cross element validation fixes (X00420)

9.2.22 - March 2022

  • Enhanced the CBPR+ AppHdr validation with constraints from CBPR+ restricted BAH v2 schema

9.2.21 - March 2022

  • (PW-861) Fixed validation of fields 23X, 21H, 77B (MT734) and 98K that was too strict; slash character is allowed in the component using x character set

9.2.20 - February 2022

  • (PW-856) GPI: Fixed misleading error description in field 111 validation
  • (PW-835) GPI: Field 111 is optional in MT199 even for GPI members
  • Fixed inconsistency in the ValidationResult valid flag returned by the CbprValidationEngine
  • Fixed MX cross-element validations when too elements cannot be present together, but may both be absent

9.2.19 - February 2022

  • Updated the default ISO 20022 external code set XSD to the February 2022 update
  • camt.029.001.09: Implemented cross-element rules, and CBPR+ UG rules
  • camt.052.001.08: Implemented cross-element rules, and CBPR+ UG rules
  • camt.053._001.08: Implemented cross-element rules, and CBPR+ UG rules
  • camt.056.001.08: Implemented cross-element rules, and CBPR+ UG rules
  • camt.057.001.06: Implemented cross-element rules, and CBPR+ UG rules
  • pacs.002.001.10: Implemented cross-element rules, and CBPR+ UG rules
  • pacs.004.001.09: Implemented cross-element rules, and CBPR+ UG rules
  • Completed UG rules for CBPR+ pacs.008 and pacs.009 variants (COV, STP, ADV)

9.2.18 - February 2022

  • (PW-837) In MT message length validation, remove line CRLF when computing the message size

9.2.17 - January 2022

  • (PW-835) Fixed validation of GPI field 111 (block3) expected values per message type

9.2.16 - January 2022

  • (PW-833) Fixed mandatory field 77E in MTn98
  • Added UG implementation for CBPR+ pacs.008 STP and pacs.009 ADV/COV

9.2.15 - January 2022

  • SCORE messages semantic validations review

9.2.14 - January 2022

  • (PW-819-820) SCORE message MT798_760 validation fixes
  • Added UG implementation for CBPR+ camt.054
  • Implemented cross-element rules for camt.054.001.08
  • Added validation for MX match between AppHdr message identifier and Document namespace

9.2.13 - January 2022

  • (PW-815) Fixed validation of field 12H (SCORE) where narrative is optional
  • MT530 validation: Fixed semantic 237 rule, where subsequence C1 is repetitive
  • Added UG implementation for CBPR+ pacs.009
  • Implemented cross-element rules for pacs.009.001.08

9.2.12 - December 2021

  • Added a specific CbprValidationEngine class to validate CBPR+ messages
  • Added UG implementation for CBPR+ pacs.008
  • Implemented cross-element rules for pacs.008.001.08
  • Added com.prowidesoftware.integrator.validation as automatic module name in the MANIFEST for JPMS support

9.2.11 - December 2021

  • (PW-799) fixed validation of semantic rule 199 in MT564

9.2.10 - December 2021

  • (PW-780) Added ValidationConfiguration#setGpiMember to override the general static SdkConfiguration#setGpiMember
  • (PW-764) Fixed error description in field 119 (block 3) validation

9.2.9 - November 2021

  • (PW-772) Enable empty lines in MT568 field 70F as it is exceptionally allowed in the ISO 15022 usage guidelines
  • In Mx IBAN validation added specific error code D00003

9.2.8 - November 2021

  • (PW-764) Reviewed validation of field 119 (block 3)
  • (PW-703) Clearer validation results for MT block 2 with invalid identifier
  • Added IBAN validation (including local account format) for MX elements containing IBAN numbers
  • Added optional IBAN validation for MT messages, for specific fields where IBAN validation is explicitly requested by configuration
  • MX validation: renamed proprietary error codes for invalid currency and country codes by standard codes D00004 and D00005
  • Fixed validation of letter options in B/98a

9.2.7 - October 2021

  • Added validation of block 2 Output (only Input was validated before, while Output was ignored)
  • Fixed validation of value for Field 26A ()

9.2.6 - October 2021

  • (PW-705) Added validation of mandatory CHK in block 5 when the trailer block is present
  • (PW-703) More verbose MT headers validation
  • (PW-677) MT670, MT671: fixed implementation of semantic check 112 (D12)

9.2.4 - September 2021

  • (PW-664) Parser enhancement to detect LF before block identifier as validation problem (not exception)

9.2.3 - August 2021

  • Added german translation for validation problems

9.2.2 - August 2021

  • (PW-599) MT564: Minor scheme fix, 92a TAXR and WITL can be repeated in CASHMOVE (E2)
  • MT548: Minor scheme fix, added letter option "C" in field "98C:SCTS" in sequence "C1a1B1"
  • (PW-578) Fixed SAX logging with misleading parse errors

9.2.1 - June 2021

  • (PW-536) Replaced deprecated API in the MX validation
  • (PW-536) Fixed misleading typo in semantic E94 error description
  • (PW-517) Removed the actual licensed BICs information from the unlicensed error description in the validator

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)
  • More accurate structure problems reporting, with a customizable lookahead for sequence resynchronization after a field partial match
  • Enhanced unexpected fields problem reporting, in some situations it used to trigger also misleading errors about the unexpected field repetitions

9.1.16 - April 2021

  • Added support for ISO 20022 external code set validations
  • Externalized the validation engine configuration into a ValidationConfiguration class
  • (PW-517) Removed the actual licensed BICs information from the unlicensed error description in the validator

9.1.15 - April 2021

  • (PW-460) Divided the internal schemas package into packages by category to allow trimming the jar by use

9.1.14 - April 2021

  • (PW-500) Fixed validation of qualifiers when the component is optional
  • Fixed qualifier error reporting in fields 41A and 41D
  • Replaced generic error code KNN with specific code for each field, such as K41, K23, K92

9.1.13 - April 2021

  • (PW-508) Fixed validator pattern in field 98K

9.1.12 - April 2021

  • Enhanced MT structure error detection and reporting (missing and unexpected fields)
  • Fixed validation of fields 12 and 27A in MT SCORE messages

9.1.11 - March 2021

  • Added semantic validation for available SCORE messages
  • (PW-499) Fixed schemes for MT513, MT564 and MT566: invalid qualifier in field 69D

9.1.10 - 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.9 - March 2021

  • (PW-493) Fixed scheme for MT671, missing :22H::PRCD//PREF in Other Details sequence
  • Added mtInSequenceResyncLookAhead parameter in the ValidationEngine#Configuration to control the error reporting accuracy
  • Added mtEnhancedRepetitionProblemReportingMode parameter in the ValidationEngine#Configuration to switch off redundant field repetition related errors
  • Removed T13 rule from MTn98 proprietary messages validation (only kept for n92, n95 and n96)
  • Changed default toString in ValidationProblem to use the human-friendly error description

9.1.8 - December 2020

  • (PW-424) Fixed validation of mandatory field 111
  • (PW-398) Added check for expected values in field 111 (U14 error code)

9.1.7 - December 2020

  • License check review

9.1.6 - November 2020

  • Field validation changes in 83J, 86J, 50F and 59F are now parked until SRU2021 (only cat 5 changes are in force in SRU2020)

9.1.5 - November 2020

  • (PW-413) 564 added qualifier option SRDC in field 17B in sequence D
  • 530 added qualifiers options BYIY and BDEF in field 22 in sequence B
  • 530 added optional fields 90[A,B] and 19A BCAM in sequence C
  • 565 minor fix in conditional qualifier check in field 92K in sequence C

9.1.4 - September 2020

  • In MTs 300, 305, 306, 320, 330, 340, 341 and 350 added a missing network rule validating the reference number in fields 22 and 22C against the message rate field
  • Added internal BIC validation skip for SWIFT special BIC codes such as: TRCKCHZZ (GPI) and TRGTXEPM (Target)
  • Fixed semantic check 254 to handle 23E field repetitions properly

9.1.3 - September 2020

  • Minor fix in semantic 204, 209 and 210 checks when the party identifier is only slashes

9.1.2 - August 2020

  • (PW-325) Added ValidationEngine.Configuration#addRegisteredBic to programmatically register valid BICs not available in the embedded BIC directory
  • (PW-325) Enhanced de BIC directory validation to avoid false error for Test & Training BIC codes (query will match any equivalent production BIC)

9.1.1 - Jun 2020

  • Removed a false positive deprecation warning when configuring ignored validation codes

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.2 - May 2020

  • Added validation of ISO business header version 2 (head.001.001.02) when found in a message
  • Added a configuration in the ValidationEngine.Configuration to optionally disable ERI validation
  • Added validation for ERI in fields 61, 72, 77A, 79 and 86, when ERI is present and depending on the message type
  • Fixed amount validation when the whole number part is not present

9.0.1 - May 2020

  • Fixed validation of field 72 in MT760

9.0.0 - May 2020

  • Validation module extracted to its own jar in the distribution, with its own version from now on

8.0.9 - May 2020

  • Fixed scheme for 564, typo in MET2 and MET3 qualifiers

8.0.8 - April 2020

  • Fixed validation of field 50F party line, was accepting up to 34 characters instead of the 35 allowed limit for the field
  • Enabled presence of field 121 in all payment messages (category 1 and 2)
  • Added support to validate restricted ISO20022 for CBPR+
  • (PW-259) Fixed semantic 157 check, when amount is zero with decimals
  • Fixed schemes for MT537 adn 458, in sequence PENDET required field is 99A and not 99B
  • Enhanced error reporting for semantic checks: 41, 131, 132, 146 and 147

8.0.7 - March 2020

  • Added support to validate restricted ISO20022 for SIC (Swiss RTGS)
  • MT548: Fixed repetitions of field 94 in sequence C1a1A1
  • MT537: Fixed structure for D1a1A1
  • MT537: Fixed sequence B2b where field 98 option EXSE is mandatory
  • Fixed semantic check 256 affecting validation for message 535 and 536

8.0.6 - February 2020

  • Fixed T96 check in SB-LC function (affecting fields 22 and 22C) where alphanumeric order must give precedence to letters over numbers

8.0.4 - December 2019

  • Fixed resource bundle for MX messages when retrieved for specific locale
  • Added convenient toJson with preformatted validaiton problem messages, to the ValidationResult DTO
  • Fixed detection of invalid trailing empty lines in MT field values

8.0.3 - September 2019

  • (PW-185) Replaced custom error codes with SWIFT standard FIN error codes such as Hnn and Tnn
  • Added new validation entry points for MX messages to use specific XSD schemas (useful to validate SEPA messages)
  • Added missing field validations: T14, T49, T70, T75, T88
  • Fixed validation of conditional qualifier in field 93C in MT566

8.0.2 - August 2019

  • Fixed validation of conditional qualifier in field 93C in MT566
  • Fixed bin/validator CLI app that stopped reading input on the first line break
  • Fixed occasional BIC truncation validating large MX messages

8.0.1 - July 2019

  • Enhanced the configuration to enable ignoring validation problems by specific key, by name or by type
  • Fixed validation of BIC codes in MX when the BIC directory is disabled
  • Fixed BIC not registered error reporting when validating MX messages
  • Fixed semantic check 196 affecting MTs 362

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)
  • Fixed semantic check 157 affecting MTs 320, 330 adn 620

7.10.9 - May 2019

  • Fixed SB-LC validation, affecting fields 22 and 22C (common reference); added the missing alphabetic sort check in the parties code and location
  • Fixed lines count check in multiline fields with optional party identifier in first line (ex: 58D)

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

7.10.7 - January 2019

  • Added missing path when reporting invalid country code in MX
  • Fixed duplicated error reporting when validating MX messages
  • Added the XsdRegistry interface to allow overwriting the default schemas when validating MX messages
  • Enhanced the MX error reporting to include the repetitive element index in the validation problem xPath
  • Added support for custom MX validation rules
  • Enhanced validation and error reporting for fields 50F and 59F
  • Minor performance enhancement for validation process with exit on first error
  • Added support in MX validation to optionally ignore XSD ERROR

7.10.6 - November 2018

  • Added ISO country code validation for CountryCode elements in MX messages
  • Fixed GPI validation to NAK non-GPI messages with fields 121 or 111
  • Fixed GPI validation to NAK GPI-message with field 111 when the institution is not a GPI member
  • Fixed error description for structure validation problem TOO_BIG
  • Enabled the UETR validation for any message type, it is still mandatory for GPI messages only though
  • (PW-103) Activated the UETR format validation also for output messages (received from SWIFT)
  • Fixed semantic validation 201 affecting MT564

7.10.4 - September 2018

  • Bugfix validating empty first line in fields value
  • Enhanced error reporting in BIC validation, including details of the BIC subfield where the validation problem is found
  • Enhanced the BIC validation checking the country code within the BIC is a valid ISO country
  • MX: Added BIC validation using the BIC directory (optional by configuration) for elements containing BIC codes
  • MT: Added BIC validation using the BIC directory (optional by configuration) for the sender and receiver address in the headers

7.10.3 - July 2018

  • Added a specific PARSE_ERROR validation problem to report when the message has an invalid block structure
  • Prevention of IllegalArgumentException when the hyphen is missing in the closing bracket of block 4
  • Added MX currency validation using ISO currencies from ISOUtils

7.10.2 - July 2018

  • Fixed spanish description of semantic E45 check
  • Fixed component size check in validation of Field 59F

7.10.1 - May 2018

  • Added field 434 in block 3 validation

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)

7.9.8 - April 2018

  • Enhanced validation of IBAN numbers verifying the check digits and the custom account number per country (BBAN)
  • MT306: message scheme fix, added the missing 57 ADJ optional field at the end of sequence L
  • Minor fixes in semantic validation rule 40 and rule 122

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
  • Removed the BaseTestCase class from the public API to avoid Junit dependency
  • Added ValidationProblem#printout to generate a human friendly printout of a validation problem list
  • Updated dependency: org.mozilla🦏1.7R4 -> org.mozilla🦏1.7.7.2

7.9.6 - December 2017

  • Minor fix in semantic27 affecting malformed MT942

7.9.4 - November 2017

  • JRE requirement backported to Java 1.6
  • Fixed validation for field 77J: 50x[’CRLF’50x]0-69

7.9.3 - October 2017

  • Added support to validate MX system messages (xsys category)
  • Fixed currency validation (T52) in fields 60F, 62F, 64, 65 and 33B

7.9.2 - August 2017

  • Fixed T26 validation in fields 13B, 22W, 94B, 95a and 98K
  • MT537 fixed qualifier validation for field 98a in transaction details sequence (C2)
  • MT524 fixed implementation for rule 208 when several LINK sequences are present in the message
  • MT545 and MT547: fixed validation for field set 98a in Trade Details sequence (B), qualifier ESET is mandatory while SETT is optional
  • Fixed error code and message throw by semantic rule 267
  • Added more details when reporting semantic rule 266 errors.
  • Added IsoUtils singleton to allow customization and exceptions for currency and country codes validation
  • Currency and Country codes validation is now implemented using data from Java Currency and Locale
  • Validation of maximum fraction digits per currency (semantic rule 3) is now implemented using data from Java Currency

7.9.1 - June 2017

  • Fixed semantic 167 for MT103 plan (not STP and not REMIT)
  • MT801 first loop can be repeated
  • Fixed semantic 282 affecting MT535
  • Fixed scheme for MT940 field 60[F,M] is now required

7.9 - May 2017

  • SWIFT Standard release update 2017 (live 19 November 2017 for MT and 18 November for MX)
  • MT536: fixed false positive semantic 252 check, fixed qualifiers check in field 98a (sequence B1a2)
  • MT575: transaction details sequence C2, field 98 with SETT or TRAD set as optional
  • MT537: fixed false positive semantic 285 check
  • MT576: additional information sequence C set as optional
  • Fixed semantic rule 259 affecting MT517 link sequence check
  • MT569: fixed incorrect definitions in sequence C1a1 (valuation details)
  • MT506, 569 and 575: field 28E mandatory
  • MT513; sequence A added TRAD qualifier to field 22F, sequence B1 (partial fill details) fields 98 and 94 are optional
  • MT513 and 514: fixed letter option from H to F in field 22F:SETR in settlement details

7.8.9 - May 2017

  • Yearly revision of deprecation phase (see http://www.prowidesoftware.com/resources/deprecation-policy)
  • Fixed validation of fields 72 and 79 of a Rejected/Return message
  • Renamed FieldProblem.REJT_RETN_0n to more specific errors: REJT_RETN_LINE_n, REJT_RETN_REASON_CODE, REJT_RETN_MREF, REJT_RETN_TREF, REJT_RETN_CHGS, REJT_RETN_TEXT
  • Enhanced validation of user block 3, checking all fields are expected for the message type and checking fields order.
  • Fixed NPE in semantic 119 affecting MTs 102 and 103 STP when IBAN component was not present
  • Added a common type ValidationProblemKey implemented by all problem key enumerations
  • Fixed false positive error validating field 59F when multiple address lines (line label 2) are defined
  • Fixed false positive restriction field 37a second component
  • Fixed scheme for MT505, added missing field 98A:AGRE in sequence A1
  • Enhanced MX validation to allow MX messages with bank-to-bank namespace declaration
  • Fixed false positive semantic 293 validation for MT507 when sequence B1a1 was not present
  • Fixed letter option in scheme for MT506, sequence D (Collateral Details) field 19 A -> B
  • Fixed qualifier in scheme for MT506, sequence D (Collateral Details) DEAL-> COLL
  • Fixed scheme for MT506, sequence B (Summary) field 95 is mandatory and field 19B only mandatory with qualifier COVA
  • Fixed Semantic 82 implementation affecting MT104 and MT107
  • Fixed false positive case in Semantic 75, affecting MT104
  • Fixed validation of leading characters, colon (':') not allowed in second and subsequent lines except for fields 77E and 77T
  • Fixed semantic 103 affecting MT535

7.8.8 - March 2017

  • Added support for nested Document elements when validating MX messages
  • Removed invalid fields following linkages in GENL sequence
  • Cleaner log in semantic rule 3 validation

7.8.7 - December 2016

  • Added check for validation flag (STP, REMIT, COV) in user header block
  • Fixed missing semantic associations to MTs 700, 705, 707, 710, 720, 730, 732, 734, 740, 742, 747, 750, 752, 754, 756, 768, 768, 769, 800, 801, 802, 824
  • MT518 fixed fieldset for Field 70
  • MT330 fixed qualifier in Field 22
  • MT513 and MT514 Field 11 moved outside previous fieldset
  • MT541 to MT547 Field 90[A,B] changed to fieldset.
  • MT564 fixed fieldset items in Field93[B,C]
  • MT565 to MT567 Sequence D, fixed field 13
  • MT609 and MT798_763 fixed qualifiers in Field 29

7.8.6 - November 2016

  • JRE requirement increased to Java 1.7 (only for Integrator SDK and modules, Core still works on 1.5)
  • semantic 175 minnor fix affecting MT104 and MT107 when multiple sequence B are present

7.8.5 - October 2016

  • Minor fixes in semantic validations: 206 (used in MTs: 103, 564, 566), 279 (used in MTs: 549, 564, 565)
  • MT564: Minor fixes in semantic validations: 199, 211, 224
  • MT564: field 93 UNBA instead of UMBA
  • MT564: CAOPT sequence, field 92 INTP, missing conditional qualifier NILP
  • MT564: SECMOVE sequence, field 90 PRPP, missing letter option K
  • MT564: SECMOVE sequence, field 92 NEWO, missing letter option M
  • MT564: CASHMOVE sequence, field 92 ESOF, missing letter options F and M
  • MT564: CASHMOVE sequence, field 92 TXIN, missing letter option F
  • MT564: CASHMOVE sequence, field 92 WITL, missing letter option R and its conditional qualifier eval
  • MT564: fixed field 92J subfield ACTU INDI validation
  • MT565: CAINST sequence, field 90 OFFR, missing letter option L
  • MT566: CADETL sequence, field 92 BIDI missing letter option P
  • MT566:CACONF sequence, field 69, removed invalid letter option J
  • MT566: Fixed qualifier in field 13a to allow UNS
  • MT566:SECMOVE sequence, field 90 OFFR, missing letter option L
  • MT566:SECMOVE sequence, field 90 PRPP, missing letter option K
  • MT566:SECMOVE sequence, field 92 NEWO, missing letter option M
  • MT566:SECMOVE sequence, field 92 TAXC, removed invalid letter option K
  • MT566:CASHMOVE sequence, field 92 TXIN, missing letter option F
  • MT566:CASHMOVE sequence, field 90 PRPP, missing letter option K
  • MT566:fixed field 92J subfield ACTU INDI validation
  • MT567: CADETL sequence, field 35B, removed invalid qualifier check SAFE
  • MT567: field19 changed to fieldset

7.8.4 - Oct 2016

  • Fixed JS expression in schemes for 564, 565, 566 and 620
  • Important enhancement in MX validation problem reporting, including full XPATH, line and column of errors.
  • Fixed semantic 291 (affecting 540, 541, 544, 545)
  • Fixed semantic 112 (affecting MTs 670 and 671)
  • Fixed semantic 113 (affecting MTs 380, 381, 503, 504, 506, 670, 671)

7.8.3 - Jul 2016

  • Added support for changed currency in Belorussia from 974 (BYR) to 933 (BYN).
  • Fixed semantic 210 affecting messages 103, 102, 104 and 107

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 field repetition validation in block 3

2016 April

  • Added detection of extra data in message content or blocks when validating a message

2016 February

  • Fixed validation of min and max repetition in fieldsets, when the attributes are set only in the items

2016 January

  • Fixed scheme 307, typo in semantic rules attribute
  • Added API in SchemeField to retrieve qualifiers information from parsed scripting expressions

2015 December

  • Fixed schemes for 600, 601, 604, 605, 606, 607, 608, 609, 620, wrong qualifier for field 26C

2015 November

  • Fixed validation of repetitive sequence in MT940

2015 October

  • Fixed validation for fields 129, 12A, 13B, 20E, 23A, 26N, 26P, 92C and 94D; removed restriction on amount of slashes because components use charset x where slash is allowed
  • Fixed validation for fields 14G, 27A, 27, 28[D,E], 29[L,N], 38[G,H], 39[A,P], 68C, 69C, 70[C,D,E,G], 90F, 92R, 93B, 94E, 94G 95[Q,T,U,V] and 98F; added restriction on amount of slashes

2015 September

  • Fixed scheme for MT567, removed invalid 25D field in sequence A

2015 August

  • Fixed qualifiers validation scripting in xml schemas for MTs: 306, 360, 361, 362, 364, 365, 500, 501, 535, 564, 565, 566
  • Enhanced validation patterns naming for better consistency

2015 April

  • Enhanced structure validation error reporting, when JS expressions are used to check conditional qualifiers. The new scheme validation rule generates a proper message indicating the expected and found qualifiers instead of a generic fail expression error.

2015 March

  • Bugfix Field validations, new restriction, start of line character cannot be '-'.
  • Bugfix MT535 subsequence B1a, it can be at most one and the scheme was allowing multiple repetitions

2015 February

  • ValidationEngine enhancement in the default scheme to use, detecting automatically if a 102/103 is STP or if a 202/205 is COV
  • Fixed validation for field 22S, was requiring a 35 characters fixed length for component 2, while the correct validation is up to 35 characters (not fixed)
  • Added more restrictive party field validation when a slash is followed by a blank content, affecting fields 42a, 50a, 51a, 52a, 53a, 54a, 55a, 56a, 57a, 58a, 59a, 81a, 82a 83a, 84a, 85a, 86a, 87a, 88a, 89a, 91a, 96a
  • SchemeValidationRule version 2: new version of structure validation for MT, with several enhancements and bug fixes over the previous version.
  • Important performance enhancement in MT structure validation (30% in average, reaching a 60% for some message structures).
  • Important enhancement in structure error reporting, errors are now more specific and detailed with more details.
  • Better error localization, avoiding duplicated error field validation in some situations.
  • Improvement in scheme's scripting validations, isolating script compile errors from unsatisfied logic conditions.
  • Fixed scheme validation for MT300 that was throwing a false problems for some combination of subsequences E, E1 and E1a.

2015 January

  • RuleManager: fixed loading of field rules, that was skipping incorrectly field validation to fields derived from fieldsets

2014 December

  • Better error message format in BaseTestCase
  • Fixed error message for E73
  • Review of semantic rules 85,86,198
  • ValidationEngine: Added API to validate from AbstractMT
  • ValidationEngine: Added exclusive API to use when validating messages in strings or files (with swift format, not parsed objects) therefore detecting more error conditions
  • AbstractTagValidationRule: Fixed validation that had a bug in special conditions, Output messages (received from swift) and with sender and receiver within the same institution

2014 November

  • Bugfix in schemas 515, 536
  • Enhanced MT expression validation reporting, diferenciating invalid expressions, from runtime errors or failed expression evaluation.
  • Bugfix. Fixed expressions in schemes xml for MT576 and MT568, replacing deprecated function call addQuaifiers by qualifier
  • Bugfix. Added validation of T13 rule to MTs n98

2014 September

  • Bugfix. Missing resource bundle for invalid BIC validation problem
  • Added addVariable method to ValidationProblem
  • Bugfix. Fields 95Q and 70C were restricted to maximum 3 lines, while 4 lines are compliant as well.
  • Bugfix. Fixed XML for MT537, field 22H conditional qualifier STAN changed to STAT

2014 July

  • Enhanced structure validation incorporating special field exceptions and required code words (standard PIII Fields Chapter 4) directly into the xml schemes configurations. Affected MTs: 102 STP, 103, 103 STP, 300, 303, 304, 305, 306, 320, 340, 341, 350, 360, 361, 362, 364, 365, 600, 601, 620, 920, 973
  • Enhanced structure validation error messages to separate unexpected fields problems reporting, from field qualifier problems or expression evaluation problems
  • Enhanced field validation to avoid repetitive checks for empty content and/or empty lines
  • Bugfix. MT306 optional field 12G changed to 12D and added missing field class
  • Bugfix. SchemeXmlReader to properly set fieldset items' qualifiers and letter options when inherited from container fieldset
  • Bugfix. Added null controls to several semantic validations to prevent NPE that would previously arise when applying semantic checks to messages with specific invalid structures
  • Bugfix. Fixed XML for MT540, field 90 changed to fieldset 90 to allow qualifier validation for items
  • Review and code clean of semantic rule 24, 52
  • SRU 2014. Affected MTs: 300, 304, 305, 306, 340, 341, 360, 361, 380, 381, 502, 506, 508, 509, 513, 514, 515, 518, 527, 530, 536, 537, 538, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 558, 564, 565, 566, 567, 568, 569, 575, 600, 601, 942
  • Added description and release attributes to Scheme
  • Minor fix in MT300 sequences structure, B1 and B2 inside B, and named D's subsequence as D1
  • Bugfix. MT300 optional field 17A changed to optional field 77A (field number was wrong)
  • Bugfix. MT514 fixed missing mandatory fields 36B and 35B between end of sequence B1 and start of sequence B2
  • Bugfix. MT515 fixed field 90[A,B] with qualifier DEAL at sequence C, changed from optional to mandatory (minRepetition was wrong)

2014 May

  • Review and code clean of semantic rule 184
  • Review and code clean of semantic rule 176
  • Review and code clean of semantic rule 152, 153, 154
  • Performance enhancements: execution speed reduced by approx 71% measured in global test suite

2014 April

  • Review and code clean of semantic rule 131, 253, 133, 135
  • Fixed semantic 116 rule incorrectly interpreting sequence C absence for MT306

2014 March

  • MT564: Added missing option K to field 90 in sequence E2 cash movements
  • Review and code clean of semantic rule 92, 95
  • Review and code clean of semantic rule 66, 67, 68 ,78, 84, 93
  • Review and code clean of semantic rule 61, 57, 58, 62
  • Added validation problems translation to Italian.
  • Bugfix. Fixed invalid check for X in 8th position for logical terminals without A, B, C identifier
  • Bugfix. Fixed Block1 validation, allowing Logical terminal without the A, B, C identifier (11 characters length)
  • Bugfix. Field validation was not accepting 999 as a valid MT number (example field 11R)

2014 February

  • Bugfix. Affected MTs:n92, n95, n96, n98. Fixed isolation of fields copied from original message from the fields of the message being validated
  • Bugfix semantic rule 31 that was throwing false positives when field 79 was included in the appended original message's fields
  • Initial addition of FieldFilter and FieldFilterUtils API
  • Maintenance review of semantic rule 71
  • Review and code clean of semantic rule 211, 221, 262
  • Added API to BaseTestCase
  • Review and code clean of semantic rule 209
  • Review and code clean of semantic rule 201, 202, 206
  • Bugfix. Affected MTs: 564. Fixed semantic rule 71 that was throwing IOB exceptions for some valid combinations of fields 93B
  • Bugfix. Affected MTs: 568, 569, 574, 575, 576, 578, 586, 670, 671. Fixed xml schemes, changing the invalid scripting method conditionalQualifiers to conditionalQualifier
  • Review and code clean of semantic rule 203, 206, 209, 221
  • Review and code clean of semantic rule 201, 202
  • Bugfix. Affected MTs: 305. Fixed false positive missing field errors when the message ends with nested optional subsequences with inner mandatory fields
  • Review and code clean of semantic rule 192, 72, 199
  • Review and code clean of semantic rule 71
  • Review and code clean of semantic rules impacting MT305
  • Added a code generation tool that can be run from command line to create custom version of Field and MT classes
  • Added a command line application to use the messages validation in standalone mode, validating messages from file system

2014 January

  • Added validation rules for fields belonging to system messages (i.e. 451)
  • Adding constants to Literals class to avoid usage of hardcoded strings and cleaner code with static imports
  • Bugfix. Affected MTs: 207. Fixed maximum repetitions of sequence B from 1 to unlimited
  • Maintenance(Review and performance updates) semantic rule #167, #54, #55
  • Maintenance(Review and performance updates) semantic rule #161
  • Maintenance(Review and performance updates) semantic rule #168, #246, #254
  • Added filter() to AbstractSemanticValidationRule
  • Maintenance(Review and performance updates) semantic rule #162, #166
  • Added BaseTestCase.assertValid(String)
  • Fixed issue in semantic rule 154 which did not consider properly B sequences
  • Maintenance(Review and performance updates) semantic rule #160, #164

2014-01-15

  • Fixed issue in semantic rule 77 affecting MTs 730, 768 and 769

2013 October

  • Maintenance(Review and performance updates) semantic rule #44, #45, #46, $47, #48, #51, #53
  • Maintenance(Review and performance updates) semantic rule #106, #108, #30, #40, #42
  • Review and performance updates on S102
  • Refactored max msg length validation to use enum in structure problem for reporting errors
  • Review and performance updates on S79

2013 September

  • SRU 2013 update
  • Fixed incomplete validation for field 77E

2013 March

  • Bugfix: fixed typo at field 22H in MT380, BUYI->BUY1

2012 June

  • Added API to specify locale on ValidationProblem.getMessage method