Skip to content
Permalink
develop
Switch branches/tags
Go to file
 
 
Cannot retrieve contributors at this time
927 lines (588 sloc) 38.3 KB

Change Log

All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.

Note: Unlisted patch versions only involve non-code or otherwise excluded changes and/or version bumps of transitive dependencies.

8.3.0 (2022-03-11)

🚀 Features

8.2.0 (2021-12-14)

🚀 Features

  • update/fix/extend streamShuffle() (dc26203)
    • add StreamShuffleOpts, add IRandom opt
    • fix args for internal shuffle() calls
    • optimize number of shuffle calls
    • optimize final buffer drain

8.1.0 (2021-11-17)

🚀 Features

  • Using workspaces for local tools (bf7a404) Improving the overall build ergonomics
    • introduced a tools workspaces
    • imported it in all needed packages/examples
    • inclusive project root
  • add rechunk() xform (10d0e9f)
    • update readme

♻️ Refactoring

  • testrunner to binary (4ebbbb2) this commit reverts (partly) changes made in: ef346d7a8753590dc9094108a3d861a8dbd5dd2c overall purpose is better testament ergonomics: instead of having to pass NODE_OPTIONS with every invocation having a binary to handle this for us.

8.0.8 (2021-11-10)

♻️ Refactoring

  • update all countdown loops (a5f374b)

8.0.1 (2021-10-13)

♻️ Refactoring

  • update imports in all tests/pkgs (effd591)
  • update imports in all pkgs (5fa2b6f)
    • add .js suffix for all relative imports

8.0.0 (2021-10-12)

🛑 Breaking changes

  • restructure package (4d643f5)
  • BREAKING CHANGE: restructure/flatten pkg, remove sub folders
    • migrate all /func, /iter, /rfn, /xform files to main /src folder
  • major update of ALL pkgs (export maps, ESM only) (0d1d6ea)
  • BREAKING CHANGE: discontinue CommonJS & UMD versions
    • only ESM modules will be published from now on
    • CJS obsolete due to ESM support in recent versions of node:
      • i.e. launch NodeJS via:
      • node --experimental-specifier-resolution=node --experimental-repl-await
      • in the node REPL use await import(...) instead of require()
    • UMD obsolete due to widespread browser support for ESM Also:
    • normalize/restructure/reorg all package.json files
    • cleanup all build scripts, remove obsolete
    • switch from mocha to @thi.ng/testament for all tests

♻️ Refactoring

  • update deps & imports in various pkgs (e1cf29e)
    • largely related to recent updates/restructuring of these packages:
      • api
      • defmulti
      • errors
      • logger
  • update imports (138571a)
  • update all tests in all pkgs (8b582bc)

7.9.2 (2021-09-03)

🩹 Bug fixes

  • fix #310, update flatten/flattenWith (bfbd726)
    • fix flatten()/flattenWith() return types
    • update generics to allow specifying explicit result type, but use new DeepArrayValue<A> mapped type as default
    • update flattenWith() predicate arg type to any since current restriction on top-level input type was (potentially) wrong for deeper levels. Also lift restriction and update pred's return type to MaybeIterable<any> (for same reason).

7.9.1 (2021-08-19)

🩹 Bug fixes

  • update normFrequenciesAuto() (5b5200b)
    • actually use key fn arg (if given)

7.9.0 (2021-08-19)

🚀 Features

  • add normalized frequencies() reducers (d09db8d)
    • add normCount()
    • add normFrequencies()
    • add normFrequenciesAuto()
    • update readme

7.8.0 (2021-08-04)

🚀 Features

  • add minMax() reducer (5f8a722)
  • update repeatedly(), iterate() (b7d9ba4)
    • add iteration counter arg for repeatedly()
    • minor refactor iterate()

7.7.0 (2021-04-07)

🚀 Features

  • add partitionWhen() xform (d2dd4d9)

7.6.10 (2021-04-03)

♻️ Refactoring

7.6.2 (2021-03-03)

🩹 Bug fixes

  • add missing type anno (TS4.2) (7ced9be)

7.6.0 (2021-02-20)

🚀 Features

  • add TweenOpts.easing, update tween() (f3a50f4)

♻️ Refactoring

7.5.2 (2020-12-07)

♻️ Refactoring

  • update type-only imports (6407f7d)
  • update type-only imports in various tests/pkgs (3fd9c24)

7.5.0 (2020-11-24)

