The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.
0.01  Wed Apr 26 16:00:00 2023
	- intial version
0.02  Mon Sep 11 18:00:00 2023
	- fixed author test 3b_Wrap_Integration.t for automated tests, enhanced 2_File.t with excel format_skip (+ improved logging)
0.03  Wed Sep 13 23:00:00 2023
	- completed getConn/setConn in EAI::DB and getHandle/setHandle in in EAI::FTP, added task{redoTimestampPatternPart} for redo improvement, added task{execOnly} and process{onlyExecFor} for selecting specific loads for execution, added checkParam for easier checking required parameters for EAI::Wrap API Calls, moved setting ErrSubject into EAI::Common::extractConfigs
0.04  Sat Sep 16 12:00:00 2023
	- refactored DB.pm, FTP.pm and File.pm to decouple from process and execute configs, added Log::Dispatch::Email::LogSender and use instead of Log::Dispatch::Email::MIMELite to fix a Mime:Lite problem with diacritic chars, fixed problems with execOnly/onlyExecFor, added feature unicode_strings, breaking change: renamed File{encoding} to File{format_encoding}, now only being used for reading and writing text files; removed all other encoding code.
0.05  Mon Sep 18 23:00:00 2023
	- fixed Issue #149802 (Testcase for DateUtil) by setting TZ explicitly in DateUtil.t and #149803 by including Text::Glob in Makefile.PL. replaced timelocal/gm with timelocal/gm_modern in DateUtil
0.06  Fri Sep 22 23:00:00 2023
	- added use warnings, restricted imports from used modules.
0.07  Mon Sep 25 23:00:00 2023
	- fixed trial Email::MIME leftover, added possibility to add custom calendars in DateUtil and refactored is_holiday.
0.08  Mon Sep 25 24:00:00 2023
	- added possibility to add custom locales in DateUtil, removed exported locale hashes and replaced with accessor functions.
0.09  Tue Sep 26 23:00:00 2023
	- refactored flat Dumper into function, moved site.config for automated tests into $ENV{EAI_WRAP_CONFIG_PATH}/t, decoupled EAI::DB completely from EAI::Wrap (no $execute dependency)
1.0  Sat Sep 30 12:00:00 2023
	- improved API Doc, enabled overriding of redoDir, logRootPath, historyFolder and historyFolderUpload using commandline parameters, e.g. --config redoDir=/your/redo/folder, prevent error mail (logger) and uncaught exception in sendGeneralMail when no smtp configured; use custom locales in DateUtil in all textual month functions now; allow anonymous subs in all configuration places, where strings were used (executeOnInit, postDumpProcessing, postReadProcessing, lineCode and fieldCode).
1.1  Thu Oct 05 23:00:00 2023
	- fixed hadDBError setting in EAI::Wrap::dumpDataIntoDB, enhanced plannedUntil to allow/show seconds, added setDebugLevel Tool for really quick changing log.config
1.2  Sun Oct 08 23:00:00 2023
	- fixed some problems in checkLogExist.pl, removed no warnings 'redundant' in DateUtil (causes problems with perl<5.20 tests), remove @previousline and @previoustempline in EAI::File as previous lines can anyway accessed using $data, fixed evalCustomCode in both EAI::File and EAI::Wrap and added some testcases.
1.3  Sat Oct 14 12:00:00 2023
	- removed timing test in Wrap.t (causes problems on sime CPAN testsites), added %templine in EAI::File, changed first looking up log.config from $ENV{EAI_WRAP_CONFIG_PATH}/$execute{envraw} to $ENV{EAI_WRAP_CONFIG_PATH}/$execute{env}, enhanced setDebugLevel.pl to switch between $ENV{EAI_WRAP_CONFIG_PATH}/$execute{env}/log.config and $ENV{EAI_WRAP_CONFIG_PATH}/log.config.
1.4  Thu Oct 19 22:00:00 2023
	- amended logfile naming to same principles as in config lookup keys (scriptname + addToScriptName suffix), restore @ARGV after commandline parsing to allow for own commandline parsing, improved suppressing error messages in EAI::FTP::fetchFiles, improved error handling for empty files.
1.5  Thu Oct 26 13:00:00 2023
	- error checking for EAI::Wrap::openDBConn parameters, added possibility to have enumerated differentiation of log checks, added format_autoheader to automatically created header information from source files, improved arg checking in EAI::DB::readFromDBHash and doInDB, improved (empty) arg checking in EAI::DateUtil
1.6  Thu Nov 09 23:00:00 2023
	- refactoring in EAI::File, fix access to line and other data in fieldCode and lineCode custom parsing hooks, added prodEnvironmentInSeparatePath for checkLogExist, fixed resetting retrievedFiles in getLocalFiles, changed logs_to_be_ignored_in_nonprod to regex, fixed curTime check and many other things in checkLogExist.
1.7  Sat Nov 11 00:00:00 2023
	- added formatTime, make_time and get_curtime_epochs to EAI::DateUtil. Added checkLogExistDelay and prodEnvironmentInSeparatePath to config and checkLookup for enhancement of checkLogExist. Fixed version problems with Data::XLSX::Parser setting minimum to 0.20. Fixed time checks and logRootPath problems in checkLogExist
1.8  Tue Nov 15 00:00:00 2023
	- implemented API execution prevention with $execute{successfullyDone} instead of $execute{retryBecauseOfError} (only used in processingEnd() now). Fixed successMail for retrying. improved log messages and removed warnings. fixed setDebugLevel.pl finding log.config in environment.
1.9  Sat Nov 18 00:00:00 2023
	- removed Module::Refresh, fixed successfullyDone by moving to $process{successfullyDone}, fixed issue with multiple occurences of files in filesToArchive and filesToRemove
