Skip to content
Permalink
develop
Switch branches/tags
Go to file
 
 
Cannot retrieve contributors at this time
485 lines (310 sloc) 19.2 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.

6.2.0 (2022-07-19)

🚀 Features

6.1.9 (2022-06-09)

♻️ Refactoring

  • various (minor) TS4.7 related updates/fixes (9d9ecae)

6.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

♻️ 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.

6.0.9 (2021-11-10)

♻️ Refactoring

  • update all countdown loops (a5f374b)

6.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

6.0.0 (2021-10-12)

🛑 Breaking changes

  • 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

🚀 Features

🩹 Bug fixes

  • update merge/meld fns (25cdc0a)
    • the object spread operator under ESNext compile target doesn't exclude the __proto__ property anymore, hence we add the copyObj() helper

♻️ Refactoring

  • rename internals (e7818a7)
  • restructure package/utils (966f5e4)
  • update deps & imports in various pkgs (e1cf29e)
    • largely related to recent updates/restructuring of these packages:
      • api
      • defmulti
      • errors
      • logger
  • update imports (transducers) (3fcf9a9)
  • update imports (51f4867)
  • update node inspect import (6786c35)
  • update all tests in all pkgs (8b582bc)

5.2.12 (2021-08-17)

♻️ Refactoring

  • update ArraySet.get() (40383fa)
    • add explicit @thi.ng/array dep (already was a transient dep)
    • update destructuring
  • update internal destructures (e847a27)

5.2.0 (2021-03-30)

🚀 Features

  • add renameTransformedKeys() (3190537)
  • add selectDefinedKeys*() fns (e0977db)

5.1.0 (2021-02-20)

🚀 Features

  • update meldApplyObj/meldObjWith() (97dda16)
    • improve protection against prototype poisoning using extended isIllegalKey() predicate from @thi.ng/checks

5.0.7 (2020-09-22)

♻️ Refactoring

  • remove obsolete string coercions (9919c56)

5.0.6 (2020-09-13)

♻️ Refactoring

  • update imports, use new Fn types in various pkgs (ced1e5d)
  • update imports, use new function aliases (17a0be0)

5.0.0 (2020-07-25)

🛑 Breaking changes

  • add TrieMap, rename MultiTrie (cc2d139)
    • add simplified TrieMap for string keys and Map-like semantics
    • add MultiTrie ctor opts to allow custom value sets
    • add defTrieMap()/defMultiTrie() factory fns
    • add/update tests
  • BREAKING CHANGE: rename Trie => MultiTrie

🚀 Features

  • update MultiTrie.suffixes() (ec110ae)
    • add opt separator arg for arraylike keys

4.5.0 (2020-07-17)

🚀 Features

4.4.1 (2020-07-08)

🩹 Bug fixes

  • set combinator arg types (1cbbf27)
    • unionR() / intersectionR() / differenceR()

4.4.0 (2020-07-08)

🚀 Features

  • disallow __proto__ in merge fns (d637996)
    • many thanks to @nkint for reporting! :)

4.3.0 (2020-07-04)

🚀 Features

  • add mutable merge fns (ec6abe4)
    • add meldApplyObj()
    • add meldDeepObj()
    • add meldObjWith()
    • update exisiting immutable versions
    • add doc strings
    • add/update tests

4.2.0 (2020-06-20)

🚀 Features

  • add null checks for merge* fns (7baa3ba)
    • update arg types to allow nullish args
  • update Trie to allow custom value sets (777829c)

♻️ Refactoring

  • update arg types for .forEach() (aafb0b7)
    • remove readonly flags due to built-in TS Set/Map interface defs

4.1.0 (2020-06-14)

🚀 Features

4.0.8 (2020-05-14)

♻️ Refactoring

  • update types/generics (TS3.9) (467d33e)

4.0.0 (2020-03-28)

🛑 Breaking changes

  • #210, add defXXX factory fns (48ae24a)
    • add defArraySet()
    • add defLLSet()
    • add defSortedSet()
    • add defSparseSet()
    • add defEquivMap()
    • add defHashMap()
    • add defSortedMap()
  • BREAKING CHANGE: remove static fromObject() map factories
    • merged with defHashMap(), defSortedMap()

🚀 Features

  • re-add support for nodejs REPL inspection (49024f7)
    • custom Set/Map impls were showing up as empty in the REPL in recent Node versions (13.x)
    • adding @inspectable decorator mixin for all impls to provide hook for Node's inspection mechanism
    • Ref: nodejs/node#32529

3.1.4 (2020-02-25)

♻️ Refactoring

3.1.2 (2020-01-24)

♻️ Refactoring

  • minor update IEquivSet (IClear) (8d4745e)

3.1.0 (2019-11-09)

🚀 Features

  • add reducer versions of difference, intersection, union (058b9d3)

🩹 Bug fixes

  • fix off-by-one error in sparseSet() factory, add tests (94ff308)

