Release 1.20.2
Changelog
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.
"" "1.20.2" (2022-11-30)
Bugfixes
- Dependency upgrade: atomic-1.10.0 (#202210031545, #202210031550, #202210031603, #202210031613, #202210031618, #202210031641, #202210031642, #202210031653, #202210031725, #202210031732, #202210031747, #202210031755, #202210031807, #202210031816, #202210031822, #202210031829, #202210031837, #202210031849, #202210031855, #202210031903, #202210031912, #202210031919, #202210031923, #202210031929, #202210031936, #202210031941, #202210031947, #202210032000, #202210032014, #202210032027, #202210032038, #202210032041, #202210032046, #202210032054, #202210032100, #202210032101, #202210032106, #202210032110, #202210032119, #202210032123, #202210032124, #202210032145, #202210032146, #202210032201, #202210032206, #202210032220, #202210032226, #202210032234, #202210032235, #202210032236, #202210032238, #202210032240, #202210032241, #202210032242, #202210032243, #202210032245, #202210032246, #202210032247, #202210032248, #202210032249, #202210032250, #202210032251, #202210032252, #202210032253, #202210032254, #202210032255, #202210032256, #202210032257, #202210032258, #202210032259, #202210032300, #202210032301, #202210032302, #202210032303, #202210032304, #202210032305, #202210032306, #202210032307, #202210032308, #202210032309, #202210032310, #202210032311, #202210032312, #202210032313, #202210032314, #202210032315, #202210032316, #202210032317, #202210032318, #202210032319, #202210032320, #202210032321, #202210032322, #202210032323, #202210032324, #202210032325, #202210032326, #202210032327, #202210032328, #202210032329, #202210032330, #202210032331, #202210032332, #202210032333, #202210032334, #202210032335, #202210032336, #202210032337, #202210032338, #202210032339, #202210032340, #202210032341, #202210032342, #202210032343, #202210032344, #202210032345, #202210032346, #202210032347, #202210032348, #202210032349, #20221003223801, #20221003224001, #20221003224101, #20221003224601, #20221003224701, #20221003224901, #20221003225101, #20221003225301, #20221003225601, #20221003225801, #20221003225802, #20221003225901, #20221003230001, #20221003230301, #20221003230302, #20221003230401, #20221003230701, #20221003230801, #20221003230901, #20221003231001, #20221003231101, #20221003231201, #20221003231301, #20221003231501, #20221003231601, #20221003231801, #20221003231901, #20221003232001, #20221003232201, #20221003232202, #20221003232301, #20221003232401, #20221003232501, #20221003232701, #20221003232702, #20221003232901, #20221003232902, #20221003233001, #20221003233101, #20221003233102, #20221003233201, #20221003233301, #20221003233302, #20221003233401, #20221003233501, #20221003233601, #20221003233602, #20221003233701, #20221003233801, #20221003233802, #20221003233901, #20221003234001, #20221003234101, #20221003234301, #20221003234302, #20221003234401, #20221003234501, #20221003234601, #20221003234602, #20221003234801, #20221003234802, #20221003234803)
- Dependency upgrade: testify-1.8.1 (#202210241021)
- Dependency upgrade: uuid-4.3.1incompatible (#202211011128, #20221101112801)
- Dependency upgrade: viper-1.14.0 (#202211081108)
- Dependency upgrade: afero-1.9.3 (#202211151103, #202211151104, #202211151107, #20221115110401, #20221115110402)
- Dependency upgrade: v3-3.22.10 (#202211301252, #202211301253, #202211301254, #202211301255, #202211301256, #202211301257, #202211301258, #202211301259, #20221130125201, #20221130125202, #20221130125301, #20221130125302, #20221130125401, #20221130125501, #20221130125601, #20221130125701, #20221130125801)
- Dependency upgrade: checkout-3 (#202211301327)
- Dependency upgrade: codeclimate-action-3.2.0 (#202211301328)
- Dependency upgrade: setup-python-4 (#202211301329)
- Dependency upgrade: setup-go-3 (#202211301340)
- Dependency upgrade: codeql-action-2 (#2022113013282)
- Dependency upgrade: upload-artifact-3.1.1 (#2022113013283)
- Dependency upgrade: fetch-metadata-1.3.5 (#2022113013295)
- Dependency upgrade: cache-3 (#2022113013296)
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
- git: Add checks for true repository size, not just the virtual size (#202210031606)
- Upgrade the library to golang
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
- [git] added new test cases to mitigate git bombing, with a large number of files (#202209211609)
- Dependency upgrade: v3-3.22.9 (#202210031026)
"" "1.19.0" (2022-09-21)
Features
- [Filesystem] Added a file number limit when unzipping to protect against attacks with zip files (#20220913)
Bugfixes
- Dependency upgrade: v3-3.22.8 (#202209011025, #202209011026, #20220901102601)
- Dependency upgrade: viper-1.13.0 (#202209071022)
- Dependency upgrade: goleak-1.2.0 (#202209081025)
- Dependency upgrade: uuid-4.3.0incompatible (#202209121025, #202209121026, #202209121027, #202209121028, #202209121029, #202209121030, #202209121031, #20220912102501, #20220912102601, #20220912102701, #20220912102801, #20220912102901, #20220912103001)
"" "1.18.2" (2022-08-31)
Bugfixes
- Dependency upgrade: zerolog-1.28.0 (#202208291023, #202208291024, #20220829102301)
[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
- Reverted a dependency upgrade as not supported on MacOs (#202208241429)
"" "1.17.2" (2022-08-11)
Bugfixes
- [git] Return HEAD if reference not provided (#202208111622)
"" "1.17.1" (2022-08-11)
Bugfixes
- [git] modified interface to handle more generic references (tag, commit hash or branch name) (#202208111416)
"" "1.17.0" (2022-08-11)
Features
- Add git utility to prevent cloning git bombs (#202208081656)
Bugfixes
- Dependency upgrade: v3-3.22.7 (#202208011032)
- Remove TryLock as it isn't available in go1.16 (#202208111140)
"" "1.16.0" (2022-07-29)
Features
- Add utility for generating a list of the environment variables based on a struct that uses mapstructure (#202207290929)
"" "1.15.2" (2022-07-27)
Bugfixes
- Dependency upgrade: afero-1.9.1 (#202207191022, #20220719102201)
- Dependency upgrade: logrus-1.9.0 (#202207191615, #202207191616, #20220719161501)
- Dependency upgrade: afero-1.9.2 (#202207201737)
Misc
- #202207201838
"" "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
- Dependency upgrade: afero-1.9.0 (#202207151021, #202207151022, #202207151023, #20220715102101, #20220715102201)
"" "1.14.0" (2022-07-12)
Features
- [logs] New utility to create a
Logger
from a logr.Logger (#202207111655) - [logs] Changed constructors to follow naming convention (:warning; May mean breaking changes) (#202207111821)
- [logs] constructors using old naming convention i.e.
create...
are marked as deprecated (#202207120946)
Bugfixes
- Dependency upgrade: testify-1.7.3 (#202206201048, #202206201049, #202206201050, #202206201051, #202206201052, #202206201053, #202206201054, #20220620104801, #20220620104901, #20220620104902, #20220620105001, #20220620105101, #20220620105201, #20220620105301, #20220620105302)
- Dependency upgrade: testify-1.8.0 (#202207011611)
- Dependency upgrade: v3-3.22.6 (#202207011616, #202207011617, #20220701161601, #20220701161701)
"" "1.13.2" (2022-06-10)
Bugfixes
- [file lock] Ensure retries stop when context is asked to terminate (#202206101540)
"" "1.13.1" (2022-06-09)
Bugfixes
- Dependency upgrade: viper-1.12.0 (#202205271019)
- Dependency upgrade: v3-3.22.5 (#202206071413, #202206071415, #20220607141301)
- Dependency upgrade: zerolog-1.27.0 (#202206081224)
- Dependency upgrade: testify-1.7.2 (#202206081225)
"" "1.13.0" (2022-05-26)
Features
- [filesystem] Add
FilepathStem
function to package, emulating Python's Pathlib.Stem behaviour (#20220525)
"" "1.12.0" (2022-05-12)
Features
- Add option to run parseListWithCleanup to keep empty lines (#202205121612)
"" "1.11.1" (2022-05-09)
Bugfixes
- Dependency upgrade: v3-3.22.4 (#202205021019, #202205021020, #20220502101901)
"" "1.11.0" (2022-04-25)
Features
- [errors] Added a common error (#202204252100)
"" "1.10.0" (2022-04-25)
Features
- [errors] Added common errors (#202204251958)
Bugfixes
- Dependency upgrade: viper-1.11.0 (#202204151015)
- Dependency upgrade: mapstructure-1.5.0 (#202204211024)
- Dependency upgrade: go-retryablehttp-0.7.1 (#202204251901)
"" "1.9.0" (2022-04-06)
Features
- [collection]
ParseListWithCleanup
is now available for parsing strings containing lists (#202204061624)
Bugfixes
- Dependency upgrade: v3-3.8.0 (#202203101118)
- Dependency upgrade: afero-1.8.2 (#202203111118)
- Dependency upgrade: testify-1.7.1 (#202203161120)
- Dependency upgrade: v3-3.22.3 (#202204011026, #202204011027, #202204011028, #20220401102601, #20220401102701)
"" "1.8.0" (2022-03-01)
Features
- [reflection] Possibility to get hold of a pointer (e.g. interface) to any value:
ToStructPtr()
function (#202203011026)
Bugfixes
- Dependency upgrade: v3-3.22.2 (#202203011118)
"" "1.7.0" (2022-02-15)
Features
- Possibility to use standard library http.DefaultClient as a http.IClient (#202202151232)
- Possibility to create
OPTIONS
requests using an http.IClient (#202202151234) - Added missing mocks (#202202151235)
"" "1.6.0" (2022-02-11)
Features
- Possibility to define the HTTP client retry policy from configuration (#202202102044)
- Possibility to use an HTTP client with basic retry policy (policy can take into account the
Retry-After
header in response or not) (#202202102046) - Possibility to use an HTTP client with linear back-off (policy can take into account the
Retry-After
header in response or not) (#202202102049)
Improved Documentation
- Documented the different HTTP client implementations and their configuration (#202202102042)
"" "1.5.0" (2022-02-03)
Features
- Ability to detect the charset of a string using a similar algorithm to ICU (#202202020938)
- Ability to convert strings from one charset to another in a similar way to iconv or uconv (#202202020941)
filesystem.OpenFile
is now available as a module function and not just as a method. (#202202031230)
Bugfixes
- Dependency upgrade: v3-3.7.0 (#202112291129)
- Dependency upgrade: v3-3.21.12 (#202201031132)
- Dependency upgrade: afero-1.8.0 (#202201280944)
- Dependency upgrade: v3-3.22.1 (#202202021122)
- Modified
unzip
to behave like7zip
and handle non UTF-8 filenames by converting them after detection (#202202021956)
Improved Documentation
- Updated file copyright (#202202021119)
"" "1.4.3" (2021-12-19)
Bugfixes
- Fix how configuration is loaded from flags and environment and clarifies how default values are chosen. (#202112191650)
"" "1.4.2" (2021-12-16)
Bugfixes
- Dependency upgrade: viper-1.10.0 (#202112131127)
- Dependency upgrade: viper-1.10.1 (#202112161134)
- Dependency upgrade: zerolog-1.26.1 (#202112161135)
- Fixes the CLI to environment variable binding which did not work well with default values provided as part of the CLI flag definition (#202112161725)
Misc
- #202112161834
"" "1.4.1" (2021-12-03)
Bugfixes
- Dependency upgrade: uuid-4.1.0incompatible (#202111241131)
- Dependency upgrade: mapstructure-1.4.3 (#202112021129)
- Dependency upgrade: uuid 4.2.0+incompatible (#202112031155)
- Fixed the binding between CLI pflags and environment variables when it comes to nested configuration structures (#202112031255)
"" "1.4.0" (2021-11-09)
Features
- Added collection utilities for removing elements from slices (#202111091652)
"" "1.3.1" (2021-11-02)
Bugfixes
- Bumped go version required (#202110151126)
- Fixed bug in
parallisation
which entailed a bug in file locking where the heartbeat was forced to stop after a timeout (#202111012244) - Dependency upgrade: zerolog-1.26.0 (#202111021125)
- Dependency upgrade: v3-3.21.10 (#202111021326)
Misc
- #202110201138
"" "1.3.0" (2021-10-13)
Features
- Added mocks (#202110131847)
Bugfixes
- Dependency upgrade: viper-1.9.0 (#202110131703)
"" "1.2.0" (2021-10-13)
Features
- Made IClient implementations easily configurable (#202110131646)
Bugfixes
- Dependency upgrade: goleak-1.1.11 (#202109131112)
- Improved testing and fixed
gosec
reported error incommonerrors
(#202109131145) - Dependency upgrade: mapstructure-1.4.2 (#202109161324)
- Dependency upgrade: godotenv-1.4.0 (#202110041008)
- Dependency upgrade: goleak-1.1.12 (#202110110900)
- Dependency upgrade: v3-3.21.9 (#202110131642)
"" "1.1.0" (2021-09-10)
Features
- Added a way to perform an action after some time:
ScheduleAfter
(#202109092134)
Bugfixes
- Dependency upgrade: gopsutil v3-3.21.8 (#202109021259)
- Dependency upgrade: zerolog-1.24.0 (#202109021331)
- Fixed
Schedule
race condition reported by golang race detector (#202109021504) - Fixed
Subprocess
race condition reported by golang race detector (#202109021553) - Fixed
lock file
race condition reported by golang race detector (#202109031636) - Introduced deadlock detector where shared resources are used (#202109092209)
Improved Documentation
- Improved DEVELOPER guide (#202108251951)
Misc
- #202108260927, #202109021444, #202109031754
"1.0.0" (2021-08-25)"1.0.0" (2021-08-25)
Major changes
- Initial Release (#202108121209)
- Changed imports to
ARM-software
organisation (#202108121238)
Improved Documentation
- Added guides (#202108121209)
- Added Licence headers (#202108121730)
Misc
- #202108131530, #202108231725