Skip to content
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
Cannot retrieve contributors at this time

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.

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

2.0.1 (2021-10-13)

♻️ Refactoring

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

2.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 for all tests

♻️ Refactoring

0.1.3 (2021-02-20)

♻️ Refactoring

0.1.0 (2020-12-22)

🚀 Features

  • import as new pkg, refactor (a578194)
    • re-use T-norms migrated to
    • add variable() factory
    • add classify()
    • fix off-by-one error in trapezoid()
    • add docstrings
  • add evaluate() (0ffc9d0)
  • add shapes, strongAnd(), update combineTerms() (5bf8f0c)
  • add strict arg for classify(), update docs (b39248f)
  • add maxima(), compose(), restructure (f15d8d7)
  • migrate t-norms from pkg (f8993e0)
  • add min true threshold for classify() (6f49a30)
    • update docs
  • add alphaCut() & implication() fns (8ec15fa)
  • update defuzz() output prep (81abe8c)
    • add support for custom implications of rule outputs
    • update/optimize rule weight handling
  • update defuzz() & strategies (cf337f3)
    • simplify DefuzzStrategy to take single FuzzyFn
    • add combine s-norm arg to defuzz() and compose output sets before handing them to the strategy impl
    • split maximaStrategy() into individual fns
    • simplify/rename strategy opts
    • update strategy interval iteration to minimize floating point errors
    • update tests
  • make lvar, rules, defuzz() typesafe (0b210c3)
    • add/update types (Rule, LVar, LVar helpers)
    • update variable() & rule factories (add generics)
    • make defuzz() generic, infer return type
    • update tests
  • update types, update compose (566469d)
    • add new LVar types
    • remove combineTerms(), merge into compose()
    • remove implication(), merge into compose()
    • update compose() to return optimized fns
    • add intersect()/union() syntax sugar
    • update defuzz()
  • add/update/migrate defuzz strategies (c1ee15f)
    • move to /strategies subdir
    • make centroidStrategy() default
    • rename & optimize bisectorStrategy()
    • add docstrings w/ diagrams for all strats
    • update tests

Performance improvements

  • update defuzz() (60030dd)
    • skip preparation of rule outputs which aren't requested