- DoubleEvaluator was not thread safe, even when each thread instantiate a new instance.
- Because of the changes in AbstractEvaluator.tokenize method, this version is not totally compatible with previous ones. In particular, implementations that have overloaded AbstractEvaluator.tokenize method might not work.
- In order to have a clearer definition of the roles of the AbstractEvaluator.tokenize method, the following changes have been made, making now this method fully responsible for turning the evaluated expression into tokens:
- The tokens returned by AbstractEvaluator.tokenize method are no more trimmed by the evaluator.
- The empty tokens returned by AbstractEvaluator.tokenize method are no more ignored by the evaluator.
- The Tokenizer constructor is now public.
- Fix "-" operator in BooleanSetEvaluator example.
- Change package name to com.fathzer.soft.javaluator in order to release the package to Maven central. Because of this change, this version is not compatible with previous ones.
- Fixes java.util.regex.PatternSyntaxException while evaluating an expression with an evaluator that accepts, for instance, only "or" and "and" operators.
- Evaluate an expression that starts a function argument separator caused a NullPointerException.
- Evaluate the expression ")" caused a NullPointerException.
- The DoubleEvaluator considered numbers followed by "d" or "f" as valid ones.
- Adds getDefaultParameters(Style) method to DoubleEvaluator. When passing Style.EXCEL_LIKE, to the DoubleEvaluator constructor, -2^2 is interpreted as 4, like in Excel or Bash scripts.
- Revert the precedence of unary minus and exponentiation operators in DoubleEvaluator to the standard one, where -2^2=-4.
- Adds protected method tokenize(String) in AbstractEvaluator.
- Fixes precedence of unary minus and exponentiation operators in DoubleEvaluator. Previously it returned -4 when evaluating -2^2, where bash shell (for example) returns 4.
- Support for operators with length > 1 (example &&, ||, ==)
- This is the first Javaluator official release.
Back to top