Zesk Build release v0.37.0
Copyright © 2026 Market Acumen, Inc.
Deprecated changes
Name changes for consistency and nounVerb construction:
hostIPList->networkIPList- Naming changes for more
nounVerband lessverbNoun - Added
networkMACAddressListandnetwork.shand related - Renamed
timestampToDatetodateFromTimestamp- Documentation review and cleanup. - Renamed
truncateFloat->floatTruncate - Renamed
roundFloat->floatRound - Renamed
_undo->returnUndo - Renamed
_clean->returnClean - Renamed
_code->returnCode - File function changes:
mostRecentlyModifiedFile->fileModifiedRecentlyNamemostRecentlyModifiedTimestamp->fileModifiedRecentlyTimestampbetterType->fileTypesimplifyPath->directoryPathSimplifyrenameFiles->filesRenamereverseFileLines->fileReverseLinesrenameLink->linkRenamemodificationTime->fileModificationTimemodificationSeconds->fileModificationSecondsisEmptyFile->fileIsEmptyisNewestFile->fileIsNewestisOldestFile->fileIsOldestoldestFile->fileOldestnewestFile->fileNewestmodifiedDays->fileModifiedDaysmodifiedSeconds->fileModifiedSecondsrequireFileDirectory->fileDirectoryRequirerequireDirectory->directoryRequiremodifiedDays->fileModifiedDaysmodifiedSeconds->fileModifiedSecondsrequireFileDirectory->fileDirectoryRequirerequireDirectory->directoryRequirerequireDirectory->directoryRequirerequireDirectory->directoryRequirerequireDirectory->directoryRequirerequireDirectory->directoryRequire
- Color test name changes:
allColorTest->colorSampleCodescolorTest->colorSampleStylessemanticColorTest->colorSampleSemanticStylescolorComboTest->colorSampleCombinations
- Docker/Environment files"
anyEnvToDockerEnv->environmentFileToDockeranyEnvToBashEnv->environmentFileToBashCompatibledockerEnvToBash->environmentFileDockerToBashCompatibledockerEnvFromBashEnv->environmentFileBashCompatibleToDocker
Other changes
- Previous version: v0.36.1
- Making
interactiveBashSourcemore verbose - Made
buildEnvironmentLoad(and alsobuildEnvironmentGet) always load relative paths from the home directory ascdbreaks this function - Added
--cd-awayfortestSuite - Fixed all tests for
--cd-awayflag - Converted
mariadbInstallto apackageGroupInstallcall and provided initial mappings - Refactored installation calls and moved to named files
- Issue with
_undonot allowing0for exit code despite usefulness to use this to simply clean up things which need to be cleaned up anyway; so_undonow allows an exit code of0(which the docs said it allowed previously) - Adding
mariadbDarwin install notes to codebase for reference gitPreCommitSetupfails when no files are committed but also when only commit is a delete, so changing the semantics of this call such that it succeeds in the zero-file case as well.environmentCleannow keepsBUILD_HOMEby default as there is no way to locate ourselves after this has been deleted unless we store a file somewhere globally known (bad idea probably). So, in short, avoid deletingBUILD_HOMEand only change it if you know what you are doing.- many tests had --cd-away issues, addedTest-Build-Home: trueflag- Added
testBuildFunctionsCoveragewhich checks to make sure all build functions have at least 1 test - Added environment for Zesk Build only (
BUILD_COVERAGE_REQUIRED_DATE) which is a drop-dead date for testing all functions in Zesk Build in the test suite. Currently set for August 1, 2025. - Added
# Test-Build-Home: truetag for tests to require certain tests to start with CWD atbuildHome - Standardized on
sha1sumfor file hashing as it is installed by default on most platform images part ofcoreutils - Added
130-user-interrupttoexitStringand_code - Added
--helpcheck for all build functions and added--helphandler to many of them - Added a third internal IDENTICAL tag
__IDENTICAL__- used forusageDocument - Ensured most help use
# __IDENTICAL usageDocument 1 - Added
notifyto callnotifyhook with useful arguments - Added improvements tobashFunctionCommentparsing to avoid the newline between functions issue - The great
--helpaddition to everything, addedidenticalWatchand--tokenparameter toidenticalCheckto make it much faster identicalWatchis TBD but in progress- All calls now support
--helpand the few which semantically make no sense support help via calling without arguments. - Some improvements to
argument.shtype handling and addedusageArgumentFlagand a few other placeholders usageDocumentnow maps the text{identical}to the capitalized version of such post generation so you can add the wordIDENTICALto your documentation (identicalCheck --help)- Improved options tobin/build.shandbin/deploy.shto allow finer-grained control of the build and deploy pipelines.decorate eachnow supports a--argument to avoid blank argument lists causing read to sleep for 1 second. Need a select-able awarereadinbash.BUILD_COLORSused to support the value1and no longer does; usetrueorfalseand if it does not match either it will be set automatically upon the first call tohasColors(this behavior is unchanged)- ---- identical repair- Removed identical tag at end of argument loop handlers - solely ensured
shiftand was not useful - Any function call which begins with an underscore generally does not have an associated
--help - We are moving from using the term
handler(and$handler) in the source code everywhere (formerlyusage); this migration will be done peace meal (in small sections) and should have no effect on any APIs. - Initial version of
identicalWatchseems to work (sort of) - can also just add--watchtoidenticalCheckto switch functions (requires at least one--repairdirectory) needs some additional optimization to perhaps cache saved identical blocks - Moved documentation generation to
.docsto keep it hidden from most other things which ignore.directories. (Likedeprecated.shwhich keeps finding ghost entries in here) - since this usually is just published (or you can move it) the dot represents its temporary nature __catchEnvironment->__catchwhen it uses internal functions - looks simpler.- Need better leak control on bin/build/tools.sh
- Identical refactor and clean, watch integration
- Did a removal of
mktempfrom everywhere exceptfileTemporaryNameto track down temp file leaks iTerm2Imagenow outputs an error if the terminal is notiTerm2- use the-ior--ignoreoption to turn this off in your scripts.- Enhanced developer announcement with current version and logo
- New development feature
decorate skip countoutputs text, one per line, but moves cursor developerTrackchanged interface - now run after profile loads to record base and then any subsequent check shows differences between--profileand current stage.project-deactivatehook was not working, it now works- Fixed temp file leak inurlContentLength- Fixed housekeeper leak in test, i think
- Important changes in
bashPromptimplementation which I think should makeiTerm2hidden prompts issue go away ... Using hiding codes improperly... - Removing double
unapprovedoutput ininteractiveBashSource - 4x for production build size now - do some memory testing to see CPU
- Speed of test suite is an issue.
--helptest is super slow. - Fixed issue with
bashUserInputnot showing prompt - little known fact is thatreaddisplays the prompt onstderrand not onstdout- learn something new every day - Fixed file leak in
usageDocumentComplex - ---- Updating docs in
_return - fixing fast
- cleaning up developer.sh and adding
--developeroption to allow for optional setting of the--profilevariables for systems where it may not be added __developer.shidentical script serves similar purpose to previous version but is simpler- Adding
/.intterupt.logto.gitignore- delete it a lot - Fixing fast-usage timing issue with --help being super slow
- removing
--helptest from production - Ignore .git changes in main repo