(PW-2056) MX CBPR+ and ISO CrossElementValidator fix: retrieve Document node in xml with DataPDU and multiple node structure
10.1.27 - September 2024
MxValidatorException refactored to ProwideValidationExitException that extends ProwideException
10.1.26 - August 2024
(PW-1928) Change org.apache.derby:derby dependency to optional in the distribution pom.xml
10.1.25 - August 2024
(PW-1893) Added BizMsgIdr format validation to RITS (HVCS) validation engine
10.1.24 - July 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.1.23 - June 2024
(PW-1893) Added new RITS (HVCS) validators for camt.029 and camt.056
10.1.22 - June 2024
(PW-1893) Added new RITS (HVCS) validators for pacs.008, pacs.009 CORE and pacs.009 COV
10.1.21 - June 2024
(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.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
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
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 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
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
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