Skip to content

Releases: killme2008/aviatorscript

AviatorScript 5.4.3

10 Jun 19:34
Compare
Choose a tag to compare

What's Changed

  • Feat: new method AviatorEvaluatorInstance#enableSandboxMode to enable sandbox mode for security. 5de8560
  • Fix: getVariableFullNames returns incorrect result, #549

Full Changelog: aviator-5.4.2...aviator-5.4.3

AviatorScript 5.4.2

09 Jun 22:58
Compare
Choose a tag to compare

What's Changed

  • Fix: NPE for bigint/double/long function by @shuailung in #615
  • Feat: adds new option Options.EVAL_TIMEOUT_MS to set the execution timeout value in milliseconds. #629
    For example, set the execution timeout to be 100 milliseconds:
    AviatorEvaluator.setOption(Options.EVAL_TIMEOUT_MS, 100);

Throw the TimeoutException when it exceeds. It's not precise and may hurt a little performance. Read the doc

  • Fix: Expression#getVariableFullNames returns the imported class names #597
  • Feat: adds Expression#getFunctionNames to get all function names in the compiled script by @killme2008 in #631

Breaking changes

  • Upgrade the JDK compiler version to 1.8

New Contributors

Full Changelog: aviator-5.4.1...aviator-5.4.2

AviatorScript 5.4.1

04 Oct 06:20
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: aviator-5.3.3...aviator-5.4.1

AviatorScript 5.3.3

29 Oct 05:17
Compare
Choose a tag to compare

Main changes:

  • Fixed memory leak in lambda function caching #494 #481
  • Fixed wrong value captured by function #496
  • Adds seq.add_all(seq1, seq2) to add all elements of seq2 to seq1. #500

AviatorScript 5.3.2

03 Sep 05:04
Compare
Choose a tag to compare

Several bugs fixed:

  • #466 constant folding do not work when operator is overrided
  • #484 Stackoverflow in ArrayUtils
  • #483 A corner case in parser.
  • #476 Expression#getVariableFullNames() returns the class names when the script has a new statement.

Thank you for all these bug reports.

It's recommended to upgrade.

AviatorScript 5.3.1

04 Apr 08:34
Compare
Choose a tag to compare

Main changes:

  • Adds new method AviatorEvaluatorInstance.aliasOperator(OperatorType, String) to set an alias token for logical && and || operator, read the doc.
  • Improve [] index operator and seq functions performance when processing arrays.
  • Fixed #431 Expression#getVariableNames returns wrong result in nested scope.
  • Fixed AviatorEvaluator.execute(String, Map) not work with global caching.

主要改动:

  1. 增加 AviatorEvaluatorInstance.aliasOperator(OperatorType, String) 方法用于给 &&|| 逻辑运算符定义别名,比如定义成 and 或者 or,参见文档
  2. 改进对数组的访问性能。
  3. 修复 #431Expression#getVariableNames 在处理嵌套范围的时候返回错误结果
  4. 修复 AviatorEvaluator.execute(String, Map) 方法不支持全局缓存的 bug

AviatorScript 5.3.0

18 Nov 06:21
Compare
Choose a tag to compare

Release 5.3.0 officially, main changes:

  • Supports interpreter mode, you can use aviatorscript on android(or other not-standard JVM) right now. See InterpreterExample and doc. #403 #334 #29
  • Fixed assign and define operator can't work when enable TRACE_EVAL. #408
  • Implements ApplicationContextAware for SpringContextFunctionLoader. Now SpringContextFunctionLoader can be managed by spring container.

AviatorScript 5.2.7

13 Sep 03:29
Compare
Choose a tag to compare

Main changes:

  • Fixed a concurrent issue in Expression#getVariableNames and Expression#getVariableFullNames.
  • Should throw no such property exception if property not found when using variable a.b.c dot syntax.

AviatorScript 5.2.6

23 Jun 02:00
Compare
Choose a tag to compare

A strongly recommended upgrading version if you are using 5.x versions.

Main changes:

  • Fixed:
    • Anonymous function can't support variadic arguments.
    • continue statement not work with if/else or nested if statements #394
    • LambdaFunction ThreadLocal caching may leak environment context #392
  • New features:
    • New function: partial(f, &args) that takes a function f and fewer than the normal arguments to f, and returns a fn that takes a variable number of additional args. When called, the returned function calls f with args + additional args.
    • Use soft reference for caching reflection result #386
    • Added key info to exception message when sequence is null in seq.get function.

[Deprecated] AviatorScript 5.2.5

09 Apr 11:22
Compare
Choose a tag to compare

Main changes:

  • Auto convert java boxing types into aviator number types when invoking java methods #369
  • Adds a calcuator example which evaluate arithmetic expression in string.
  • Bug fixes: can't call overload getter/setter by reflection #368
  • Used array-based hashmap for internal env to reduce memory consumption.