github.com/go-playground/pkg/v5@v5.29.1/CHANGELOG.md (about)

     1  # Changelog
     2  All notable changes to this project will be documented in this file.
     3  
     4  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
     5  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
     6  
     7  ## [Unreleased]
     8  
     9  ## [5.29.1] - 2024-04-04
    10  ### Fixed
    11  - Added HTTP 404 to non retryable status codes.
    12  
    13  ## [5.29.0] - 2024-03-24
    14  ### Added
    15  - `asciiext` package for ASCII related functions.
    16  - `errorsext.Retrier` configurable retry helper for any fallible operation.
    17  - `httpext.Retrier` configurable retry helper for HTTP requests and parsing of responses.
    18  - `httpext.DecodeResponseAny` non-generic helper for decoding HTTP responses.
    19  - `httpext.HasRetryAfter` helper for checking if a response has a `Retry-After` header and returning duration to wait.
    20  
    21  ## [5.28.1] - 2024-02-14
    22  ### Fixed
    23  - Additional supported types, cast to `sql.Valuer` supported types, they need to be returned to the driver for evaluation.
    24  
    25  ## [5.28.0] - 2024-02-13
    26  ### Added
    27  - Additionally supported types, cast to `sql.Valuer` supported types.
    28  
    29  ### Changed
    30  - Option scan to take advantage of new `sql.Null` and `reflect.TypeFor` for go1.22+.
    31  - `BytesToString` & `StringToBytes` to use `unsafe.String` & `unsafe.Slice` for go1.21+.
    32  
    33  ### Deprecated
    34  - `mathext.Min` & `mathext.Max` in favour of std lib min & max.
    35  
    36  ### Fixed
    37  - Some documentation typos.
    38  
    39  ## [5.27.0] - 2024-01-29
    40  ### Changed
    41  - `sliceext.Retain` & `sliceext.Filter` to not shuffle data in the underlying slice array but create new slice referencing the data instead. In practice, it can cause unexpected behaviour and users expectations not met when the same data is also referenced elsewhere. If anyone still requires a `shuffle` implementation for efficiency I'd be happy to add a separate function for that as well.
    42  
    43  ## [5.26.0] - 2024-01-28
    44  ### Added
    45  - `stringsext.Join` a more ergonomic way to join strings with a separator when you don't have a slice of strings.
    46  
    47  ## [5.25.0] - 2024-01-22
    48  ### Added
    49  - Add additional `Option.Scan` type support for `sql.Scanner` interface of Uint, Uint16, Uint32, Uint64, Int, Int, Int8, Float32, []byte, json.RawValue.
    50  
    51  ## [5.24.0] - 2024-01-21
    52  ### Added
    53  - `appext` package for application level helpers. Specifically added setting up os signal trapping and cancellation of context.Context.
    54  
    55  ## [5.23.0] - 2024-01-14
    56  ### Added
    57  - `And` and `AndThen` functions to `Option` & `Result` types.
    58  
    59  ## [5.22.0] - 2023-10-18
    60  ### Added
    61   - `UnwrapOr`, `UnwrapOrElse` and `UnwrapOrDefault` functions to `Option` & `Result` types.
    62  
    63  ## [5.21.3] - 2023-10-11
    64  ### Fixed
    65  - Fix SQL Scanner interface not returning None for Option when source data is nil.
    66  
    67  ## [5.21.2] - 2023-07-13
    68  ### Fixed
    69  - Updated default form/url.Value encoder/decoder with fix for bubbling up invalid array index values.
    70  
    71  ## [5.21.1] - 2023-06-30
    72  ### Fixed
    73  - Instant type to not be wrapped in a struct but a type itself.
    74  
    75  ## [5.21.0] - 2023-06-30
    76  ### Added
    77  - Instant type to make working with monotonically increasing times more convenient. 
    78  
    79  ## [5.20.0] - 2023-06-17
    80  ### Added
    81  - Expanded Option type SQL Value support to handle value custom types and honour the `driver.Valuer` interface.
    82  
    83  ### Changed
    84  - Option sql.Scanner to support custom types.
    85  
    86  ## [5.19.0] - 2023-06-14
    87  ### Added
    88  - strconvext.ParseBool(...) which is a drop-in replacement for the std lin strconv.ParseBool(..) with a few more supported values.
    89  - Expanded Option type SQL Scan support to handle Scanning to an Interface, Struct, Slice, Map and anything that implements the sql.Scanner interface.
    90  
    91  ## [5.18.0] - 2023-05-21
    92  ### Added
    93  - typesext.Nothing & valuesext.Nothing for better clarity in generic params and values that represent struct{}. This will provide better code readability and intent.
    94  
    95  ## [5.17.2] - 2023-05-09
    96  ### Fixed
    97  - Prematurely closing http.Response Body before error with it can be intercepted for ErrUnexpectedResponse. 
    98  
    99  ## [5.17.1] - 2023-05-09
   100  ### Fixed
   101  - ErrRetryableStatusCode passing the *http.Response to have access to not only the status code but headers etc. related to retrying.
   102  - Added ErrUnexpectedResponse to pass back when encountering an unexpected response code to allow the caller to decide what to do.
   103  
   104  ## [5.17.0] - 2023-05-08
   105  ### Added
   106  - bytesext.Bytes alias to int64 for better code clarity.
   107  - errorext.DoRetryable(...) building block for automating retryable errors.
   108  - sqlext.DoTransaction(...) building block for abstracting away transactions.
   109  - httpext.DoRetryableResponse(...) & httpext.DoRetryable(...) building blocks for automating retryable http requests.
   110  - httpext.DecodeResponse(...) building block for decoding http responses.
   111  - httpext.ErrRetryableStatusCode error for retryable http status code detection and handling.
   112  - errorsext.ErrMaxAttemptsReached error for retryable retryable logic & reuse.
   113  
   114  ## [5.16.0] - 2023-04-16
   115  ### Added
   116  - sliceext.Reverse(...)
   117  
   118  ## [5.15.2] - 2023-03-06
   119  ### Remove
   120  - Unnecessary second type param for Mutex2.
   121  
   122  ## [5.15.1] - 2023-03-06
   123  ### Fixed
   124  - New Mutex2 functions and guards; checked in the wrong code accidentally last commit.
   125  
   126  ## [5.15.0] - 2023-03-05
   127  ### Added
   128  - New Mutex2 and RWMutex2 which corrects the original Mutex's design issues.
   129  - Deprecation warning for original Mutex usage.
   130  
   131  ## [5.14.0] - 2023-02-25
   132  ### Added
   133  - Added `timext.NanoTime` for fast low level monotonic time with nanosecond precision.
   134  
   135  [Unreleased]: https://github.com/go-playground/pkg/compare/v5.29.1...HEAD
   136  [5.29.1]: https://github.com/go-playground/pkg/compare/v5.29.0..v5.29.1
   137  [5.29.0]: https://github.com/go-playground/pkg/compare/v5.28.1..v5.29.0
   138  [5.28.1]: https://github.com/go-playground/pkg/compare/v5.28.0..v5.28.1
   139  [5.28.0]: https://github.com/go-playground/pkg/compare/v5.27.0..v5.28.0
   140  [5.27.0]: https://github.com/go-playground/pkg/compare/v5.26.0..v5.27.0
   141  [5.26.0]: https://github.com/go-playground/pkg/compare/v5.25.0..v5.26.0
   142  [5.25.0]: https://github.com/go-playground/pkg/compare/v5.24.0..v5.25.0
   143  [5.24.0]: https://github.com/go-playground/pkg/compare/v5.23.0..v5.24.0
   144  [5.23.0]: https://github.com/go-playground/pkg/compare/v5.22.0..v5.23.0
   145  [5.22.0]: https://github.com/go-playground/pkg/compare/v5.21.3..v5.22.0
   146  [5.21.3]: https://github.com/go-playground/pkg/compare/v5.21.2..v5.21.3
   147  [5.21.2]: https://github.com/go-playground/pkg/compare/v5.21.1..v5.21.2
   148  [5.21.1]: https://github.com/go-playground/pkg/compare/v5.21.0..v5.21.1
   149  [5.21.0]: https://github.com/go-playground/pkg/compare/v5.20.0..v5.21.0
   150  [5.20.0]: https://github.com/go-playground/pkg/compare/v5.19.0..v5.20.0
   151  [5.19.0]: https://github.com/go-playground/pkg/compare/v5.18.0..v5.19.0
   152  [5.18.0]: https://github.com/go-playground/pkg/compare/v5.17.2..v5.18.0
   153  [5.17.2]: https://github.com/go-playground/pkg/compare/v5.17.1..v5.17.2
   154  [5.17.1]: https://github.com/go-playground/pkg/compare/v5.17.0...v5.17.1
   155  [5.17.0]: https://github.com/go-playground/pkg/compare/v5.16.0...v5.17.0
   156  [5.16.0]: https://github.com/go-playground/pkg/compare/v5.15.2...v5.16.0
   157  [5.15.2]: https://github.com/go-playground/pkg/compare/v5.15.1...v5.15.2
   158  [5.15.1]: https://github.com/go-playground/pkg/compare/v5.15.0...v5.15.1
   159  [5.15.0]: https://github.com/go-playground/pkg/compare/v5.14.0...v5.15.0
   160  [5.14.0]: https://github.com/go-playground/pkg/commit/v5.14.0