mathjs 13.0.0 → 13.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/HISTORY.md +220 -468
- package/lib/browser/math.js +1 -1
- package/lib/browser/math.js.LICENSE.txt +2 -2
- package/lib/browser/math.js.map +1 -1
- package/lib/cjs/function/matrix/eigs/complexEigs.js +1 -1
- package/lib/cjs/header.js +2 -2
- package/lib/cjs/type/matrix/DenseMatrix.js +1 -1
- package/lib/cjs/type/matrix/utils/broadcast.js +34 -64
- package/lib/cjs/type/matrix/utils/matrixAlgorithmSuite.js +20 -24
- package/lib/cjs/version.js +1 -1
- package/lib/esm/type/matrix/utils/broadcast.js +34 -63
- package/lib/esm/type/matrix/utils/matrixAlgorithmSuite.js +3 -7
- package/lib/esm/version.js +1 -1
- package/package.json +17 -16
- package/types/index.d.ts +32 -2
package/HISTORY.md
CHANGED
@@ -1,24 +1,33 @@
|
|
1
1
|
# History
|
2
2
|
|
3
|
+
# 2024-06-28, 13.0.1
|
4
|
+
|
5
|
+
- Fix: #3227 generated bundle containing `catch` blocks without parameters.
|
6
|
+
- Fix: #2348 update type definitions of the `Parser` methods (#3226).
|
7
|
+
Thanks @orelbn.
|
8
|
+
- Fix an error in the type definitions of `quantileSeq` (#3223).
|
9
|
+
Thanks @domdomegg.
|
10
|
+
|
3
11
|
# 2024-05-31, 13.0.0
|
4
12
|
|
5
|
-
Breaking changes:
|
13
|
+
Breaking changes:
|
6
14
|
|
7
15
|
- Change `isZero`, `isPositive`, and `isNegative` to respect `config.epsilon`
|
8
16
|
(#3139, #2838).
|
9
|
-
- Change the behavior of the internal `nearlyEqual` to align with Python and
|
17
|
+
- Change the behavior of the internal `nearlyEqual` to align with Python and
|
10
18
|
Julia (#3152, #2838)
|
11
19
|
- Upgrade to `fraction.js@4.3.7`,
|
12
|
-
see https://github.com/rawify/Fraction.js/issues/68
|
20
|
+
see <https://github.com/rawify/Fraction.js/issues/68>.
|
21
|
+
- Dropped support for JavaScript engines that do not fully support ES6 or
|
22
|
+
`bigint`, or are not actively maintained.
|
13
23
|
|
14
24
|
Non-breaking changes:
|
15
25
|
|
16
26
|
- Implemented support for `bigint` (#3207, #3207)
|
17
|
-
- Implemented a new config option `config.numberFallback` needed for `bigint`
|
27
|
+
- Implemented a new config option `config.numberFallback` needed for `bigint`
|
18
28
|
(#3207).
|
19
29
|
- Internal: refactored tooling to ES modules and upgraded all devDependencies.
|
20
30
|
|
21
|
-
|
22
31
|
# 2024-05-31, 12.4.3
|
23
32
|
|
24
33
|
- Fix: serialization of Units without a value, see #1240.
|
@@ -26,17 +35,15 @@ Non-breaking changes:
|
|
26
35
|
operator modulus `%`. See #3189.
|
27
36
|
- Fix: #3197 improve `quantileSeq` type definitions (#3198). Thanks @domdomegg.
|
28
37
|
|
29
|
-
|
30
38
|
# 2024-04-24, 12.4.2
|
31
39
|
|
32
40
|
- Fix #3192: function `isNaN` returns `false` for `NaN` units in a matrix or
|
33
41
|
array (#3193). Thanks @lgerin.
|
34
42
|
- Fix: #3180 fix type definitions of functions `add` and `multiply` to allow
|
35
|
-
more than two arguments.
|
36
|
-
- Docs: correct the docs about `traverse` returning void (#3177).
|
43
|
+
more than two arguments.
|
44
|
+
- Docs: correct the docs about `traverse` returning void (#3177).
|
37
45
|
Thanks @rohildshah.
|
38
46
|
|
39
|
-
|
40
47
|
# 2024-03-13, 12.4.1
|
41
48
|
|
42
49
|
- Docs: implement an interactive version of the Lorenz example, and show the
|
@@ -49,79 +56,71 @@ Non-breaking changes:
|
|
49
56
|
- Fix: remove using polyfill.io inside the example
|
50
57
|
`pretty_printing_with_mathjax.html` (#3167). Thanks @SukkaW.
|
51
58
|
|
52
|
-
|
53
59
|
# 2024-02-22, 12.4.0
|
54
60
|
|
55
61
|
- Feat: implement support for trailing commas in matrices (#3154, #2968).
|
56
62
|
Thanks @dvd101x.
|
57
|
-
- Feat: improve the performance of `multiply` a lot by adding matrix type
|
63
|
+
- Feat: improve the performance of `multiply` a lot by adding matrix type
|
58
64
|
inferencing (#3149). Thanks @RandomGamingDev.
|
59
|
-
- Fix: #3100 function `round` not handling round-off errors (#3136).
|
65
|
+
- Fix: #3100 function `round` not handling round-off errors (#3136).
|
60
66
|
Thanks @BrianFugate.
|
61
|
-
- Fix: `PartitionedMap` and `ObjectWrappingMap` missing a property
|
67
|
+
- Fix: `PartitionedMap` and `ObjectWrappingMap` missing a property
|
62
68
|
`Symbol.iterator`, causing problems when trying `new Map(scope)` (#3156).
|
63
69
|
- Fix: type definitions of function `mode` (#3153). Thanks @rich-martinez.
|
64
70
|
- Docs: describe method `getAllAsMap` in the Parser docs (#3158, #3157).
|
65
71
|
Thanks @dvd101x.
|
66
72
|
|
67
|
-
|
68
73
|
# 2024-02-08, 12.3.2
|
69
74
|
|
70
75
|
- Improved the performance of custom defined functions in the expression
|
71
76
|
parser (#3150).
|
72
|
-
- Fix: #3143 cannot use `and` and `or` inside a function definition.
|
77
|
+
- Fix: #3143 cannot use `and` and `or` inside a function definition.
|
73
78
|
Regression since `v12.1.0` (#3150).
|
74
79
|
|
75
|
-
|
76
80
|
# 2024-02-01, 12.3.1
|
77
81
|
|
78
|
-
- Improved the typings of the arguments of `ArrayNode`, `FunctionNode`,
|
82
|
+
- Improved the typings of the arguments of `ArrayNode`, `FunctionNode`,
|
79
83
|
`IndexNode`, `OperatorNode`, and `RelationalNode` (#3123). Thanks @sylee957.
|
80
84
|
- Added a fully featured code editor example with CodeMirror and Katex (#3027).
|
81
85
|
Thanks @dvd101x.
|
82
|
-
- Fix: #3114 build warnings related to a number of wrong `/* #__PURE__ */`
|
86
|
+
- Fix: #3114 build warnings related to a number of wrong `/* #__PURE__ */`
|
83
87
|
annotations.
|
84
88
|
- Fix: #3142 support BigNumber values for the options of function `format`:
|
85
89
|
`precision`, `wordSize`, `lowerExp`, `upperExp`. Support BigNumber values
|
86
|
-
for the option `wordSize` in the functions `hex`, `bin`, and `oct`.
|
87
|
-
- Fix: #3125 type definitions of function `hypot` (#3144).
|
90
|
+
for the option `wordSize` in the functions `hex`, `bin`, and `oct`.
|
91
|
+
- Fix: #3125 type definitions of function `hypot` (#3144).
|
88
92
|
Thanks @silentmissile.
|
89
|
-
- Fix: #3141 `help(config)` altering the actual `config` when evaluating the
|
93
|
+
- Fix: #3141 `help(config)` altering the actual `config` when evaluating the
|
90
94
|
examples.
|
91
|
-
- Docs: #3145 fix documentation about REPL, it does require a build step
|
95
|
+
- Docs: #3145 fix documentation about REPL, it does require a build step
|
92
96
|
nowadays.
|
93
97
|
|
94
|
-
|
95
98
|
# 2024-01-12, 12.3.0
|
96
99
|
|
97
|
-
- Implement support new metric prefixes: `ronna` (`R`), `quetta` (`Q`),
|
100
|
+
- Implement support new metric prefixes: `ronna` (`R`), `quetta` (`Q`),
|
98
101
|
`ronto` (`r`), and `quecto` (`q`) (#3113, #3112). Thanks @AlexEdgcomb.
|
99
102
|
- Fix a bug converting a unitless unit (#3117). Thanks @costerwi.
|
100
103
|
- Fix: #3097 `toSI()` wrongly converting `degC` (#3118). Thanks @costerwi.
|
101
104
|
|
102
|
-
|
103
105
|
# 2023-12-20, 12.2.1
|
104
106
|
|
105
107
|
- Fix #3109: method `Node.toHTML` not accepting a custom `handler`.
|
106
108
|
|
107
|
-
|
108
109
|
# 2023-12-08, 12.2.0
|
109
110
|
|
110
|
-
- Feat: lazy evaluation of operators `and`, `or`, `&`, `|` (#3090, #3101,
|
111
|
+
- Feat: lazy evaluation of operators `and`, `or`, `&`, `|` (#3090, #3101,
|
111
112
|
#2766). Thanks @smith120bh.
|
112
113
|
- Fix: passing a 4th argument with a scope to raw functions.
|
113
114
|
- Fix: #3096 embedded docs of eigs throwing an error.
|
114
115
|
|
115
|
-
|
116
116
|
# 2023-11-17, 12.1.0
|
117
117
|
|
118
|
-
- Feat: Extend function `round` with support for units (#2761, #3095).
|
118
|
+
- Feat: Extend function `round` with support for units (#2761, #3095).
|
119
119
|
- Feat: Extend function `mod` with support for negative divisors in when
|
120
120
|
using `BigNumber` or `Fraction` (#3087).
|
121
121
|
- Fix: #3092 a typo in an error message when converting a string into a number.
|
122
122
|
- Fix: #3094 function `derivative` mutates the input expression when it fails.
|
123
123
|
|
124
|
-
|
125
124
|
# 2023-10-26, 12.0.0
|
126
125
|
|
127
126
|
Breaking changes:
|
@@ -129,11 +128,14 @@ Breaking changes:
|
|
129
128
|
- Fix #2879, #2927, #3014: change the confusing interface of `eigs` (#3037),
|
130
129
|
thanks @gwhitney.
|
131
130
|
Before, functions `eigs` returned an object:
|
131
|
+
|
132
132
|
```
|
133
133
|
{ values: MathCollection; vectors: MathCollection }
|
134
134
|
```
|
135
|
+
|
135
136
|
where `vectors` was a 2d matrix of which the columns contained the vectors.
|
136
137
|
This is changed to `eigs` returning an object:
|
138
|
+
|
137
139
|
```
|
138
140
|
{
|
139
141
|
values: MathCollection
|
@@ -143,27 +145,27 @@ Breaking changes:
|
|
143
145
|
}>
|
144
146
|
}
|
145
147
|
```
|
148
|
+
|
146
149
|
Where `eigenvectors` is an array containing an object with the corresponding
|
147
150
|
eigenvalue and vector.
|
148
151
|
- Refactored the TypeScript type definitions to make them work with a `NodeNext`
|
149
|
-
module resolution (#3079, #2919).
|
152
|
+
module resolution (#3079, #2919).
|
150
153
|
- Type `MathJsStatic` is renamed to `MathJsInstance`.
|
151
|
-
- Type `FactoryDependencies` is deprecated, use `MathJsFactory` instead, and
|
154
|
+
- Type `FactoryDependencies` is deprecated, use `MathJsFactory` instead, and
|
152
155
|
import dependency maps directly from the library.
|
153
|
-
- Change the assignment operator of `.toTex()` output from `:=` to `=` (see
|
156
|
+
- Change the assignment operator of `.toTex()` output from `:=` to `=` (see
|
154
157
|
#2980, #2987).
|
155
158
|
- Drop official support for Node.js 14 and 16.
|
156
159
|
|
157
160
|
Features:
|
158
161
|
|
159
|
-
- Function `eigs` now has an option to turn off calculation of eigenvectors
|
162
|
+
- Function `eigs` now has an option to turn off calculation of eigenvectors
|
160
163
|
(#3057, #2180). Thanks @gwhitney.
|
161
164
|
|
162
165
|
Fixes:
|
163
166
|
|
164
167
|
- Find eigenvectors of defective matrices (#3037). Thanks @gwhitney.
|
165
168
|
|
166
|
-
|
167
169
|
# 2023-10-26, 11.12.0
|
168
170
|
|
169
171
|
- Implemented function `subtractScalar` (#3081, #2643), thanks @vrushaket.
|
@@ -174,64 +176,57 @@ Fixes:
|
|
174
176
|
- Fix: #2960 add type definition of function `symbolicEqual` (#3035),
|
175
177
|
thanks @juancodeaudio.
|
176
178
|
|
177
|
-
|
178
179
|
# 2023-10-11, 11.11.2
|
179
180
|
|
180
|
-
- Fix #3025: improve handling of matrices and error handling
|
181
|
+
- Fix #3025: improve handling of matrices and error handling
|
181
182
|
in function `corr` (#3030). Thanks @vrushaket.
|
182
183
|
- Fix #3074: improve error message when using function `max` in `derivative`.
|
183
184
|
- Fix #3073: fix parsing quotes inside a string.
|
184
|
-
- Fix #2027: cannot use named operators like `to` or `mod` as property name.
|
185
|
-
|
185
|
+
- Fix #2027: cannot use named operators like `to` or `mod` as property name.
|
186
186
|
|
187
187
|
# 2023-09-20, 11.11.1
|
188
188
|
|
189
|
-
- Fix #2989: use one-based indices in `print` in the parser (#3009).
|
190
|
-
Thanks @dvd101x.
|
189
|
+
- Fix #2989: use one-based indices in `print` in the parser (#3009).
|
190
|
+
Thanks @dvd101x.
|
191
191
|
- Fix #2936: `mod` sometimes giving wrong results due to internal round-off
|
192
192
|
errors (#3011). Thanks @praisennamonu1.
|
193
|
-
- Internal refactor of `quantileSeq`, and fixed the embedded help (#3003).
|
193
|
+
- Internal refactor of `quantileSeq`, and fixed the embedded help (#3003).
|
194
194
|
Thanks @dvd101x.
|
195
195
|
- Updated dependencies and devDependencies.
|
196
196
|
|
197
|
-
|
198
197
|
# 2023-09-05, 11.11.0
|
199
198
|
|
200
199
|
- Implement function `corr` to calculate the correlation between two matrices
|
201
|
-
(#3015, #2624). Thanks @vrushaket.
|
202
|
-
- Lock `fraction.js` at version `4.3.4` for now, see #3024, 3022,
|
203
|
-
https://github.com/rawify/Fraction.js/issues/68
|
204
|
-
|
200
|
+
(#3015, #2624). Thanks @vrushaket.
|
201
|
+
- Lock `fraction.js` at version `4.3.4` for now, see #3024, 3022,
|
202
|
+
<https://github.com/rawify/Fraction.js/issues/68>.
|
205
203
|
|
206
204
|
# 2023-08-31, 11.10.1
|
207
205
|
|
208
206
|
- Upgrade to `fraction.js@4.3.4`, see #3022.
|
209
|
-
- Fix #3020: `lruQueue` using the global `hasOwnProperty` which may be
|
207
|
+
- Fix #3020: `lruQueue` using the global `hasOwnProperty` which may be
|
210
208
|
polluted.
|
211
209
|
- Add support for prefixes for the unit `erg`, and restrict prefixes of the
|
212
|
-
unit `joule` to only long prefixes like `kilo` and no short prefixes
|
210
|
+
unit `joule` to only long prefixes like `kilo` and no short prefixes
|
213
211
|
like `k` (#3019). Thanks @costerwi.
|
214
212
|
- Add a new browser example `examples/browser/lorenz.html` that uses `solveODE`
|
215
213
|
and plots the result in a chart (#3018). Thanks @dvd101x.
|
216
214
|
|
217
|
-
|
218
215
|
# 2023-08-23, 11.10.0
|
219
216
|
|
220
217
|
- Extend function `quantileSeq` with support for a `dimension` (#3002).
|
221
218
|
Thanks @dvd101x.
|
222
|
-
- Implement #2735: Support indexing with an array of booleans, for
|
219
|
+
- Implement #2735: Support indexing with an array of booleans, for
|
223
220
|
example `a[[true, false, true]]` and `a[a > 2]` (#2994). Thanks @dvd101x.
|
224
221
|
- Implement function `zeta` (#2950, #2975, #2904). Thanks @Bobingstern.
|
225
222
|
- Fix #2990: `DenseMatrix` can mutate input arrays (#2991).
|
226
223
|
|
227
|
-
|
228
224
|
# 2023-07-24, 11.9.1
|
229
225
|
|
230
226
|
- Fix a security vulnerability in `FunctionNode` and `SymbolNode` allowing
|
231
227
|
arbitrary code execution via `math.evaluate`. Thanks Harry Chen.
|
232
228
|
- Fix #3001: mathjs bundle containing `new Function(...)` (CSP issue).
|
233
229
|
|
234
|
-
|
235
230
|
# 2023-07-19, 11.9.0
|
236
231
|
|
237
232
|
- Implement function `solveODE` (#2958). Thanks @dvd101x.
|
@@ -239,30 +234,28 @@ Fixes:
|
|
239
234
|
- Implement support for units in function `range` (#2997). Thanks @dvd101x.
|
240
235
|
- Fix #2974: `simplify` puts plus and minus signs next to each other (#2981).
|
241
236
|
Thanks @MaybePixem.
|
242
|
-
- Fix #2973: fixes and improvements in the embedded docs (#2976).
|
237
|
+
- Fix #2973: fixes and improvements in the embedded docs (#2976).
|
243
238
|
Thanks @dvd101x.
|
244
|
-
- Fix #2996: two errors in the examples in the documentation about Expression
|
239
|
+
- Fix #2996: two errors in the examples in the documentation about Expression
|
245
240
|
trees.
|
246
|
-
- Fix round-off errors near zero when converting temperatures (#2962).
|
241
|
+
- Fix round-off errors near zero when converting temperatures (#2962).
|
247
242
|
Thanks @costerwi.
|
248
243
|
- Refactored function `range`, reducing the amount of code (#2995).
|
249
244
|
Thanks @dvd101x.
|
250
245
|
|
251
|
-
|
252
246
|
# 2023-06-20, 11.8.2
|
253
247
|
|
254
|
-
- Fix #2971: improve typings of statistics functions `min`, `max`, `mean`,
|
255
|
-
`median`, `mode`, `std`, `sum`, `prod`, `variance`. Fixes a regression
|
248
|
+
- Fix #2971: improve typings of statistics functions `min`, `max`, `mean`,
|
249
|
+
`median`, `mode`, `std`, `sum`, `prod`, `variance`. Fixes a regression
|
256
250
|
introduced in v11.8.1.
|
257
251
|
- Fix #2972: type definitions of `Unit.divide(Unit)` have a wrong return type.
|
258
252
|
|
259
|
-
|
260
253
|
# 2023-06-13, 11.8.1
|
261
254
|
|
262
|
-
- Fix #2964: issue in function `
|
263
|
-
a point to a line (#2965). Thanks @Kiku-CN.
|
255
|
+
- Fix #2964: issue in function `distance` when calculate the distance from
|
256
|
+
a point to a line (#2965). Thanks @Kiku-CN.
|
264
257
|
- Fix `math.format` not working correctly for `engineering` notation when using
|
265
|
-
BigNumbers and for `fixed` notation with `precision: 0` configured (#2956).
|
258
|
+
BigNumbers and for `fixed` notation with `precision: 0` configured (#2956).
|
266
259
|
Thanks @mgreminger.
|
267
260
|
- Fix #2880: not possible to map cube root `cbrt`.
|
268
261
|
- Fix #2938: make the syntax description of all functions consistent in the
|
@@ -272,72 +265,67 @@ Fixes:
|
|
272
265
|
- Fix #2959: typo in an example in the docs. Thanks @kunalagrwl.
|
273
266
|
- Drop official support for Node.js 14, has reached end of life.
|
274
267
|
|
275
|
-
|
276
268
|
# 2023-04-03, 11.8.0
|
277
269
|
|
278
|
-
- Extended functions `fraction`, `bignumber`, and `number` with support for
|
270
|
+
- Extended functions `fraction`, `bignumber`, and `number` with support for
|
279
271
|
units, see #2918 (#2926).
|
280
|
-
- Implemented aliases `amp` and `amps` for unit `ampere` (#2917).
|
272
|
+
- Implemented aliases `amp` and `amps` for unit `ampere` (#2917).
|
281
273
|
Thanks @veggiesaurus.
|
282
274
|
- Improve TypeScript definitions of function `gcd` (#2922). Thanks @brunoSnoww.
|
283
275
|
- Fix #2923: improve docs of the function `distance` (#2924). Thanks @tmtron.
|
284
276
|
|
285
|
-
|
286
277
|
# 2023-03-15, 11.7.0
|
287
278
|
|
288
|
-
- Implement #2567: accept array as parameter for function `gcd` (#2878).
|
279
|
+
- Implement #2567: accept array as parameter for function `gcd` (#2878).
|
289
280
|
Thanks @jakubriegel.
|
290
|
-
- Fix #2908: improvements in the docs and examples of functions
|
291
|
-
`partitionSelect`, `diff`, `expm1`, `round`, `nthRoots`, `sign`,
|
281
|
+
- Fix #2908: improvements in the docs and examples of functions
|
282
|
+
`partitionSelect`, `diff`, `expm1`, `round`, `nthRoots`, `sign`,
|
292
283
|
`rigthArithShift`, `setIsSubset`, `setSize`, and the docs about units.
|
293
284
|
Thanks @tmtron.
|
294
285
|
- Fix #2907: determinant of empty matrix should be 1.
|
295
|
-
- Refactor index.d.ts by writing function declarations using a generic,
|
286
|
+
- Refactor index.d.ts by writing function declarations using a generic,
|
296
287
|
reducing a lot of repetition (#2913). Thanks @brunoSnoww.
|
297
288
|
|
298
|
-
|
299
289
|
# 2023-02-24, 11.6.0
|
300
290
|
|
301
291
|
- Implement broadcasting for the following functions and their corresponding
|
302
|
-
operator: `add`, `dotDivide`, `dotMultiply`, `dotPow`, `gcd`, `lcm`, `mod`,
|
303
|
-
`nthRoot`, `subtract`, `bitAnd`, `bitOr`, `bitXor`, `leftShift`,
|
304
|
-
`rightArithShift`, `rightLogShift`, `and`, `or`, `xor`, `compare`,
|
305
|
-
`compareText`, `equal`, `larger`, `largerEq`, `smaller`, `smallerEq`,
|
292
|
+
operator: `add`, `dotDivide`, `dotMultiply`, `dotPow`, `gcd`, `lcm`, `mod`,
|
293
|
+
`nthRoot`, `subtract`, `bitAnd`, `bitOr`, `bitXor`, `leftShift`,
|
294
|
+
`rightArithShift`, `rightLogShift`, `and`, `or`, `xor`, `compare`,
|
295
|
+
`compareText`, `equal`, `larger`, `largerEq`, `smaller`, `smallerEq`,
|
306
296
|
`unequal`, `atan2` and `to` (#2895, #2753). Thanks @dvd101x.
|
307
297
|
- Implement support for non-power-of-2 fft (#2900, #2577). Thanks @cyavictor88.
|
308
|
-
- Fix #2888: update type definitions of function `unit` to allow creating a
|
298
|
+
- Fix #2888: update type definitions of function `unit` to allow creating a
|
309
299
|
unit from a fraction or complex number.
|
310
300
|
- Fix #2892: an error in the examples of the embedded help of function `sort`.
|
311
|
-
- Fix #2891: functions `column` and `row` sometimes returning a scalar number.
|
312
|
-
- Fix #2896: define the fourth argument of function `intersect` as optional
|
301
|
+
- Fix #2891: functions `column` and `row` sometimes returning a scalar number.
|
302
|
+
- Fix #2896: define the fourth argument of function `intersect` as optional
|
313
303
|
in the TypeScript definitions. Thanks @wodndb.
|
314
304
|
- Fix: quantileSeq not accepting a matrix as second argument `prob` (see #2902).
|
315
|
-
- Fix broken examples in functions `to`, `distance`, `getMatrixDataType`,
|
305
|
+
- Fix broken examples in functions `to`, `distance`, `getMatrixDataType`,
|
316
306
|
`subset`, and `max` (see #2902).
|
317
307
|
|
318
|
-
|
319
308
|
# 2023-01-31, 11.5.1
|
320
309
|
|
321
|
-
- Add type definitions for function `rotationMatrix` (#2860).
|
310
|
+
- Add type definitions for function `rotationMatrix` (#2860).
|
322
311
|
Thanks @brunoSnoww.
|
323
|
-
- Add type signature for `lusolve(LUDecomposition, ...)` (#2864).
|
312
|
+
- Add type signature for `lusolve(LUDecomposition, ...)` (#2864).
|
324
313
|
Thanks @evanmiller.
|
325
|
-
- Fix #2873: the rocket_trajectory_optimization.html example being partly
|
314
|
+
- Fix #2873: the rocket_trajectory_optimization.html example being partly
|
326
315
|
broken. Thanks @dvd101x.
|
327
316
|
- Fix #2871: coverage report broken (#2877). Thanks @bornova.
|
328
317
|
- Fix #2883: update documentation for stat functions, describe missing syntax.
|
329
318
|
- Fix #2884: fix examples in the embedded docs of function `pow` and some other
|
330
319
|
functions.
|
331
|
-
- Fix type definition of function `complex` for one numeric input (#2886),
|
320
|
+
- Fix type definition of function `complex` for one numeric input (#2886),
|
332
321
|
thanks @ariymarkowitz.
|
333
322
|
- Fix type definitions of `map()` and `forEach()` (#2887), thanks @xiaohk.
|
334
|
-
- Fix #2606: improve type definitions of `dotMultiply`, `dotPow` and
|
323
|
+
- Fix #2606: improve type definitions of `dotMultiply`, `dotPow` and
|
335
324
|
`dotDivide` (#2890). Thanks @brunoSnoww.
|
336
325
|
|
337
|
-
|
338
326
|
# 2022-12-05, 11.5.0
|
339
327
|
|
340
|
-
- Improve `simplify` rule matches in non-commutative contexts (#2841).
|
328
|
+
- Improve `simplify` rule matches in non-commutative contexts (#2841).
|
341
329
|
Thanks @samueltlg.
|
342
330
|
- Simplify: add rules and restructure tests for non-commutative contexts
|
343
331
|
(#2847). Thanks @samueltlg.
|
@@ -345,61 +333,54 @@ Fixes:
|
|
345
333
|
- Fix TypeScript types for `multiply()` with `number[]` and `number[][]`
|
346
334
|
(#2852). Thanks @hfhchan.
|
347
335
|
|
348
|
-
|
349
336
|
# 2022-11-18, 11.4.0
|
350
337
|
|
351
338
|
- Implemented more wildcards to describe rules for `simplify`, making it easier
|
352
339
|
for example to describe unary minus (#1915). Thanks @thatcomputerguy0101.
|
353
|
-
- Implemented functions `schur`, `sylvester`, and `lyap` (#2646).
|
340
|
+
- Implemented functions `schur`, `sylvester`, and `lyap` (#2646).
|
354
341
|
Thanks @egidioln.
|
355
|
-
- Implemented function `polynomialRoot`, and use it in a benchmark (#2839).
|
342
|
+
- Implemented function `polynomialRoot`, and use it in a benchmark (#2839).
|
356
343
|
Thanks @gwhitney.
|
357
|
-
- Fix #2825 partly: improve simplifying operations on constants in
|
344
|
+
- Fix #2825 partly: improve simplifying operations on constants in
|
358
345
|
non-commutative contexts (#2827). Thanks @samueltlg.
|
359
|
-
- Fix #2840: a bug in the docs and type definitions of `Node.traverse` and
|
346
|
+
- Fix #2840: a bug in the docs and type definitions of `Node.traverse` and
|
360
347
|
`Node.forEach`, they do return `void`.
|
361
348
|
|
362
|
-
|
363
349
|
# 2022-11-07, 11.3.3
|
364
350
|
|
365
|
-
- Fix #2830: Prevent inserting zero values when creating a `SparseMatrix` from a
|
351
|
+
- Fix #2830: Prevent inserting zero values when creating a `SparseMatrix` from a
|
366
352
|
`DenseMatrix` (#2836). Thanks @AlexandreAlvesDB.
|
367
353
|
- Fix #2835: a regression in the type definitions of `FunctionNode`, introduced
|
368
354
|
in `v11.3.2`. See #2733. Thanks @dsteve.
|
369
355
|
|
370
|
-
|
371
356
|
# 2022-10-25, 11.3.2
|
372
357
|
|
373
|
-
- Add generics to remaining Node type definitions (#2733). Thanks @mattvague.
|
374
|
-
- Allow unit prefixes for (absolute) temperatures `kelvin`, `rankine`,
|
358
|
+
- Add generics to remaining Node type definitions (#2733). Thanks @mattvague.
|
359
|
+
- Allow unit prefixes for (absolute) temperatures `kelvin`, `rankine`,
|
375
360
|
`celsius`, and `fahrenheit` (#2824). Thanks @jfeist
|
376
361
|
|
377
|
-
|
378
362
|
# 2022-10-19, 11.3.1
|
379
363
|
|
380
364
|
- Fix #2809: code completion issues in some IDE's (#2812).
|
381
|
-
- Fix #2818: throw an error when a function assignment has duplicate
|
365
|
+
- Fix #2818: throw an error when a function assignment has duplicate
|
382
366
|
parameter names (#2819).
|
383
367
|
- Update `decimal.js` to version `10.4.2`.
|
384
368
|
|
385
|
-
|
386
369
|
# 2022-10-11, 11.3.0
|
387
370
|
|
388
|
-
- Allow creating new subclasses of `Node` in TypeScript (#2772).
|
371
|
+
- Allow creating new subclasses of `Node` in TypeScript (#2772).
|
389
372
|
Note that this disables being able to narrow MathNodes by using the `.type`
|
390
373
|
property. Use typeguards like `isOperatorNode(...)` instead (see #2810).
|
391
374
|
Thanks @mattvague.
|
392
375
|
- Fix #2793: `flatten()` cloning entries of array/Matrix (#2799).
|
393
|
-
- Fix #2627: TypeScript definitions of `pinv` missing (#2804).
|
376
|
+
- Fix #2627: TypeScript definitions of `pinv` missing (#2804).
|
394
377
|
Thanks @HanchaiN.
|
395
378
|
- Update dependencies to `decimal.js@10.4.1`.
|
396
379
|
|
397
|
-
|
398
380
|
# 2022-09-13, 11.2.1
|
399
381
|
|
400
382
|
- Fix doc generator being broken, not generating a function reference.
|
401
383
|
|
402
|
-
|
403
384
|
# 2022-09-12, 11.2.0
|
404
385
|
|
405
386
|
- Implement function `isRelationalNode` (#2731). Thanks @isaacbyr.
|
@@ -410,49 +391,46 @@ Fixes:
|
|
410
391
|
- Fixed documentation of unit `min` which means `minutes`, not `minim` (#2773).
|
411
392
|
Thanks @jasonhornsby.
|
412
393
|
|
413
|
-
|
414
394
|
# 2022-08-23, 11.1.0
|
415
395
|
|
416
396
|
- Add Unit constructor from value and pure (valueless) Unit (#2628).
|
417
397
|
Thanks @costerwi
|
418
398
|
- Fix #2144: `examples/advanced/custom_loading.js` was broken.
|
419
|
-
- Fix JSON `replacer` function missing in the TypeScript definitions.
|
399
|
+
- Fix JSON `replacer` function missing in the TypeScript definitions.
|
420
400
|
Thanks @mattvague.
|
421
|
-
- Update dependencies to `typed-function@4.1.0` and `decimal.js@10.4.0`.
|
422
|
-
|
401
|
+
- Update dependencies to `typed-function@4.1.0` and `decimal.js@10.4.0`.
|
423
402
|
|
424
403
|
# 2022-07-25, version 11.0.1
|
425
404
|
|
426
405
|
- Fix #2632: TypeScript issue of `simplifyConstant` and `simplifyCore`
|
427
406
|
not having a return type defined.
|
428
407
|
|
429
|
-
|
430
408
|
# 2022-07-23, version 11.0.0
|
431
409
|
|
432
410
|
!!! BE CAREFUL: BREAKING CHANGES !!!
|
433
411
|
|
434
412
|
Breaking changes:
|
435
413
|
|
436
|
-
- Dropped official support for IE11.
|
437
|
-
- Upgraded to `typed-function@3`, see [josdejong/typed-function/HISTORY.md](https://github.com/josdejong/typed-function/blob/develop/HISTORY.md#2022-05-12-version-300). Thanks @gwhitney. Most importantly:
|
438
|
-
|
439
|
-
|
440
|
-
|
414
|
+
- Dropped official support for IE11.
|
415
|
+
- Upgraded to `typed-function@3`, see [josdejong/typed-function/HISTORY.md](https://github.com/josdejong/typed-function/blob/develop/HISTORY.md#2022-05-12-version-300). Thanks @gwhitney. Most importantly:
|
416
|
+
- Conversions now have preference over `any`.
|
417
|
+
- The `this` variable is no longer bound to the typed function itself.
|
418
|
+
- The properties `typed.types`, `typed.conversions`, and `typed.ignore`
|
441
419
|
have been removed.
|
442
|
-
|
420
|
+
- There are new static functions available like `typed.referTo`,
|
443
421
|
`typed.referToSelf`, `typed.addTypes`, `typed.addConversions`.
|
444
422
|
- Implement amended "Rule 2" for implicit multiplication (#2370, #2460):
|
445
|
-
when having a division followed by an implicit multiplication, the division
|
446
|
-
gets higher precedence over the implicit multiplication when (a) the
|
447
|
-
numerator is a constant with optionally a prefix operator (`-`, `+`, `~`),
|
448
|
-
and (b) the denominator is a constant. For example: formerly `-1 / 2 x` was
|
423
|
+
when having a division followed by an implicit multiplication, the division
|
424
|
+
gets higher precedence over the implicit multiplication when (a) the
|
425
|
+
numerator is a constant with optionally a prefix operator (`-`, `+`, `~`),
|
426
|
+
and (b) the denominator is a constant. For example: formerly `-1 / 2 x` was
|
449
427
|
interpreted as `-1 / (2 * x)` and now it is interpreted as `(-1 / 2) * x`.
|
450
428
|
Thanks @gwhitney.
|
451
429
|
- Drop elementwise matrix support for trigonometric functions, exp, log, gamma,
|
452
|
-
square, sqrt, cube, and cbrt to prevent confusion with standard matrix
|
453
|
-
functions (#2440, #2465). Instead, use `math.map(matrix, fn)`.
|
430
|
+
square, sqrt, cube, and cbrt to prevent confusion with standard matrix
|
431
|
+
functions (#2440, #2465). Instead, use `math.map(matrix, fn)`.
|
454
432
|
Thanks @gwhitney.
|
455
|
-
- Simplify: convert equivalent function calls into operators, for example,
|
433
|
+
- Simplify: convert equivalent function calls into operators, for example,
|
456
434
|
`add(2, x)` will now be simplified into `2 + x` (#2415, #2466).
|
457
435
|
Thanks @gwhitney.
|
458
436
|
- Removed the automatic conversion from `number` to `string` (#2482).
|
@@ -460,25 +438,25 @@ Breaking changes:
|
|
460
438
|
- Fix #2412: let function `diff` return an empty matrix when the input contains
|
461
439
|
only one element (#2422).
|
462
440
|
- Internal refactoring in the `simplifyCore` logic (#2490, #2484, #2459).
|
463
|
-
The function `simplifyCore` will no longer (partially) merge constants, that
|
464
|
-
behavior has been moved to `simplifyConstant`. The combination of
|
465
|
-
`simplifyConstant` and `simplifyCore` is still close to the old behavior
|
466
|
-
of `simplifyCore`, but there are some differences. To reproduce the same
|
467
|
-
behavior as the old `simplifyCore`, you can use
|
468
|
-
`math.simplify(expr, [math.simplifyCore, math.simplifyConstant])`.
|
469
|
-
Thanks to the refactoring, `simplify` is more thorough in reducing constants.
|
441
|
+
The function `simplifyCore` will no longer (partially) merge constants, that
|
442
|
+
behavior has been moved to `simplifyConstant`. The combination of
|
443
|
+
`simplifyConstant` and `simplifyCore` is still close to the old behavior
|
444
|
+
of `simplifyCore`, but there are some differences. To reproduce the same
|
445
|
+
behavior as the old `simplifyCore`, you can use
|
446
|
+
`math.simplify(expr, [math.simplifyCore, math.simplifyConstant])`.
|
447
|
+
Thanks to the refactoring, `simplify` is more thorough in reducing constants.
|
470
448
|
Thanks @gwhitney.
|
471
|
-
- Disable support for splitting rest parameters in chained calculations
|
449
|
+
- Disable support for splitting rest parameters in chained calculations
|
472
450
|
(#2485, #2474). For example: `math.chain(3).max(4, 2).done()` will now throw
|
473
|
-
an error rather than return `4`, because the rest parameter of
|
474
|
-
`math.max(...number)` has been split between the contents of the chain and
|
451
|
+
an error rather than return `4`, because the rest parameter of
|
452
|
+
`math.max(...number)` has been split between the contents of the chain and
|
475
453
|
the arguments to the max call. Thanks @gwhitney.
|
476
|
-
- Function `typeOf` now returns `function` (lowercase) for a function instead
|
454
|
+
- Function `typeOf` now returns `function` (lowercase) for a function instead
|
477
455
|
of `Function` (#2560). Thanks @gwhitney.
|
478
456
|
|
479
457
|
Non-breaking changes:
|
480
458
|
|
481
|
-
- Fix #2600: improve the TypeScript definitions of `simplify`.
|
459
|
+
- Fix #2600: improve the TypeScript definitions of `simplify`.
|
482
460
|
Thanks @laureen-m and @mattvague.
|
483
461
|
- Fix #2607: improve type definition of `createUnit`. Thanks @egziko.
|
484
462
|
- Fix #2608: clarify the docs on the need to configure a smaller `epsilon`
|
@@ -488,70 +466,62 @@ Non-breaking changes:
|
|
488
466
|
- Fix #2621: add TypeScript definitions for `count` (#2622). Thanks @Hansuku.
|
489
467
|
- Improved TypeScript definitions of `multiply` (#2623). Thanks @Windrill.
|
490
468
|
|
491
|
-
|
492
469
|
# 2022-06-28, version 10.6.4
|
493
470
|
|
494
471
|
- Improve TypeScript definitions of the `factory` function, thanks @mattvague.
|
495
472
|
|
496
|
-
|
497
473
|
# 2022-06-24, version 10.6.3
|
498
474
|
|
499
|
-
- Revert the TypeScript definition fixes for `factory` applied in `v10.6.2`,
|
475
|
+
- Revert the TypeScript definition fixes for `factory` applied in `v10.6.2`,
|
500
476
|
they give some complications.
|
501
477
|
|
502
|
-
|
503
478
|
# 2022-06-24, version 10.6.2
|
504
479
|
|
505
480
|
- Improve TypeScript definitions of `ParenthesisNode`. Thanks @mattvague.
|
506
|
-
- Change the TypeScript definition of `MathNodeCommon['type']` into a less
|
507
|
-
strict string, so it is possible to extend with new Node classes.
|
481
|
+
- Change the TypeScript definition of `MathNodeCommon['type']` into a less
|
482
|
+
strict string, so it is possible to extend with new Node classes.
|
508
483
|
Thanks @mattvague.
|
509
484
|
- Improve TypeScript definitions of the `factory` function, thanks @mattvague.
|
510
485
|
|
511
|
-
|
512
486
|
# 2022-05-31, version 10.6.1
|
513
487
|
|
514
|
-
- Improve the TypeScript types For `OperatorNode`: you can now define generic
|
488
|
+
- Improve the TypeScript types For `OperatorNode`: you can now define generic
|
515
489
|
types like `OperatorNode<'+', 'add'>`. Thanks @mattvague.
|
516
490
|
|
517
|
-
|
518
491
|
# 2022-05-24, version 10.6.0
|
519
492
|
|
520
493
|
- Implementation of fourier transform functions `fft` and `ifft` (#2540).
|
521
494
|
Thanks @HanchaiN.
|
522
495
|
- Fix TypeScript types not being listed in the exported fields (#2569).
|
523
|
-
Thanks @mattvague.
|
496
|
+
Thanks @mattvague.
|
524
497
|
- Large improvements in TypeScript definitions for chained expressions (#2537).
|
525
498
|
Thanks @mattvague.
|
526
|
-
- Fix #2571: improve TypeScript definition of functions `clone` and `cloneDeep`
|
499
|
+
- Fix #2571: improve TypeScript definition of functions `clone` and `cloneDeep`
|
527
500
|
(#2572). Thanks @mattvague.
|
528
501
|
- Fix the first argument of `derivative` holding the expression not correctly
|
529
502
|
being converted when using `.toTex()` (#2564). Thanks @mattvague.
|
530
503
|
|
531
|
-
|
532
504
|
# 2022-05-11, version 10.5.3
|
533
505
|
|
534
|
-
- Fix #2337: npm package containing examples and docs to solve security
|
506
|
+
- Fix #2337: npm package containing examples and docs to solve security
|
535
507
|
vulnerabilities being reported on the examples and their dependencies.
|
536
508
|
- Fix core, construction, and some other functions missing in docs.
|
537
509
|
- Drop official support for Node.js 12 which has reached its end of life.
|
538
510
|
|
539
|
-
|
540
511
|
# 2022-05-09, version 10.5.2
|
541
512
|
|
542
|
-
- Fix #2553: `@types/mocha` defined in `dependencies` instead of
|
513
|
+
- Fix #2553: `@types/mocha` defined in `dependencies` instead of
|
543
514
|
`devDependencies`, causing problems in projects that use a different version
|
544
515
|
of this dependency. Thanks @Kolahzary.
|
545
516
|
- Fix #2550: remove `examples/node_modules` folder from the npm package.
|
546
517
|
- Fix #2528: improve contribution guidelines (#2548).
|
547
|
-
- Document `SymbolNode.onUndefinedSymbol` and
|
518
|
+
- Document `SymbolNode.onUndefinedSymbol` and
|
548
519
|
`FunctionNode.onUndefinedFunction`.
|
549
520
|
|
550
|
-
|
551
521
|
# 2022-05-02, version 10.5.1
|
552
522
|
|
553
523
|
- Fix #2526, #2529: improve TypeScript definitions of function `round`, `fix`,
|
554
|
-
`floor`, `ceil`, and `nthRoot`, and improved the number only implementations
|
524
|
+
`floor`, `ceil`, and `nthRoot`, and improved the number only implementations
|
555
525
|
of those functions (#2531, #2539). Thanks @simlaticak and @gwhitney.
|
556
526
|
- Fix #2532: matrix index symbol `end` not working when used inside
|
557
527
|
a sub-expression.
|
@@ -559,12 +529,11 @@ Non-breaking changes:
|
|
559
529
|
(e.g., to avoid spurious duplicates in list). (#2543)
|
560
530
|
- Add type definitions of function `resolve` (#2536). Thanks @mattvague.
|
561
531
|
|
562
|
-
|
563
532
|
# 2022-04-19, version 10.5.0
|
564
533
|
|
565
|
-
- Implement #1563: function `pinv`, Moore–Penrose inverse (#2521).
|
534
|
+
- Implement #1563: function `pinv`, Moore–Penrose inverse (#2521).
|
566
535
|
Thanks @HanchaiN.
|
567
|
-
- Optimize function `det` for integers by switching to the Bareiss algorithm:
|
536
|
+
- Optimize function `det` for integers by switching to the Bareiss algorithm:
|
568
537
|
no more round-off errors for integer input (#2516). Thanks @HanchaiN.
|
569
538
|
- Implement #2463: allow negative integer powers of invertible square matrices
|
570
539
|
(#2517). Thanks @HanchaiN.
|
@@ -575,7 +544,6 @@ Non-breaking changes:
|
|
575
544
|
- Fix #2526: update TypeScript definition of `ceil` (#2531). Thanks @simlaticak
|
576
545
|
- Change mocha reporter to 'dot' to avoid excessively long log files. (#2520)
|
577
546
|
|
578
|
-
|
579
547
|
# 2022-04-08, version 10.4.3
|
580
548
|
|
581
549
|
- Fix #2508: improve the precision of stirlingS2 (#2509). Thanks @gwhitney.
|
@@ -583,14 +551,13 @@ Non-breaking changes:
|
|
583
551
|
of function `log` (#2515). Thanks @gwhitney.
|
584
552
|
- Improve the documentation on operator `;` (#2512). Thanks @gwhitney.
|
585
553
|
|
586
|
-
|
587
554
|
# 2022-03-29, version 10.4.2
|
588
555
|
|
589
556
|
- Fix #2499: different behavior for unit conversion "degC" and "K" (#2501).
|
590
|
-
Also disables getting the sign for units with an offset, which is ambiguous.
|
557
|
+
Also disables getting the sign for units with an offset, which is ambiguous.
|
591
558
|
Thanks @gwhitney.
|
592
559
|
- Fix #2503: fix an issue in `log()` for complex numbers in which the imaginary
|
593
|
-
part is much larger in absolute value than the real part, fixed in
|
560
|
+
part is much larger in absolute value than the real part, fixed in
|
594
561
|
`complex.js@2.1.0` (#2505), thanks @gwhitney, @infusion.
|
595
562
|
- Fix #2493: unclear error message when an entity that is not a function
|
596
563
|
is being called as a function (#2494). Thanks @gwhitney.
|
@@ -600,10 +567,9 @@ Non-breaking changes:
|
|
600
567
|
comparison tolerance. It was already being called this way, but was
|
601
568
|
silently ignoring the tolerance. Thanks @yifanwww.
|
602
569
|
|
603
|
-
|
604
570
|
# 2022-03-23, version 10.4.1
|
605
571
|
|
606
|
-
- Improve TypeScript definitions for function `unit` (#2479).
|
572
|
+
- Improve TypeScript definitions for function `unit` (#2479).
|
607
573
|
Thanks @SinanAkkoyun.
|
608
574
|
- Add tests for type declarations (#2448). Thanks @samestep.
|
609
575
|
- Further improvement to TypeScript definitions of `std` and `variance`
|
@@ -617,7 +583,6 @@ Non-breaking changes:
|
|
617
583
|
numbers (#2496). Thanks @gwhitney.
|
618
584
|
- Update project dependencies and devDependencies.
|
619
585
|
|
620
|
-
|
621
586
|
# 2022-03-07, version 10.4.0
|
622
587
|
|
623
588
|
- Fix #2461: make sure `simplifyCore` recurses over all binary nodes (#2462).
|
@@ -626,11 +591,10 @@ Non-breaking changes:
|
|
626
591
|
(#2455). Thanks @NattapongSiri.
|
627
592
|
- Fix #1633: implement a `cumsum` function generating cumulative sums of a list
|
628
593
|
of values or a matrix. (#1870). Thanks @hjonasson.
|
629
|
-
- Upgrade to the latest version of `Fraction.js`, having more strict input,
|
594
|
+
- Upgrade to the latest version of `Fraction.js`, having more strict input,
|
630
595
|
only accepting an integer numerator and denominator. See #2427.
|
631
596
|
- Fix typo in documentation example for `format`. (#2468) Thanks @abranhe.
|
632
|
-
- Write unit tests for all jsdoc examples. See #2452. Thanks @gwhitney.
|
633
|
-
|
597
|
+
- Write unit tests for all jsdoc examples. See #2452. Thanks @gwhitney.
|
634
598
|
|
635
599
|
# 2021-03-02, version 10.3.0
|
636
600
|
|
@@ -638,38 +602,35 @@ Non-breaking changes:
|
|
638
602
|
- Fix #2441, #2442: support passing a function as argument to functions created
|
639
603
|
in the expression parser (#2443). Thanks @gwhitney.
|
640
604
|
- Fix #2325: improve documentation of subset indices (#2446). Thanks @gwhitney.
|
641
|
-
- Fix #2439: fix a bug in `complexEigs` in which real-valued norms were
|
605
|
+
- Fix #2439: fix a bug in `complexEigs` in which real-valued norms were
|
642
606
|
inadvertently being typed as complex numbers (#2445). Thanks @gwhitney.
|
643
607
|
- Fix #2436: improve documentation and error message of function `map` (#2457).
|
644
608
|
Thanks @gwhitney.
|
645
609
|
|
646
|
-
|
647
610
|
# 2022-03-01, version 10.2.0
|
648
611
|
|
649
|
-
- Implemented context options to control simplifications allowed in `simplify`,
|
612
|
+
- Implemented context options to control simplifications allowed in `simplify`,
|
650
613
|
see #2399, #2391. Thanks @gwhitney.
|
651
|
-
- Implemented function `leafCount` as a first simple measure of the complexity
|
614
|
+
- Implemented function `leafCount` as a first simple measure of the complexity
|
652
615
|
of an expression, see #2411, #2389. Thanks @gwhitney.
|
653
616
|
- Fix #2413: improve `combinations` to return an integer result without rounding
|
654
617
|
errors for larger values, see #2414. Thanks @gwhitney.
|
655
|
-
- Fix #2385: function `rotate` missing in TypeScript definitions.
|
618
|
+
- Fix #2385: function `rotate` missing in TypeScript definitions.
|
656
619
|
Thanks @DIVYA-19.
|
657
620
|
- Fix #2450: Add BigNumber to parameter type in `math.unit` and add TypeScript
|
658
621
|
types for `Unit.simplify` and `Unit.units` (#2353). Thanks @joshhansen.
|
659
622
|
- Fix #2383: detect infinite loops in `simplify` (#2405). Thanks @gwhitney.
|
660
|
-
- Fix #1423: collect like factors and cancel like terms in sums (#2388).
|
623
|
+
- Fix #1423: collect like factors and cancel like terms in sums (#2388).
|
661
624
|
Thanks @gwhitney.
|
662
625
|
|
663
|
-
|
664
626
|
# 2022-02-02, version 10.1.1
|
665
627
|
|
666
628
|
- Improvements and fixes in function `simplify`, thanks @gwhitney:
|
667
629
|
- Fix #2393: regression bug in `simplify('2-(x+1)')`.
|
668
630
|
- Ad option `consoleDebug` to `simplify` to see what is going on.
|
669
|
-
- Fix TypeScript definition of `ConfigOptions`, which was missing option
|
631
|
+
- Fix TypeScript definition of `ConfigOptions`, which was missing option
|
670
632
|
`predictable`.
|
671
633
|
|
672
|
-
|
673
634
|
# 2022-01-15, version 10.1.0
|
674
635
|
|
675
636
|
- Implemented function `invmod`, see #2368, #1744. Thanks @thetazero.
|
@@ -680,29 +641,26 @@ Non-breaking changes:
|
|
680
641
|
- Fix #2379: add embedded documentation for function `print`.
|
681
642
|
- Remove broken example from the embedded documentation of function `forEach`.
|
682
643
|
|
683
|
-
|
684
644
|
# 2021-12-29, version 10.0.2
|
685
645
|
|
686
646
|
- Fix #2156: simplify expressions like `-1 / (-x)` to `1/x`. Thanks @ony3000.
|
687
647
|
- Fix #2363: remove a redundant part of the regex to split a number.
|
688
|
-
- Fix #2291: add support for fractions in function `intersect`.
|
648
|
+
- Fix #2291: add support for fractions in function `intersect`.
|
689
649
|
Thanks @thetazero.
|
690
650
|
- Fix #2358: bug in `SparseMatrix` when replacing a subset of a matrix with
|
691
651
|
a non-consecutive index. Thanks @Al-0.
|
692
652
|
|
693
|
-
|
694
653
|
# 2021-12-22, version 10.0.1
|
695
654
|
|
696
655
|
- Fix #1681: function `gamma` giving inaccurate complex results in some cases.
|
697
656
|
Thanks @kmdrGroch.
|
698
657
|
- Fixed a typo in an example, see #2366. Thanks @blackwindforce.
|
699
658
|
|
700
|
-
|
701
659
|
# 2021-11-03, version 10.0.0
|
702
660
|
|
703
661
|
!!! BE CAREFUL: BREAKING CHANGES IN THE TYPESCRIPT DEFINITIONS !!!
|
704
662
|
|
705
|
-
- Improvements to the Typescript typings (commit fc5c202e).
|
663
|
+
- Improvements to the Typescript typings (commit fc5c202e).
|
706
664
|
Thanks @joshhansen. First introduced in v9.5.1, but reverted because
|
707
665
|
it contains breaking changes.
|
708
666
|
|
@@ -711,51 +669,45 @@ Non-breaking changes:
|
|
711
669
|
|
712
670
|
- Fixed a typo in the TypeScript definition of toHTML. Thanks @TheToto.
|
713
671
|
|
714
|
-
|
715
672
|
# 2021-11-03, version 9.5.2`
|
716
673
|
|
717
674
|
- Revert the improvements to the Typescript typings because they contain
|
718
675
|
breaking changes. The improvements will be published in v10.0.0. See #2339.
|
719
676
|
|
720
|
-
|
721
677
|
# 2021-10-13, version 9.5.1
|
722
678
|
|
723
|
-
- Various improvements to the Typescript typings.
|
679
|
+
- Various improvements to the Typescript typings.
|
724
680
|
Thanks @joshhansen and @DianaTdr.
|
725
681
|
|
726
|
-
|
727
682
|
# 2021-09-22, version 9.5.0
|
728
683
|
|
729
|
-
- Implemented support for calculations with percentage, see #2303.
|
684
|
+
- Implemented support for calculations with percentage, see #2303.
|
730
685
|
Thanks @rvramesh.
|
731
|
-
- Fix #2319: make the API of `Parser.evaluate` consistent with `math.evaluate`:
|
686
|
+
- Fix #2319: make the API of `Parser.evaluate` consistent with `math.evaluate`:
|
732
687
|
support a list with expressions as input.
|
733
688
|
- Improved documentation of function `setCartesian`. Thanks @fieldfoxWim.
|
734
689
|
|
735
|
-
|
736
690
|
# 2021-09-15, version 9.4.5
|
737
691
|
|
738
|
-
- Improved the performance of `Node.equals` by improving the internal
|
692
|
+
- Improved the performance of `Node.equals` by improving the internal
|
739
693
|
function `deepStrictEqual`. Thanks @tomlarkworthy.
|
740
694
|
- Fixes in the TypeScript definitions:
|
741
|
-
- Define `hasNumericValue`. Thanks @write2kcl.
|
695
|
+
- Define `hasNumericValue`. Thanks @write2kcl.
|
742
696
|
- Define `MathNode.isRelationalNode`. Thanks @m93a.
|
743
697
|
- Fix typo in `MathNode.isConditionalNode`. Thanks @m93a.
|
744
698
|
|
745
|
-
|
746
699
|
# 2021-07-07, version 9.4.4
|
747
700
|
|
748
|
-
- Fixed `ArrayNode.toTex()`: remove the row delimiter on the last row,
|
701
|
+
- Fixed `ArrayNode.toTex()`: remove the row delimiter on the last row,
|
749
702
|
see #2267. Thanks @davidtranhq.
|
750
703
|
- Fix #2269: `intersect` not returning `null` for matrix input. Thanks @m93a.
|
751
704
|
- Fix #2245: mathjs not working in IE11 anymore due to a missing polyfill for
|
752
|
-
`Symbol`. The browser bundle now includes the necessary polyfills (it is
|
705
|
+
`Symbol`. The browser bundle now includes the necessary polyfills (it is
|
753
706
|
larger now because of that, see also #2266). Thanks @m93a.
|
754
707
|
- Update dependencies (`complex.js@2.0.15`, `decimal.js@10.3.1`)
|
755
|
-
- Drop official support for node.js 10, which has reached end of life.
|
708
|
+
- Drop official support for node.js 10, which has reached end of life.
|
756
709
|
See #2258.
|
757
710
|
|
758
|
-
|
759
711
|
# 2021-06-23, version 9.4.3
|
760
712
|
|
761
713
|
- Fix #2222: mathjs polluting the `Decimal` prototype. Thanks @m93a.
|
@@ -763,17 +715,15 @@ Non-breaking changes:
|
|
763
715
|
properties named `e`.
|
764
716
|
- Fixes in the TypeScript definitions:
|
765
717
|
- function `floor`, #2159, #2246. Thanks @write2kcl.
|
766
|
-
- function `simplify`, see #2252. Thanks @nitroin.
|
718
|
+
- function `simplify`, see #2252. Thanks @nitroin.
|
767
719
|
- Upgraded to `decimal.js@10.3.0`
|
768
720
|
|
769
|
-
|
770
721
|
# 2021-06-05, version 9.4.2
|
771
722
|
|
772
|
-
- Implemented iterative eigenvalue finder for `eigs`, making it much more
|
723
|
+
- Implemented iterative eigenvalue finder for `eigs`, making it much more
|
773
724
|
robust. See #2179, #2237. Thanks @m93a.
|
774
725
|
- Improved TypeScript definitions of function `parse`. Thanks @OpportunityLiu.
|
775
726
|
|
776
|
-
|
777
727
|
# 2021-05-24, version 9.4.1
|
778
728
|
|
779
729
|
- Fix #2100: add TypeScript declaration for `eigs`. Thanks @andrebianchessi.
|
@@ -781,71 +731,64 @@ Non-breaking changes:
|
|
781
731
|
- Update readme regarding TypeScript definition files. Thanks @dhritzkiv.
|
782
732
|
- Update to `fraction.js@4.1.1`
|
783
733
|
|
784
|
-
|
785
734
|
# 2021-05-16, version 9.4.0
|
786
735
|
|
787
|
-
- Implemented support to use objects with a `Map` interface as scope,
|
736
|
+
- Implemented support to use objects with a `Map` interface as scope,
|
788
737
|
see #2143, #2166. Thanks @jhugman.
|
789
738
|
- Extend `eigs` to support general complex matrices, see #1741. Thanks @m93a.
|
790
739
|
- DenseMatrix and SparseMatrix are now iterable, see #1184. Thanks @m93a.
|
791
|
-
- Implemented utility functions `matrixFromRows`, `matrixFromColumns`, and
|
740
|
+
- Implemented utility functions `matrixFromRows`, `matrixFromColumns`, and
|
792
741
|
`matrixFromFunction`, see #2155, #2153. Thanks @m93a.
|
793
742
|
- Added TypeScript definitions to the project, making it redundant to install
|
794
|
-
`@types/mathjs`, and making it easier to improve the definitions. See #2187,
|
743
|
+
`@types/mathjs`, and making it easier to improve the definitions. See #2187,
|
795
744
|
#2192. Thanks @CatsMiaow.
|
796
745
|
- Upgraded dependencies
|
797
746
|
- `complex.js@2.0.13` (fixing #2211). Thanks @infusion
|
798
747
|
- `fraction.js@4.1.0` (`pow` now supporting rational exponents).
|
799
748
|
- Fix #2174: function `pickRandom` having no name. Thanks @HK-SHAO.
|
800
749
|
- Fix #2019: VSCode auto import keeps adding import { null } from 'mathjs'.
|
801
|
-
- Fix #2185: Fix TypeScript definition of unit division, which can also return
|
750
|
+
- Fix #2185: Fix TypeScript definition of unit division, which can also return
|
802
751
|
a number.
|
803
752
|
- Fix #2123: add type definitions for functions `row` and `column`.
|
804
753
|
- Fix some files not exposed in the package, see #2213. Thanks @javiermarinros.
|
805
754
|
|
806
|
-
|
807
755
|
# 2021-04-12, version 9.3.2
|
808
756
|
|
809
|
-
- Fix #2169: mathjs requesting `@babel/runtime` dependency.
|
757
|
+
- Fix #2169: mathjs requesting `@babel/runtime` dependency.
|
810
758
|
Regression introduced in `v9.3.1`.
|
811
759
|
|
812
|
-
|
813
760
|
# 2021-04-10, version 9.3.1
|
814
761
|
|
815
|
-
- Fix #2133: strongly improved the performance of `isPrime`, see #2139.
|
762
|
+
- Fix #2133: strongly improved the performance of `isPrime`, see #2139.
|
816
763
|
Thanks @Yaffle.
|
817
764
|
- Fix #2150: give a clear error "Error: Undefined function ..." instead when
|
818
765
|
evaluating a non-existing function.
|
819
|
-
- Fix #660: expose internal functions `FunctionNode.onUndefinedFunction(name)`
|
766
|
+
- Fix #660: expose internal functions `FunctionNode.onUndefinedFunction(name)`
|
820
767
|
and `SymbolNode.onUndefinedSymbol(name)`, allowing to override the behavior.
|
821
768
|
By default, an Error is thrown.
|
822
769
|
|
823
|
-
|
824
770
|
# 2021-03-10, version 9.3.0
|
825
771
|
|
826
772
|
- Implemented support for parsing non decimal numbers with radix point,
|
827
773
|
see #2122, #2121. Thanks @clnhlzmn.
|
828
774
|
- Fix #2128: typo in docs of `luSolveAll` and `usolveAll`.
|
829
775
|
|
830
|
-
|
831
776
|
# 2021-02-03, version 9.2.0
|
832
777
|
|
833
|
-
- Implemented function `count` to count the total elements in a matrix,
|
778
|
+
- Implemented function `count` to count the total elements in a matrix,
|
834
779
|
see #2085. Thanks @Josef37.
|
835
780
|
- Fix #2096: cleanup old reference to external dependency `crypto`.
|
836
|
-
- Some refactoring in the code to remove duplications, see #2093.
|
781
|
+
- Some refactoring in the code to remove duplications, see #2093.
|
837
782
|
Thanks @Josef37.
|
838
783
|
|
839
|
-
|
840
784
|
# 2021-01-27, version 9.1.0
|
841
785
|
|
842
786
|
- Extended function `reshape` with support for a wildcard `-1` to automatically
|
843
|
-
calculate the remaining size, like `reshape([1, 2, 3, 4, 5, 6], [-1, 2])`
|
787
|
+
calculate the remaining size, like `reshape([1, 2, 3, 4, 5, 6], [-1, 2])`
|
844
788
|
which will output `[[0, 1], [2, 3], [4, 5]]`. See #2075. Thanks @Josef37.
|
845
789
|
- Fix #2087: function `simplify` ignores second argument of `log`, for example
|
846
790
|
in `simplify('log(e, 9)')` . Thanks @quentintruong.
|
847
791
|
|
848
|
-
|
849
792
|
# 2021-01-16, version 9.0.0
|
850
793
|
|
851
794
|
- Improved support for bin, hex, and oct literals. See #1996. Thanks @clnhlzmn.
|
@@ -854,188 +797,169 @@ Non-breaking changes:
|
|
854
797
|
suffix specifying the word size such as `i16` or `i32`.
|
855
798
|
- Function `format` now supports more notations: `bin`, 'hex', and `oct`,
|
856
799
|
for example `format(255, {notation: "hex"})`.
|
857
|
-
- The functions `format`, `bin`, `hex`, `oct` now allow specifying a wordSize,
|
800
|
+
- The functions `format`, `bin`, `hex`, `oct` now allow specifying a wordSize,
|
858
801
|
like `bin(10, 32)` and `format(10, {notation: "bin", wordSize: 32})`.
|
859
|
-
- BigNumber support for the bin, hex, and oct literals.
|
802
|
+
- BigNumber support for the bin, hex, and oct literals.
|
860
803
|
- Extended and improved the example rocket_trajectory_optimization.html.
|
861
804
|
Thanks @Josef37.
|
862
805
|
|
863
|
-
|
864
806
|
# 2020-12-30, version 8.1.1
|
865
807
|
|
866
|
-
- Improved the performance of parsing and evaluating units a lot, see #2065.
|
808
|
+
- Improved the performance of parsing and evaluating units a lot, see #2065.
|
867
809
|
Thanks @flaviut.
|
868
|
-
- Upgraded dependency `fraction.js` to `v4.0.13`.
|
869
|
-
- Moved continuous integration testing from Travis CI to Github Workflow,
|
810
|
+
- Upgraded dependency `fraction.js` to `v4.0.13`.
|
811
|
+
- Moved continuous integration testing from Travis CI to Github Workflow,
|
870
812
|
see #2024, #2041. Thanks @harrysarson.
|
871
813
|
|
872
|
-
|
873
814
|
# 2020-12-04, version 8.1.0
|
874
815
|
|
875
816
|
- Implemented units `kilogramforce` (`kgf`). Thanks @rnd-debug.
|
876
|
-
- Fix #2026: Implement a new option `fractionsLimit` for function `simplify`,
|
817
|
+
- Fix #2026: Implement a new option `fractionsLimit` for function `simplify`,
|
877
818
|
defaulting to `Infinity`.
|
878
819
|
- Improved the documentation of function `clone`. Thanks @redbar0n.
|
879
820
|
|
880
|
-
|
881
821
|
# 2020-11-09, version 8.0.1
|
882
822
|
|
883
823
|
- Fix #1979: missing "subset" dependency when using "mathjs/number" entry point.
|
884
|
-
- Fix #2022: update pretty printing with MathJax example to the latest version
|
824
|
+
- Fix #2022: update pretty printing with MathJax example to the latest version
|
885
825
|
of MathJax. Thanks @pkra.
|
886
826
|
|
887
|
-
|
888
827
|
# 2020-11-06, version 8.0.0
|
889
828
|
|
890
829
|
!!! BE CAREFUL: BREAKING CHANGES !!!
|
891
830
|
|
892
|
-
- You can now use mathjs directly in node.js using ES modules without need for
|
893
|
-
a transpiler (see #1928, #1941, #1962).
|
831
|
+
- You can now use mathjs directly in node.js using ES modules without need for
|
832
|
+
a transpiler (see #1928, #1941, #1962).
|
894
833
|
Automatically loading either commonjs code or ES modules code is improved.
|
895
|
-
All generated code is moved under `/lib`: the browser bundle is moved from
|
896
|
-
`/dist` to `/lib/browser`, ES module files are moved to `/lib/esm`,
|
834
|
+
All generated code is moved under `/lib`: the browser bundle is moved from
|
835
|
+
`/dist` to `/lib/browser`, ES module files are moved to `/lib/esm`,
|
897
836
|
and commonjs files are moved to `/lib/cjs`. Thanks @GreenImp.
|
898
837
|
- Non-minified bundle `dist/math.js` is no longer provided. Either use the
|
899
838
|
minified bundle, or create a bundle yourself.
|
900
|
-
- Replaced random library `seed-random` with `seedrandom`, see #1955.
|
839
|
+
- Replaced random library `seed-random` with `seedrandom`, see #1955.
|
901
840
|
Thanks @poppinlp.
|
902
841
|
- Breaking changes in `pickRandom`, see #1990, #1976.
|
903
|
-
- Will no longer return the input matrix when the given number is greater
|
842
|
+
- Will no longer return the input matrix when the given number is greater
|
904
843
|
than the length of the provided possibles. Instead, the function always
|
905
844
|
returns results with the requested number of picks.
|
906
845
|
- Will now return a `Matrix` as output when input was a `Matrix`.
|
907
846
|
- Introduced a new syntax:
|
908
|
-
|
847
|
+
|
909
848
|
```
|
910
849
|
math.pickRandom(array, { weights, number, elementWise })
|
911
850
|
```
|
912
|
-
|
851
|
+
|
852
|
+
- Introduced a new option `elementWise`, which is `true` by default.
|
913
853
|
When setting `elementWise` to false, an array containing arrays will return
|
914
854
|
random pick of arrays instead of the elements inside of the nested arrays.
|
915
855
|
|
916
|
-
|
917
856
|
# 2020-11-02, version 7.6.0
|
918
857
|
|
919
|
-
- Implemented function `rotate(w, theta)`. See #1992, #1160. Thanks @rnd-debug.
|
920
|
-
- Implemented support for custom characters in Units via `Unit.isValidAlpha`.
|
858
|
+
- Implemented function `rotate(w, theta)`. See #1992, #1160. Thanks @rnd-debug.
|
859
|
+
- Implemented support for custom characters in Units via `Unit.isValidAlpha`.
|
921
860
|
See #1663, #2000. Thanks @rnd-debug.
|
922
861
|
|
923
|
-
|
924
862
|
# 2020-10-10, version 7.5.1
|
925
863
|
|
926
864
|
- Fix object pollution vulnerability in `math.config`. Thanks Snyk.
|
927
865
|
|
928
|
-
|
929
866
|
# 2020-10-07, version 7.5.0
|
930
867
|
|
931
|
-
- Function `pickRandom` now allows randomly picking elements from matrices
|
868
|
+
- Function `pickRandom` now allows randomly picking elements from matrices
|
932
869
|
with 2 or more dimensions instead of only from a vector, see #1974.
|
933
870
|
Thanks @KonradLinkowski.
|
934
871
|
|
935
|
-
|
936
872
|
# 2020-10-07, version 7.4.0
|
937
873
|
|
938
|
-
- Implemented support for passing a precision in functions `ceil`, `floor`,
|
874
|
+
- Implemented support for passing a precision in functions `ceil`, `floor`,
|
939
875
|
and `fix`, similar to `round`, see #1967, #1901. Thanks @rnd-debug.
|
940
876
|
- Implemented function `rotationMatrix`, see #1160, #1984. Thanks @rnd-debug.
|
941
|
-
- Implement a clear error message when using `sqrtm` with a matrix having
|
877
|
+
- Implement a clear error message when using `sqrtm` with a matrix having
|
942
878
|
more than two dimensions. Thanks @KonradLinkowski.
|
943
879
|
- Update dependency `decimal.js` to `10.2.1`.
|
944
880
|
|
945
|
-
|
946
881
|
# 2020-09-26, version 7.3.0
|
947
882
|
|
948
883
|
- Implemented functions `usolveAll` and `lsolveAll`, see #1916. Thanks @m93a.
|
949
|
-
- Implemented support for units in functions `std` and `variance`, see #1950.
|
884
|
+
- Implemented support for units in functions `std` and `variance`, see #1950.
|
950
885
|
Thanks @rnd-debug.
|
951
|
-
- Implemented support for binary, octal, and hexadecimal notation in the
|
952
|
-
expression parser, and implemented functions `bin`, `oct`, and `hex` for
|
886
|
+
- Implemented support for binary, octal, and hexadecimal notation in the
|
887
|
+
expression parser, and implemented functions `bin`, `oct`, and `hex` for
|
953
888
|
formatting. Thanks @clnhlzmn.
|
954
|
-
- Fix #1964: inconsistent calculation of negative dividend modulo for
|
889
|
+
- Fix #1964: inconsistent calculation of negative dividend modulo for
|
955
890
|
`BigNumber` and `Fraction`. Thanks @ovk.
|
956
891
|
|
957
|
-
|
958
892
|
# 2020-08-24, version 7.2.0
|
959
893
|
|
960
|
-
- Implemented new function `diff`, see #1634, #1920. Thanks @Veeloxfire.
|
961
|
-
- Implemented support for norm 2 for matrices in function `norm`.
|
962
|
-
Thanks @rnd-debug.
|
963
|
-
|
894
|
+
- Implemented new function `diff`, see #1634, #1920. Thanks @Veeloxfire.
|
895
|
+
- Implemented support for norm 2 for matrices in function `norm`.
|
896
|
+
Thanks @rnd-debug.
|
964
897
|
|
965
898
|
# 2020-07-13, version 7.1.0
|
966
899
|
|
967
|
-
- Implement support for recursion (self-referencing) of typed-functions,
|
968
|
-
new in `typed-function@2.0.0`. This fixes #1885: functions which where
|
900
|
+
- Implement support for recursion (self-referencing) of typed-functions,
|
901
|
+
new in `typed-function@2.0.0`. This fixes #1885: functions which where
|
969
902
|
extended with a new data type did not always work. Thanks @nickewing.
|
970
|
-
- Fix #1899: documentation on expression trees still using old namespace
|
903
|
+
- Fix #1899: documentation on expression trees still using old namespace
|
971
904
|
`math.expression.node.*` instead of `math.*`.
|
972
905
|
|
973
|
-
|
974
906
|
# 2020-06-24, version 7.0.2
|
975
907
|
|
976
|
-
- Fix #1882: have `DenseMatrix.resize` and `SparseMatrix.resize` accept
|
908
|
+
- Fix #1882: have `DenseMatrix.resize` and `SparseMatrix.resize` accept
|
977
909
|
`DenseMatrix` and `SparseMatrix` as inputs too, not only `Array`.
|
978
910
|
- Fix functions `sum`, `prod`, `min`, and `max` not throwing a conversion error
|
979
911
|
when passing a single string, like `sum("abc")`.
|
980
912
|
|
981
|
-
|
982
913
|
# 2020-05-30, version 7.0.1
|
983
914
|
|
984
915
|
- Fix #1844: clarify the documentation of function `eigs`. Thanks @Lazersmoke.
|
985
916
|
- Fix #1855: Fix error in the documentation for `math.nthRoots(x)`.
|
986
917
|
- Fix #1856: make the library robust against Object prototype pollution.
|
987
918
|
|
988
|
-
|
989
919
|
# 2020-05-07, version 7.0.0
|
990
920
|
|
991
921
|
Breaking changes:
|
992
922
|
|
993
|
-
- Improvements in calculation of the `dot` product of complex values.
|
923
|
+
- Improvements in calculation of the `dot` product of complex values.
|
994
924
|
The first argument is now conjugated. See #1761. Thanks @m93a.
|
995
925
|
- Dropped official support for Node.js v8 which has reached end of life.
|
996
|
-
- Removed all deprecation warnings introduced in v6.
|
926
|
+
- Removed all deprecation warnings introduced in v6.
|
997
927
|
To upgrade smoothly from v5 to v7 or higher, upgrade to v6 first
|
998
928
|
and resolve all deprecation warnings.
|
999
929
|
|
1000
|
-
|
1001
930
|
# 2020-05-04, version 6.6.5
|
1002
931
|
|
1003
|
-
- Fix #1834: value `Infinity` cannot be serialized and deserialized.
|
1004
|
-
This is solved now with a new `math.replacer` function used as
|
932
|
+
- Fix #1834: value `Infinity` cannot be serialized and deserialized.
|
933
|
+
This is solved now with a new `math.replacer` function used as
|
1005
934
|
`JSON.stringify(value, math.replacer)`.
|
1006
935
|
- Fix #1842: value `Infinity` not turned into the latex symbol `\\infty`.
|
1007
936
|
|
1008
|
-
|
1009
937
|
# 2020-04-15, version 6.6.4
|
1010
938
|
|
1011
939
|
- Fix published files containing Windows line endings (CRLF instead of LF).
|
1012
940
|
|
1013
|
-
|
1014
941
|
# 2020-04-10, version 6.6.3
|
1015
942
|
|
1016
943
|
- Fix #1813: bug in engineering notation for numbers of function `format`,
|
1017
944
|
sometimes resulting in needless trailing zeros.
|
1018
|
-
- Fix #1808: methods `.toNumber()` and `.toNumeric()` not working on a
|
945
|
+
- Fix #1808: methods `.toNumber()` and `.toNumeric()` not working on a
|
1019
946
|
unitless unit.
|
1020
947
|
- Fix #1645: not being able to use named operators `mod`, `and`, `not`, `or`,
|
1021
948
|
`xor`, `to`, `in` as object keys. Thanks @Veeloxfire.
|
1022
949
|
- Fix `eigs` not using `config.epsilon`.
|
1023
950
|
|
1024
|
-
|
1025
951
|
# 2020-03-29, version 6.6.2
|
1026
952
|
|
1027
|
-
- Fix #1789: Function `eigs` not calculating with BigNumber precision
|
953
|
+
- Fix #1789: Function `eigs` not calculating with BigNumber precision
|
1028
954
|
when input contains BigNumbers.
|
1029
955
|
- Run the build script during npm `prepare`, so you can use the library
|
1030
956
|
directly when installing directly from git. See #1751. Thanks @cinderblock.
|
1031
957
|
|
1032
|
-
|
1033
958
|
# 2020-02-26, version 6.6.1
|
1034
959
|
|
1035
960
|
- Fix #1725: simplify `a/(b/c)`. Thanks @dbramwell.
|
1036
961
|
- Fix examples in documentation of `row` and `column`.
|
1037
962
|
|
1038
|
-
|
1039
963
|
# 2020-02-01, version 6.6.0
|
1040
964
|
|
1041
965
|
- Implemented function `eigs`, see #1705, #542 #1175. Thanks @arkajitmandal.
|
@@ -1046,32 +970,27 @@ Breaking changes:
|
|
1046
970
|
- Add a caret to dependencies (like) `^1.2.3`) to allow downstream updates
|
1047
971
|
without having to await a new release of mathjs.
|
1048
972
|
|
1049
|
-
|
1050
973
|
# 2020-01-08, version 6.5.0
|
1051
974
|
|
1052
975
|
- Implemented `baseName` option for `createUnit`, see #1707.
|
1053
976
|
Thanks @ericman314.
|
1054
977
|
|
1055
|
-
|
1056
978
|
# 2020-01-06, version 6.4.0
|
1057
979
|
|
1058
980
|
- Extended function `dimension` with support for n-dimensional points.
|
1059
981
|
Thanks @Veeloxfire.
|
1060
982
|
|
1061
|
-
|
1062
983
|
# 2019-12-31, version 6.3.0
|
1063
984
|
|
1064
985
|
- Improved performance of `factorial` for `BigNumber` up to a factor two,
|
1065
986
|
see #1687. Thanks @kmdrGroch.
|
1066
987
|
|
1067
|
-
|
1068
988
|
# 2019-11-20, version 6.2.5
|
1069
989
|
|
1070
990
|
- Fixed `IndexNode` using a hardcoded, one-based implementation of `index`,
|
1071
991
|
making it impossible to instantiate a zero-based version of the expression
|
1072
992
|
parser. See #782.
|
1073
993
|
|
1074
|
-
|
1075
994
|
# 2019-11-20, version 6.2.4
|
1076
995
|
|
1077
996
|
- Fixed #1669: function 'qr' threw an error if the pivot was zero,
|
@@ -1080,7 +999,6 @@ Breaking changes:
|
|
1080
999
|
- Work around a bug in complex.js where `sign(0)` returns complex NaN.
|
1081
1000
|
Thanks @harrysarson.
|
1082
1001
|
|
1083
|
-
|
1084
1002
|
# 2019-10-06, version 6.2.3
|
1085
1003
|
|
1086
1004
|
- Fixed #1640: function `mean` not working for units. Thanks @clintonc.
|
@@ -1088,7 +1006,6 @@ Breaking changes:
|
|
1088
1006
|
embedded docs of function `std`.
|
1089
1007
|
- Improved performance of `isPrime`, see #1641. Thanks @arguiot.
|
1090
1008
|
|
1091
|
-
|
1092
1009
|
# 2019-09-23, version 6.2.2
|
1093
1010
|
|
1094
1011
|
- Fixed methods `map` and `clone` not copying the `dotNotation` property of
|
@@ -1097,12 +1014,10 @@ Breaking changes:
|
|
1097
1014
|
- Fixed #1615: error in the docs of `isNumeric`.
|
1098
1015
|
- Fixed #1628: Cannot call methods on empty strings or numbers with value `0`.
|
1099
1016
|
|
1100
|
-
|
1101
1017
|
# 2019-08-31, version 6.2.1
|
1102
1018
|
|
1103
1019
|
- Fixed #1606: function `format` not working for expressions.
|
1104
1020
|
|
1105
|
-
|
1106
1021
|
# 2019-08-28, version 6.2.0
|
1107
1022
|
|
1108
1023
|
- Improved performance of `combinationsWithRep`. Thanks @waseemyusuf.
|
@@ -1110,18 +1025,15 @@ Breaking changes:
|
|
1110
1025
|
- Fix docs referring to `bit` and `byte` instead of `bits` and `bytes`.
|
1111
1026
|
- Updated dependency `typed-function@1.1.1`.
|
1112
1027
|
|
1113
|
-
|
1114
1028
|
# 2019-08-17, version 6.1.0
|
1115
1029
|
|
1116
1030
|
- Implemented function `combinationsWithRep` (see #1329). Thanks @waseemyusuf.
|
1117
1031
|
|
1118
|
-
|
1119
1032
|
# 2019-08-05, version 6.0.4
|
1120
1033
|
|
1121
1034
|
- Fixed #1554, #1565: ES Modules where not transpiled to ES5, giving issues on
|
1122
1035
|
old browsers. Thanks @mockdeep for helping to find a solution.
|
1123
1036
|
|
1124
|
-
|
1125
1037
|
# 2019-07-07, version 6.0.3
|
1126
1038
|
|
1127
1039
|
- Add `unpkg` and `jsdelivr` fields in package.json pointing to UMD build.
|
@@ -1129,26 +1041,23 @@ Breaking changes:
|
|
1129
1041
|
- Fix #1550: nested user defined function not receiving variables of an
|
1130
1042
|
outer user defined function.
|
1131
1043
|
|
1132
|
-
|
1133
1044
|
# 2019-06-11, version 6.0.2
|
1134
1045
|
|
1135
1046
|
- Fix not being able to set configuration after disabling function `import`
|
1136
1047
|
(regression since v6.0.0).
|
1137
1048
|
|
1138
|
-
|
1139
1049
|
# 2019-06-09, version 6.0.1
|
1140
1050
|
|
1141
1051
|
- Fix function reference not published in npm library.
|
1142
1052
|
- Fix function `evaluate` and `parse` missing in generated docs.
|
1143
1053
|
|
1144
|
-
|
1145
1054
|
# 2019-06-08, version 6.0.0
|
1146
1055
|
|
1147
1056
|
!!! BE CAREFUL: BREAKING CHANGES !!!
|
1148
1057
|
|
1149
1058
|
### Most notable changes
|
1150
1059
|
|
1151
|
-
1.
|
1060
|
+
1. Full support for **ES modules**. Support for tree-shaking out of the box.
|
1152
1061
|
|
1153
1062
|
Load all functions:
|
1154
1063
|
|
@@ -1181,14 +1090,13 @@ Breaking changes:
|
|
1181
1090
|
}, config)
|
1182
1091
|
```
|
1183
1092
|
|
1184
|
-
2.
|
1093
|
+
2. Support for **lightweight, number-only** implementations of all functions:
|
1185
1094
|
|
1186
1095
|
```
|
1187
1096
|
import { add, multiply } from 'mathjs/number'
|
1188
1097
|
```
|
1189
1098
|
|
1190
|
-
3.
|
1191
|
-
|
1099
|
+
3. New **dependency injection** solution used under the hood.
|
1192
1100
|
|
1193
1101
|
### Breaking changes
|
1194
1102
|
|
@@ -1268,32 +1176,27 @@ Breaking changes:
|
|
1268
1176
|
and after that rounded the value instead of the other way around.
|
1269
1177
|
- Fix #1473: remove `'use strict'` in every file, not needed anymore.
|
1270
1178
|
|
1271
|
-
|
1272
1179
|
# 2019-05-18, version 5.10.3
|
1273
1180
|
|
1274
1181
|
- Fixed dependency `del` being a dependency instead of devDependency.
|
1275
1182
|
|
1276
|
-
|
1277
1183
|
# 2019-05-18, version 5.10.2
|
1278
1184
|
|
1279
1185
|
- Fix #1515, #1516, #1517: broken package due to a naming conflict in
|
1280
1186
|
the build folder of a util file `typeOf.js` and `typeof.js`.
|
1281
1187
|
Solved by properly cleaning all build folders before building.
|
1282
1188
|
|
1283
|
-
|
1284
1189
|
# 2019-05-17, version 5.10.1
|
1285
1190
|
|
1286
1191
|
- Fix #1512: format using notation `engineering` can give wrong results
|
1287
1192
|
when the value has less significant digits than the number of digits in
|
1288
1193
|
the output.
|
1289
1194
|
|
1290
|
-
|
1291
1195
|
# 2019-05-08, version 5.10.0
|
1292
1196
|
|
1293
1197
|
- Fix `lib/header.js` not having filled in date and version. Thanks @kevjin.
|
1294
1198
|
- Upgraded dependency `decimal.js@10.2.0`, fixing an issue on node.js 12.
|
1295
1199
|
|
1296
|
-
|
1297
1200
|
# 2019-04-08, version 5.9.0
|
1298
1201
|
|
1299
1202
|
- Implemented functions `row` and `column` (see #1413). Thanks @SzechuanSage.
|
@@ -1302,28 +1205,24 @@ Breaking changes:
|
|
1302
1205
|
- Fixed #1465: `node.toHTML()` not correct for unary operators like
|
1303
1206
|
`factorial`.
|
1304
1207
|
|
1305
|
-
|
1306
1208
|
# 2019-03-20, version 5.8.0
|
1307
1209
|
|
1308
1210
|
- Implemented new function `apply`. Thanks @bnlcas.
|
1309
1211
|
- Implemented passing an optional `dimension` argument to `std` and `var`.
|
1310
1212
|
Thanks @bnlcas.
|
1311
1213
|
|
1312
|
-
|
1313
1214
|
# 2019-03-10, version 5.7.0
|
1314
1215
|
|
1315
1216
|
- Implemented support for `pow()` in `derivative`. Thanks @sam-19.
|
1316
1217
|
- Gracefully handle round-off errors in fix, ceil, floor, and range
|
1317
1218
|
(Fixes #1429, see also #1434, #1432). Thanks @ericman314.
|
1318
1219
|
|
1319
|
-
|
1320
1220
|
# 2019-03-02, version 5.6.0
|
1321
1221
|
|
1322
1222
|
- Upgrade decimal.js to v10.1.1 (#1421).
|
1323
1223
|
- Fixed #1418: missing whitespace when stringifying an expression
|
1324
1224
|
containing "not".
|
1325
1225
|
|
1326
|
-
|
1327
1226
|
# 2019-02-20, version 5.5.0
|
1328
1227
|
|
1329
1228
|
- Fixed #1401: methods `map` and `forEach` of `SparseMatrix` not working
|
@@ -1331,7 +1230,6 @@ Breaking changes:
|
|
1331
1230
|
- Fixed #1404: inconsistent rounding of negative numbers.
|
1332
1231
|
- Upgrade tiny-emitter to v2.1.0 (#1397).
|
1333
1232
|
|
1334
|
-
|
1335
1233
|
# 2019-01-25, version 5.4.2
|
1336
1234
|
|
1337
1235
|
- Fixed `math.format` not working for BigNumbers with a precision above
|
@@ -1340,13 +1238,11 @@ Breaking changes:
|
|
1340
1238
|
- Fixed a bug the methods `map`, `forEach`, `traverse`, and `transform`
|
1341
1239
|
of `FunctionNode`.
|
1342
1240
|
|
1343
|
-
|
1344
1241
|
# 2019-01-10, version 5.4.1
|
1345
1242
|
|
1346
1243
|
- Fix #1378: negative bignumbers not formatted correctly.
|
1347
1244
|
- Upgrade fraction.js to version 4.0.12 (#1369).
|
1348
1245
|
|
1349
|
-
|
1350
1246
|
# 2018-12-09, version 5.4.0
|
1351
1247
|
|
1352
1248
|
- Extended sum.js to accept a dimension input to calculate the sum over a
|
@@ -1355,13 +1251,11 @@ Breaking changes:
|
|
1355
1251
|
- Remove side effects caused by `Unit.format` and `Unit.toString`,
|
1356
1252
|
making changes to the unit on execution. Thanks @ericman314.
|
1357
1253
|
|
1358
|
-
|
1359
1254
|
# 2018-12-03, version 5.3.1
|
1360
1255
|
|
1361
1256
|
- Fixed #1336: Unit.toSI() returning units with prefix like `mm` instead
|
1362
1257
|
of `m`. Thanks @ericman314.
|
1363
1258
|
|
1364
|
-
|
1365
1259
|
# 2018-11-29, version 5.3.0
|
1366
1260
|
|
1367
1261
|
- Implemented function `hasNumericValue`. Thanks @Sathish-kumar-Subramani.
|
@@ -1369,7 +1263,6 @@ Breaking changes:
|
|
1369
1263
|
- Fix #1337: `math.format` not working correctly with `{ precision: 0 }`.
|
1370
1264
|
Thanks @dkenul.
|
1371
1265
|
|
1372
|
-
|
1373
1266
|
# 2018-10-30, version 5.2.3
|
1374
1267
|
|
1375
1268
|
- Fixed #1293: non-unicode characters in `escape-latex` giving issues in some
|
@@ -1378,13 +1271,11 @@ Breaking changes:
|
|
1378
1271
|
- Fixed #1304: function `pow` not supporting inputs `pow(Unit, BigNumber)`.
|
1379
1272
|
- Upgraded dependencies (`escape-latex@1.2.0`)
|
1380
1273
|
|
1381
|
-
|
1382
1274
|
# 2018-10-23, version 5.2.2
|
1383
1275
|
|
1384
1276
|
- Fixed #1286: Fixed unit base recognition and formatting for
|
1385
1277
|
user-defined units. Thanks @ericman314.
|
1386
1278
|
|
1387
|
-
|
1388
1279
|
# 2018-10-18, version 5.2.1
|
1389
1280
|
|
1390
1281
|
- Fixed unit `rod` being defined as `5.02921` instead of `5.0292`.
|
@@ -1393,7 +1284,6 @@ Breaking changes:
|
|
1393
1284
|
- Upgraded devDependencies (`@babel/core@7.1.2`, `nyc@13.1.0`,
|
1394
1285
|
`webpack@4.21.0`).
|
1395
1286
|
|
1396
|
-
|
1397
1287
|
# 2018-10-05, version 5.2.0
|
1398
1288
|
|
1399
1289
|
- Implemented support for chained conditionals like `10 < x <= 50`.
|
@@ -1403,7 +1293,6 @@ Breaking changes:
|
|
1403
1293
|
- Fixed #1240: allow units having just a value and no unit.
|
1404
1294
|
Thanks @ericman314.
|
1405
1295
|
|
1406
|
-
|
1407
1296
|
## 2018-09-09, version 5.1.2
|
1408
1297
|
|
1409
1298
|
- Fixed a typo in the docs of `parse`. Thanks @mathiasvr.
|
@@ -1415,7 +1304,6 @@ Breaking changes:
|
|
1415
1304
|
- Upgraded devDependencies (`babel@7`, `karma-webpack@3.0.4`,
|
1416
1305
|
`nyc@13.0.1`, `standard@12.0.0`, `uglify-js@3.4.9`, `webpack@4.17.2`)
|
1417
1306
|
|
1418
|
-
|
1419
1307
|
## 2018-08-21, version 5.1.1
|
1420
1308
|
|
1421
1309
|
- Function `isNumeric` now recognizes more types.
|
@@ -1426,7 +1314,6 @@ Breaking changes:
|
|
1426
1314
|
- Upgraded dependencies (`escape-latex@1.1.1`)
|
1427
1315
|
- Upgraded devDependencies (`webpack@4.17.0`)
|
1428
1316
|
|
1429
|
-
|
1430
1317
|
## 2018-08-12, version 5.1.0
|
1431
1318
|
|
1432
1319
|
- Implemented support for strings enclosed in single quotes.
|
@@ -1435,7 +1322,6 @@ Breaking changes:
|
|
1435
1322
|
- Implemented new `options` argument in `simplify`. Thanks @paulobuchsbaum.
|
1436
1323
|
- Bug fixes in `rationalize`, see #1173. Thanks @paulobuchsbaum.
|
1437
1324
|
|
1438
|
-
|
1439
1325
|
## 2018-07-22, version 5.0.4
|
1440
1326
|
|
1441
1327
|
- Strongly improved the performance of functions `factorial` for numbers.
|
@@ -1444,7 +1330,6 @@ Breaking changes:
|
|
1444
1330
|
- Strongly improved the performance of function `reshape`, thanks to a
|
1445
1331
|
friend of @honeybar.
|
1446
1332
|
|
1447
|
-
|
1448
1333
|
## 2018-07-14, version 5.0.3
|
1449
1334
|
|
1450
1335
|
- Fixed many functions (for example `add` and `subtract`) not working
|
@@ -1458,7 +1343,6 @@ Breaking changes:
|
|
1458
1343
|
Thanks @harrysarson.
|
1459
1344
|
- Changed `decimal.js` import to ES6. Thanks @weinshel.
|
1460
1345
|
|
1461
|
-
|
1462
1346
|
## 2018-07-07, version 5.0.2
|
1463
1347
|
|
1464
1348
|
- Fixed #1136: rocket trajectory example broken (since v4.0.0).
|
@@ -1472,16 +1356,14 @@ Breaking changes:
|
|
1472
1356
|
Thanks @ChristopherChudzicki.
|
1473
1357
|
- Fixed a broken link in the documentation on units. Thanks @stropitek.
|
1474
1358
|
- Upgraded dependencies (`typed-function@1.0.4`, `complex.js@2.0.11`).
|
1475
|
-
- Upgraded devDependencies (`babel-loader@7.1.5
|
1359
|
+
- Upgraded devDependencies (`babel-loader@7.1.5`, `uglify-js@3.4.3`,
|
1476
1360
|
`expr-eval@1.2.2`, `webpack@4.15.1`).
|
1477
1361
|
|
1478
|
-
|
1479
1362
|
## 2018-07-01, version 5.0.1
|
1480
1363
|
|
1481
1364
|
- Improved error messaging when converting units. Thanks @gap777.
|
1482
1365
|
- Upgraded devDependencies (`kerma`, `uglify-js`, `webpack`).
|
1483
1366
|
|
1484
|
-
|
1485
1367
|
## 2018-06-16, version 5.0.0
|
1486
1368
|
|
1487
1369
|
!!! BE CAREFUL: BREAKING CHANGES !!!
|
@@ -1498,7 +1380,7 @@ Breaking changes:
|
|
1498
1380
|
- Upgraded dependencies:
|
1499
1381
|
- `decimal.js` from `9.0.1` to `10.0.1`
|
1500
1382
|
- Upgraded dev dependencies
|
1501
|
-
- Changed code style to https://standardjs.com
|
1383
|
+
- Changed code style to <https://standardjs.com/>, run linter on `npm test`.
|
1502
1384
|
See #1110.
|
1503
1385
|
- Dropped support for bower. Use npm or an other package manages instead.
|
1504
1386
|
- Dropped support for (non-primitive) instances of `Number`, `Boolean`, and
|
@@ -1509,7 +1391,6 @@ Breaking changes:
|
|
1509
1391
|
- Fixed #1103: Calling `toTex` on node that contains `derivative` causing
|
1510
1392
|
an exception. Thanks @joelhoover.
|
1511
1393
|
|
1512
|
-
|
1513
1394
|
## 2018-06-02, version 4.4.2
|
1514
1395
|
|
1515
1396
|
- Drastically improved the performance of `det`. Thanks @ericman314.
|
@@ -1518,18 +1399,15 @@ Breaking changes:
|
|
1518
1399
|
- Fixed #1122 a regression in function `inv` (since `v4.4.1`).
|
1519
1400
|
Thanks @ericman314.
|
1520
1401
|
|
1521
|
-
|
1522
1402
|
## 2018-05-29, version 4.4.1
|
1523
1403
|
|
1524
1404
|
- Fixed #1109: a bug in `inv` when dealing with values close to zero.
|
1525
1405
|
Thanks @ericman314.
|
1526
1406
|
|
1527
|
-
|
1528
1407
|
## 2018-05-28, version 4.4.0
|
1529
1408
|
|
1530
1409
|
- Implemented functions `equalText` and `compareText`. See #1085.
|
1531
1410
|
|
1532
|
-
|
1533
1411
|
## 2018-05-21, version 4.3.0
|
1534
1412
|
|
1535
1413
|
- Implemented matrix exponential `math.expm`. Thanks @ericman314.
|
@@ -1539,7 +1417,6 @@ Breaking changes:
|
|
1539
1417
|
- `fraction.js` from `v4.0.4` to `v4.0.8`.
|
1540
1418
|
- Upgraded devDependencies (`mocha`, `uglify-js`, `webpack`).
|
1541
1419
|
|
1542
|
-
|
1543
1420
|
## 2018-05-05, version 4.2.2
|
1544
1421
|
|
1545
1422
|
- Fixed calculating the Frobenius norm of complex matrices correctly,
|
@@ -1547,12 +1424,10 @@ Breaking changes:
|
|
1547
1424
|
- Fixed #1076: cannot use mathjs in React VR by updating to
|
1548
1425
|
`escape-latex@1.0.3`.
|
1549
1426
|
|
1550
|
-
|
1551
1427
|
## 2018-05-02, version 4.2.1
|
1552
1428
|
|
1553
1429
|
- Fixed `dist/math.js` being minified.
|
1554
1430
|
|
1555
|
-
|
1556
1431
|
## 2018-05-02, version 4.2.0
|
1557
1432
|
|
1558
1433
|
- Implemented function `math.sqrtm`. Thanks @ferrolho.
|
@@ -1562,7 +1437,6 @@ Breaking changes:
|
|
1562
1437
|
- Upgraded development dependencies.
|
1563
1438
|
- Dropped integration testing on nodejs v4.
|
1564
1439
|
|
1565
|
-
|
1566
1440
|
## 2018-04-18, version 4.1.2
|
1567
1441
|
|
1568
1442
|
- Fixed #1082: implemented support for unit plurals `decades`, `centuries`,
|
@@ -1570,13 +1444,11 @@ Breaking changes:
|
|
1570
1444
|
- Fixed #1083: units `decade` and `watt` having a wrong name when stringifying.
|
1571
1445
|
Thanks @ericman314.
|
1572
1446
|
|
1573
|
-
|
1574
1447
|
## 2018-04-11, version 4.1.1
|
1575
1448
|
|
1576
1449
|
- Fixed #1063: derivative not working when resolving a variable with unary
|
1577
1450
|
minus like `math.derivative('-x', 'x')`.
|
1578
1451
|
|
1579
|
-
|
1580
1452
|
## 2018-04-08, version 4.1.0
|
1581
1453
|
|
1582
1454
|
- Extended function `math.print` with support for arrays and matrices.
|
@@ -1588,13 +1460,11 @@ Breaking changes:
|
|
1588
1460
|
- Fixed #1072: Added support for long and short prefixes for the unit `bar`
|
1589
1461
|
(i.e. `millibar` and `mbar`).
|
1590
1462
|
|
1591
|
-
|
1592
1463
|
## 2018-03-17, version 4.0.1
|
1593
1464
|
|
1594
1465
|
- Fixed #1062: mathjs not working on ES5 browsers like IE11 and Safari 9.3.
|
1595
1466
|
- Fixed #1061: `math.unit` not accepting input like `1/s`.
|
1596
1467
|
|
1597
|
-
|
1598
1468
|
## 2018-02-25, version 4.0.0
|
1599
1469
|
|
1600
1470
|
!!! BE CAREFUL: BREAKING CHANGES !!!
|
@@ -1606,52 +1476,55 @@ Breaking changes (see also #682):
|
|
1606
1476
|
The compiler of the expression parser is replaced with one that doesn't use
|
1607
1477
|
`eval` internally. See #1019. This means:
|
1608
1478
|
|
1609
|
-
|
1610
|
-
|
1611
|
-
|
1479
|
+
- a slightly improved performance on most browsers.
|
1480
|
+
- less risk of security exploits.
|
1481
|
+
- the code of the new compiler is easier to understand, maintain, and debug.
|
1612
1482
|
|
1613
1483
|
Breaking change here: When using custom nodes in the expression parser,
|
1614
1484
|
the syntax of `_compile` has changed. This is an undocumented feature though.
|
1615
1485
|
|
1616
1486
|
- **Parsed expressions**
|
1617
1487
|
|
1618
|
-
|
1488
|
+
- The class `ConstantNode` is changed such that it just holds a value
|
1619
1489
|
instead of holding a stringified value and it's type.
|
1620
1490
|
`ConstantNode(valueStr, valueType`) is now `ConstantNode(value)`
|
1621
1491
|
Stringification uses `math.format`, which may result in differently
|
1622
1492
|
formatted numeric output.
|
1623
1493
|
|
1624
|
-
|
1494
|
+
- The constants `true`, `false`, `null`, `undefined`, `NaN`, `Infinity`,
|
1625
1495
|
and `uninitialized` are now parsed as ConstantNodes instead of
|
1626
1496
|
SymbolNodes in the expression parser. See #833.
|
1627
1497
|
|
1628
1498
|
- **Implicit multiplication**
|
1629
1499
|
|
1630
|
-
|
1500
|
+
- Changed the behavior of implicit multiplication to have higher
|
1631
1501
|
precedence than explicit multiplication and division, except in
|
1632
1502
|
a number of specific cases. This gives a more natural behavior
|
1633
1503
|
for implicit multiplications. For example `24h / 6h` now returns `4`,
|
1634
1504
|
whilst `1/2 kg` evaluates to `0.5 kg`. Thanks @ericman314. See: #792.
|
1635
|
-
Detailed documentation: https://github.com/josdejong/mathjs/blob/v4/docs/expressions/syntax.md#implicit-multiplication
|
1505
|
+
Detailed documentation: <https://github.com/josdejong/mathjs/blob/v4/docs/expressions/syntax.md#implicit-multiplication>.
|
1636
1506
|
|
1637
|
-
|
1507
|
+
- Immediately invoking a function returned by a function like `partialAdd(2)(3)`
|
1638
1508
|
is no longer supported, instead these expressions are evaluated as
|
1639
1509
|
an implicit multiplication `partialAdd(2) * (3)`. See #1035.
|
1640
1510
|
|
1641
1511
|
- **String formatting**
|
1642
1512
|
|
1643
|
-
|
1513
|
+
- In function `math.format`, the options `{exponential: {lower: number, upper: number}}`
|
1644
1514
|
(where `lower` and `upper` are values) are replaced with `{lowerExp: number, upperExp: number}`
|
1645
1515
|
(where `lowerExp` and `upperExp` are exponents). See #676. For example:
|
1516
|
+
|
1646
1517
|
```js
|
1647
1518
|
math.format(2000, {exponential: {lower: 1e-2, upper: 1e2}})
|
1648
1519
|
```
|
1520
|
+
|
1649
1521
|
is now:
|
1522
|
+
|
1650
1523
|
```js
|
1651
1524
|
math.format(2000, {lowerExp: -2, upperExp: 2})
|
1652
1525
|
```
|
1653
1526
|
|
1654
|
-
|
1527
|
+
- In function `math.format`, the option `notation: 'fixed'` no longer rounds to
|
1655
1528
|
zero digits when no precision is specified: it leaves the digits as is.
|
1656
1529
|
See #676.
|
1657
1530
|
|
@@ -1672,17 +1545,17 @@ Breaking changes (see also #682):
|
|
1672
1545
|
|
1673
1546
|
- **Null**
|
1674
1547
|
|
1675
|
-
|
1548
|
+
- `null` is no longer implicitly casted to a number `0`, so input like
|
1676
1549
|
`math.add(2, null)` is no longer supported. See #830, #353.
|
1677
1550
|
|
1678
|
-
|
1551
|
+
- Dropped constant `uninitialized`, which was used to initialize
|
1679
1552
|
leave new entries undefined when resizing a matrix is removed.
|
1680
1553
|
Use `undefined` instead to indicate entries that are not explicitly
|
1681
1554
|
set. See #833.
|
1682
1555
|
|
1683
1556
|
- **New typed-function library**
|
1684
1557
|
|
1685
|
-
|
1558
|
+
- The `typed-function` library used to check the input types
|
1686
1559
|
of functions is completely rewritten and doesn't use `eval` under
|
1687
1560
|
the hood anymore. This means a reduced security risk, and easier
|
1688
1561
|
to debug code. The API is the same, but error messages may differ
|
@@ -1702,7 +1575,6 @@ Non breaking changes:
|
|
1702
1575
|
- Fixed #1014: `derivative` silently dropping additional arguments
|
1703
1576
|
from operator nodes with more than two arguments.
|
1704
1577
|
|
1705
|
-
|
1706
1578
|
## 2018-02-07, version 3.20.2
|
1707
1579
|
|
1708
1580
|
- Upgraded to `typed-function@0.10.7` (bug-fix release).
|
@@ -1711,19 +1583,17 @@ Non breaking changes:
|
|
1711
1583
|
- Fixed #995: spaces and underscores not property being escaped
|
1712
1584
|
in `toTex()`. Thanks @FSMaxB.
|
1713
1585
|
|
1714
|
-
|
1715
1586
|
## 2018-01-17, version 3.20.1
|
1716
1587
|
|
1717
1588
|
- Fixed #1018: `simplifyCore` failing in some cases with parentheses.
|
1718
1589
|
Thanks @firepick1.
|
1719
1590
|
|
1720
|
-
|
1721
1591
|
## 2018-01-14, version 3.20.0
|
1722
1592
|
|
1723
1593
|
- Implement support for 3 or more arguments for operators `+` and `*` in
|
1724
1594
|
`derivative`. Thanks @HarrySarson. See #1002.
|
1725
1595
|
- Fixed `simplify` evalution of `simplify` of functions with more than two
|
1726
|
-
arguments wrongly: `simplify('f(x, y, z)') evaluated to
|
1596
|
+
arguments wrongly: `simplify('f(x, y, z)') evaluated to`f(f(x, y), z)`
|
1727
1597
|
instead of `f(x, y, z)`. Thanks @joelhoover.
|
1728
1598
|
- Fixed `simplify` throwing an error in some cases when simplifying unknown
|
1729
1599
|
functions, for example `simplify('f(4)')`. Thanks @joelhoover.
|
@@ -1731,7 +1601,6 @@ Non breaking changes:
|
|
1731
1601
|
minus, like `0 - -x`. Thanks @joelhoover.
|
1732
1602
|
- Fixed an error in an example in the documentation of `xor`. Thanks @denisx.
|
1733
1603
|
|
1734
|
-
|
1735
1604
|
## 2018-01-06, version 3.19.0
|
1736
1605
|
|
1737
1606
|
- Extended functions `distance` and `intersect` with support for BigNumbers.
|
@@ -1739,22 +1608,22 @@ Non breaking changes:
|
|
1739
1608
|
- Improvements in function `simplify`: added a rule that allows combining
|
1740
1609
|
of like terms in embedded quantities. Thanks @joelhoover.
|
1741
1610
|
|
1742
|
-
|
1743
1611
|
## 2017-12-28, version 3.18.1
|
1744
1612
|
|
1745
1613
|
- Fixed #998: An issue with simplifying an expression containing a subtraction.
|
1746
1614
|
Thanks @firepick1.
|
1747
1615
|
|
1748
|
-
|
1749
1616
|
## 2017-12-16, version 3.18.0
|
1750
1617
|
|
1751
1618
|
- Implemented function `rationalize`. Thanks @paulobuchsbaum.
|
1752
1619
|
- Upgraded dependencies:
|
1620
|
+
|
1753
1621
|
```
|
1754
1622
|
decimal.js 7.2.3 → 9.0.1 (no breaking changes affecting mathjs)
|
1755
1623
|
fraction.js 4.0.2 → 4.0.4
|
1756
1624
|
tiny-emitter 2.0.0 → 2.0.2
|
1757
1625
|
```
|
1626
|
+
|
1758
1627
|
- Upgraded dev dependencies.
|
1759
1628
|
- Fixed #975: a wrong example in the docs of lusolve.
|
1760
1629
|
- Fixed #983: `pickRandom` returning an array instead of single value
|
@@ -1762,7 +1631,6 @@ Non breaking changes:
|
|
1762
1631
|
- Fixed #969: preven issues with yarn autoclean by renaming an
|
1763
1632
|
interally used folder "docs" to "embeddedDocs".
|
1764
1633
|
|
1765
|
-
|
1766
1634
|
## 2017-11-18, version 3.17.0
|
1767
1635
|
|
1768
1636
|
- Improved `simplify` for nested exponentiations. Thanks @IvanVergiliev.
|
@@ -1773,20 +1641,17 @@ Non breaking changes:
|
|
1773
1641
|
replaced by using unicode characters when creating an object. No known exploit,
|
1774
1642
|
but could possibly allow arbitrary code execution. Thanks Masato Kinugawa.
|
1775
1643
|
|
1776
|
-
|
1777
1644
|
## 2017-10-18, version 3.16.5
|
1778
1645
|
|
1779
1646
|
- Fixed #954: Functions `add` and `multiply` not working when
|
1780
1647
|
passing three or more arrays or matrices.
|
1781
1648
|
|
1782
|
-
|
1783
1649
|
## 2017-10-01, version 3.16.4
|
1784
1650
|
|
1785
1651
|
- Fixed #948, #949: function `simplify` returning wrong results or
|
1786
1652
|
running into an infinite recursive loop. Thanks @ericman314.
|
1787
1653
|
- Fixed many small issues in the embedded docs. Thanks @Schnark.
|
1788
1654
|
|
1789
|
-
|
1790
1655
|
## 2017-08-28, version 3.16.3
|
1791
1656
|
|
1792
1657
|
- Fixed #934: Wrong simplification of unary minus. Thanks @firepick1.
|
@@ -1795,7 +1660,6 @@ Non breaking changes:
|
|
1795
1660
|
numbers having just one of their parts (re/im) being `NaN`.
|
1796
1661
|
- Fixed #929: `FibonacciHeap.isEmpty` returning wrong result.
|
1797
1662
|
|
1798
|
-
|
1799
1663
|
## 2017-08-20, version 3.16.2
|
1800
1664
|
|
1801
1665
|
- Fixed #924: a regression in `simplify` not accepting the signature
|
@@ -1803,7 +1667,6 @@ Non breaking changes:
|
|
1803
1667
|
- Fixed missing parenthesis when stringifying expressions containing
|
1804
1668
|
implicit multiplications (see #922). Thanks @FSMaxB.
|
1805
1669
|
|
1806
|
-
|
1807
1670
|
## 2017-08-12, version 3.16.1
|
1808
1671
|
|
1809
1672
|
- For security reasons, type checking is now done in a more strict
|
@@ -1816,7 +1679,6 @@ Non breaking changes:
|
|
1816
1679
|
immediately invoked function assignment not being wrapped in
|
1817
1680
|
parenthesis (for example `(f(x) = x^2)(4)`).
|
1818
1681
|
|
1819
|
-
|
1820
1682
|
## 2017-08-06, version 3.16.0
|
1821
1683
|
|
1822
1684
|
- Significant performance improvements in `math.simplify`.
|
@@ -1826,7 +1688,6 @@ Non breaking changes:
|
|
1826
1688
|
- Fixed #912: math.js didn't work on IE10 anymore (regression
|
1827
1689
|
since 3.15.0).
|
1828
1690
|
|
1829
|
-
|
1830
1691
|
## 2017-07-29, version 3.15.0
|
1831
1692
|
|
1832
1693
|
- Added support for the dollar character `$` in symbol names (see #895).
|
@@ -1841,19 +1702,16 @@ Non breaking changes:
|
|
1841
1702
|
and `forEach`.
|
1842
1703
|
- Index and original array/matrix not passed in `map` and `filter`.
|
1843
1704
|
|
1844
|
-
|
1845
1705
|
## 2017-07-05, version 3.14.2
|
1846
1706
|
|
1847
1707
|
- Upgraded to `fraction.js@4.0.2`
|
1848
1708
|
- Fixed #891 using BigNumbers not working in browser environments.
|
1849
1709
|
|
1850
|
-
|
1851
1710
|
## 2017-06-30, version 3.14.1
|
1852
1711
|
|
1853
1712
|
- Reverted to `fraction.js@4.0.0`, there is an issue with `4.0.1`
|
1854
1713
|
in the browser.
|
1855
1714
|
|
1856
|
-
|
1857
1715
|
## 2017-06-30, version 3.14.0
|
1858
1716
|
|
1859
1717
|
- Implemented set methods `setCartesian`, `setDifference`,
|
@@ -1873,14 +1731,12 @@ Non breaking changes:
|
|
1873
1731
|
- More informative error message when using single quotes instead of
|
1874
1732
|
double quotes around a string. Thanks @HarrySarson.
|
1875
1733
|
|
1876
|
-
|
1877
1734
|
## 2017-05-27, version 3.13.3
|
1878
1735
|
|
1879
1736
|
- Fixed a bug in function `intersection` of line and plane.
|
1880
1737
|
Thanks @viclai.
|
1881
1738
|
- Fixed security vulnerabilities.
|
1882
1739
|
|
1883
|
-
|
1884
1740
|
## 2017-05-26, version 3.13.2
|
1885
1741
|
|
1886
1742
|
- Disabled function `chain` inside the expression parser for security
|
@@ -1889,14 +1745,12 @@ Non breaking changes:
|
|
1889
1745
|
from Arrays correctly. (like `math.eval('arr[1]', {arr: [math.bignumber(2)]})`.
|
1890
1746
|
- Fixed #861: physical constants not available in the expression parser.
|
1891
1747
|
|
1892
|
-
|
1893
1748
|
## 2017-05-12, version 3.13.1
|
1894
1749
|
|
1895
1750
|
- Fixed creating units with an alias not working within the expression
|
1896
1751
|
parser.
|
1897
1752
|
- Fixed security vulnerabilities. Thanks Sam.
|
1898
1753
|
|
1899
|
-
|
1900
1754
|
## 2017-05-12, version 3.13.0
|
1901
1755
|
|
1902
1756
|
- Command line application can now evaluate inline expressions
|
@@ -1909,17 +1763,14 @@ Non breaking changes:
|
|
1909
1763
|
- Fixed #838: Function `simplify` now supports constants like `e`.
|
1910
1764
|
Thanks @tetslee.
|
1911
1765
|
|
1912
|
-
|
1913
1766
|
## 2017-05-05, version 3.12.3
|
1914
1767
|
|
1915
1768
|
- Fixed security vulnerabilities. Thanks Dan and Sam.
|
1916
1769
|
|
1917
|
-
|
1918
1770
|
## 2017-04-30, version 3.12.2
|
1919
1771
|
|
1920
1772
|
- Added a rocket trajectory optimization example.
|
1921
1773
|
|
1922
|
-
|
1923
1774
|
## 2017-04-24, version 3.12.1
|
1924
1775
|
|
1925
1776
|
- Fixed #804
|
@@ -1928,13 +1779,11 @@ Non breaking changes:
|
|
1928
1779
|
- Fixed security vulnerabilities in the expression parser.
|
1929
1780
|
Thanks Sam and Dan.
|
1930
1781
|
|
1931
|
-
|
1932
1782
|
## 2017-04-17, version 3.12.0
|
1933
1783
|
|
1934
1784
|
- Implemented QR decomposition, function `math.qr`. Thanks @HarrySarson.
|
1935
1785
|
- Fixed #824: Calling `math.random()` freezes IE and node.js.
|
1936
1786
|
|
1937
|
-
|
1938
1787
|
## 2017-04-08, version 3.11.5
|
1939
1788
|
|
1940
1789
|
- More security measures in the expression parser.
|
@@ -1944,28 +1793,23 @@ Non breaking changes:
|
|
1944
1793
|
objects, not on classes, arrays, and functions anymore.
|
1945
1794
|
- Accessing methods is restricted to a set of known, safe methods.
|
1946
1795
|
|
1947
|
-
|
1948
1796
|
## 2017-04-03, version 3.11.4
|
1949
1797
|
|
1950
1798
|
- Fixed a security vulnerability in the expression parser. Thanks @xfix.
|
1951
1799
|
|
1952
|
-
|
1953
1800
|
## 2017-04-03, version 3.11.3
|
1954
1801
|
|
1955
1802
|
- Fixed a security vulnerability in the expression parser. Thanks @xfix.
|
1956
1803
|
|
1957
|
-
|
1958
1804
|
## 2017-04-03, version 3.11.2
|
1959
1805
|
|
1960
1806
|
- Fixed a security vulnerability in the expression parser. Thanks @xfix.
|
1961
1807
|
|
1962
|
-
|
1963
1808
|
## 2017-04-02, version 3.11.1
|
1964
1809
|
|
1965
1810
|
- Fixed security vulnerabilities in the expression parser.
|
1966
1811
|
Thanks Joe Vennix and @xfix.
|
1967
1812
|
|
1968
|
-
|
1969
1813
|
## 2017-04-02, version 3.11.0
|
1970
1814
|
|
1971
1815
|
- Implemented method Unit.toSI() to convert a unit to base SI units.
|
@@ -1973,25 +1817,21 @@ Non breaking changes:
|
|
1973
1817
|
- Fixed #821, #822: security vulnerabilities in the expression parser.
|
1974
1818
|
Thanks @comex and @xfix.
|
1975
1819
|
|
1976
|
-
|
1977
1820
|
## 2017-03-31, version 3.10.3
|
1978
1821
|
|
1979
1822
|
- More security fixes related to the ones fixed in `v3.10.2`.
|
1980
1823
|
|
1981
|
-
|
1982
1824
|
## 2017-03-31, version 3.10.2
|
1983
1825
|
|
1984
1826
|
- Fixed a security vulnerability in the expression parser allowing
|
1985
1827
|
execution of arbitrary JavaScript. Thanks @CapacitorSet and @denvit.
|
1986
1828
|
|
1987
|
-
|
1988
1829
|
## 2017-03-26, version 3.10.1
|
1989
1830
|
|
1990
1831
|
- Fixed `xgcd` for negative values. Thanks @litmit.
|
1991
1832
|
- Fixed #807: function transform of existing functions not being removed when
|
1992
1833
|
overriding such a function.
|
1993
1834
|
|
1994
|
-
|
1995
1835
|
## 2017-03-05, version 3.10.0
|
1996
1836
|
|
1997
1837
|
- Implemented function `reshape`. Thanks @patgrasso and @ericman314.
|
@@ -2001,19 +1841,16 @@ Non breaking changes:
|
|
2001
1841
|
- Dropped support for component package manager (which became deprecated about
|
2002
1842
|
one and a half year ago).
|
2003
1843
|
|
2004
|
-
|
2005
1844
|
## 2017-02-22, version 3.9.3
|
2006
1845
|
|
2007
1846
|
- Fixed #797: issue with production builds of React Native projects.
|
2008
1847
|
- Fixed `math.round` not accepting inputs `NaN`, `Infinity`, `-Infinity`.
|
2009
1848
|
- Upgraded all dependencies.
|
2010
1849
|
|
2011
|
-
|
2012
1850
|
## 2017-02-16, version 3.9.2
|
2013
1851
|
|
2014
1852
|
- Fixed #795: Parse error in case of a multi-line expression with just comments.
|
2015
1853
|
|
2016
|
-
|
2017
1854
|
## 2017-02-06, version 3.9.1
|
2018
1855
|
|
2019
1856
|
- Fixed #789: Math.js not supporting conversion of `string` to `BigNumber`,
|
@@ -2022,7 +1859,6 @@ Non breaking changes:
|
|
2022
1859
|
functions via `scope` to functions having `rawArgs = true`.
|
2023
1860
|
- Small fixes in the docs. Thanks @HarrySarson.
|
2024
1861
|
|
2025
|
-
|
2026
1862
|
## 2017-01-23, version 3.9.0
|
2027
1863
|
|
2028
1864
|
- Implemented support for algebra: powerful new functions `simplify` and
|
@@ -2032,14 +1868,12 @@ Non breaking changes:
|
|
2032
1868
|
- Fixed #765: `FunctionAssignmentNode.toString()` returning a string
|
2033
1869
|
incompatible with the function assignment syntax.
|
2034
1870
|
|
2035
|
-
|
2036
1871
|
## 2016-12-15, version 3.8.1
|
2037
1872
|
|
2038
1873
|
- Implemented function `mad` (median absolute deviation). Thanks @ruhleder.
|
2039
1874
|
- Fixed #762: expression parser failing to invoke a function returned
|
2040
1875
|
by a function.
|
2041
1876
|
|
2042
|
-
|
2043
1877
|
## 2016-11-18, version 3.8.0
|
2044
1878
|
|
2045
1879
|
- Functions `add` and `multiply` now accept more than two arguments. See #739.
|
@@ -2054,7 +1888,6 @@ Non breaking changes:
|
|
2054
1888
|
- Fixed #749: Units `rad`, `deg`, and `grad` can now have prefixes like `millirad`.
|
2055
1889
|
- Some fixes in the docs and comments of examples. Thanks @HarrySarson.
|
2056
1890
|
|
2057
|
-
|
2058
1891
|
## 2016-11-05, version 3.7.0
|
2059
1892
|
|
2060
1893
|
- Implemented method `Node.equals(other)` for all nodes of the expression parser.
|
@@ -2063,7 +1896,6 @@ Non breaking changes:
|
|
2063
1896
|
- Implicit conversions between Fractions and BigNumbers throw a neat error now
|
2064
1897
|
(See #710).
|
2065
1898
|
|
2066
|
-
|
2067
1899
|
## 2016-10-21, version 3.6.0
|
2068
1900
|
|
2069
1901
|
- Implemented function `erf()`. THanks @patgrasso.
|
@@ -2077,23 +1909,19 @@ Non breaking changes:
|
|
2077
1909
|
like `-2 2` and `2^3 4` (right after the second value of an operator).
|
2078
1910
|
- Fixed #688: Describe allowed variable names in the docs.
|
2079
1911
|
|
2080
|
-
|
2081
1912
|
## 2016-09-21, version 3.5.3
|
2082
1913
|
|
2083
1914
|
- Some more fixes regarding numbers ending with a decimal mark (like `2.`).
|
2084
1915
|
|
2085
|
-
|
2086
1916
|
## 2016-09-20, version 3.5.2
|
2087
1917
|
|
2088
1918
|
- Fixed numbers ending with a decimal mark (like `2.`) not being supported by
|
2089
1919
|
the parser, solved the underlying ambiguity in the parser. See #707, #711.
|
2090
1920
|
|
2091
|
-
|
2092
1921
|
## 2016-09-12, version 3.5.1
|
2093
1922
|
|
2094
1923
|
- Removed a left over console.log statement. Thanks @eknkc.
|
2095
1924
|
|
2096
|
-
|
2097
1925
|
## 2016-09-07, version 3.5.0
|
2098
1926
|
|
2099
1927
|
- Comments of expressions are are now stored in the parsed nodes. See #690.
|
@@ -2102,20 +1930,17 @@ Non breaking changes:
|
|
2102
1930
|
- Fixed #707: The expression parser no longer accepts numbers ending with a dot
|
2103
1931
|
like `2.`.
|
2104
1932
|
|
2105
|
-
|
2106
1933
|
## 2016-08-08, version 3.4.1
|
2107
1934
|
|
2108
1935
|
- Fixed broken bundle files (`dist/math.js`, `dist/math.min.js`).
|
2109
1936
|
- Fixed some layout issues in the function reference docs.
|
2110
1937
|
|
2111
|
-
|
2112
1938
|
## 2016-08-07, version 3.4.0
|
2113
1939
|
|
2114
1940
|
- Implemented support for custom units using `createUnit`. Thanks @ericman314.
|
2115
1941
|
- Implemented function `splitUnits`. Thanks @ericman314.
|
2116
1942
|
- Implemented function `isPrime`. Thanks @MathBunny.
|
2117
1943
|
|
2118
|
-
|
2119
1944
|
## 2016-07-05, version 3.3.0
|
2120
1945
|
|
2121
1946
|
- Implemented function `isNaN`.
|
@@ -2126,13 +1951,11 @@ Non breaking changes:
|
|
2126
1951
|
- Fixed #665: functions `map`, `forEach`, and `filter` now invoke callbacks
|
2127
1952
|
which are a typed-function with the correct number of arguments.
|
2128
1953
|
|
2129
|
-
|
2130
1954
|
## 2016-04-26, version 3.2.1
|
2131
1955
|
|
2132
1956
|
- Fixed #651: unable to perform calculations on "Unit-less" units.
|
2133
1957
|
- Fixed matrix.subset mutating the replacement matrix when unsqueezing it.
|
2134
1958
|
|
2135
|
-
|
2136
1959
|
## 2016-04-16, version 3.2.0
|
2137
1960
|
|
2138
1961
|
- Implemented #644: method `Parser.getAll()` to retrieve all defined variables.
|
@@ -2146,7 +1969,6 @@ Non breaking changes:
|
|
2146
1969
|
- Fixed #645: Added documentation about `engineering` notation of function
|
2147
1970
|
`math.format`.
|
2148
1971
|
|
2149
|
-
|
2150
1972
|
## 2016-04-03, version 3.1.4
|
2151
1973
|
|
2152
1974
|
- Using ES6 Math functions like `Math.sinh`, `Math.cbrt`, `Math.sign`, etc when
|
@@ -2160,17 +1982,14 @@ Non breaking changes:
|
|
2160
1982
|
- Fixed #625: Unit `in` (`inch`) not always working due to ambiguity with
|
2161
1983
|
the operator `a in b` (alias of `a to b`).
|
2162
1984
|
|
2163
|
-
|
2164
1985
|
## 2016-03-24, version 3.1.3
|
2165
1986
|
|
2166
1987
|
- Fix broken bundle.
|
2167
1988
|
|
2168
|
-
|
2169
1989
|
## 2016-03-24, version 3.1.2
|
2170
1990
|
|
2171
1991
|
- Fix broken npm release.
|
2172
1992
|
|
2173
|
-
|
2174
1993
|
## 2016-03-24, version 3.1.1
|
2175
1994
|
|
2176
1995
|
- Fixed #621: a bug in parsing implicit multiplications like `(2)(3)+4`.
|
@@ -2179,7 +1998,6 @@ Non breaking changes:
|
|
2179
1998
|
- Throw an error when functions `min`, `max`, `mean`, or `median` are invoked
|
2180
1999
|
with multiple matrices as arguments (see #598).
|
2181
2000
|
|
2182
|
-
|
2183
2001
|
## 2016-03-19, version 3.1.0
|
2184
2002
|
|
2185
2003
|
- Hide multiplication operator by default when outputting `toTex` and `toString`
|
@@ -2191,7 +2009,6 @@ Non breaking changes:
|
|
2191
2009
|
- Added automatic conversions from `boolean` and `null` to `Fraction`,
|
2192
2010
|
and conversions from `Fraction` to `Complex`.
|
2193
2011
|
|
2194
|
-
|
2195
2012
|
## 2016-03-04, version 3.0.0
|
2196
2013
|
|
2197
2014
|
### breaking changes
|
@@ -2254,7 +2071,6 @@ Non breaking changes:
|
|
2254
2071
|
- Fixed angle units `deg`, `rad`, `grad`, `cycle`, `arcsec`, and `arcmin` not
|
2255
2072
|
being defined as BigNumbers when configuring to use BigNumbers.
|
2256
2073
|
|
2257
|
-
|
2258
2074
|
## 2016-02-03, version 2.7.0
|
2259
2075
|
|
2260
2076
|
- Added more unit aliases for time: `secs`, `mins`, `hr`, `hrs`. See #551.
|
@@ -2263,7 +2079,6 @@ Non breaking changes:
|
|
2263
2079
|
- Fixed #546: Cannot import BigNumber, Fraction, Matrix, Array.
|
2264
2080
|
Thanks @brettjurgens.
|
2265
2081
|
|
2266
|
-
|
2267
2082
|
## 2016-01-08, version 2.6.0
|
2268
2083
|
|
2269
2084
|
- Implemented (complex) units `VA` and `VAR`.
|
@@ -2275,7 +2090,6 @@ Non breaking changes:
|
|
2275
2090
|
of the correct subset.
|
2276
2091
|
- Fixed #536: A bug in an internal method used for sparse matrices.
|
2277
2092
|
|
2278
|
-
|
2279
2093
|
## 2015-12-05, version 2.5.0
|
2280
2094
|
|
2281
2095
|
- Implemented support for numeric types `Fraction` and `BigNumber` in units.
|
@@ -2287,14 +2101,12 @@ Non breaking changes:
|
|
2287
2101
|
function definition.
|
2288
2102
|
- Fixed: Function `number` didn't support `Fraction` as input.
|
2289
2103
|
|
2290
|
-
|
2291
2104
|
## 2015-11-14, version 2.4.2
|
2292
2105
|
|
2293
2106
|
- Fixed #502: Issue with `format` in some JavaScript engines.
|
2294
2107
|
- Fixed #503: Removed trailing commas and the use of keyword `import` as
|
2295
2108
|
property, as this gives issues with old JavaScript engines.
|
2296
2109
|
|
2297
|
-
|
2298
2110
|
## 2015-10-29, version 2.4.1
|
2299
2111
|
|
2300
2112
|
- Fixed #480: `nthRoot` not working on Internet Explorer (up to IE11).
|
@@ -2311,7 +2123,6 @@ Non breaking changes:
|
|
2311
2123
|
- Fixed: removed memoization from `gamma` and `factorial` functions, this
|
2312
2124
|
could blow up memory.
|
2313
2125
|
|
2314
|
-
|
2315
2126
|
## 2015-10-09, version 2.4.0
|
2316
2127
|
|
2317
2128
|
- Added support in the expression parser for mathematical alphanumeric symbols
|
@@ -2322,7 +2133,6 @@ Non breaking changes:
|
|
2322
2133
|
BigNumber integer values around multiples of tau (i.e. `sin(bignumber(7))`).
|
2323
2134
|
- Fixed value of unit `stone`. Thanks @Esvandiary for finding the error.
|
2324
2135
|
|
2325
|
-
|
2326
2136
|
## 2015-09-19, version 2.3.0
|
2327
2137
|
|
2328
2138
|
- Implemented function `distance`. Thanks @devanp92.
|
@@ -2334,7 +2144,6 @@ Non breaking changes:
|
|
2334
2144
|
- Fixed #463, #322: inconsistent handling of implicit multiplication.
|
2335
2145
|
- Fixed #444: factorial of infinity not returning infinity.
|
2336
2146
|
|
2337
|
-
|
2338
2147
|
## 2015-08-30, version 2.2.0
|
2339
2148
|
|
2340
2149
|
- Units with powers (like `m^2` and `s^-1`) now output with the best prefix.
|
@@ -2346,13 +2155,11 @@ Non breaking changes:
|
|
2346
2155
|
- Fixed function `to` not working in case of a simplified unit.
|
2347
2156
|
- Fixed #437: an issue with row swapping in `lup`, also affecting `lusolve`.
|
2348
2157
|
|
2349
|
-
|
2350
2158
|
## 2015-08-12, version 2.1.1
|
2351
2159
|
|
2352
2160
|
- Fixed wrong values of the physical constants `speedOfLight`, `molarMassC12`,
|
2353
2161
|
and `magneticFluxQuantum`. Thanks @ericman314 for finding two of them.
|
2354
2162
|
|
2355
|
-
|
2356
2163
|
## 2015-08-11, version 2.1.0
|
2357
2164
|
|
2358
2165
|
- Implemented derived units (like `110 km/h in m/s`). Thanks @ericman314.
|
@@ -2366,13 +2173,11 @@ Non breaking changes:
|
|
2366
2173
|
- Internal functions `Unit.parse` and `Complex.parse` now throw an Error
|
2367
2174
|
instead of returning null when passing invalid input.
|
2368
2175
|
|
2369
|
-
|
2370
2176
|
## 2015-07-29, version 2.0.1
|
2371
2177
|
|
2372
2178
|
- Fixed operations with mixed fractions and numbers be converted to numbers
|
2373
2179
|
instead of fractions.
|
2374
2180
|
|
2375
|
-
|
2376
2181
|
## 2015-07-28, version 2.0.0
|
2377
2182
|
|
2378
2183
|
- Large internal refactoring:
|
@@ -2412,7 +2217,6 @@ Non breaking changes:
|
|
2412
2217
|
- The size of Arrays is no longer validated. Matrices will validate this on
|
2413
2218
|
creation.
|
2414
2219
|
|
2415
|
-
|
2416
2220
|
## 2015-07-12, version 1.7.1
|
2417
2221
|
|
2418
2222
|
- Fixed #397: Inaccuracies in nthRoot for very large values, and wrong results
|
@@ -2420,7 +2224,6 @@ Non breaking changes:
|
|
2420
2224
|
- Fixed #405: Parser throws error when defining a function in a multiline
|
2421
2225
|
expression.
|
2422
2226
|
|
2423
|
-
|
2424
2227
|
## 2015-05-31, version 1.7.0
|
2425
2228
|
|
2426
2229
|
- Implemented function `quantileSeq` and `partitionSelect`. Thanks @BigFav.
|
@@ -2435,14 +2238,12 @@ Non breaking changes:
|
|
2435
2238
|
node tree (see #349).
|
2436
2239
|
- Fixed #381: issue in docs of `randomInt`.
|
2437
2240
|
|
2438
|
-
|
2439
2241
|
## 2015-04-22, version 1.6.0
|
2440
2242
|
|
2441
2243
|
- Improvements in `toTex`. Thanks @FSMaxB.
|
2442
2244
|
- Fixed #328: `abs(0 + 0i)` evaluated to `NaN`.
|
2443
2245
|
- Fixed not being able to override lazy loaded constants.
|
2444
2246
|
|
2445
|
-
|
2446
2247
|
## 2015-04-09, version 1.5.2
|
2447
2248
|
|
2448
2249
|
- Fixed #313: parsed functions did not handle recursive calls correctly.
|
@@ -2450,13 +2251,11 @@ Non breaking changes:
|
|
2450
2251
|
following SI standards (`1 KiB == 1024 B`, `1 kB == 1000 B`).
|
2451
2252
|
- Performance improvements in parsed functions.
|
2452
2253
|
|
2453
|
-
|
2454
2254
|
## 2015-04-08, version 1.5.1
|
2455
2255
|
|
2456
2256
|
- Fixed #316: a bug in rounding values when formatting.
|
2457
2257
|
- Fixed #317, #319: a bug in formatting negative values.
|
2458
2258
|
|
2459
|
-
|
2460
2259
|
## 2015-03-28, version 1.5.0
|
2461
2260
|
|
2462
2261
|
- Added unit `stone` (6.35 kg).
|
@@ -2468,7 +2267,6 @@ Non breaking changes:
|
|
2468
2267
|
- Fixed #291: function `format` sometimes returning exponential notation when
|
2469
2268
|
it should return a fixed notation.
|
2470
2269
|
|
2471
|
-
|
2472
2270
|
## 2015-02-28, version 1.4.0
|
2473
2271
|
|
2474
2272
|
- Implemented trigonometric functions:
|
@@ -2483,7 +2281,6 @@ Non breaking changes:
|
|
2483
2281
|
- Fixed #281: improved formatting complex numbers. Round the real or imaginary
|
2484
2282
|
part to zero when the difference is larger than the configured precision.
|
2485
2283
|
|
2486
|
-
|
2487
2284
|
## 2015-02-09, version 1.3.0
|
2488
2285
|
|
2489
2286
|
- Implemented BigNumber implementations of most trigonometric functions: `sin`,
|
@@ -2497,7 +2294,6 @@ Non breaking changes:
|
|
2497
2294
|
`permutations`.
|
2498
2295
|
- Some minor fixes in the docs. Thanks @KenanY.
|
2499
2296
|
|
2500
|
-
|
2501
2297
|
## 2014-12-25, version 1.2.0
|
2502
2298
|
|
2503
2299
|
- Support for bitwise operations `bitAnd`, `bitNot`, `bitOr`, `bitXor`,
|
@@ -2511,14 +2307,12 @@ Non breaking changes:
|
|
2511
2307
|
functional until math.js v2.0.
|
2512
2308
|
- Upgraded to decimal.js v4.0.1 (BigNumber library).
|
2513
2309
|
|
2514
|
-
|
2515
2310
|
## 2014-11-22, version 1.1.1
|
2516
2311
|
|
2517
2312
|
- Fixed Unit divided by Number returning zero.
|
2518
2313
|
- Fixed BigNumber downgrading to Number for a negative base in `pow`.
|
2519
2314
|
- Fixed some typos in error messaging (thanks @andy0130tw) and docs.
|
2520
2315
|
|
2521
|
-
|
2522
2316
|
## 2014-11-15, version 1.1.0
|
2523
2317
|
|
2524
2318
|
- Implemented functions `dot` (dot product), `cross` (cross product), and
|
@@ -2539,7 +2333,6 @@ Non breaking changes:
|
|
2539
2333
|
of via a function `add`.
|
2540
2334
|
- Fixed `2e` giving a syntax error instead of being parsed as `2 * e`.
|
2541
2335
|
|
2542
|
-
|
2543
2336
|
## 2014-09-12, version 1.0.1
|
2544
2337
|
|
2545
2338
|
- Disabled array notation for ranges in a matrix index in the expression parser
|
@@ -2548,7 +2341,6 @@ Non breaking changes:
|
|
2548
2341
|
a scalar.
|
2549
2342
|
- Fixed some missing docs and broken links in the docs.
|
2550
2343
|
|
2551
|
-
|
2552
2344
|
## 2014-09-04, version 1.0.0
|
2553
2345
|
|
2554
2346
|
- Implemented a function `filter(x, test)`.
|
@@ -2558,7 +2350,6 @@ Non breaking changes:
|
|
2558
2350
|
- Fixed an zero-based issue when getting a matrix subset using an index
|
2559
2351
|
containing a matrix.
|
2560
2352
|
|
2561
|
-
|
2562
2353
|
## 2014-08-21, version 0.27.0
|
2563
2354
|
|
2564
2355
|
- Implemented functions `sort(x [, compare])` and `flatten(x)`.
|
@@ -2577,7 +2368,6 @@ Non breaking changes:
|
|
2577
2368
|
- A returned matrix subset is now only squeezed when the `index` consists of
|
2578
2369
|
scalar values, and no longer for ranges resolving into a single value.
|
2579
2370
|
|
2580
|
-
|
2581
2371
|
## 2014-08-03, version 0.26.0
|
2582
2372
|
|
2583
2373
|
- A new instance of math.js can no longer be created like `math([options])`,
|
@@ -2607,7 +2397,6 @@ Non breaking changes:
|
|
2607
2397
|
- Fixed broken auto completion in CLI.
|
2608
2398
|
- Some minor fixes.
|
2609
2399
|
|
2610
|
-
|
2611
2400
|
## 2014-07-01, version 0.25.0
|
2612
2401
|
|
2613
2402
|
- The library now immediately returns a default instance of mathjs, there is
|
@@ -2630,12 +2419,10 @@ Non breaking changes:
|
|
2630
2419
|
like `math.eval('10 * celsius')`.
|
2631
2420
|
- Fixed a bug with symbols having value `undefined` not being evaluated.
|
2632
2421
|
|
2633
|
-
|
2634
2422
|
## 2014-06-20, version 0.24.1
|
2635
2423
|
|
2636
2424
|
- Something went wrong with publishing on npm.
|
2637
2425
|
|
2638
|
-
|
2639
2426
|
## 2014-06-20, version 0.24.0
|
2640
2427
|
|
2641
2428
|
- Added constant `null`.
|
@@ -2649,7 +2436,6 @@ Non breaking changes:
|
|
2649
2436
|
- Fixed imported, wrapped functions not accepting `null` and `undefined` as
|
2650
2437
|
function arguments.
|
2651
2438
|
|
2652
|
-
|
2653
2439
|
## 2014-06-10, version 0.23.0
|
2654
2440
|
|
2655
2441
|
- Renamed some functions (everything now has a logical, camel case name):
|
@@ -2681,7 +2467,6 @@ Non breaking changes:
|
|
2681
2467
|
return ans;
|
2682
2468
|
}
|
2683
2469
|
|
2684
|
-
|
2685
2470
|
## 2014-05-22, version 0.22.0
|
2686
2471
|
|
2687
2472
|
- Implemented support to export expressions to LaTeX. Thanks Niels Heisterkamp
|
@@ -2694,7 +2479,6 @@ Non breaking changes:
|
|
2694
2479
|
- Fixed random functions not accepting Matrix as input, and always returning
|
2695
2480
|
a Matrix as output.
|
2696
2481
|
|
2697
|
-
|
2698
2482
|
## 2014-05-13, version 0.21.1
|
2699
2483
|
|
2700
2484
|
- Removed `crypto` library from the bundle.
|
@@ -2704,7 +2488,6 @@ Non breaking changes:
|
|
2704
2488
|
- Fixed parser not being able to evaluate an exponent followed by a unary minus
|
2705
2489
|
like `2^-3`, and a transpose followed by an index like `[3]'[1]`.
|
2706
2490
|
|
2707
|
-
|
2708
2491
|
## 2014-04-24, version 0.21.0
|
2709
2492
|
|
2710
2493
|
- Implemented trigonometric hyperbolic functions `cosh`, `coth`, `csch`,
|
@@ -2713,7 +2496,6 @@ Non breaking changes:
|
|
2713
2496
|
- Fixed functions `log`, `log10`, `pow`, and `sqrt` not supporting complex
|
2714
2497
|
results from BigNumber input (like `sqrt(bignumber(-4))`).
|
2715
2498
|
|
2716
|
-
|
2717
2499
|
## 2014-04-16, version 0.20.0
|
2718
2500
|
|
2719
2501
|
- Switched to module `decimal.js` for BigNumber support, instead of
|
@@ -2737,14 +2519,12 @@ Non breaking changes:
|
|
2737
2519
|
of zero-based.
|
2738
2520
|
- Minor bug fixes.
|
2739
2521
|
|
2740
|
-
|
2741
2522
|
## 2014-03-30, version 0.19.0
|
2742
2523
|
|
2743
2524
|
- Implemented functions `compare`, `sum`, `prod`, `var`, `std`, `median`.
|
2744
2525
|
- Implemented function `ifElse` Thanks @mtraynham.
|
2745
2526
|
- Minor bug fixes.
|
2746
2527
|
|
2747
|
-
|
2748
2528
|
## 2014-02-15, version 0.18.1
|
2749
2529
|
|
2750
2530
|
- Added unit `feet`.
|
@@ -2754,7 +2534,6 @@ Non breaking changes:
|
|
2754
2534
|
- Fixed an error in function `combinations` for large numbers, and
|
2755
2535
|
improved performance of both functions `combinations` and `permutations`.
|
2756
2536
|
|
2757
|
-
|
2758
2537
|
## 2014-01-18, version 0.18.0
|
2759
2538
|
|
2760
2539
|
- Changed matrix index notation of expression parser from round brackets to
|
@@ -2773,13 +2552,11 @@ Non breaking changes:
|
|
2773
2552
|
Thanks Daniel Levin (@daniel-levin).
|
2774
2553
|
- Added lower case abbreviation `l` for unit litre.
|
2775
2554
|
|
2776
|
-
|
2777
2555
|
## 2013-12-19, version 0.17.1
|
2778
2556
|
|
2779
2557
|
- Fixed a bug with negative temperatures.
|
2780
2558
|
- Fixed a bug with prefixes of units squared meter `m2` and cubic meter `m3`.
|
2781
2559
|
|
2782
|
-
|
2783
2560
|
## 2013-12-12, version 0.17.0
|
2784
2561
|
|
2785
2562
|
- Renamed and flattened configuration settings:
|
@@ -2791,7 +2568,6 @@ Non breaking changes:
|
|
2791
2568
|
- Fixed support for old browsers (IE8 and older), compatible when using es5-shim.
|
2792
2569
|
- Fixed support for Java's ScriptEngine.
|
2793
2570
|
|
2794
|
-
|
2795
2571
|
## 2013-11-28, version 0.16.0
|
2796
2572
|
|
2797
2573
|
- Implemented BigNumber support for arbitrary precision calculations.
|
@@ -2823,7 +2599,6 @@ Non breaking changes:
|
|
2823
2599
|
input.
|
2824
2600
|
- Minor bug fixes.
|
2825
2601
|
|
2826
|
-
|
2827
2602
|
## 2013-10-26, version 0.15.0
|
2828
2603
|
|
2829
2604
|
- Math.js must be instantiated now, static calls are no longer supported. Usage:
|
@@ -2855,7 +2630,6 @@ Non breaking changes:
|
|
2855
2630
|
- Removed support for comparing complex numbers in functions `smaller`,
|
2856
2631
|
`smallereq`, `larger`, `largereq`. Complex numbers cannot be ordered.
|
2857
2632
|
|
2858
|
-
|
2859
2633
|
## 2013-10-08, version 0.14.0
|
2860
2634
|
|
2861
2635
|
- Introduced an option `math.options.matrix.default` which can have values
|
@@ -2872,7 +2646,6 @@ Non breaking changes:
|
|
2872
2646
|
- Documentation is restructured and extended.
|
2873
2647
|
- Fixed non working operator `mod` (modulus operator).
|
2874
2648
|
|
2875
|
-
|
2876
2649
|
## 2013-09-03, version 0.13.0
|
2877
2650
|
|
2878
2651
|
- Implemented support for booleans in all relevant functions.
|
@@ -2895,13 +2668,11 @@ Non breaking changes:
|
|
2895
2668
|
- Moved `math.expr.Selector` to `math.chaining.Selector`.
|
2896
2669
|
- Fixed some edge cases in functions `lcm` and `xgcd`.
|
2897
2670
|
|
2898
|
-
|
2899
2671
|
## 2013-08-22, version 0.12.1
|
2900
2672
|
|
2901
2673
|
- Fixed outdated version of README.md.
|
2902
2674
|
- Fixed a broken unit test.
|
2903
2675
|
|
2904
|
-
|
2905
2676
|
## 2013-08-22, version 0.12.0
|
2906
2677
|
|
2907
2678
|
- Implemented functions `random([min, max])`, `randomInt([min, max])`,
|
@@ -2925,12 +2696,10 @@ Non breaking changes:
|
|
2925
2696
|
value with an imaginary part equal to zero to a number.
|
2926
2697
|
- Fixed zeros being formatted as null. Thanks @TimKraft.
|
2927
2698
|
|
2928
|
-
|
2929
2699
|
## 2013-07-23, version 0.11.1
|
2930
2700
|
|
2931
2701
|
- Fixed missing development dependency
|
2932
2702
|
|
2933
|
-
|
2934
2703
|
## 2013-07-23, version 0.11.0
|
2935
2704
|
|
2936
2705
|
- Changed math.js from one-based to zero-based indexes.
|
@@ -2945,7 +2714,6 @@ Non breaking changes:
|
|
2945
2714
|
- Fixed not accepting empty matrices like `[[], []]`.
|
2946
2715
|
- Some fixes in the end user documentation.
|
2947
2716
|
|
2948
|
-
|
2949
2717
|
## 2013-07-08, version 0.10.0
|
2950
2718
|
|
2951
2719
|
- For complex calculations, all functions now automatically replace results
|
@@ -2960,7 +2728,6 @@ Non breaking changes:
|
|
2960
2728
|
- Renamed function `unaryminus` to `unary`.
|
2961
2729
|
- Fixed a bug in determining node dependencies in function assignments.
|
2962
2730
|
|
2963
|
-
|
2964
2731
|
## 2013-06-14, version 0.9.1
|
2965
2732
|
|
2966
2733
|
- Implemented element-wise functions and operators: `emultiply` (`x .* y`),
|
@@ -2972,7 +2739,6 @@ Non breaking changes:
|
|
2972
2739
|
- Fixed a bug in function multiply multiplying a pure complex value with
|
2973
2740
|
Infinity.
|
2974
2741
|
|
2975
|
-
|
2976
2742
|
## 2013-05-29, version 0.9.0
|
2977
2743
|
|
2978
2744
|
- Implemented function `math.parse(expr [,scope])`. Optional parameter scope can
|
@@ -2990,7 +2756,6 @@ Non breaking changes:
|
|
2990
2756
|
- Fixed function mod for negative numerators, and added error messages in case
|
2991
2757
|
of wrong input.
|
2992
2758
|
|
2993
|
-
|
2994
2759
|
## 2013-05-18, version 0.8.2
|
2995
2760
|
|
2996
2761
|
- Extended the import function and some other minor improvements.
|
@@ -2998,12 +2763,10 @@ Non breaking changes:
|
|
2998
2763
|
- Fixed a bug in function subtract, when subtracting a complex number from a
|
2999
2764
|
real number.
|
3000
2765
|
|
3001
|
-
|
3002
2766
|
## 2013-05-10, version 0.8.1
|
3003
2767
|
|
3004
2768
|
- Fixed an npm warning when installing mathjs globally.
|
3005
2769
|
|
3006
|
-
|
3007
2770
|
## 2013-05-10, version 0.8.0
|
3008
2771
|
|
3009
2772
|
- Implemented a command line interface. When math.js is installed globally via
|
@@ -3019,13 +2782,11 @@ Non breaking changes:
|
|
3019
2782
|
- Fixed a bug in updating a subset of a non-existing variable.
|
3020
2783
|
- Minor bug fixes.
|
3021
2784
|
|
3022
|
-
|
3023
2785
|
## 2013-05-04, version 0.7.2
|
3024
2786
|
|
3025
2787
|
- Fixed method unequal, which was checking for equality instead of inequality.
|
3026
2788
|
Thanks @FJS2.
|
3027
2789
|
|
3028
|
-
|
3029
2790
|
## 2013-04-27, version 0.7.1
|
3030
2791
|
|
3031
2792
|
- Improvements in the parser:
|
@@ -3041,7 +2802,6 @@ Non breaking changes:
|
|
3041
2802
|
- Fixed a bug in Workspace.insertAfter.
|
3042
2803
|
- Fixed: math.js now works on IE 6-8 too.
|
3043
2804
|
|
3044
|
-
|
3045
2805
|
## 2013-04-20, version 0.7.0
|
3046
2806
|
|
3047
2807
|
- Implemented method `math.eval`, which uses a readonly parser to evaluate
|
@@ -3058,7 +2818,6 @@ Non breaking changes:
|
|
3058
2818
|
- Fixed method math.typeof on IE.
|
3059
2819
|
- Minor bug fixes and improvements.
|
3060
2820
|
|
3061
|
-
|
3062
2821
|
## 2013-04-13, version 0.6.0
|
3063
2822
|
|
3064
2823
|
- Implemented chained operations via method math.select(). For example
|
@@ -3080,7 +2839,6 @@ Non breaking changes:
|
|
3080
2839
|
- Fixed constant i being defined as -1i instead of 1i.
|
3081
2840
|
- Minor bug fixes.
|
3082
2841
|
|
3083
|
-
|
3084
2842
|
## 2013-04-06, version 0.5.0
|
3085
2843
|
|
3086
2844
|
- Implemented data types Matrix and Range.
|
@@ -3101,7 +2859,6 @@ Non breaking changes:
|
|
3101
2859
|
- Changed: renamed the parsers method 'put' into 'set'.
|
3102
2860
|
- Fixed: method 'in' did not check for units to have the same base.
|
3103
2861
|
|
3104
|
-
|
3105
2862
|
## 2013-03-16, version 0.4.0
|
3106
2863
|
|
3107
2864
|
- Implemented Array support for all methods.
|
@@ -3114,14 +2871,12 @@ Non breaking changes:
|
|
3114
2871
|
- Fixed: method 'typeof' was not working well with minified and mangled code.
|
3115
2872
|
- Fixed: errors in determining the best prefix for a unit.
|
3116
2873
|
|
3117
|
-
|
3118
2874
|
## 2013-03-09, version 0.3.0
|
3119
2875
|
|
3120
2876
|
- Implemented Workspace
|
3121
2877
|
- Implemented methods cot, csc, sec.
|
3122
2878
|
- Implemented Array support for methods with one parameter.
|
3123
2879
|
|
3124
|
-
|
3125
2880
|
## 2013-02-25, version 0.2.0
|
3126
2881
|
|
3127
2882
|
- Parser, Scope, and expression tree with Nodes implemented.
|
@@ -3129,21 +2884,18 @@ Non breaking changes:
|
|
3129
2884
|
- Implemented methods arg, conj, cube, equal, factorial, im, largereq,
|
3130
2885
|
log(x, base), log10, mod, re, sign, smallereq, square, unequal.
|
3131
2886
|
|
3132
|
-
|
3133
2887
|
## 2013-02-18, version 0.1.0
|
3134
2888
|
|
3135
2889
|
- Reached full compatibility with Javascripts built-in Math library.
|
3136
2890
|
- More functions implemented.
|
3137
2891
|
- Some bugfixes.
|
3138
2892
|
|
3139
|
-
|
3140
2893
|
## 2013-02-16, version 0.0.2
|
3141
2894
|
|
3142
2895
|
- All constants of Math implemented, plus the imaginary unit i.
|
3143
2896
|
- Data types Complex and Unit implemented.
|
3144
2897
|
- First set of functions implemented.
|
3145
2898
|
|
3146
|
-
|
3147
2899
|
## 2013-02-15, version 0.0.1
|
3148
2900
|
|
3149
2901
|
- First publish of the mathjs package. (package is still empty)
|