* Ensure dynamic link of libssh after change from SCLM to make file build on z/OS
5.1.24-29928
* Bugfixes
** Prevent segmentation fault (0C4) of subtask (FLZSRV) in FLUC subsystem if vdFcrPut failed (if open of file not possible) in vdFcrFlu
** Prevent wrong instruction (0C1) in PCR routine of zIIP support based on missing resources if connect to WLM failed
*** Use ASCBJBNS/NI as WLM Subsystem Name
5.1.24-29911
ATTENTION: Because of huge memory consumption the defaults object on
column level was removed from table support. Please define the
corresponding values directly for these columns.
* Support tag value delimiter format in table support
** The new general text format parser was built mainly to support SWIFT MT formats
** It can also be used to parse any kind of hierarchical text format including XML, JSON and others
** It can be used for a set of columns inside other column formats (partial parts with complex structure)
** This allows to parse fixed or variable length formats in between a piece of JSON or XML
* CPACF cryptographic acceleration for the 64 bit environment on Z systems is now supported
* Improved system information for hardware acceleration with CPACF on z/OS and USS
* Support ignoring a prefix in front of colon for comparison of XML tags in table support
** The same row specifications can be used if different name space abbreviations used
** The new parameter PREFIX in FORMAT.XML() (or XMLPFX in the default definitions) can be used
* Support "ROOT" as alias for "PATH" in table and row level
* Reduce memory consumption for header values at XML parsing in table support
** No growing of memory through collection of header values
** The memory usage is now constant independent of the amount of data converted
* Improve and correct reading of binary delimiter
** The record buffer is no longer used to store the delimiter (the full record length are used for record data)
** Implement special function for 1 and 2 byte delimiters to increase performance
* Add more PL1 samples (SPFCUCNV using FLUCUP, SPFLCICV using FLCICV (iconv like DLL of FLAM))
* Add FLAM4TDA as part of FLM4SEPA to the package
** Check feature code in assembler modules
* Initialize dia-critical characters support also if quiet is defined for the command line executor
* Improve performance in whitespace handling of ICV character conversion module
* Support enforcement of 32 or 64 bit ZIP archive format (prevent 7z warning)
** ARCHIVE.ZIP( ... FORMAT=Z32/Z64 ...)
** If no format is given the old behavior is used
** The default streamed format now is Z64
* Implement ICV character type check functions isICV - upper/lower/punct/space/cntrl/digit/xdigit
* Support 64 bit CCA support program with 64 bit integers on platforms where the C data type long has 64 bit
** The requirement to use 64 bit instead of 32 bit integers is determined by testing of the library
** This ensures that the SAPI library is handled correctly
* Reduce minimal keyword length for new FLAM4 executable to be more backward compatible with the old FLAM utility on Windows
** 100% backward compatibility is not possible, because of newly supported keywords
* Make implementation of new license modules compatible to old FLAM versions
** Using a new license module with an older FLAM revision could result in a segmentation fault
* Support enforcement of post-processing per file
** By default the post-processing of the I/O components was done only once after closing all files
** This resulted in only one post-processing call for the last file during directory walk
** With the new switch 'PERFILE' post-processing per file can requested
* Correct reset of environment variables (FL_PLATFORM) for Windows
** Use UNSETENV instead of SETENV with empty string if it was no variable defined before
* Correct mapping on Unix and Windows platforms in new FLAM4.exe and FLCL FLAM command if no record format is given and a record delimiter is specified
** Since 5.1.23 the record delimiter was only relevant if INRECFORMAT=TEXT/STREAM was specified
** Since 5.1.24 if no record format but a record delimiter was specified, then the record format will set to STREAM by default
* A new section in the FLAM4 manual and install.txt describes how to specify input and output record format as property
** Unify behavior of the new flam4.exe with the old one on Windows and Unix platforms
* Add symbol table and memory allocation statistics for CLP based on the environment variables below
** CLP_SYMTAB_STATISTICS - Print symbol table statistics to STDERR stream when closing
** CLP_MALLOC_STATISTICS - Print memory allocation statistics to STDERR stream when closing
* Add new parameter BLK2REC to WRITE.RECORD() and WRITE.FLAM4() of CONV command
** Add an additional delimiter based block to record conversion with suppression of trailing whitespace
** Required to convert for example a SWIFT-MT output format to a record per line
* Finalize each column after table change at write
* When using SSH configuration files with "IdentityFile" lines for public key authentication,
all matching keys are now attempted in the authentication phase.
** Previously, only the first encountered key was considered by libssh, all others were ignored.
* Make separator character in table definitions compatible between read and write
** when reading more than one separator character (SEPCHR) can be specified
** when writing only the first of them is used
* Introduce global literal caches per character set to reduce memory consumption
* Add log of license ID also at the end of the INFO function
* Bugfixes
** Fix several reallocation issues after enforcement of reallocation for internal write buffer
*** Normally the size of the write buffer is pre-calculated and only in rare cases a reallocation is required
*** Our test framework enforce now all this reallocations and in few components the handling was buggy
**** Fix possible damaged data after length error occur in table support
***** in very raw situations the internal buffer to write XML data in table support cloud be too small
***** in such case a reallocation of this buffer is done and the XML writer is called again
***** now we ensure, that the internal state of the XML writer is correct after an re-call with more memory
***** in the same rare case the offset for the element converter was not correct to write CSV format correctly
***** in the same rare case the input pinter for the formatting was not re-corrected after a re-allocation with pointer change
**** Fix wrong pre-calculation of required space for re-allocation in CNVBAS (prevent possible segmentation fault)
**** Fix segmentation fault after re-allocation with pointer change and correct amount of required space in FMTXML
**** Fix re-allocation issue in CNVPGP (the small sizes smaller than minimum space was not checked (the enforcement goes below (not really a bug)))
**** Verify output space before fractional length for big integer processing to ensure length error
**** Fix maximum length check in CSV-Support at write if masking requested
**** Correct re-allocation logic in FMTREC
** Fix whitespace handling "COLLAPSE" in ICV module (replacement was done with data instead of whitespace)
** Fix dirty delimiter handling of '0D..0DC285' in FMT.TXT()
*** The 0x85 was not removed from the data, which normally results in conversion errors
** Fix UTF-32 support in integer and float converters (plausibility check if length multiple of 4 failed)
** An issue in integer and float converters when using UTF-32 is fixed
- 0001017: [1.1 FLCL] ":32B:GBP31500," are a valid swift TAG with 31500,00 as amount (Tilo Eckert) - resolved. - 0001019: [6. Access Control, Logging and Errorhandling] Warning for soon to expire license is never shown to user (Falk Reichbott) - resolved. - 0000930: [1.2 FLCC] Support tag value delimiter (TVD (required for SWIFT)) formats in table support (Falk Reichbott) - resolved. - 0001009: [1.1 FLCL] Record length requires the delimiter length, but the delimiter is not part of the record (Falk Reichbott) - resolved.