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
-
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.61.2" (2024-03-20)
Bugfixes
"1.61.1" (2024-03-12)
Bugfixes
"1.61.0" (2024-02-20)
Features
http
Add RetryIf function to do retries based on an arbitrary condition (#20240220143843)retry
Add retry module (#20240220151510)"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
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 convertfilesystem.File
to*os.File
for 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.Logger
quiet 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
] AddTouch
function to create empty files (#20231101113838)filesystem
] AddGlob
function 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]
AddedAllNotEmpty
andAnyEmpty
to check the content of string slices (#20231016164922)[collection]
AddedFindInSlice
to extendFind
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 (usingPrepend()
) to command wrappers in order to chain command wrappers easily (#20231016204910)[platform]
AddedWithPrivileges
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
"1.47.0" (2023-10-11)
Features
[logs]
Added aPlainStringLogger
to store only logged messages without prefixes or flags (#20231010192716)[logs]
Added aCombinedLoggers
to log into multiple loggers (#20231010195032)[subprocess]
AddedOutput
to 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)golang
1.20 (#20230927094030)Bugfixes
"1.44.1" (2023-09-19)
Bugfixes
[platform]
differentiate between the different architectures running Windows asarm
is 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.ReadOnlyFS
rather 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.FS
for use of common utilities (#20230609154852)[filesystem]
AddedReadFileContent
in order to read from a File object (#20230609154935)"1.37.0" (2023-06-07)
Features
logs
Add 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]
AddedRetryOnError
togenerically retry a client call on error in a similar way to whatOnError
does 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 viaLoadFromEnvironment
to 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.Time
fields (#20230317105143)Bugfixes
[commonerrors]
makecommonerrors.CorrespondTo
case-insensitive (#20230317104522)"1.29.0" (2023-03-16)
Features
golang-utils
. (#202303161302)[error]
Added theCorrespondTo
function 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 functionsCopyToFile
andCopyToDirectory
to cover more copy usecases (#20230131184530)Bugfixes
[filesystem]
Clarified the behaviour ofCopy
for 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.Copy
when destination does not exist may result in a breaking changeBugfixes
[filesystem]
FixCopy
behaviour to matchcp -r
when destination does not exist (#20230126194148)[filesystem]
FixCopy
behaviour 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 hardenio
actions (#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]
fixedunzip
to 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 insubDirectories
to filter "hidden" folders (#202210051012)"" "1.20.0" (2022-10-04)
Features
1.17
so 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.UID
andGID
(#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
Logger
from 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
FilepathStem
function 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
ParseListWithCleanup
is 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
OPTIONS
requests using an http.IClient (#202202151234)"" "1.6.0" (2022-02-11)
Features
Retry-After
header in response or not) (#202202102046)Retry-After
header in response or not) (#202202102049)Improved Documentation
"" "1.5.0" (2022-02-03)
Features
filesystem.OpenFile
is now available as a module function and not just as a method. (#202202031230)Bugfixes
unzip
to behave like7zip
and 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
parallisation
which 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
gosec
reported error incommonerrors
(#202109131145)"" "1.1.0" (2021-09-10)
Features
ScheduleAfter
(#202109092134)Bugfixes
Schedule
race condition reported by golang race detector (#202109021504)Subprocess
race condition reported by golang race detector (#202109021553)lock file
race 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-software
organisation (#202108121238)Improved Documentation
Misc
This discussion was created from the release Release 1.61.2.
Beta Was this translation helpful? Give feedback.
All reactions