Skip to content

Latest commit

 

History

History
273 lines (182 loc) · 11 KB

CHANGELOG.md

File metadata and controls

273 lines (182 loc) · 11 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.

7.1.41 (2023-11-09)

♻️ Refactoring

  • update all tests (packages A-S) (e3085e4)

7.1.0 (2022-07-12)

🚀 Features

7.0.0 (2022-07-07)

🛑 Breaking changes

  • add ResolveOpts, conditional unwrapping (a23308b)
  • BREAKING CHANGE: update resolve() signature, use new ResolveOpts
    • this change has only downstream impact on use cases requiring custom prefixes to indicate lookup paths
    • add new option to control value unwrapping in final result
    • update docs/readme
    • add new tests

6.2.0 (2022-07-07)

🚀 Features

  • unwrap all resolved() values in result (888fa33)
    • add unwrapResolved() to unwrap any values wrapped via resolved()
    • update resolveMap/Array()
    • update doc strings
    • update tests

6.1.0 (2022-05-23)

🚀 Features

  • add support for protected values (6280510)
    • add Resolved wrapper & factory fn for protecting values from future/duplicate resolution attempts
    • add tests
    • update docs/readme

6.0.0 (2022-05-02)

🛑 Breaking changes

  • add Unresolved type & type checking (a997fd2)
  • BREAKING CHANGE: add type checking to resolve(). This MIGHT require additional type generics (of the result object type) to be added to any call sites. See tests for examples.

5.1.5 (2022-04-07)

♻️ Refactoring

  • replace deprecated .substr() w/ .substring() (0710509)

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

5.0.1 (2021-10-13)

♻️ Refactoring

  • update imports in all tests/pkgs (effd591)

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

♻️ Refactoring

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

4.2.9 (2020-12-07)

♻️ Refactoring

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

4.2.0 (2020-07-18)

🚀 Features

  • add support for custom lookup prefix (bf89503)
    • add tests

4.1.16 (2020-03-28)

♻️ Refactoring

4.1.2 (2019-07-08)

🩹 Bug fixes

  • fix #97, update to consider trailing comma & whitespace (de9532b)
    • add more tests

4.1.1 (2019-07-08)

🩹 Bug fixes

  • fix #97, update fn arg destructuring (e68dc19)
    • update resolveFunction() to allow trailing comma in destructure form, e.g. { a, b, }
    • add test case

4.1.0 (2019-07-07)

🚀 Features

  • enable TS strict compiler flags (refactor) (7e7ff2a)

♻️ Refactoring

  • address TS strictNullChecks flag (fa7b252)

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

3.0.10 (2018-09-01)

🩹 Bug fixes

  • deep resolve of yet unknown path values (a710453)

3.0.8 (2018-08-24)

♻️ Refactoring

3.0.5 (2018-07-15)

🩹 Bug fixes

  • add support for alt ES6 destructure form {a: b} (2482945)
    • also fixes issue w/ minimized builds

3.0.0 (2018-06-07)

🛑 Breaking changes

  • add cycle detection, fix edge cases (e61c3b5)
    • add resolve() as main user function
    • make resolveMap() private
    • update _resolve() to keep track of active lookups
    • implement cycle detection
    • add markResolved() helper
    • update resolveFunction() to mark all of its nested values as resolved
    • refactor resolvePath()
    • update docs/readme
    • add/update tests
  • BREAKING CHANGE: resolveMap() renamed to resolve(), update docs

🚀 Features

  • add ES6 destructuring shorthands for function vals (57f1ed5)
    • add _resolveFunction()
    • add tests
    • update docs & readme

2.0.6 (2018-06-06)

🩹 Bug fixes

  • add private _resolveDeep (558f4f8)
    • fixes resolution issue if a function dynamically created deep values
  • also use _resolvePath for plain lookups, optimize (48c796f)
    • rename _resolveDeep => _resolvePath
    • update docs

♻️ Refactoring

  • export absPath(), add LookupPath type alias (dc6e0ac)

2.0.1 (2018-05-10)

♻️ Refactoring

2.0.0 (2018-05-09)

🛑 Breaking changes

  • fix #21 (5d2a3fe)
  • BREAKING CHANGE: update lookup path prefix & separators
    • lookup paths now are prefixed with @ instead of ->
    • all path segments must be separated by /
    • update readme & tests

1.0.0 (2018-04-16)

🛑 Breaking changes

  • support relative parent refs, update tests/readme (a379d12)
  • BREAKING CHANGE: lookup paths passed to the provided resolve() fn inside function values are now relative by default (previously only absolute paths were allowed)
    • remove resolveArray() from module exports (use resolveMap() instead)
    • add absPath() to compute absolute path
    • add support for "../" ancestor access

0.2.0 (2018-04-16)

🚀 Features

  • resolve each ref only once, re-use resolved results (6992e82)
    • this also fixes function value resolution, e.g. {a: () => ()=> 1, b: "->a" } only unwraps a once now