♻️ Refactoring

  • fix #169, update set op reducers (0e0a76f)
    • extract internal xformSetOp HOF reducer
    • update unionR/intersectionR/differenceR()

3.0.0 (2019-08-21)

🛑 Breaking changes

  • update XXXMap.dissoc() signature to unify API (632c57a)
  • BREAKING CHANGE: dissoc() method signature changed from varargs to Iterable<K> Example:
    • previously: HashMap.dissoc(1, 2, 3)
    • now: HashMap.dissoc([1, 2, 3]) This new signature is the same as used by dissoc() standalone fn and the disj() methods of the various Sets in this package.

♻️ Refactoring

  • minor update SortedMap.compare() (93d8e34)

2.4.0 (2019-07-07)

🚀 Features

  • enable TS strict compiler flags (refactor) (7931e14)

🩹 Bug fixes

  • update generics (TS3.5.2) (75a4f72)
  • update SortedMap.fromObject() - PropertyKey => string (48688da)

♻️ Refactoring

2.3.0 (2019-05-22)

🚀 Features

♻️ Refactoring

2.2.0 (2019-04-09)

🚀 Features

  • add withoutKeys*(), ensureSet/Map fns (5173fda)

2.1.2 (2019-04-06)

🩹 Bug fixes

  • fix mergeApplyMap, update other merge fns, add tests (a0f3941)

2.1.0 (2019-04-02)

🚀 Features

  • add HashMap w/ linear probing, update deps (e3b84ab)

2.0.1 (2019-04-02)

🩹 Bug fixes

  • add missing return type decls (1913bb4)

2.0.0 (2019-03-28)

🛑 Breaking changes

  • update type sigs & args for various fns (7bf2504)
  • BREAKING CHANGE: improved/stricter type sigs & args for various fns
    • commonKeys*()
    • indexed()
    • join() / joinWith()
    • renameKeys*()
    • selectKeys*()
    • first()
  • fix/update invertMap() / invertObj() (b57a1c0)
    • add opt dest arg
  • BREAKING CHANGE: changed result type handling in invertMap(), see docstring
  • update set combinator ops (9e78d20)
    • add opt out arg
  • BREAKING CHANGE: make difference, intersection, union immutable ops

🚀 Features

  • add polymorphic into() (4577646)
  • make .forEach() args readonly, add Symbol.toStringTag (3749d41)

♻️ Refactoring

  • update IEquivSet & EquivSetConstructor (75cc900)

1.0.12 (2019-03-21)

🚀 Features

  • update SortedSet, IEquivSet, add tests (e8234e8)
    • remove opts() from IEquivSet
    • add min/max key query opts for SortedSet.entries/keys/values()

1.0.11 (2019-03-18)

♻️ Refactoring

  • re-implement SortedMap / skiplist, update tests (5bb09d9)

1.0.9 (2019-03-10)

♻️ Refactoring

  • update Fn args in various packages (e453ac3)

1.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.

♻️ Refactoring

  • use arrow fns, update formatting (aaf2723)

0.6.0 (2018-08-24)

🚀 Features

  • add IReducible impls for SortedMap & SortedSet (f14f7ce)

♻️ Refactoring

0.5.11 (2018-08-01)

♻️ Refactoring

  • TS3.0 PropertyKey handling (2234313)

0.5.9 (2018-07-03)

🩹 Bug fixes

  • minor SortedSet fixes (33f0d19)
    • partial opts for SortedSet ctor
    • update first() return type

0.5.1 (2018-05-10)

♻️ Refactoring

0.5.0 (2018-05-09)

🚀 Features

  • add new functions, update arg & return types (5991be6)
    • add commonKeys*()
    • add mergeMapWith() / mergeObjWith()
    • add mergeDeepObj()
    • rename mapKeys*() => mergeApply*()
    • update renameKeys*() arg/return types
    • update indexed() arg types
    • update join() & joinWith() arg/return types
    • update re-exports
  • add mapKeysObj() / mapKeysMap() (a9574a0)

0.4.2 (2018-04-20)

🩹 Bug fixes

  • allow partial options arg for EquivMap ctor (bb11ddf)

0.4.0 (2018-04-13)

🚀 Features

Performance improvements

♻️ Refactoring

  • update EquivMap, update SortedSet, add docs (1f8af6c)
    • add IEquivSet interface
    • add EquivSetOpts & EquivMapOpts
    • rename ArrayMap => EquivMap
    • update EquivMap to support customizable key set impls
    • rename ArraySet => LLSet
    • add actual arraybased ArraySet
    • add into() & disj() impls for SortedSet
    • add various doc strings

0.3.0 (2018-04-13)

🚀 Features

  • add SortedSet, update SortedMap (cb4976f)
    • add compare() & equiv() impls for SortedMap
  • add SortedMap & tests, minor refactor EquivMap (ae0eae8)

♻️ Refactoring

  • rename EquivMap/Set => ArrayMap/Set, export interfaces (8756027)
  • add private impls for EquivMap/Set (a769856)

0.2.0 (2018-04-10)

🚀 Features