1.901  Fri Nov 24 00:00:00 2023
	- added splitcharacter in checkLogExist, autoflush to log file appender handle, include 1 before to indicate overflow in EAI::DateUtil::get_curtime, improved remoteDir setting in EAI::FTP, fixed and enhanced doAddtlProcessing in EAI::File::writeText, added enforceConn to EAI::Wrap::openDBConn and EAI::Wrap::openFTPConn
1.902  Sun Nov 26 00:00:00 2023
	- made changing to remoteDirs configurable for hosts where direct changing is not possible with setting noDirectRemoteDirChange to 1, allow adding additional Net::SFTP::Foreign params to EAI::FTP::putFile using additionalParams, added possibility to put multiple localFiles with EAI::FTP::putFile, generalized getSensInfo into getKeyInfo, allowing also prefixed (environment respecting) key information from DB, FTP, etc. subhashes, currently used for getting $DB{DSN} and $FTP{remoteHost}, improved argument checking and logging in sendGeneralMail
1.903  Tue Nov 28 00:00:00 2023
	- added lookups to %config to allow for an additional merging of configs based on prefixes (especially for DB and FTP), added additionalParamsGet, additionalParamsPut, additionalParamsNew and additionalMoreArgs to EAI::FTP for more general usage of Net::SFTP::Foreign get, put and new. fixed error retry by adding $execute{retryBecauseOfError} to the condition of early returning from already successfullyDone subs. Reverted generalization of getKeyInfo to getSensInfo back as merging of lookups is now done generally. Added CONTRIBUTING text.
1.904  Wed Dec 05 00:00:00 2023
	- added $process->{hadErrors} = 1 to missing exception places in EAI::Wrap; added resetting of process{successfullyDone, filesProcessed and filenames}; simplified retrySeconds calculation; reduced extractArchives to only one archive per process (as this is checked before and needed for simplification); fixed endTime calculation; fixed filesToArchive; fixed suppressGetError for multiple Files in EAI::FTP::fetchFiles; added enforceConn and second hostkey to EAI::FTP::login; fixed environment setting of redoDir, logRootPath, historyFolder and historyFolderUpload; made selection of multiple entries determinate for explicitly enumerated lookups in config{checkLookup} (using reverse sort); checkLogExist.pl: added alreadyProcessedLogErrors check for avoiding multiple log check errors (including removal of yesterdays alreadyProcessedLogErrors check file and "successful for originally failed" message)
1.905  Sun Dec 17 12:00:00 2023
	- checkLogExist.pl: fixed alreadyProcessedLogErrors check, included checkFiles into getFilesFromFTP, getLocalFiles and redoFiles (not necessary to call in scripts separately), check/compare task{execOnly} with process{onlyExecFor} only if process{onlyExecFor} was set (empty = always executed).
1.906  Thu Dec 21 00:00:00 2023
	- detangled execute parameters, fixed problem with deleteFiles & uploaded Files on redo, added provides to meta info.
1.907  Mon Jan 15 00:00:00 2024
	- support for Log::Dispatch::FileRotate in error mails (links to log files), generalization of previous log-link using config parameter logprefixForLastLogfile, always log newDB connection in newDBH, fixed error recovery in getFilesFromFTP/checkFiles, reset data in case of error retries having erroneous data in readFileData, fixed unnecessary calls for filesToArchive/filesToRemove on process end, fixed mail sending addressing on error recovery, fixed reset of successfullyDone (only for planned retries).
1.908  Thu Jan 25 00:00:00 2024
	- fixed checking for file logAppender in setupLogging; start with error subject "starting process"; added processingContinues; processingEnd returns $execute{processEnd} as result now
1.909  Fri Feb 17 00:00:00 2024
	- added port parameter to FTP config, reset $EAI::Common::alreadySent on repeat processing, added workaround for utf8 problems with Win32::Console::ANSI, refactored readConfigs and doExecuteOnInit on INIT
1.910  Sun Feb 25 02:00:00 2024
	- removed hardcoded default for format_sep in EAI::File, added progress indicators for EAI::File::readText and EAI::DB::storeInDB when additional parameter process{countPercent} is set to nonzero. added standardLoop to EAI::Wrap for short implementation of standard loops. fixed error in EAI::DB::storeInDB when dontKeepContent was set and primKeys were not set (not needed in this case). removed bogus warning in setupLogging when checking for logprefixForLastLogfile. Fixed setting of lastLogFile in checkLogExist.pl and switching between environment.
1.911  Sun Feb 25 14:00:00 2024
	- enhanced and fixed documentation, small code fix, added test.
1.912  Mon Mar 11 00:00:00 2024
	- added EAI::Wrap::writeFileFromMemory for direct writing of files after reading; fixed globbing issues with spaces in paths/files; added progress indicator to EAI::File::readExcel, EAI::File::writeText and EAI::File::writeExcel ; fixed leapyear problem when adding years in EAI::DateUtil::get_curdate_dash_plus_X_years; added File->{append} parameter to append to files for EAI::File::writeText.
1.913  Wed Apr 03 22:00:00 2024
	- execute hash not checked anymore, so it can be used to transport custom data; column definitions in DB.pm now debug level, tracing of data is now row wise (whole data structure was too big to be dumped)
1.914  Wed May 29 00:00:00 2024
	- counting progress without precentage works now by setting countPercent to >= 100, fixed fallback to config level defined settings with prefix (in config subhash "lookups") also for loads, fixed unicode problems in log error mails, fixed problem in parsing scientific numer notations in DB.pm, caching of ftp handles in FTP.pm, additional folderEnvironmentMapping via accessed module's folder (if in test -> test), reset error mail filter ONLY for planned tasks, don't connect to FTP if redo from local file