Skip to content

Prowide Integrator MyFormat - CHANGELOG

10.1.10 - August 2024

  • Added transformations defaultStringIfPresent and getCountryDescription
  • Enhanced transformation logicalTerminalAddress
  • Revamped the JsonWriter implementation (using XML as intermediate internal representation)

10.1.9 - July 2024

  • (PW-1792) Added a camt.050 message builder utility with initial support for generic ISO 20022, T2 and SIC
  • (PW-1792) Added a camt.053 message builder utility with initial support for generic ISO 20022, T2 and CBPR+
  • (PW-1792) Added a pacs.008 message builder utility with initial support for generic ISO 20022, CBPR+, T2 and SIC

10.1.8 - June 2024

  • (PW-1792) Added a pacs.009 message builder utility with initial support for generic ISO 20022, CBPR+, T2 and SIC
  • (PW-1889) Added API in the MtWriter, MxWriter and XmlWriter to check if a given selector already exists in the written content

10.1.7 - June 2024

  • Added a convenient write method with default write mode in the MessageWriter interface

10.1.6 - April 2024

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

10.1.5 - December 2023

  • Added schema paths validation for source and target selectors in the conversion from or to MX

10.1.4 - October 2023

  • (PW-1604) Added concat function to MatrixReader in order to allow retrieving multiples source value during foreach iterations

10.1.3 - October 2023

  • (PW-1642) Changed the mapping validator to enable literal() in the source selector, this makes sense when combined with a defaultString(value) transformation

10.1.2 - September 2023

  • (PW-1118) Changed MtReader in order to include null value items in readMany results when valueSelector is used

10.1.1 - July 2023

  • Enhancements to fully support propagation of foreach indexes into the target selectors, including Line, such asf A[2]/B[{n}]/B1[3]/23A[{m}]/Line[{o}]

10.1.0 - June 2023

  • Migration to Java 11
  • Migration to Jakarta EE 10

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.14 - May 2023

  • (PW-1370) Fixed the MxReader so that it can properly extract content from /AppHdr and /Document paths in conversions from MX
  • (PW-1232) Changed the CSV writer to be more lenient; enabling empty rows, auto extend by default when using addRows, and single separator in the whole CSV
  • Internal implementation enhancement

9.3.13 - April 2023

  • Refactored the MappingTable spreadsheet loader to use the new MappingTableExcelLoader
  • Refactored the MappingValidator in order to optimize the Rules Parsing, Validation and Process steps

9.3.12 - March 2023

  • Fixed transformation toTimeZone when both source and target zone identifiers are used as parameters

9.3.11 - March 2023

  • Internal implementation enhancement in the SETUP commands API

9.3.10 - February 2023

  • (PW-1174) Added SETUP function to indicate the appHdrType for MX messages in the externalized configuration (spreadsheet or DB)
  • Added support for Zone Ids such as "America/Argentina" to the offset parameters in the transformation functions

9.3.9 - February 2023

  • Added transformation now() to get the current datetime in local timezone, formatted as yyyy-MM-dd'T'HH🇲🇲ss.SSSZ (ISO 8601)
  • Added transformation now(utcOffset)to get the current datetime in the specified time-zone, formatted as yyyy-MM-dd'T'HH🇲🇲ss.SSSZ (ISO 8601)
  • Added transformation uetr() to generates a new random UETR (unique end to end reference) used in both MT and ISO 20022 messages
  • Added transformation toTimeZone(dateTimeFormat, targetOffset) to transform a given datetime in local time and convert it to the target UTC timezone
  • Added transformation toTimeZone(dateTimeFormat, sourceOffset, targetOffset) to transform an input datetime from a specific UTC timezone to another
  • MtPath enhancement to enable using component names (labels) in the selector expressions instead of component numbers

9.3.8 - January 2023

  • Enhanced selector validation, checking that value selectors (secondary selector in expression) do not contain variables
  • Added support for JSON as source and target formats for the conversion

