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