You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This document contains a history of significant changes which have been released for golang-utils. Please note that
beta releases are not included in this history.
🐛 subprocess Fix issue where subprocess.Output results in data race if the output prints to both stderr and stdout (#20240131145019)
🐛 logs Fix mutex lock in multipleLoggers as it was using a read only lock in situation where loggers can actually be accessing the same underlying resource (#20240131151659)
"1.59.0" (2024-01-18)
Features
✨ [filesystem] Add a way to convert filesystem.File to *os.File for legacy functions which have not moved to using fs.File (#20240118145043)
✨ [environment] expose the validation rule for environment variable keys IsEnvironmentVariableKey (#20231017132731)
✨ [platform] Add a way to remove path with escalated privileges (#20231017202810)
✨ [filesystem] Add a method to force remove path assuming the user is a superuser (#20231017202858)
"1.49.0" (2023-10-17)
Features
✨ [environment] Expose utilities for parsing and finding environment variables (#20231013160208)
✨ [collection] Added AllNotEmpty and AnyEmpty to check the content of string slices (#20231016164922)
✨ [collection] Added FindInSlice to extend Find search capabilities (#20231016173631)
✨ [platform] Added a way to determine if a user has admin rights (i.e. root or superuser on Linux and administrator on Windows) (#20231016175953)
✨ [command] Added a way to prepend commands (using Prepend()) to command wrappers in order to chain command wrappers easily (#20231016204910)
✨ [platform] Added WithPrivileges so that commands are elevated with privileges depending on the permissions of the current user (#20231016234712)
Bugfixes
🐛 [environment] Fix environment variables parsing when an entry is incorrect (#20231013160247)
"1.48.0" (2023-10-13)
Features
✨ [platform] Add way to run commands as a user with privileges on posix systems (#20231013112742)
✨ [command] Add utilities to translate commands so that they are run as a separate user (#20231013122936)
Bugfixes
Dependency upgrade: net-0.17.0 (#20231011103958)
"1.47.0" (2023-10-11)
Features
✨ [logs] Added a PlainStringLogger to store only logged messages without prefixes or flags (#20231010192716)
✨ [logs] Added a CombinedLoggers to log into multiple loggers (#20231010195032)
✨ [subprocess] Added Output to store the output of a process into a string (#20231010200309)
"1.46.0" (2023-10-10)
Features
✨ [environment] Add GetEnvironmentVariable() to fetch a specific environment variable (#20231010151706)
✨ [environment] Extend GetEnvironmentVariables() to accept optional ...dotEnvFiles so that .env files can be loaded into the current environment (#20231010151811)
❇️[filesystem] Added more copy functions CopyToFile and CopyToDirectory to cover more copy usecases (#20230131184530)
Bugfixes
🐛[filesystem] Clarified the behaviour of Copy for files so that there is no wrong assumptions about the type of the destination if not existing (#20230130162624)
Improved Documentation
Clarified the documentation with regards to filesystem.Copy (#20230130162704)
"" "1.25.1" (2023-01-27)
⚠️ the change of bevahiour of filesystem.Copy when destination does not exist may result in a breaking change
[filesystem] Updated limit structure to have tags specified (#202207181519)
[httptest] Fixed security issue (G112: Potential Slowloris Attack because ReadHeaderTimeout is not configured in the http.Server (gosec)) (#202207181802)
"" "1.15.0" (2022-07-18)
Features
[filesystem] Added ability to better control long running file system actions such as zipping, walking, etc. with context (#202207151751)
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
Changelog
This document contains a history of significant changes which have been released for
golang-utils. Please note thatbeta releases are not included in this history.
"1.60.1" (2024-02-15)
Bugfixes
"1.60.0" (2024-02-01)
Features
[subprocess]Enable specifying additional environment variables for the subprocess to run with (#20240131182504)Bugfixes
subprocessFix issue where subprocess.Output results in data race if the output prints to both stderr and stdout (#20240131145019)logsFix mutex lock in multipleLoggers as it was using a read only lock in situation where loggers can actually be accessing the same underlying resource (#20240131151659)"1.59.0" (2024-01-18)
Features
[filesystem]Add a way to convertfilesystem.Fileto*os.Filefor legacy functions which have not moved to usingfs.File(#20240118145043)Bugfixes
"1.58.1" (2024-01-09)
Bugfixes
"1.58.0" (2024-01-04)
Features
[filesystem]Add validation rules to verify if a value is a valid path (#20240104152047)"1.57.3" (2024-01-02)
Bugfixes
"1.57.2" (2023-12-29)
Bugfixes
"1.57.1" (2023-12-18)
Bugfixes
"1.57.0" (2023-12-14)
Features
http] Add support for using a custom HTTP client as the base for the retryable HTTP client (#20231214113956)http] Add NewRetryableOauthClient for creating a retryable client with OAuth2 token headers (#20231214114035)Bugfixes
"1.56.1" (2023-12-04)
Bugfixes
"1.56.0" (2023-11-13)
Features
logs] Add alogr.Loggerquiet logger to only log errors (#20231113111138)"1.55.0" (2023-11-13)
Features
[logs]Allow logrusr options to be set in NewLogrusLogger (#20231112110816)"1.54.1" (2023-11-10)
Bugfixes
"1.54.0" (2023-11-02)
Features
filesystem] Add recursive methods for changing mode and ownership (#20231101113816)filesystem] AddTouchfunction to create empty files (#20231101113838)filesystem] AddGlobfunction to search for items which names match a glob pattern (#20231101113928)Bugfixes
"1.53.0" (2023-10-30)
Features
[platform]Add parameter substitution utilities for all platform (#20231029203453)[environment]Add utilities to manipulate environment variable collections (#20231029203455)platform] Add portable variable name validation (#20231030114112)"1.52.0" (2023-10-27)
Features
[platform]IntroduceGetHomeDirectory()andGetDefaultDirectory()(#20231026194444)[logs]Add a quiet logger (#20231027081549)platform] portable variable expansion (#20231027143154)environment] Add utilities to expand environment variables (#20231027170436)Bugfixes
"1.51.0" (2023-10-26)
Features
[platform]AddGetUser()andGetCurrentUser()(#20231026104543)Bugfixes
"1.50.0" (2023-10-19)
Features
[environment]expose the validation rule for environment variable keysIsEnvironmentVariableKey(#20231017132731)[platform]Add a way to remove path with escalated privileges (#20231017202810)[filesystem]Add a method to force remove path assuming the user is a superuser (#20231017202858)"1.49.0" (2023-10-17)
Features
[environment]Expose utilities for parsing and finding environment variables (#20231013160208)[collection]AddedAllNotEmptyandAnyEmptyto check the content of string slices (#20231016164922)[collection]AddedFindInSliceto extendFindsearch capabilities (#20231016173631)[platform]Added a way to determine if a user has admin rights (i.e. root or superuser on Linux and administrator on Windows) (#20231016175953)[command]Added a way to prepend commands (usingPrepend()) to command wrappers in order to chain command wrappers easily (#20231016204910)[platform]AddedWithPrivilegesso that commands are elevated with privileges depending on the permissions of the current user (#20231016234712)Bugfixes
[environment]Fix environment variables parsing when an entry is incorrect (#20231013160247)"1.48.0" (2023-10-13)
Features
[platform]Add way to run commands as a user with privileges on posix systems (#20231013112742)[command]Add utilities to translate commands so that they are run as a separate user (#20231013122936)Bugfixes
"1.47.0" (2023-10-11)
Features
[logs]Added aPlainStringLoggerto store only logged messages without prefixes or flags (#20231010192716)[logs]Added aCombinedLoggersto log into multiple loggers (#20231010195032)[subprocess]AddedOutputto store the output of a process into a string (#20231010200309)"1.46.0" (2023-10-10)
Features
environment] AddGetEnvironmentVariable()to fetch a specific environment variable (#20231010151706)environment] ExtendGetEnvironmentVariables()to accept optional ...dotEnvFiles so that .env files can be loaded into the current environment (#20231010151811)Bugfixes
"1.45.1" (2023-10-04)
Bugfixes
"1.45.0" (2023-09-27)
Features
[logs]Added support for slog, the future standard library logger (#20230731185357)[commonerrors]Add a way to serialise and deserialise errors (#20230926155050)golang1.20 (#20230927094030)Bugfixes
"1.44.1" (2023-09-19)
Bugfixes
[platform]differentiate between the different architectures running Windows asarmis not fully supported (#20230919122752)"1.44.0" (2023-09-18)
Features
[platform]Add portable user management utilities similar touseradd,usermod,userdel(#20230915181452)"1.43.0" (2023-09-08)
Features
[filesystem]Add utilities to Fetch and Change file ownership usinguser.User(#20230906170005)[environment]added utilities to describe the current environment (e.g. user, environment variables) (#20230907192415)Bugfixes
"1.42.1" (2023-09-04)
Bugfixes
"1.42.0" (2023-08-02)
Features
[errortest]Added utilities to check the error description (#20230724173139)[filesystem]Added zipFS to enable filesystem utilities on zip files (#20230728174153)[resource]to define generic utilities regarding resource management (#20230731170709)[hashing]Added support for blake2b hashing algorithm (#20230801110107)[encryption]for simple cryptography utilities (#20230801144705)Bugfixes
[filesystem]Useafero.ReadOnlyFSrather than our own implementation when exposingembed.FS(#20230724173259)"1.41.0" (2023-07-24)
Features
[logrimp]Defines some typical logr.Logger implementations for ease of initialisation and use (#20230724144906)"1.40.0" (2023-07-18)
Features
[parallelisation]Added utilities to control long running actions with context (#20230718134812)Misc
"1.39.0" (2023-07-14)
Features
[filesystem]Add utilities to work withio/fs FS(#20230705185305)Bugfixes
"1.38.0" (2023-06-12)
Features
[filesystem]Created Adapter toembed.FSfor use of common utilities (#20230609154852)[filesystem]AddedReadFileContentin order to read from a File object (#20230609154935)"1.37.0" (2023-06-07)
Features
logsAdd GetLogrLoggerFromContext to fetch a logr.logger from a context (#20230607112032)Bugfixes
"1.36.0" (2023-06-06)
Features
[logs]created a hclog's wrapper over logs.Loggers (#20230606144452)"1.35.0" (2023-06-06)
Features
[logs]Defined a logger for using hclog (#20230606113952)Bugfixes
"1.34.0" (2023-06-01)
Features
[http]AddedRetryOnErrortogenerically retry a client call on error in a similar way to whatOnErrordoes in kubernetes (#20230531171611)Bugfixes
"1.33.1" (2023-05-25)
Bugfixes
"1.33.0" (2023-05-24)
Features
Bugfixes
"1.32.0" (2023-05-02)
Features
[commonerrors]Add Ignore so that errors can be ignored (#20230428172043)Bugfixes
"1.31.1" (2023-04-26)
Bugfixes
"1.31.0" (2023-04-04)
Features
[config]Add a way viaLoadFromEnvironmentto read configuration from a file as long as the format is supported by Viper (#20230404144534)Bugfixes
"1.30.0" (2023-03-17)
Features
[field]Extend utilities to set or retrievetime.Timefields (#20230317105143)Bugfixes
[commonerrors]makecommonerrors.CorrespondTocase-insensitive (#20230317104522)"1.29.0" (2023-03-16)
Features
golang-utils. (#202303161302)[error]Added theCorrespondTofunction to determine if an error corresponds to a specific description (#202303161517)[logs]Introducing the zap logger since logrus is being deprecated (#20230227175001)Bugfixes
Misc
"" "1.28.0" (2023-02-22)
Features
[filesystem]Make file hashing operation context aware (#20230222130436)Bugfixes
"" "1.27.0" (2023-02-16)
Features
[filesystem]Expose WriteFile (#20230216115815)Bugfixes
Misc
"" "1.26.0" (2023-01-31)
Features
[filesystem]Added more copy functionsCopyToFileandCopyToDirectoryto cover more copy usecases (#20230131184530)Bugfixes
[filesystem]Clarified the behaviour ofCopyfor files so that there is no wrong assumptions about the type of the destination if not existing (#20230130162624)Improved Documentation
filesystem.Copy(#20230130162704)"" "1.25.1" (2023-01-27)
filesystem.Copywhen destination does not exist may result in a breaking changeBugfixes
[filesystem]FixCopybehaviour to matchcp -rwhen destination does not exist (#20230126194148)[filesystem]FixCopybehaviour to matchcp <file>when destination has a file name (#20230127113013)"" "1.25.0" (2023-01-22)
Features
[safeio]Add utilities to convert readers/writers into context aware actors (#20230111140925)Bugfixes
[pagination]Fix panic in contructor (#20230121234948)"" "1.24.0" (2023-01-09)
Features
[units]to ease limit/size setting (#202212061433)[filesystem]allow unzip to be recursive for ease of use (#202212151320)[filesystem]Extended potentially long running actions such as writing or reading files to be controlled by a context (#20230105170818)[safeio]created new utilities to hardenioactions (#20230106191918)[filesystem]expanded filepath utilities (#20230106192012)[filesystem]Added a way to control the recursivity and depth of filesystem action (#20230106192158)[filesystem]Added a way to detect zip archive files (#20230108123045)Bugfixes
[pagination]changed iterator definition to allow item casting (#20230105095148)[filesystem]fixedunzipto mitigate against the risk of zip bombs (#20230107200833)"" "1.23.0" (2022-12-28)
Features
[pagination]extended paginators to deal with static pages which cannot iterate over themselves (#20221228210153)Bugfixes
[filesystem]change move file to copy file not folder (#202212131259)[pagination]fixed bug about page iteration (#20221228210503)"" "1.22.0" (2022-12-12)
Features
[logs]Added a way to manage multiple loggers transparently in the same way as a single logger (#20221212133537)Bugfixes
"" "1.21.0" (2022-12-09)
Features
[pagination]for iterating over collections (#20221208164041)Bugfixes
"" "1.20.2" (2022-11-30)
Bugfixes
Improved Documentation
[git]Improved API documentation (#202211301058)"" "1.20.1" (2022-10-05)
Bugfixes
[filesystem]: Fix the exclusion regex used insubDirectoriesto filter "hidden" folders (#202210051012)"" "1.20.0" (2022-10-04)
Features
1.17so that dependencies can work on all plaftorms (#202210031638)[filesystem]Expanded most recursive filesystem APIs so that exclusion patterns can be used to ignore some paths during the processing (#202210040057)Bugfixes
"" "1.19.0" (2022-09-21)
Features
Bugfixes
"" "1.18.2" (2022-08-31)
Bugfixes
[logs]Fixed the error message logged by a slow writer (#202208311750)"" "1.18.1" (2022-08-25)
Bugfixes
[filesystem]Fixed the platform dependent code on Linux (#202208251445)"" "1.18.0" (2022-08-24)
Features
[filesystem]Add utility to retrieve file ownership information i.e.UIDandGID(#202208131936)[shared cache]Added a new module to create and manage shared cache between processes (#202208231010)Deprecations and Removals
"" "1.17.2" (2022-08-11)
Bugfixes
"" "1.17.1" (2022-08-11)
Bugfixes
"" "1.17.0" (2022-08-11)
Features
Bugfixes
"" "1.16.0" (2022-07-29)
Features
"" "1.15.2" (2022-07-27)
Bugfixes
Misc
"" "1.15.1" (2022-07-18)
Bugfixes
[filesystem]Updated limit structure to have tags specified (#202207181519)[httptest]Fixed security issue(G112: Potential Slowloris Attack because ReadHeaderTimeout is not configured in the http.Server (gosec))(#202207181802)"" "1.15.0" (2022-07-18)
Features
[filesystem]Added ability to better control long running file system actions such as zipping, walking, etc. with context (#202207151751)Bugfixes
"" "1.14.0" (2022-07-12)
Features
Loggerfrom a logr.Logger (#202207111655)create...are marked as deprecated (#202207120946)Bugfixes
"" "1.13.2" (2022-06-10)
Bugfixes
"" "1.13.1" (2022-06-09)
Bugfixes
"" "1.13.0" (2022-05-26)
Features
FilepathStemfunction to package, emulating Python's Pathlib.Stem behaviour (#20220525)"" "1.12.0" (2022-05-12)
Features
"" "1.11.1" (2022-05-09)
Bugfixes
"" "1.11.0" (2022-04-25)
Features
"" "1.10.0" (2022-04-25)
Features
Bugfixes
"" "1.9.0" (2022-04-06)
Features
ParseListWithCleanupis now available for parsing strings containing lists (#202204061624)Bugfixes
"" "1.8.0" (2022-03-01)
Features
ToStructPtr()function (#202203011026)Bugfixes
"" "1.7.0" (2022-02-15)
Features
OPTIONSrequests using an http.IClient (#202202151234)"" "1.6.0" (2022-02-11)
Features
Retry-Afterheader in response or not) (#202202102046)Retry-Afterheader in response or not) (#202202102049)Improved Documentation
"" "1.5.0" (2022-02-03)
Features
filesystem.OpenFileis now available as a module function and not just as a method. (#202202031230)Bugfixes
unzipto behave like7zipand handle non UTF-8 filenames by converting them after detection (#202202021956)Improved Documentation
"" "1.4.3" (2021-12-19)
Bugfixes
"" "1.4.2" (2021-12-16)
Bugfixes
Misc
"" "1.4.1" (2021-12-03)
Bugfixes
"" "1.4.0" (2021-11-09)
Features
"" "1.3.1" (2021-11-02)
Bugfixes
parallisationwhich entailed a bug in file locking where the heartbeat was forced to stop after a timeout (#202111012244)Misc
"" "1.3.0" (2021-10-13)
Features
Bugfixes
"" "1.2.0" (2021-10-13)
Features
Bugfixes
gosecreported error incommonerrors(#202109131145)"" "1.1.0" (2021-09-10)
Features
ScheduleAfter(#202109092134)Bugfixes
Schedulerace condition reported by golang race detector (#202109021504)Subprocessrace condition reported by golang race detector (#202109021553)lock filerace condition reported by golang race detector (#202109031636)Improved Documentation
Misc
"1.0.0" (2021-08-25)"1.0.0" (2021-08-25)
Major changes
ARM-softwareorganisation (#202108121238)Improved Documentation
Misc
This discussion was created from the release Release 1.60.1.
Beta Was this translation helpful? Give feedback.
All reactions