2026-02-07  Sauro Menna  <saumen2004@libero.it> 
    * Version 01.04.11
    * review copyfile.c (thanks David) in function job_copyFile. Empty file check removed.
    * review job.c  for warning in VStudio moved <crtdbg.h> declaration on top 

2025-12-06  Sauro Menna  <saumen2004@libero.it> 
    * Version 01.04.10
    * review copyfile.c (thanks David) in function outrec_copy (FINDREP), Fixed the order of parameters in the function call
    * inrec.c in inrec_copy_overlay function 
    * job.c check record length in overlay case
    * uptaded gctestcmd.cfg in tests/cfg  (test case FINDREP)
    * outrec_getLength in outrec.c  check length 

2025-09-28  Sauro Menna  <saumen2004@libero.it> 
    * Version 01.04.09
    * changed copyfile.c problem in parameter function: outrec_copy_overlay
    * review outrec.c (thanks David) in function outrec_copy (FINDREP), delete variable in outrec_copy, outrec_copy_overlay functions
    * review inrec.c (thanks David) in function inrec_copy (FINDREP), delete variable in inrec_copy, inrec_copy_overlay functions
    * file.c review cob_file_malloc
    * INREC/OUTREC FINDREP New tests case 
        gctestcmd.cbl update for array in memory
        Updated config file gctestcmd.cfg  
        Insert new files to compare result in files_cmp 
        Insert new file in filesin 
    * gctestrun8.cbl condition some displays for debugging
    * findreplace.h/findreplace.c  new parameter in findrep_search_replace function to find record length
    * review parser.y e scanner.l for FINDREP Control Statement
    * review utils.c utl_replace_recursive_str(), utl_replace_findrep()

2025-09-24  Sauro Menna  <saumen2004@libero.it>
    * Version 01.04.08c
    * file.c: Review file_SetInfoForFile() function to use cob_file_malloc()
    * job.c: check file type and key definition 

2025-09-23  Sauro Menna  <saumen2004@libero.it>
    * Version 01.04.08b
    * file.c: Review file_SetInfoForFile() function to use cob_file_malloc().
    * job.c:  drop unused headers, actually handle GCSORT_PATHTMP.
    * README: add GCSORT_MLT, correct GCSORT_PATHTMP
    * job.c, gcthread.c review end of execution (cob_tidy())

2025-09-21  Sauro Menna  <saumen2004@libero.it>
    * Version 1.04.08
    * Insert Build date in command : gcsort --version 
    * Update Manual (Thanks Mickey)
    * Changed sorting criteria for SUM FIELDS parameters in files: sftsqffl01_take.prm, ssumsqfbi03_take.prm 
           problems in test suite (overlaps the control field)
    * Changes (Thanks Simon) to Cobol modules: genbigfile.cbl, sbig001.cbl, sbig001V.cbl
           and to scripts: compile_single.sh, runbigfile001.sh

2025-08-21  Sauro Menna  <saumen2004@libero.it>
    * Version 1.04.07b
    * fix issue - check exceeds the size of the record SUM FIELDS control field 

2025-08-20  Sauro Menna  <saumen2004@libero.it>
    * Version 1.04.07
    * fix issue - check overlapping SUM FIELDS control field 
    * modified check 64 bit environment - 64bit-mode

2025-06-20  Sauro Menna  <saumen2004@libero.it>
    * Version 1.04.06b
    * check overlapping SUM FIELDS control field 
    * check if SUM FIELDS definition is into record length

2025-06-18  Sauro Menna  <saumen2004@libero.it>
    * Version 1.04.06
    * Removed HEAP error in INREC allocation
    * Modified cast to int/size_t
    * Resolved bug in INREC option - incorrect data in record output
    * SumField_ResetTotSingle function modified to use cob_set_llint

2025-01-07  Sauro Menna  <saumen2004@libero.it>
    * Version 1.04.05
    * Initialize structures in job.c. Detected with Valgrind (Thanks Simon)

2024-12-14  Sauro Menna  <saumen2004@libero.it>
    * Version 1.04.04
    * Fixed problem in GetSize function when used environment variable  
    * Created two new functions to handle mutexes in the case of shared resource access [job_LockResource(), job_UnlockResource()]
    * Modified size of counter fields in test Cobol modules to hold larger values
    * Fixed issue in job_copyFile (copyfile.c)
    * Review environtment variables in gctestrun8.cbl