🚀 Features

  • add minMag/maxMag() reducers (f7496b3)
  • add reduceRight/transduceRight() (b71ff9c)
    • update readme

♻️ Refactoring

  • dedupe transduce/transduceRight() internals (2246ef4)
  • update destructuring (d944b54)

7.4.0 (2020-09-22)

🚀 Features

  • add mapcatIndexed() xform (4f3d6e0)

7.3.1 (2020-09-13)

♻️ Refactoring

7.3.0 (2020-08-28)

🚀 Features

🩹 Bug fixes

♻️ Refactoring

  • update/fix normRange2d/3d() (d40c4a7)

7.2.0 (2020-07-28)

🚀 Features

7.1.0 (2020-06-14)

🚀 Features

  • add keyPermutations, tests, update readme (5110d50)

7.0.0 (2020-06-01)

🛑 Breaking changes

  • update readme (47b6cef)
  • BREAKING CHANGE: flatten string handling now always atomic

🩹 Bug fixes

  • #186, Fix crash when using empty string as source for several transducers. (ef7a798)

♻️ Refactoring

  • update flatten & flattenWith (35c2aaf)

6.7.0 (2020-06-01)

🚀 Features

6.6.0 (2020-05-29)

🚀 Features

  • add rangeNd(), add/update tests (9239d6f)

♻️ Refactoring

  • update rangeNd() arg types (d5aab14)

6.5.0 (2020-05-14)

🚀 Features

  • #221, add partitionSync() key add/removal ops (2ab4bf5)
    • add PartitionSync type
    • attach ops to dynamically manipulate & query input set
    • make input removal cleanup optional (enabled by default)
    • add/update tests

6.4.0 (2020-03-01)

🚀 Features

  • update mapKeys() key fns to accept 2nd arg (749d2cd)
    • pass original input value as 2nd arg to each key transform fn
    • this allows creating new keys based on other values in the object
  • add partitionTime() transducer (efafd0b)

6.3.0 (2020-02-25)

🚀 Features

  • add peek() xform, update readme (26aa228)

♻️ Refactoring

6.2.0 (2020-01-24)

🚀 Features

  • add IXform interface & TxLike type alias, update related functions (49c62b7)
    • update all fns expecting Transducer args
    • add internal ensureTransducer() helper
  • update curve(), line(), iterate() (3581a9d)
    • curve(): use new/improved logic from @thi.ng/dsp
    • iterate(): add opt step count
  • add opt limit for cycle() (186daff)
  • add line(), curve() (31bd5b9)
  • add dup() & palindrome(), update readme (546bf9f)
  • add sortedKeys() iterator (fa9343c)
  • add pushSort() reducer (444d2ee)

🩹 Bug fixes

  • update keep() xform to accept nullable (1bc561b)
  • use child reducer completion step in groupByMap/Obj() (ff44fcb)

Performance improvements

  • update string version of palindrome() (315cbf8)
    • avoid char-wise iteration of original input

♻️ Refactoring

6.1.0 (2019-11-30)

🩹 Bug fixes

6.0.0 (2019-11-09)

🛑 Breaking changes

  • update tween() args (5523582)
    • add TweenOpts
    • add/update docstrings
  • BREAKING CHANGE: replace tween() args w/ TweenOpts config object
  • rename old interpolate => tween (918721d)
  • BREAKING CHANGE: rename interpolate iterator => tween
  • simplify args for extendSides, padSides, wrapSides (a36651a)
    • rename wrap() => wrapSides()
    • remove obsolete & deprecated wrapLeft/Right/Both
  • BREAKING CHANGE: Rename wrap() => wrapSides(), update signature to be aligned w/ related iterators

🚀 Features

  • add new transducers: interpolate, interpolateHermite/Linear (c3fa9ab)
  • add new iterators: extendSides/padSides/symmetric() (47001fc)

♻️ Refactoring

5.4.5 (2019-09-21)

🚀 Features

  • add back pressure support for partitionSync() (6e14952)

🩹 Bug fixes

  • fix mean() for reduce w/ init value (d993bf2)

5.4.4 (2019-08-21)

♻️ Refactoring

  • extract internal helpers, update rfns & xforms (7772f9b) Impacted reducers:
    • add/mul/sub
    • groupByMap/Obj Xforms:
    • movingMedian
    • partitionSort / streamSort
    • takeLast
  • update/split reduce() (820e7c7)
  • update kernelLookup destructuring (acaa38e)
  • extract common logic for add/mul/sub reducers (7caa71a)