9.3.7 - December 2022

  • (PW-1118) minor fixes and added "@main" to MtReader to work with main message (when processing an attachment)
  • Minor internal code enhancements
  • Fixed error text formatting in transformations validation

9.3.6 - December 2022

  • (PW-1105) Added support in the CSV writer setup to pass "\t" as parameter to require the tab character as separator
  • Added a constraint for the CsvFieldsDef to match the pattern ([A-Za-z0-9_]*) and thus avoid mapping selector parsing issues

9.3.5 - November 2022

  • Updated Apache Commons Text dependency to 1.10 to fix reported CVE
  • Added SETUP functions to indicate the source and target formats in the externalized configuration (spreadsheet or DB)
  • Added SETUP functions to indicate the target MT type or target MX type in the externalized configuration (spreadsheet or DB)
  • Added SETUP function to set up the mapping name in the externalized configuration (spreadsheet or DB)
  • Added support in the MtWriter to generate automatically the field 15 in the sequences separated by 15a

9.3.4 - October 2022

  • Added API in the MxWriter to configure the specific AppHdr version to use when creating MX messages as output
  • Set the default AppHdr version when creating MX messages to ISO Business Application Header v2
  • Added ifElse power function to facilitate conditional mappings

9.3.3 - October 2022

  • (PW-1064) Fallback option to system classloader in resource loading

9.3.2 - September 2022

  • Added transformation functions logicalTerminalAddress, logicalTerminalAddressSend and logicalTerminalAddressReceive
  • Added transformation function sum

9.3.1 - August 2022

  • (PW-1010) Added an automatic sanitization when converting into MT, to fix start of line characters and some missing components

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.6 - May 2022

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

9.2.5 - April 2022

  • Minor fix in the database loader, to set the table name with the configuration name parameter
  • Fixed mapping table validation when there are SETUP commands in the mappings
  • Minor internal code enhancements
  • Prowide Integrator SDK and Prowide Core updates

9.2.4 - January 2022

  • Prowide Integrator SDK and Prowide Core updates

9.2.3 - December 2021

  • Added com.prowidesoftware.integrator.myformat as automatic module name in the MANIFEST for JPMS support

9.2.2 - June 2021

  • Added support to read and write block 5 fields with selectors such as "b5/CHK"

9.2.1 - June 2021

  • (PW-527) Additional change in the XML and MX reader to trim indentation and trailing spaces from elements while preserving line feeds
  • (PW-527) Changed the XML and MX reader to preserve whitespaces from elements content
  • (PW-527) Added transformation functions wrapLinesPreserve and wrapLinesPreservePrepend

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.8 - April 2021

  • (PW-502) Added MappingTableDatabaseLoader for more flexible data base access and querying when load the mappings

9.1.7 - March 2021

  • (PW-480) Fixed mapping into block 2 using whole block value as input data

9.1.6 - February 2021

  • Added validation of the new SETUP commands: separator, smartQuotes, smartEscapes, addFieldNames and columnNames

9.1.5 - January 2021

  • Fixed CSV writer with APPEND mode
  • Added SETUP commands to the externalized mapping into CSV: separator, smartQuotes, smartEscapes, addFieldNames and columnNames

9.1.4 - January 2021

  • Fixed semantic of the MtReader to return null content if the MT selector targets a missing field component
  • Fixed transformation "rightPad"
  • Fixed transformation "formatDecimal" when input number contains decimal separator and no decimal digits (valid case in MT amounts)
  • Fixed transformation "fixed" to avoud setting the default value if the input content is null (not found in source)
  • Fixed transformations "append", "prepend", "replaceIfEquals" and "wrap" to avoid generating value if input is null
  • Fixed transformations "indexOf", "indexOfIgnoreCase", "lastIndexOf" and "lastIndexOfIgnoreCase" when found substring is at index 0
  • Enhanced number parse exception handling in transformations using or expecting integers and decimal numbers

9.1.3 - December 2020

  • License check review