2024-12-10  Sauro Menna  <saumen2004@libero.it>
    * Version 1.04.03
	* Reactivated use of multithread in mingw
    * Fixed problem in SUM FIELDS=NONE

2024-12-01  Sauro Menna  <saumen2004@libero.it>
    * Version 1.04.02
	* Fixed Thread behaviour - Insert delay in Thread creation
    * New COBOL multithreaded test program gctestrun9 (runs the same test sequence as the single process, but each sequence runs n times with a different number of threads [2-4-8-16])
    * Modified file gctestsetup.cfg to compile gctestrun9
    * Modified config file gctestcmd to generate test for File Variable
    * SumFields - Test Cobol (copy wktotsum01.cpy) modified totalizer fields with same length of record fields (solved problem with negative numbers)
    * SumFields - Review buffer area
    * Review Date test case and fixed proble in function job_compare_date_Y2T
    * Fixed problem with data type Y2T
    * Review Cobol test program presents in tests/src
    * In Mingw environment forced to use read with single thread

2024-10-03  Sauro Menna  <saumen2004@libero.it>
    * Version 1.04.01
    * Check command line to enable multithread only on SORT Control Statement
    * Fixed LSF file type (Line Sequential Fixed), enabled COB_LS_FIXED environment variable GNUCobol - NO Truncate trailing spaces
	* Fixed the problem in TMP files when the number of files is greater than 16
	* (many thanks to Sergey Kashyrin)
	* 	- nFileMaxSize from int to int64_t
	*   - return value utl_GetFileSizeEnvName   from int to int64_t
	*   - from int to long : long nNumRecords ,       long nNumRecordForBlock
	*   - from struct start to struct _stat64 (_struct_stat64)
	*   - from function stat to stat_file (windows _stat64, linux stat)
	*   - Update for variable file - job->LenCurrRek = nLenRek;
	*   - Modify struct hSrtMem_t - move unsigned char* pAddress;  before unsigned int   nLenRek;	
	*  Update source gctestrun4.cbl

2024-06-22  Sauro Menna  <saumen2004@libero.it>
    * Version 1.04.00 - Multithread version
    * Fixed End of Line problem for sequential line files
    * Reset buffer with space (ASCII/EBCDIC)
    * Enabled Multithread in command line (parameter -mt without =<n>) to define dynamically number of threads 
    * Review Cobol modules gctestrun8, ixwrite01
    * Revision to eliminate unused variables

2024-05-27  Sauro Menna  <saumen2004@libero.it>
    * Version 1.03.10 - Multithread version
    * Enabled Multithread in command line (parameter -mt=<n> where n > 1 and <= 16)
      Multithread features valid only for Sequential (Fixed and Variable) anche Line Sequential (Fixed and Variable)
      
    * New parameter in indexed file definition. Collating sequence in single field. (Thanks to David Declerck)
      ASCII data with EBCDIC order. 
    * Performance optimization in sort key control phase
    * update configuration file for testing
    * Revision management file status return code from cob_read / cob_write
    * Revised JOIN features
    * Test case new features (new module gctestcmd) 
    * Test case Multithread features
    * File  gctestcmd.cfg in ../test/cfg contains test case to verify join features
      gctestcmd.cfg with 67 test case JOIN features
      gctestcmd.cfg with 4 test case multithread: Sequential, Line Sequential, Fixed e Variable
    * Revised criteria for memory allocation sort

2023-11-17  Sauro Menna  <saumen2004@libero.it>
    * Version 1.03.09
    * Alternative Key description - fix error in gcsorthelp.c and documentation

2023-11-14  Sauro Menna  <saumen2004@libero.it>
    * Version 1.03.09
    * XSUM features - Write separate output file with records discarded from SumField

2023-10-12  Sauro Menna  <saumen2004@libero.it>
    * Version 1.03.08
    * New fields type SFF (signed free form) and UFF (unsigned free form)
    
2023-09-12  Sauro Menna  <saumen2004@libero.it>
    * Version 1.03.07
    * Revised test case EBCDIC ( -fsign=EBCDIC  -fdefault-colseq=EBCDIC -febcdic-table=DEFAULT)
    * Update README and INSTALL files
    
2023-05-10  Sauro Menna  <saumen2004@libero.it>
    * FIX problem in Line Sequential Fixed (LSF)