5.4.0 (2019-07-07)

🚀 Features

  • enable TS strict compiler flags (refactor) (2f8ec89)

🩹 Bug fixes

  • fix cat/mapcat arg types (0d9b7cb)

♻️ Refactoring

  • address TS strictNullChecks flag (c681aae)

5.3.3 (2019-04-03)

🩹 Bug fixes

  • fix #82, update partitionSync required key checks, add tests (8b2f3fe)

5.3.0 (2019-03-21)

🚀 Features

🩹 Bug fixes

  • update mean() completion step to avoid div by zero (f644ecd)

5.2.0 (2019-03-10)

🚀 Features

  • add / update convolution fns (31e594b)
    • add buildKernel1d, convolve1d

♻️ Refactoring

5.1.2 (2019-03-03)

🩹 Bug fixes

  • update dedupe() w/ predicate arg (c414423)
    • if pred is given, do not call pred for 1st value (always passes)

5.1.0 (2019-02-26)

🚀 Features

  • add converge() xform, add iter arg to iterate() (8393a95)

🩹 Bug fixes

  • update converge() & update readme (9aca912)

5.0.0 (2019-02-15)

🛑 Breaking changes

  • restructure, migrate / remove various functions (05bf213)
  • BREAKING CHANGE: migrate / remove various functions to other packages
  • remove obsolete randomID() & weightedRandom() (4b0eec6)
  • BREAKING CHANGE: migrate randomID() & weightedRandom() to @thi.ng/random
    • update choices() iterator
  • remove obsolete fns, update to use @thi.ng/arrays (83cb816)
  • BREAKING CHANGE: migrate various support fns to @thi.ng/arrays
    • remove/migrate functions:
      • binarySearch()
      • ensureArray() / ensureIterable()
      • fuzzyMatch()
      • peek()
      • shuffleN()
      • swizzler()
    • add support for IRandom in:
      • randomID()
      • choices()
      • weightedRandom()
      • sample()
    • update deps / readme

♻️ Refactoring

4.0.0 (2019-02-05)

🛑 Breaking changes

  • migrate binary related ops to new package (a7c1ef7)
    • update readme
  • BREAKING CHANGE: migrate all binary data related ops to new package @thi.ng/transducers-binary Removed:
    • bits
    • base64Encode/Decode
    • hexDump
    • partitionBits
    • utf8Encode/Decode

🩹 Bug fixes

  • ensure all vals in hexDump iterator version (ae83bb2)

♻️ Refactoring

  • deprecate & rename tuples() => zip() (d1151ce)
    • update refs / re-exports

3.0.0 (2019-01-21)

🛑 Breaking changes

  • update package build scripts & outputs, imports in ~50 packages (b54b703)
  • BREAKING CHANGE: enabled multi-outputs (ES6 modules, CJS, UMD)
    • build scripts now first build ES6 modules in package root, then call scripts/bundle-module to build minified CJS & UMD bundles in /lib
    • all imports MUST be updated to only refer to package level (not individual files anymore). tree shaking in user land will get rid of all unused imported symbols.

🩹 Bug fixes

♻️ Refactoring

2.3.2 (2019-01-02)

🩹 Bug fixes

  • add reduced() handling for cat() (cd17586)

2.3.1 (2018-12-29)

🩹 Bug fixes

  • interpolate() interval selection, add minPos/maxPos (a90a712)

2.3.0 (2018-12-28)

🚀 Features

  • add interpolate() iterator, update readme (846ab5c)

2.2.7 (2018-12-17)

🩹 Bug fixes

  • add return type for range() (0470505)

2.2.3 (2018-12-01)

♻️ Refactoring

  • implement range() as class w/ IReducible impl (0e77d2c)

2.2.0 (2018-10-17)

🚀 Features

  • update wrap*() fns to accept iterables (515e5ba)

🩹 Bug fixes

♻️ Refactoring

  • add ensureArrayLike(), update permutations() (f257330)
  • update Infinity consts in various packages (296e1e0)

2.1.6 (2018-09-26)

🩹 Bug fixes

  • fix matchLast(), fix & update return match*() types (823d828)
    • use iterator() instead of iterator1() for matchLast()
    • fix return type decls for both matchFirst() / matchLast()
    • update doc strings

2.1.2 (2018-09-22)

🩹 Bug fixes

  • add missing type annotation (022101f)

