All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
2.6.0 - 2024-07-31
- Add parser support for implicit multiplication (thanks juca1331)
- Drop support for Dart SDK versions below 3.1.0
2.5.0 - 2024-04-16
- Add support for parsing variables containing digits (thanks alexander-zubkov)
- Drop support for Dart SDK versions below 3.0.0
- Refactor unit test suites and improve test coverage
- Switch from pedantic to the official Dart lint rules
2.4.0 - 2023-04-05
- Add UnaryPlus operator (thanks jpnurmi)
- Improve evaluation of unary minus as an exponent of a power (thanks edhom)
- Use markdown LaTeX instead of images in README (thanks dvirberlo)
2.3.1 - 2022-05-30
- Evaluate roots written as powers correctly for negative bases (thanks edhom)
2.3.0 - 2021-12-21
- Add factorial function (thanks Just-Learned-It)
- Switch from Travis CI to GitHub Actions
- Adopt Keep a Changelog format
- Add algorithmic function that is bound to a Dart handler function, including parser support (thanks kamimark)
- Fix inaccuracies in sin/cos/tan when using math.pi (machine pi) (thanks mbullington)
- Bumped to stable release.
- Drop support for Dart SDK versions below 2.12.0
- Migrate to null safety (thanks albertodev01)
- Lower precedence of unary minus below power operator to match common
mathematics conventions so that
-x^y
is parsed as-(x^y)
instead of(-x)^y
- Add ability to unbind variable names (by wdavies973)
- Fix parsing of
ceil
function (by pepsin)
- Drop support for Dart SDK versions below 2.1.1
- Enable
unnecessary_new
lint rule - Parser throws
FormatException
instead ofStateError
orArgumentError
for invalid input string - Remove underscore syntax previously supported for unary minus
- Fix toString() parser compatibility for the following expressions:
- Logarithm function: Change string representation from
log_b(x)
tolog(b, x)
- N-th root function: Change string representation from
nrt_n(x)
tonrt(n, x)
- Exponential function: Change string representation from
exp(x)
toe(x)
- Logarithm function: Change string representation from
- Package health and maintenance cleanups
- Drop support for Dart SDK versions below 2.0.0
- Add arcsin, arccos, arctan functions
- Fix floor and ceil functions
- Update examples and documentation
- Switch to pedantic analysis options
- Add support for Dart 2.0
- Drop support for Dart SDK versions below 1.24.0
- Depend on
vector_math
2.0.0 or newer
- Last release to only support Dart 1.x
- Prepare for Dart 2.0
- Enable strong mode
- Analyzer and linter fixes
- Drop support for Dart SDK versions below 1.21.0
- Rename
Point3D
toPoint3
Point3
now is a subtype ofVector3
- Add mod (%) operator and ceil, floor functions
- Fixing a few missed chain rules in
derive
- Depend on
vector_math
1.4.4 or greater
- Add support for basic vector operations
- Switch to using
test
instead ofunittest
package - Warning: Depends on git version of
vector_math
as latest pub release is severely outdated
- Add absolute value function (by markhats)
- Add sign function
- Improve test coverage
- Adapt string representation of unary minus to standard syntax
- To create exponentials, use
e(x)
ore^x
. Consequently, removed support forexp(x)
. - Improve test coverage
- Update dependencies
- Bring back standard syntax for unary minus:
-5
works now. (by markhats) - Add parser support for
e^x
additional toexp(x)
. (by markhats)
- Introduce nested context/naming scopes
- Improve vector evaluation
- Add some missing methods
- Improve test coverage (custom and composite functions)
- Remove boilerplate code
- Add compose operator for functions:
Use
&
to conveniently create a CompositeFunction from two existing functions:expr = f & g;
- Improve documentation and dartdoc generation
- Minor code cleanup
- Prepare for Dart 1.0
- Fix handling of operator associativity
- Add support for default functions to parser
- Add support for unary minus to parser:
Input with underscore. Instead of
2*-5
use2*_5
.
- Add cli evaluator to examples
- Improve test coverage
- Fix bug in differentiation of Sin and Cos
- Remove support of unary minus in Parser
- Improve test coverage
- Improve documentation
- Fix bug in simplification of Minus
- Fix bug in simplification of Times
- Implement evaluation of nth root
- Improve documentation and examples
- Initial release of standalone version