2023-03-17  Sauro Menna  <saumen2004@libero.it>
    * Version 1.03.06
    * Search Substring (SS) in format field

2023-03-17  Sauro Menna  <saumen2004@libero.it>
    * Fixed OUTFIL problem with more definitions
    * Fixed OUTFIL records counter 

2023-03-14  Sauro Menna  <saumen2004@libero.it>
    * Version 1.03.05
    * Extended  OUTFIL without filename (FILES or FNAMES),  the data set will be processed in GIVE file also for SAVE option
    * In the OUTFIL option you can also indicate the same GIVE file name 
    

2023-03-13  Sauro Menna  <saumen2004@libero.it>
    * Version 1.03.05
    * Changed OUTFIL without filename (FILES or FNAMES),  the data set will be processed in GIVE file
    * Fix problems in OUTFIL START/ENDREC
    * Update Testcase OUTFIL Cobol program  and takefile somisqfmlt03_take.prm 
    * Update Testcase START/ENDREC Cobol program

2023-03-09  Sauro Menna  <saumen2004@libero.it>
    * Fix problem in OUTFIL SAVE Option 

2023-03-09  Sauro Menna  <saumen2004@libero.it>
    * Fix problem in OUTFIL SAVE Option 
    * Updated testcase COBOL source 
    * Updated header files to include libcob.h

2023-02-20  Sauro Menna  <saumen2004@libero.it>
    * New test case EBCDIC option 
    * Modify test case to support libcob 3.2 library and earlier versions
    * Modify gcsysop.c to get GNUCobol version
    * To enable testcase EBCDIC get version from output gcsysop   
    * Fix memory Leaks in E15 and E35 function
    * Use cob_tiny function to terminate the Cobol RTS (Thanks to Chuck Haatvedt)
    * Test - Fix take file somisqfch01_take.prm, somisqfmlt03_take.prm
    * FIX FINDREP Control statement (Thanks David Declerck) Enable format 'FINDREP = ( arg1, .... )'
    * job.c fix memory leaks, utils.c assign NULL in free function
    
2023-01-25  David Declerck  <david.declerck@ocamlpro.com>
    * Update EBCDIC table handling through the -febcdic-table option to account for the changes in GnuCOBOL 3.2

2023-01-04  David Declerck  <david.declerck@ocamlpro.com>
    * New options -fcolseq and -febcdic-table allowing to specify the collating sequence (ASCII/EBCDIC) and EBCDIC table to use for character comparisons (available only if using libcob 3.2)

2022-12-01  Sauro Menna  <saumen2004@libero.it>
    * Fixed problem with packed-decimal length

2022-11-27  Sauro Menna  <saumen2004@libero.it>
    * Version 1.03.04
    * Fix problem in field compare with fsign=EBCDIC/ASCII

2022-11-14  Sauro Menna  <saumen2004@libero.it>
    * Version 1.03.04
    * Fixed reference to __LIBCOB_VERSION and __LIBCOB_VERSION_MINOR
      (Thanks to Simon Sobisch)
    * New option FINDREP in INREC and OUTREC control statement
    * New test case FINDREP
    * New File-status management with compatibility for GnuCOBOL 3.2 
      (Thanks to Chuck Haatvedt & Arnold Trembley)
    * Redirecting error messages to stdout 
    * Fixed errors on files used in test environments

2022-05-11  Sauro Menna  <saumen2004@libero.it>
    * Modified file.c for compatibility with libcob (GnuCOBOL) version 3.2.

2022-05-08  Sauro Menna  <saumen2004@libero.it>
    * Rename gctestsetup.cbl (in tests/src folder) for problems in MinGW environment
    * from gctestsetup.cbl to gctestset.cbl
    * Modified compile scripts compile.sh, compile.bat, compile_mingw.bat
    * Added the source file viewfiledate2.cbl in tests/src folder  
    * Modified job.c, file.c, outfil.c for compatibility with libcob (GnuCOBOL) version 3.2.

2022-04-06  Sauro Menna  <saumen2004@libero.it>
    * Version 1.03.03
    * New Statement JOINJKEYS to join two files
    * Test cases for join and examples (testjoin.sh or testjoin.bat in gcsort/tests/script)
    * New version of MAKEFILE MinGW compatible, review LIBs
    * Update help GCSORT
    * Updated command gcsort --help 