2.1.2-alpha.1 (2018-09-17)

🚀 Features

🩹 Bug fixes

  • str() initial result handling (f001314)
  • update arg types for choices() & weightedRandom() (eb67426)

2.1.0 (2018-09-08)

🚀 Features

  • rename window() => slidingWindow(), update readme (1f22867)
  • update partitionSync() xform & PartitionSyncOpts (d8fdc01)
    • add mergeOnly option to allow partially populated result tuples
  • add window() xform (2f0f3d4)

2.0.3 (2018-09-03)

♻️ Refactoring

  • update normRange() (4a16bd5)
    • add opt flag to exclude last value

2.0.0 (2018-08-24)

🛑 Breaking changes

  • add GroupByOpts interface, update groupBy* reducers (2c3a114)
    • add support for direct reduction if optional iterable is provided
  • BREAKING CHANGE: groupByMap() & groupByObj() args now given as options object
  • update all xforms to also work as iterator (bae8a1d)
    • if input iterable is provided, return iterator version
    • add opt initial result arg for scan()
    • utf8Decode() w/ input returns string
    • update tests
  • BREAKING CHANGE: replace some xform args with options objects, impacted are:
    • convolve2d()
    • filterFuzzy()
    • hexDump()
    • movingMedian()
    • partitionSort()
    • partitionSync()
    • streamSort()
    • wordWrap()
  • rename inspect() => trace() (e713704)
  • BREAKING CHANGE: rename inspect() => trace()

🚀 Features

  • update base64Encode() to return string if input given (599f2b6)
  • update all reducers to accept opt iterables (89b4ad5)
    • add $$reduce helper
    • fix str() to use string concatenation (instead of Array.join())
    • add opt init vals for add() & mul()
    • add sub() & div() reducers
  • add fill() & fillN() reducers (0bd860e)

🩹 Bug fixes

  • arg handling in rename() (7a5be21)
  • copy&paste error (push) (832e57f)
  • iterator1() final reduced value handling (d861bdd)
  • hex type decl (723da5b)

Performance improvements

  • add IReducible, update reduce() (9d83255)
    • add IReducible interface for custom/optimized iteration and source value provision for reduce()
    • add array-like check to reduce() and switch to version without forcing array iterator (for..of..)
  • add iterator1(), update various xforms (ab662d8)
    • iterator1() is speed optimized for 0-or-1 result xforms w/o completion step
    • update $iter to accept iterator impl

♻️ Refactoring

  • replace local types w/ external defs (3a8bd08)
  • add shared SortOpts, update xforms (8a111ef)
    • replace opts for movingMedian(), partitionSort(), streamSort()
    • move convolution types to src/xform/convole.ts
    • move StructField to src/xform/struct.ts
  • add ReductionFn type alias, update Reducer (45e4993)

1.16.0 (2018-08-08)

🚀 Features

  • add partitionBits() xform & tests (a5e2c28)

♻️ Refactoring

  • deprecate hex(), update hexDump() xform & deps (b1ea9a5)

1.15.0 (2018-08-02)

🚀 Features

1.14.0 (2018-07-19)

🚀 Features

  • add asIterable() helper (ccc37c6)
  • allow key arrays for rename(), simplify call sites (092154c)
    • update multiplexObj() & struct() xforms
  • add juxtR() for multiplexed reductions from same src (9b07d12)
    • add tests & docs

Performance improvements

  • update movingAverage() xform, add docs (9874ace)

1.13.0 (2018-07-13)

🚀 Features

1.12.2 (2018-07-09)

🩹 Bug fixes

1.12.1 (2018-07-09)

♻️ Refactoring

  • add reducer() helper, update existing reducers (095e6ef)

1.12.0 (2018-07-03)

🚀 Features

  • add ensureArray(), refactor reverse() (677c7cc)

1.11.0 (2018-06-19)

🚀 Features

  • add matchFirst()/matchLast() xforms, update readme (bc261e5)

1.10.1 (2018-05-14)

♻️ Refactoring

  • replace wrapBoth/Left/Right w/ wrap() (e238541)
    • deprecate existing wrap*() iters
    • update docs & readme

1.10.0 (2018-05-14)

🚀 Features

  • add filterFuzzy() xform (2bebba2)
    • add fuzzyMatch() predicate
  • add wrap*() iterators (306625d)
    • add wrapBoth()
    • add wrapLeft()
    • add wrapRight()

1.9.0 (2018-05-10)

