* Add string search feature to FLEDIT Gui-Tool (FLGT)
* Fix 0C4 if FKMEFILE used with wrong DD name on zOS
* Support new format parameter for ARMOR base encoding to define which key value pairs are printed (OFF/STD/EXT)
5.1.20-23920
* Support for print control character replacement when reading
* Improved error handling in zIIP support (only if ZIIP-Feature available)
** Provide correct WTO in each case
** Don't issue a WTO for consequential errors
* Use owner ID also at export if a user ID is added and no private key available
* Features can be deacticated through system symbols (z/OS) or environment variables (all other platforms)
* Add missing break in fcbread (fix wrong EOT error instead of EOF on API level)
* Fix wrong comment and file name in state string after read of GZIP member on z/OS (IBM zlib has different behavior)
* Fix MCC replacement at write (wrong value in switch case prevent correct replacement)
* Few improvements for FLAM GUI-Tools
** Fix FLGT registry entries and empty info page
** use monospace font for info and checksum on all platforms
** Support different fonts for edit and save the selected font permanently
** Set command to checksum if algo option is used
** Add list option to print available checksum algorithms
** Add menu option to toggle line number display
* Write of KSDS with key disposition delete makes no sense - change key disposition in this case to 'OLD'
* Hide FKME parameter (could include credentials) and make FKME parameter binary to support C'', A'', E'', X''
* The JNI wrapper DLL (FLCBYTJV) for Java byte interface is now part of the z/OS deployment
** Add load module (DLL) and import file for linking to z/OS XMIT and SMPE package
** Add sample job FLAM.JOBLIB(JZOSFCBI) for use of Java byte interface with JZOS wrapper
** Support "FLCBYTJV" as additional default library name in ByteInterface.jar (simple STEPLIB concatenation possible)
*** Provide new JAR file in ADDON download area (https://flam.de/de/download/addons/Java/ByteInterface/)
* Add new CLIST FLVEDIT1/2/4/8 with limited record length and no cut of longer records
* Correct calling conventions for old assembler modules without a stack frame
* Add OUT parameter to UTIL command to allow write of printouts to certain files
* Don't overwrite record length in FMT.REC() with origin if record length is set from outside
* Rework FKMEFILE to a RENT module to prevent ABEND if authorized load is used
5.1.20-23498
* Few PGP enhancements to import of keys and certificates
** Support signature directly on a key (required to import keys from z/OS EF)
** Support persona and casual certificates like positive and generic certificates
** Support primary key binding signature like subkey binding signature
** Support new user IDs for public keys at import by signing with the owners private key
** Improve error messages
* Improve file organisation and record format handling
** Adjust file organization to a VSAM one is the record format defines a VSAM one
** Use standard record (VE/VK/FR) format if file organization changed to ESDS/KSDS/RRDS
** Calculate record length in each case correctly (also if PRNCTR=RETAIN defined)
* Support print control character replacement in FIO.REC() at write
** Print preparation can be activated if a ASA or MCC dataset written to a non ASA MCC dataset
** The print control character (MCC or ASA) are replaced by additional records so that the written file looks like printed
** Default lines per page is 60 but can also be free defined
** Correct ASA/MCC mapping and support all channels as a kind of form feed
** Change default MCC byte from 0x03 (no operation) to 0x09 (write and space 1 line )
* Correct and improve key disposition handling
** Support KEYDISP=NEW with records shorter then KEYPOS
** Add KEYLEN to default RECLEN if KEYDISP=NEW
** Set default KEYPOS and KEYLEN if KEYDISP=NEW/DEL
* Fix handling of record delimiter in FIO.FL4()
* Add missing free in FCRBFIN (not all allocated memory was freed)
5.1.20-23372
* Support for re-keying of PGP files (very usefull in conjunction with flucFS views)
** Add, set and replace recipients in an existing PGP file
** Only re-encrypts the session key without re-encrypting the data
** Always skip session key packets in PGP files if FKM5 call failed
*** If passphrase is used then no FKM5 object must be given
* Support for read-only views in flucFS
** Allows different logical views to the same physical data
** PGP files encrypted with a repository key can be made accessible as plaintext (e.g. for employees) and encrypted files (for external partners) at the same time via different views
** Some corrections in flucFSConfig GUI tool
* FLCC and flucFS configuration support parameter files
** Support object and overlay assignment to a parameter filename in FLCC
** Parameter trees can be exported as parameter files using FLCC
** Parameter files can be imported into the parameter tree of FLCC
** Main keywords are used instead of aliases in parsed parameter list output
* Unicode 12.0.0 is now used for validation of codepoints
** Reserved codepoints are also accepted (i.e. are considered valid codepoints)
* SSH session plaintext packet capture to a file can be enabled in net.ssh() object
* FLAM GUI Tool (FLGT) improvements
** Integration of FLCHECKSUM in GUI tool
** New personalized windows
* Improved handling of default parameters in table support
** A default value (CCSID) does not override a known value for a column
* Improved alignment in CSV module of table support
** The last element per line is also aligned
** Alignment requires enclosing characters
** Improved performance
* Support writing of members to the same open archive on stream, byte and record interfaces
** Significant performance improvement compares to opening the archive for each member in append mode
** New function fcbnewmbr()/FCRNEWM() which implements re-open for the new member
* Support hash and MAC calculations (including HMAC) for the in-memory interfaces (fcbhash/hini/hadd/hfin and FCRHASH/HINI/HADD/HFIN)
** A job example and program in Cobol can be found as SOFCRHSH in JOBLIB and SCRLIB
* A set of functions for in-memory base en/decoding was added (fcbbase/bini/brun/bfin and FCRBASE/BINI/BRUN/BFIN)
* New function to query statistics information (fcbcount(), FCRCNT())
** Useful to know how many bytes or units are processed after formatting or before I/O
* Support NOARCH switch to disable the attempt to read archives automatically with CONV command
** If the file is known to not be an archive, this prevents repeated attempts of opening a file
* New way to query system information (flcl info get.system)
* A warning is now printed if a given system, local or default ASCII/EBCDIC CCSID does not fit with the detected character set
* Log output now contains always the license number
* Error messages produced by utilities are prefixed to know which utility was executed
* Improve DYNALLOC error handling and check key offset and length for VSAM-KSDS
* Mofifications of the FLCL FLAM command to match behavior of the FLAM4 utility on z/OS
** New parameter NORUN in CONV and XCNV command (acts as SHOW=ATTRIBUTE in old FLAM4 utility)
** Empty string on the right side of assignments is now allowed (e.g. "comment=" no longer results in a syntax error)
** Empty comments in FLAMFILEs are allowed
** Logging types "SOURCE" and "TARGET" added for printing the actual name used when reading/writing (required for SHOW=DIR)
** Ensure FB-512 as default for FLAMFILES (was FIX-512)
** New special condition code 80 (compression limit was not achieved) // "Kompressionslimit wurde nicht erzielt" Was soll das heißen? (PS: Du benutzt achieved fast immer falsch. "to achieve" = "etwas bewirken / erreichen")
** New special condition code 88 (read file is not a FLAMFILE or corrupted)
** Support DD:FLAMPAR on z/OS (used if only a command without assignment or parameter is specified)
** Support DD:FLAMFILE/FLAMIN/FLAMOUT/FLPRINT
** Required strings are only terminated by separation characters (space or comma), comments or closing brackets on level 0
*** i.e. PDS member string assignment like FILE=FLQ.PDS(MEMBER) without quotation marks is possible
* Add FLMSIGA/N modules to FLAM.OBJ (FLAM search and find solution for TDA)
* Bugfixes
** FLAM4 components on z/OS, did not recognize some I/O errors currently when reading a USS file
*** ABEND was triggered if opening a FLAMFILE in USS failed
*** ABEND was triggered during directory walk if FLCL CONV with path names was used
** Initialize system header length when reading and allow to read system headers of each platform
*** If a member was read from a FLAMFILE which was generated with FLAM5, the system header was not evaluated on z/OS
*** As a result, the recreation of VSAM datasets was not possible
** Fix of error handling if FIXLEN formats are used
*** If output data does not fit within a fixed-length field, error code FLMRTC_LNG is returned instead of FLMRTC_LEN
** Correct error handling in close function in block-oriented I/O using records
** Don't restrict masking processor to strings type (only the character set must be set)
** Fix for local character set handling in character conversion module
*** Always use the local CCSID and do not override it with the detection results
** Warnings are logged if error logging is enabled
** Error trace is logged if minimal logging is enabled
** Improve printouts of operating system of ZIP, GZIP headers
** Fix external attribute handling when writing ZIP members (set correct file permission bits for files in archive)
** Correct default POSIX permission bits from "rw- r-- r--" to "rw- r-- ---"
** Fix FKMEFILE for Unix and Windows systems (E' or A' or C' as end of a key in hex notation resulted in an empty key)
** Correct linkage of FKMEFILE for z/OS (prevent 0C4/04 if FLAM load APF authorized)
** Endless loop in FLAM4 for Unix and Windows if password length was 0
** Fix statistics error in table support (some data was counting twice)
** Make CLIST FLVEDIT on z/OS abend-save
- 0000970: [1.1 FLCL] Add possibility to overwrite all armor key value pairs (Falk Reichbott) - resolved. - 0000968: [b. Packaging] Add JNI for JavaByteInterface to z/OS package (Tilo Eckert) - resolved. - 0000965: [1.1 FLCL] Fix font in FLGT (GUI tool) editor and view (Ulrich Schwab) - resolved. - 0000964: [4. Element, Byte, Record or other API] Add function for base encoding to byte and record interfaces (Falk Reichbott) - resolved. - 0000886: [1.1 FLCL] New info function for system evaluation (Falk Reichbott) - resolved. - 0000959: [1.1 FLCL] Multiple reads of CONV command result in timeout issues, because file is moved after close (Falk Reichbott) - resolved. - 0000961: [4. Element, Byte, Record or other API] Support HMAC and HASH calculation on API level as memory to memory interface (Falk Reichbott) - resolved. - 0000963: [4. Element, Byte, Record or other API] Control a maximum limit of written bytes to prevent to large files (Falk Reichbott) - resolved. - 0000842: [4. Element, Byte, Record or other API] Write of more then one member to a ZIP/FLAM archive with FLUC interface (Falk Reichbott) - resolved. - 0000749: [1.2 FLCC] Support string type file and parameter file management with FLCC commander (Ulrich Schwab) - resolved. - 0000925: [1.1 FLCL] Add or replace recipient or re-keying an existing encrypted PGP file (Falk Reichbott) - resolved. - 0000948: [3. Subsystem, Driver, Plugin, SPI] Add support for different logical views on the same physiscal folder in flucFS (Ulrich Schwab) - resolved. - 0000812: [2.2 Subprogram FLUC (CONV)] Use zIPP capable SRBs for RUN functions of FLUC and for segment serialisation and de-serialisation in FLAM4/5 kernel on z/OS (Rolf-Dieter Euler) - resolved.