2022-01-19  Sauro Menna  <saumen2004@libero.it>
    * Version 1.03.02
    * Modified MAKEFILE project
    * New option RECORD CONTROL STATEMENT
    * New Date : DATE1, DATE2, DATE3, DATE4 with (+/-)days/month
    * New for INREC/OUTREC option CHANGE Lookup table and set with value or input field
    * Review comment style from '//' to '/*  ... */'
    * Fixed problems with TestCase modules
    * Update Help (gcsort --help) and documentation
    * Fixed memory leaks on some options and under certain conditions

2021-12-27  Sauro Menna  <saumen2004@libero.it>
    * copyfile.c - Fixed problem with file name when name is environment variable
    * job.c - Fixed problem with variables used to compare fields - 
    * gcsorthelp.c - Modified option '--version' with new info 'gcsort 64bit-mode'

2021-09-14  Sauro Menna  <saumen2004@libero.it>
    * job.c - Fix problem with empty file
    
2021-09-03  Sauro Menna  <saumen2004@libero.it>
    * job.c - Integrated command with only INCLUDE COND condition
    *         Example: gcsort INCLUDE COND=<condition>    USE <filein>   RECORD ...  GIVE <fileout> RECORD ...
    
2021-05-21  Sauro Menna  <saumen2004@libero.it>
    * Fix problem in INCLUDE/OMIT condition
    * Fix script to compile parser/scanner
    * Exit routine E15 - E35
    * E15 - E35 routine for file fixed / variable length
    * New source COBOL for test exit routines E15 and E35
    * Test Case for Routine E15 and E35
    * New OPTION Y2PAST (YY) - Sliding, (YYYY) century fixed
    * FORMAT Date : Y2B,Y2C,Y2D,Y2P,Y2S,Y2T2,Y2T3,Y2T4,Y2T5,Y2T6,Y2T8,Y2U,Y2V,Y2X,Y2Y,Y2Z
    * New format FIELD=COPY  for E15/E35 routines
    * Test Case for Date format

2021-02-01  Sauro Menna  <saumen2004@libero.it>
    * Check LIBCOB version (__LIBCOB_VERSION) for variables of cob_modules
    * Management of warning codes (New value 4 for Warning, like DFSORT)
    * Changes to improve performance
    * Review position of parser.y and scanner.l files
    * Modified MAKEFILE project
    * Updated test COBOL programs (tests/src) 
    
2021-01-14  Sauro Menna  <saumen2004@libero.it>
    * Fix problems with Temporary Files
    * New module to verify result of sort (tests/src)

2021-01-08  Sauro Menna  <saumen2004@libero.it>
    * New option OUTREC OVERLAY 
    * Fix problems in MinGW enviro nment
    * Review of test suite (folder tests) 
    * Fix problem in OUTREC
    * Changed Makefile to compile source and not generate parser/scanner

2020-12-28  Sauro Menna  <saumen2004@libero.it>
	* New option INREC OVERLAY 
    * Fix problem in gcc compiler environment
    * Review of the configuration of the parser source
      New folder parser. Modified Makefile.

2020-10-15  Sauro Menna  <saumen2004@libero.it>
	* gcsort.c - new option for sign EBCDIC (-fsign=EBCDIC)
    * gcsort.h - 
    * gcsorthelp.c - Review Help for new option
    * job.c - new option for sign EBCDIC (-fsign=EBCDIC)
    * utils - new option for sign EBCDIC (-fsign=EBCDIC)
    * doc\GCSORT1_0_V01.pdf - review for new option
    * doc\GCSORT1_0_V01.odt - review for new option

2020-02-05  Sergey Kashyrin <ska@kiska.net>
	* job.c - fixing small SIGSEGV bug in sort_temp_name for Linux

2019-03-05  Sauro Menna  <saumen2004@libero.it>
    * job.c - job_set_area (Error in function name)
    * test environment : .. gcsort -> tests -> src
           somisqf12b.cbl, sfrmsqf18b.cbl soutfsqf02b2.cbl
           soutfsqf02b1.cbl, somisqf13b.cbl, soutfsqf02b3.cbl
           somisqf11b.cbl, somisqf09b.cbl
    * Make file for MinGW/MSYS
    * INSTALL File modified for MinGW/MSYS environment
    * libgcsort.h : define MinGW environment    

2017-05-11  Sauro Menna  <saumen2004@libero.it>
    * job.c - Padding text file

