All Versions
Latest Version
Avg Release Cycle
27 days
Latest Release
80 days ago

Changelog History
Page 5

  • v9.3.1 Changes

    April 10, 2021
    • ๐Ÿ›  Fix #2133: strongly improved the performance of isPrime, see #2139. Thanks @Yaffle.
    • ๐Ÿ›  Fix #2150: give a clear error "Error: Undefined function ..." instead when evaluating a non-existing function.
    • ๐Ÿ›  Fix #660: expose internal functions FunctionNode.onUndefinedFunction(name) and SymbolNode.onUndefinedSymbol(name), allowing to override the behavior. By default, an Error is thrown.
  • v9.3.0 Changes

    March 10, 2021
    • ๐Ÿ“œ Implemented support for parsing non decimal numbers with radix point, see #2122, #2121. Thanks @clnhlzmn.
    • ๐Ÿ›  Fix #2128: typo in docs of luSolveAll and usolveAll.
  • v9.2.0 Changes

    February 03, 2021
    • Implemented function count to count the total elements in a matrix, see #2085. Thanks @Josef37.
    • ๐Ÿ›  Fix #2096: cleanup old reference to external dependency crypto.
    • ๐Ÿ”จ Some refactoring in the code to remove duplications, see #2093. Thanks @Josef37.
  • v9.1.0 Changes

    January 27, 2021
    • ๐Ÿ‘ Extended function reshape with support for a wildcard -1 to automatically calculate the remaining size, like reshape([1, 2, 3, 4, 5, 6], [-1, 2]) which will output [[0, 1], [2, 3], [4, 5]]. See #2075. Thanks @Josef37.
    • ๐Ÿ›  Fix #2087: function simplify ignores second argument of log, for example in simplify('log(e, 9)') . Thanks @quentintruong.
  • v9.0.0 Changes

    January 16, 2021
    • ๐Ÿ‘Œ Improved support for bin, hex, and oct literals. See #1996. Thanks @clnhlzmn.
      • Breaking change: parse literals with prefixes 0b, 0c, and 0x are
        now unsigned by default. To parse them as signed, you have to specify a suffix specifying the word size such as i16 or i32.
      • Function format now supports more notations: bin, 'hex', and oct, for example format(255, {notation: "hex"}).
      • The functions format, bin, hex, oct now allow specifying a wordSize, like bin(10, 32) and format(10, {notation: "bin", wordSize: 32}).
      • BigNumber support for the bin, hex, and oct literals.
    • Extended and improved the example rocket_trajectory_optimization.html. Thanks @Josef37.
  • v8.1.1 Changes

    December 30, 2020
    • ๐Ÿ‘Œ Improved the performance of parsing and evaluating units a lot, see #2065. Thanks @flaviut.
    • โฌ†๏ธ Upgraded dependency fraction.js to v4.0.13.
    • ๐Ÿ‘ท Moved continuous integration testing from Travis CI to Github Workflow, see #2024, #2041. Thanks @harrysarson.
  • v8.1.0 Changes

    December 04, 2020
    • Implemented units kilogramforce (kgf). Thanks @rnd-debug.
    • ๐Ÿ›  Fix #2026: Implement a new option fractionsLimit for function simplify, defaulting to Infinity.
    • ๐Ÿ‘Œ Improved the documentation of function clone. Thanks @redbar0n.
  • v8.0.1 Changes

    November 09, 2020
    • ๐Ÿ›  Fix #1979: missing "subset" dependency when using "mathjs/number" entry point.
    • ๐Ÿ›  Fix #2022: update pretty printing with MathJax example to the latest version of MathJax. Thanks @pkra.
  • v8.0.0 Changes

    November 06, 2020


    • You can now use mathjs directly in node.js using ES modules without need for a transpiler (see #1928, #1941, #1962). Automatically loading either commonjs code or ES modules code is improved. All generated code is moved under /lib: the browser bundle is moved from /dist to /lib/browser, ES module files are moved to /lib/esm, and commonjs files are moved to /lib/cjs. Thanks @GreenImp.
    • Non-minified bundle dist/math.js is no longer provided. Either use the minified bundle, or create a bundle yourself.
    • ๐Ÿ‘€ Replaced random library seed-random with seedrandom, see #1955. Thanks @poppinlp.
    • ๐Ÿ’ฅ Breaking changes in pickRandom, see #1990, #1976.

      • Will no longer return the input matrix when the given number is greater than the length of the provided possibles. Instead, the function always returns results with the requested number of picks.
      • Will now return a Matrix as output when input was a Matrix.
      • Introduced a new syntax:
      math.pickRandom(array, { weights, number, elementWise })
      • Introduced a new option elementWise, which is true by default. When setting elementWise to false, an array containing arrays will return random pick of arrays instead of the elements inside of the nested arrays.
  • v7.6.0 Changes

    November 02, 2020
    • ๐Ÿ‘€ Implemented function rotate(w, theta). See #1992, #1160. Thanks @rnd-debug.
    • ๐Ÿ‘ Implemented support for custom characters in Units via Unit.isValidAlpha. See #1663, #2000. Thanks @rnd-debug.