9.1.2 - November 2020

  • (CR-27) Added support for forced double quotes for CSVWriter
  • (CR-27) Added support for disable smart escaping (ex: comma inside double quotes are not escaped) for CSVWriter
  • (CR-27) Added support to generate header column with field names for CSVWriter
  • (CR-29) Added support in the MtWriter to create internal loop (sequences without 16R and 16S boundary) present for example in MT940
  • (CR-28) Added support in the MtWriter to create block 1 and block 2 from whole value strings (not targeting individual fields)
  • (CR-28) Added support in the MtReader to retrieve the whole block 1 or block 2 value with selectors "b1" and "b2"
  • Minor fix in formatDecimal transformation when default locale has comma for decimal separator

9.1.1 - September 2020

  • (PW-334) Added backward compatibility support for custom("MyCustomTransformer") in the mapping transformations

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

  • Internal implementation changes to the use the new AppHdr model in the SDK

9.0.0 - May 2020

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

8.0.7 - May 2020

  • Added a CsvReader constructor parsing a whole csv where the first row is used as field definition for the mappings
  • Fixed index in CsvFieldsDef constructor to be zero-based instead of one-based

8.0.6 - February 2020

  • (PW-237) Added ifMatches and IfNotMatches power functions to facilitate conditional mappings

8.0.3 - September 2019

  • (PW-179) Added support for custom transformations in externalized mapping tables
  • Added support for header rows skip configuration in CsvReader

8.0.2 - August 2019

  • Added support in the CsvFileReader for the header offset parameter, rows are now skipped directly by the Iterator

8.0.1 - July 2019

  • Fixed XML and MX writer to avoid creating empty elements if the source content is null
  • Fixed bug in MX/XML writer when creating more than 100 target elements in a rule with variables
  • Added support for foreach when converting from MT

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

  • Enhanced selectors for CSV with support for repetition, variables and filters.
  • Added support for FIXED-LENGTH files as source and target message format.
  • Added API to load the mappings from a database, providing a data source or a context name for JNDI lookup
  • Added automatic sequence creation in conversions to MT, for example /E/E1/95Q will create E and E1 boundary fields
  • Fixed block 3 fields order when target is MT and the writer has a pre-filled block 3
  • Added CONCAT function in source selector to combine the result of a list of selectors in a single rule
  • Added wrapLinesPrepend transformation to split content in to lines, with both fixed length and a prefix
  • Added support for FOREACH in the mappings to process a list of source elements in a single rule
  • Added support for parameterized predicates in the selector to map repetitions from source to target message
  • Added the token LITERAL as alternative to indicate a source content is a plain literal instead of a selector
  • Enhanced reporting in the mapping rules validation, detail message when the selectors are invalid

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 transformation: abbreviate, unwrap, wrapLines, remove and replace functions based on regex
  • Added support for custom transformation functions
  • When using the CsvFileReader, the iteration counter variable can be used in both target and source selectors
  • Fixed handling of row header offset in CsvFileReader
  • Fixed CSV selector for empty column values (consecutive split characters without values)

7.10.7 - January 2019

  • Added a constructor with AbstractMT in the MtWriter to initialize the writer with a pre-filled message
  • Added MessageReaderIterator to do n to 1 translations from multiple rows in CSV to single consolidated output
  • Added constructors to create MxWriter from existing AbstractMX message and from MxType identifier

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.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
  • Added constructor from stream in XlsReader

7.9.4 - November 2017

  • JRE requirement backported to Java 1.6

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.6 - November 2016

  • JRE requirement increased to Java 1.7 (only for Integrator SDK and modules, Core still works on 1.5)

7.8.5 - October 2016

  • Added out-of-the-box translation from MT300 into MxFxtr014
  • Added transformation to perform content replacement based on map of tuples
  • Added transformation to create fixed values
  • Added transformations for BIC related operations (bic8, bic11, branch, country, etc...)

7.8.3 - Jul 2016

  • Generic XML API moved to SDK