* Improve usage log summary
** Fix wrong CX7/CX8/VR8 sum
** Don't count FL4 stuff in ZIIP/ZEDC/CPACF sums of other components
** Add sum for remaining ADC load if ZEDC used
** Add summary for FIO, CNV and FMT read and write CPU times
* Correct dynamic allocation and de-allocation on z/OS
** Fix error handling at DISP=NEW (write of file which does not exists) if allocation failed
** Check return code if dynfree failed at close and ensure correct DD name for deallocation
*** The deallocation failed in the reopen case which results in an allocation table overflow
*** Prevent segmentation fault if more than 1000 dynamic allocations done at reopen (directory walk)
** Add check to each write function if the internal write handle is NULL
*** Prevent segmentation fault after reopen failed
** Use only DD name for dynfree to ensure deallocation in each case
5.1.16-18986
ATTENTION: Threshold procedure for ZEDC support in FLAM results in damaged FLAMFILEs in previous builds
Please use this build to prevent damaged FLAMFILEs if expansion of ZEDC larger than the defined threshold
* Fix incorrect pointers in element list of table support result in segmentation fault or data damaged in rare cases
* Improve character set detection
** UTF-8 with mainly Cyrillic letters are not detected as EBCDIC anymore
** Better separation of binary data from UTF-8 encoding
** More significant EBCDIC detection using a higher weight for letters and numbers
** No character set detection in FMTTXT if character set known from CNVCHR
* Adapt window size to length of output in GUI tools
* Support FLCL configuration for FLAM4 components in FL5 project (ZEDC support)
** Environment variable defined over FLCL are now recognized by FLAM4
** Better performance if ZEDC used for FLAM4 ADC with FLCL
* Fix wrong error handling in ZEDC support for FLAM4
** If threshold defined for ZEDC support and the expansion of the the ZEDC compression exceeds this value a damaged FLAMFILE is build
** zlib returns OK (0) and set avail_in to 0 if Z_FINISH defined and writes the complete output buffer and stores the rest of data in the handle
** this results in ZEDC usage in case the threshold is effected (output buffer too small) and not in the use of the original ADC algorithm
** with the result, that the first segment and all followed segments are damaged (to read such a file a special tool could be provided)
* Activate by default SKPBIN in READ.TEXT() to prevent character conversion if binary data detected
** Add a new switch "CNVBIN" to enforce character conversion if binary data detected
5.1.16-18904
* Add COBOL Samples to Windows and Linux packages for MF-EDZ customers
* Improve time value handling in FLCC commander (new dialog provided)
* Few additional performance improvements for table support (30% less CPU)
* Correct error handling of FLMREC in MF-EDZ environment
* Add new sample COBOL source for a FLAM-Subsystem for MF-EDZ environments
* Support "Issuer Fingerprint" in PGP key, added in GnuPG 2.2
* Extent usage log on z/OS to evaluate job names and use separate components for FLAM4
** The new switch "JOBNAME" can be used to replace function (READ/WRITE) by job name on z/OS
** MATSEG for each FL4 load are now replaced by: FL4CX7/CX8/VR8/ADC/EDC/NDC
* Extent FLCC commander to support integer, float and string expressions
* Fix segmentation fault in Windows pop up GUI tools
* z/OS and z/USS Code are now optimized (TUNE(11)) for z13 CPs (minimum is still z10 (ARCH(8))
* Adjust OBTAIN call in FLAM4 components to fix EAV-TRACKER issue in z/OS
5.1.16-18817
* Fix performance issues in character conversion module
** The better check of valid code points was not implemented well
* Show license error in dialog box of FLCC
* Add sample job to produce usage report for the last quarter (JOBLIB(FLUSAGE))
* Correct syntax of object array in overlay in FLCC commander
5.1.16-18756
* First version of table support (FB<->CSV<->VB)
** Reads files containing one or more tables and splits records/rows into several columns
** Columns can be read with great flexibility using various methods (fixed length, length field, binary delimiter or CSV)
** Data types can be assigned to columns to enable column conversion (binary, string, integer, float)
** Each data type supports various representations (character set, endianness, BCD, ...)
** More features: auto-formatting on write, reordering/removal of columns, pre/post-processing filters, multiple tables per file
** This version of table support is prepared for tables in hierarchical formats (TLV (e.g. ASN-1), TVD (e.g. SWIFT), XML (e.g. SEPA))
*** Support for Tag-Value-Delimiter (e.g. Swift) and XML files is planned for upcoming revisions
** Tables can also by read through our APIs which enables reading rows into custom data structures in custom applications
* Character conversion now supports n to m mapping of code points
** This allow to define input assistance (tagging) for Unicode in single byte code pages (EBCDIC)
** It also enables NFD/NFC and complex best fit mappings for the String.Latin subset (see NPASNFD/NFC)
* New REMOVE switch in each write specification allows to delete the output file if an error occurs
* FL_PLATFORM is now also used for system delimiter, EBCDIC/ASCII separation and byte order definition (required for MF-EDZ support)
** If environment variable 'FLAM4MF' starts with 'IBM' then a EBCDIC system (FL_PLATFORM="ZOS.B") is assumed in the FL5 components
** Support for big and little endian for integers in element structure of byte and record interface
** Delimiter and other special characters are now defined based on environment settings if CHRSET_SYSTEM is used (FMT.TXT, CNV.BAS)
* Record Interface: Parameter 'del' was renamed to 'success' at FCRCLS to be uniform with FLCBYT
* Use ACEE control block of current TCB to determine the login user id on z/OS (instead of POSIX functions getuid()/getpwuid())
* Ensure PKCS#11 support (OpenPGP) works with Thales (former nCipher) nShield network HSM
* Add DSA support (if possible (key ring and PKCS#11 not for ICSF/CCA)) to OpenPGP components
* Remove FL5 archive parameter from FMT.RED object of XCNV (simplification)
* Change printout of FLCL UTIL RUN.LIST command to accessible URLs or local files
** Since the introduction of SSH support (since 5.1.13) the LIST function added "local file" or the remote location in parenthesis behind the filename
** This change has been reverted to the behavior of version 5.1.12 and below due to compatibility issues
** For remote files, a complete URL in FLCL syntax is now printed
* The FLUSH flag now ensures that written data is persisted to the storage device before the file is closed (fsync)
** For remote connections the availability of this feature depends on the protocol and remote server
*** SSH: Server must support the fsync@openssh.com extension (OpenSSH >=6.5); INFO message is printed if unsupported
* libssh updated to latest version (0.7.5)
* FKM5-CCAPGP: Key template replacement is now case insensitive and implements better key template checks
* New 'remain' flag for z/OS datasets with dynamic allocation (prevents overwrite)
* Support LRECL independent record length for VS/VBS datasets on z/OS
** Large record support (>32760) is not possible based on LE limitations
* Add log entry for FLAM4 ZEDC support (use of IBM ZLIB for ADC compression)
* Support leading spaces in file and format strings for byte, stream and record interfaces
** The first character of the file string must be 'R', 'I', 'W' or 'O' to know if it is for read or write)
** Space in front of the first character is now supported, trailing whitespace is ignored by CLP
** This is required to support simple handling of parameter files for the FLUC subsystem
* A state string length of 0 at FCROPN indicates that no state is requested when reading (no longer returns a length error)
* New function FCRCLR in record interface to clear background error information
* The calculated inverse command now only contains the first FIO specification to prevent syntax error when triying to read using this string
* A threshold for the maximum expansion of compressed data can be set if ZEDC is used for FLAM4 archives
** Set the environment variable FL_ZEDC_SUPPORT to the maximum expansion in percent
** Recommendation is a value of 60 (FL_ZEDC_SUPPORT=60)
* Support the FLUC record interface (FLCREC) in Microfocus EDZ environment
* Improve overall performance by better optimized code
* Bugfixes
** Fix missing initialization of statistic structures in directory walk when writing
** TO=YOUNGEST for usage report now equals 0 and not -1 (prevent error from CLP for unsigned values)
** Support 0x0D15 and 0x0D25 on EBCDIC systems as delimiter at FIO.TXT()
** Correct form feed character in EBCDIC from 0x22 to 0x0C (wrong interpretation in FIO/FMT.TXT() and charset detector)
** Change ExtArt in ExtAtr at XML output of info function in FIO.ZIP()
** Start record number with 1 instead of 0 to fix I/O error at load of RRDS without slot numbers
** Don't ignore the whole character if recursive transliteration stops, only ignore the non convertible remaining rest at character conversion
** Fix error and end of file detection in fcbgets()
** Fix wrong statistics output of FIO.FL4() if only one file in charge
** Fix wrong error handling in CNV.REC() which resulted in an interface error
** Fix several potential bugs detected by better static code analysis
** Fix usage of format argument of fcbinfo function of FLCBYT (only format list was available)
- 0000902: [6. Access Control, Logging and Errorhandling] Support JOB-NAME in usage log report (Falk Reichbott) - resolved. - 0000895: [b. Packaging] Add Cobol-Samples to Windows and Linux-Packages for MF-EDC development (Ulrich Schwab) - resolved. - 0000898: [1.2 FLCC] Better support for literal expression and arrays of overlays in FLCC commander (Falk Reichbott) - resolved. - 0000897: [1.2 FLCC] Show error message if access to license module failed (Ulrich Schwab) - resolved. - 0000791: [4. Element, Byte, Record or other API] Add support for FLUC record and subprogram interface for Microfocus EDZ (Ulrich Schwab) - resolved. - 0000866: [2.2 Subprogram FLUC (CONV)] Add table support to convert based on colums between CSV files and FB datasets (Falk Reichbott) - resolved. - 0000782: [2.2 Subprogram FLUC (CONV)] Support of conversion of tables, CSV files and FB datasets (Falk Reichbott) - resolved. - 0000875: [1.1 FLCL] support of tagged characters (Mykhailo Moldavskyy) - resolved. - 0000887: [2.2 Subprogram FLUC (CONV)] Dataformat detection and automatic compression algorithm selection (Mykhailo Moldavskyy) - resolved. - 0000881: [1.1 FLCL] Function for ZEDC usage on FLAM record interface (Rolf-Dieter Euler) - resolved. - 0000878: [2.2 Subprogram FLUC (CONV)] Support remove flag at write if write failes (Falk Reichbott) - resolved.