Skip to content

Release 1.20.2

Compare
Choose a tag to compare
@monty-bot monty-bot released this 30 Nov 14:31
· 383 commits to master since this release

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 in subDirectories 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 and GID (#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

"" "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 like 7zip 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 in commonerrors (#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