Skip to content

Latest commit

 

History

History
429 lines (284 loc) · 5.6 KB

CHANGELOG.md

File metadata and controls

429 lines (284 loc) · 5.6 KB

Changelog

@samber: I sometimes forget to update this file. Ping me on Twitter or open an issue in case of error. We need to keep a clear changelog for easier lib upgrade.

1.38.1 (2023-03-20)

Improvement:

  • Async and AsyncX: now returns <-chan T instead of chan T

1.38.0 (2023-03-20)

Adding:

  • lo.ValueOr
  • lo.DebounceBy
  • lo.EmptyableToPtr

Improvement:

  • Substring: add support for non-english chars

Fix:

  • Async: Fix goroutine leak

1.37.0 (2022-12-15)

Adding:

  • lo.PartialX
  • lo.Transaction

Improvement:

  • lo.Associate / lo.SliceToMap: faster memory allocation

Chore:

  • Remove *_test.go files from releases, in order to cleanup dev dependencies

1.36.0 (2022-11-28)

Adding:

  • lo.AttemptWhile
  • lo.AttemptWhileWithDelay

1.35.0 (2022-11-15)

Adding:

  • lo.RandomString
  • lo.BufferWithTimeout (alias to lo.BatchWithTimeout)
  • lo.Buffer (alias to lo.Batch)

Change:

  • lo.Slice: avoid panic caused by out-of-bounds

Deprecation:

  • lo.BatchWithTimeout
  • lo.Batch

1.34.0 (2022-11-12)

Improving:

  • lo.Union: faster and can receive more than 2 lists

Adding:

  • lo.FanIn (alias to lo.ChannelMerge)
  • lo.FanOut

Deprecation:

  • lo.ChannelMerge

1.33.0 (2022-10-14)

Adding:

  • lo.ChannelMerge

Improving:

  • helpers with callbacks/predicates/iteratee now have named arguments, for easier autocompletion

1.32.0 (2022-10-10)

Adding:

  • lo.ChannelToSlice
  • lo.CountValues
  • lo.CountValuesBy
  • lo.MapEntries
  • lo.Sum
  • lo.Interleave
  • TupleX.Unpack()

1.31.0 (2022-10-06)

Adding:

  • lo.SliceToChannel
  • lo.Generator
  • lo.Batch
  • lo.BatchWithTimeout

1.30.1 (2022-10-06)

Fix:

  • lo.Try1: remove generic type
  • lo.Validate: format error properly

1.30.0 (2022-10-04)

Adding:

  • lo.TernaryF
  • lo.Validate

1.29.0 (2022-10-02)

Adding:

  • lo.ErrorAs
  • lo.TryOr
  • lo.TryOrX

1.28.0 (2022-09-05)

Adding:

  • lo.ChannelDispatcher with 6 dispatching strategies:
    • lo.DispatchingStrategyRoundRobin
    • lo.DispatchingStrategyRandom
    • lo.DispatchingStrategyWeightedRandom
    • lo.DispatchingStrategyFirst
    • lo.DispatchingStrategyLeast
    • lo.DispatchingStrategyMost

1.27.1 (2022-08-15)

Bugfix:

  • Removed comparable constraint for lo.FindKeyBy

1.27.0 (2022-07-29)

Breaking:

  • Change of MapToSlice prototype: MapToSlice[K comparable, V any, R any](in map[K]V, iteratee func(V, K) R) []R -> MapToSlice[K comparable, V any, R any](in map[K]V, iteratee func(K, V) R) []R

Added:

  • lo.ChunkString
  • lo.SliceToMap (alias to lo.Associate)

1.26.0 (2022-07-24)

Adding:

  • lo.Associate
  • lo.ReduceRight
  • lo.FromPtrOr
  • lo.MapToSlice
  • lo.IsSorted
  • lo.IsSortedByKey

1.25.0 (2022-07-04)

Adding:

  • lo.FindUniques
  • lo.FindUniquesBy
  • lo.FindDuplicates
  • lo.FindDuplicatesBy
  • lo.IsNotEmpty

1.24.0 (2022-07-04)

Adding:

  • lo.Without
  • lo.WithoutEmpty

1.23.0 (2022-07-04)

Adding:

  • lo.FindKey
  • lo.FindKeyBy