2017-01-15  Sauro Menna  <saumen2004@libero.it>

    * Review test environment (tests folder)
      Created cobol program to setup environment (gctestsetup.cbl)
      and cobol program to execute test cases (gctestrun)
      This modules can be executed in Linux and Windows environment
    * README.txt (build_windows) updated for VStudio settings
    * Created makedist.bat dor dist Windows environment
    * Insert GCSORT1_0_V01.odt in doc folder

2016-12-13  Simon 'sf-mensch/human' Sobisch <simonsobisch@gnu.org>

	* general: changed package name to GCSORT and renamed
	  all files from ocsort -> gcsort in behalf of Sauro Menna

2016-11-12  Sauro Menna  <saumen2004@libero.it>

	* Update Version 1.0.0 - by Sauro Menna 
    * New Conditional field  SS = SubString for INCLUDE/OMIT statement
       INCLUDE COND=(1,55,SS,EQ,C'SearchString') 
            - Search 'SearchString' in record area from pos 1 for len 55.
       INCLUDE COND=(25,5,SS,EQ,C'Str1 ,Str2 ,Str3 , Str4, Str5') 
            - Check if field in position 25 for len 5 is equal one of following value
                    'Str10,Str20,Str30,Str40,Str50'
    * Insert Cobol module and scripts in tests folder
    
2016-10-23  Sauro Menna  <saumen2004@libero.it>

	* Update Version 1.0.0 - by Sauro Menna 
    * Used fields COB_FIELD for data type and integration with LIBCOB:
        fields         = cob_field/cob_attribute
        i/o operations = cob_open, cob_read, cob_write, cob_close, 
        compare/move   = cob_cmp_llint, cob_cmp, cob_move
    * Removed bufferedreader and bufferedwriter modules
    * Change memory mapped files use. Only for temporary files. 
    * Checked potential errors problems for the allocation memory 
    * Included new file type INDEXED (keys definition)
    * Included new file type RELATIVE (key relative)
    * Errors code review 
    * Insert details for Parser/Scanner errors 
    * Review Help (ocosort --help)
    * outfile.c  Insert option SPLITBY=nn for OUTFIL
    * Included new data type
          in addition to these:
              CH  Char     BI  Unisgned Binary   FI  Signed Binary
              PD  Packed   ZD  Zoned decimal
          added:    
              FL   Floating Point
              CLO  Signed Numeric - sign lealing 
              CST  Signed Numeric - trailing separate sign
              CSL  Signed Numeric - leading separate sign
              CSF  Signed Numeric - with optional leading floating sign 
    * Create test environment with COBOL programs (folder test)
      Integrated step to generate files, sort (gcsort and Cobol) and check results
      Windows and Linux environment.      
    * Command TAKE case insensitive    
    * Check instruction for KEY definition

2016-03-26  Sauro Menna  <saumen2004@libero.it>

	* Update Version 1.0.0 - by Sauro Menna 
    * FIX : printf rows file TAKE (last characters)

2016-02-28  Sauro Menna  <saumen2004@libero.it>

	* Update Version 1.0.0 - by Sauro Menna 
    * Enabled case insensitive for all commands and statements
    * Insert build_windows for vc10 and vc 14
    * FIX : warnings for vc14

2016-02-11  Sauro Menna  <saumen2004@libero.it>

	* Released OCSORT User's Guide  (in doc folder)
	* Update Version 1.0.0 - by Sauro Menna 
    * Enabled project in Linux Environment 
    * Disable MF file handler
    * FIX : INLINE macro [Problem in Ubuntu environment]
            SumField - Fix Update Record - ZD (Zoned)
            Sort Field - Fix Sort Key - BI (Binary)

2015-12-01  Sauro Menna  <saumen2004@libero.it>

	* Version 1.0.0 released.
    New features:
    1) Dynamic Memory Allocation for operations
    2) Temporary files for sorting Big File > 2GByte
    3) Merge files (max 16 files)
    4) Read and write Line Sequential (LS) and Sequential Variable
    5) Statistics and error message
    6) Data type. New FI (Binary unsigned), PD (Packed) and ZD (Zoned - max 18 digits)
    7) Reader and writer buffered
    8) Memory Mapped Files for fast read files
    9) Environment Variable -
        - Folder for Temporary files,
        - Check the command line (NO Operations)
        - Memory Allocation for Variable FNAME / FILES in OUTFIL
        - Statistics Details
    10) File conversion Fix from/to Variable or LS from/to SQ