🚀 Features

  • add normRange() iterator (55f29b8)

1.8.6 (2018-05-10)

♻️ Refactoring

1.8.1 (2018-04-18)

🩹 Bug fixes

  • add generics for compR(), fix types in mapNth() (3b7c9d9)

1.8.0 (2018-04-11)

🚀 Features

  • add run() for executing side effects only, update readme (52c7508)

1.7.1 (2018-03-21)

♻️ Refactoring

1.7.0 (2018-03-19)

🚀 Features

♻️ Refactoring

  • update labeled(), mapIndexed(), partition() (3bc8d54)
    • labeled() - add support for label fn instead of just static label
    • mapIndexed() - add optional start index arg
    • partition() - minor update in completing reducer

1.6.0 (2018-03-03)

🚀 Features

  • add permutations()/permutationsN() generators (91938ed)

♻️ Refactoring

  • extract compR() into its own file, update refs, update readme (8c180bc)
  • update swizzler() arg types (2f5abce)
  • update permutations()/permutationsN(), add tests (488462e)

1.5.1 (2018-03-02)

🩹 Bug fixes

1.5.0 (2018-02-26)

🚀 Features

  • add keys()/vals() iterators, refactor pairs() (9824844)

1.4.0 (2018-02-23)

🚀 Features

  • add deepTransform & mapDeep xform (f0fdfa1)

♻️ Refactoring

  • add TransformSubSpec, fix test, minor update docs (2a11ff6)

1.3.0 (2018-02-19)

🚀 Features

  • add lookup1d/2d/3d helpers, update re-exports (193058d)

1.2.0 (2018-02-18)

🚀 Features

  • add convolve2d xform & types (ab8a855)
  • add movingMedian() xform (d7b1d0d)
  • add range2d / range3d generators (722042b)

🩹 Bug fixes

♻️ Refactoring

  • add/update range2d/range3d arity handling (63a4953)

1.1.0 (2018-02-08)

🚀 Features

  • add page() xform, update readme (855d803)

♻️ Refactoring

1.0.6 (2018-02-01)

🩹 Bug fixes

  • update comp() for typescript 2.7.* (febe39f)

1.0.5 (2018-01-31)

♻️ Refactoring

1.0.2 (2018-01-29)

Performance improvements

  • avoid result object cloning in struct() xform (d774e32)
    • disable copying in mapKeys() step

1.0.0 (2018-01-28)

🛑 Breaking changes

  • update throttle(), refactor take/dropNth (e1a282c)
    • throttle() requires stateful predicate now
    • add throttleTime() as replacement for prev throttle() impl
    • refactor takeNth()/dropNth() to use throttle()
  • BREAKING CHANGE: throttle() requires stateful predicate now
  • rename join() => str() rfn (e268e35)
  • BREAKING CHANGE: rename join() => str() reduer in prep for actual set join() op
  • update step() to support multiple results (1f32fc0)
    • respect reduced value termination
    • internal use of push() vs. last() to support multiple results per transduction step
    • add docs
  • BREAKING CHANGE: now possibly returns array instead of single value if wrapped transducer produced multiple results

🚀 Features

  • add noop() xform, update readme (7b21aa6)
  • update re-exports, extract throttleTime() into own file (45d6bc6)
  • add labeled() xform (0b3c786)
  • add multiplexObj() (931b67f)
  • add every(), some() rfns (63344e4)
  • update re-exports, minor update reductions() (e555ff5)
  • update frequencies() & groupByMap() (4b8d037)
    • add opt key fn for frequencies(), delegate to groupByMap()
    • use identity as default key fn
  • add multiplex() xform & docs (beb2cee)
  • add utf8Encode()/utf8Decode() xforms (e50fa26)

🩹 Bug fixes

  • scan() complete handling (44db970)
    • pass final inner result to outer complete only if different
  • add "complete" step handling in scan() (8e5204d)

♻️ Refactoring

  • udate cat() to accept iterables, not just arrays (58f1477)

0.11.2 (2018-01-25)

🩹 Bug fixes

  • include 1st val in benchmark() (b3ce275)
  • base64 imports (75bb161)
  • project links in readme files (e290d75)

♻️ Refactoring

  • update reverse(), add deps (a2c3bc4)
  • simplify concat(), add docs (0c116c1)

0.11.1 (2018-01-24)

🚀 Features

  • initial re-import as monorepo, update readme files, cleanup imports (04ff6e9)