1.22.0 (2022-07-04)

Adding:

  • lo.Slice
  • lo.FromPtr
  • lo.IsEmpty
  • lo.Compact
  • lo.ToPairs: alias to lo.Entries
  • lo.FromPairs: alias to lo.FromEntries
  • lo.Partial

Change:

  • lo.Must + lo.MustX: add context to panic message

Fix:

  • lo.Nth: out of bound exception (#137)

1.21.0 (2022-05-10)

Adding:

  • lo.ToAnySlice
  • lo.FromAnySlice

1.20.0 (2022-05-02)

Adding:

  • lo.Synchronize
  • lo.SumBy

Change:

  • Removed generic type definition for lo.Try0: lo.Try0[T]() -> lo.Try0()

1.19.0 (2022-04-30)

Adding:

  • lo.RepeatBy
  • lo.Subset
  • lo.Replace
  • lo.ReplaceAll
  • lo.Substring
  • lo.RuneLength

1.18.0 (2022-04-28)

Adding:

  • lo.SomeBy
  • lo.EveryBy
  • lo.None
  • lo.NoneBy

1.17.0 (2022-04-27)

Adding:

  • lo.Unpack2 -> lo.Unpack3
  • lo.Async0 -> lo.Async6

1.16.0 (2022-04-26)

Adding:

  • lo.AttemptWithDelay

1.15.0 (2022-04-22)

Improvement:

  • lo.Must: error or boolean value

1.14.0 (2022-04-21)

Adding:

  • lo.Coalesce

1.13.0 (2022-04-14)

Adding:

  • PickBy
  • PickByKeys
  • PickByValues
  • OmitBy
  • OmitByKeys
  • OmitByValues
  • Clamp
  • MapKeys
  • Invert
  • IfF + ElseIfF + ElseF
  • T0() + T1() + T2() + T3() + ...

1.12.0 (2022-04-12)

Adding:

  • Must
  • Must{0-6}
  • FindOrElse
  • Async
  • MinBy
  • MaxBy
  • Count
  • CountBy
  • FindIndexOf
  • FindLastIndexOf
  • FilterMap

1.11.0 (2022-03-11)

Adding:

  • Try
  • Try{0-6}
  • TryWitchValue
  • TryCatch
  • TryCatchWitchValue
  • Debounce
  • Reject

1.10.0 (2022-03-11)

Adding:

  • Range
  • RangeFrom
  • RangeWithSteps

1.9.0 (2022-03-10)

Added

  • Drop
  • DropRight
  • DropWhile
  • DropRightWhile

1.8.0 (2022-03-10)

Adding Union.

1.7.0 (2022-03-09)

Adding ContainBy

Adding MapValues

Adding FlatMap

1.6.0 (2022-03-07)

Fixed PartitionBy.

Adding Sample

Adding Samples

1.5.0 (2022-03-07)

Adding Times

Adding Attempt

Adding Repeat

1.4.0 (2022-03-07)

  • adding tuple types (2->9)
  • adding Zip + Unzip
  • adding lo.PartitionBy + lop.PartitionBy
  • adding lop.GroupBy
  • fixing Nth

1.3.0 (2022-03-03)

Last and Nth return errors

1.2.0 (2022-03-03)

Adding lop.Map and lop.ForEach.

1.1.0 (2022-03-03)

Adding i int param to lo.Map(), lo.Filter(), lo.ForEach() and lo.Reduce() predicates.

1.0.0 (2022-03-02)

Initial release

Supported helpers for slices:

  • Filter
  • Map
  • Reduce
  • ForEach
  • Uniq
  • UniqBy
  • GroupBy
  • Chunk
  • Flatten
  • Shuffle
  • Reverse
  • Fill
  • ToMap

Supported helpers for maps:

  • Keys
  • Values
  • Entries
  • FromEntries
  • Assign (maps merge)

Supported intersection helpers:

  • Contains
  • Every
  • Some
  • Intersect
  • Difference

Supported search helpers:

  • IndexOf
  • LastIndexOf
  • Find
  • Min
  • Max
  • Last
  • Nth

Other functional programming helpers:

  • Ternary (1 line if/else statement)
  • If / ElseIf / Else
  • Switch / Case / Default
  • ToPtr
  • ToSlicePtr

Constraints:

  • Clonable