Releases: aichaos/rivescript-java
Releases · aichaos/rivescript-java
0.11.0 - August 6, 2019
0.10.0 - August 30, 2017
This update focuses on new features and improvements.
0.9.2 - March 19, 2017
This update focuses on bug fixes.
- Changes:
- Fix for not able to get JavaScript
ScriptEnginein Google App Engine
local devserver usingnew ScriptEngineManager().getEngineByName(engineName).
Fallback mechanism added to use
new ScriptEngineManager(null).getEngineByName(engineName)(#44).
- Fix for not able to get JavaScript
0.9.1 - March 7, 2017
This update focuses on bug fixes.
-
API Breaking Changes:
- Remove
java.nio.file.Pathreference and subsequently also the
RiveScript#loadDirectory(Path path, String... extensions)and
RiveScript#loadFile(Path path)methods as they caused issues
on Adroid. (#43).
- Remove
-
Changes:
- Fix for object caller regexp processing internal
{__call__}
tags. The closing curly brackets were not escaped (#43).
- Fix for object caller regexp processing internal
0.9.0 - March 3, 2017
This update focuses on new features and bug fixes.
-
API Breaking Changes:
- The
loadandcallmethods of theObjectHandlerinterface now
require theRiveScriptinstance as an additional (first) argument.
- The
-
Changes:
- Add RiveScript Spring Boot Starter module (#34).
A dedicated RiveScript Spring Boot Starter sample is available under
/samples/spring-bootstarter-rsbotfor reference. - Add JSR-223 Scripting
ObjectHandlerto support object macros written in
any JSR-223 compliant scripting language. Therivescript-coredistro
comes bundled with out-of-the-box support for JavaScript, Groovy and Ruby
object macros using the generalJsr223ScriptingHandler.
ThisJsr223ScriptingHandlercan also be used to easily implement other
programming languages which are supported by the JSR-223 Scripting API.
Developers should manually add the appropriate Groovy or Ruby dependencies
to their projects if they want to use theGroovyHandlerorRubyHandler.
For theJavaScriptHandlerno external dependency is needed. (#32, #36) - Fix for
removeHandler()causing aConcurrentModificationException. - Fix for making wildcards in optionals not matchable (#42).
- Add static constants for custom error message keys.
- Add static constant for
"undefined"string (#41). - Reorganize tests in proper separation of unit and integration tests (#38).
- Add RiveScript Spring Boot Starter module (#34).
0.8.1 - February 20, 2017
This update focuses on bug fixes.
- Changes:
- Fix for
String#split()returning trailing empty string on Google AppEngine
(https://code.google.com/p/googleappengine/issues/detail?id=13565). - Fix for
NullPointerExceptionbeing thrown in caseSubroutineor
ObjectHandlerreturnednull(#40). - Fix for object macros to support quoted strings come in as one arg
regardless of spaces (#40). Typical use case:<call>object_name "a b"</call>will call the macro with a single arg
["a b"].<call>object_name "a b" c d</call>will call the macro with 3 args
["a b", "c", "d"].<call>object_name "<get name>"</call>will call the macro with a single
arg containing the value from the user var.
Note<call>object_name <get name></call>would call the macro with
multiple args in case the user var value would contain spaces.
- Fix for
0.8.0 - February 14, 2017
This update focuses on new features and huge code refactoring / reorganization.
The rivescript-java implementations has been aligned with the rivescript-go
implementation.
- API Breaking Changes:
- Removed
RiveScript(boolean debug)constructor in favour of
RiveScript(Config config)constructor . - The
RiveScriptinstance has no notion ofdebugmode anymore.
Debug logging is now based on the SLF4J configuration. - Refactored
com.rivescript.ObjectMacrotocom.rivescript.macro.Subroutine. - Renamed
ObjectHandlermethods fromonLoad,onCallto respectively
loadandcall. Also thesetClassmethod has been removed. - The
org.jsondependency is now a optional dependency.
Developers using Perl object macros must include thisorg.jsondependency
manually to their projects.
- Removed
- Changes:
- Replace
System.outlogging by using the SLF4J API. - Add Unicode support (#30, #31).
- Add new forceCase config option, which will force-lowercase your triggers
during parse time, enabling authors to use uppercase letters in triggers
without it being a syntax error. Do note however that Unicode case folding
can become an issue with certain symbols. - Add customizable error messages config option.
- Add throw exceptions config option, which will make the bot throw (runtime)
exceptions (e.g.DeepRecursionException,ReplyNotFoundException)
in case of an error instead of just replying with an error message.
When enabled, developers should catch these exceptions and take the
appropriate actions. - The
RiveScriptconstructor now accepts aConfigobject to configure
the RiveScript instance. Also a developerConfig.Builderis available. - Add support for pluggable session stores for user variables. The default
one still keeps user variables in memory, but you can specify your own
implementation instead (#33). - Add RiveScript shell to quickly demo and test a RiveScript bot.
Seecom.rivescript.cmd.Shell. - Separated the
Parserwhich can now be used independently.
The parser returns a Abstract Syntax Tree (AST) identical to the
rivescript-goparser. It enables third party developers to write
applications that simply parse RiveScript code and getting an AST from it. - Add option to load RiveScript source code from a
java.io.Fileor
java.nio.file.Path. - Fix for sorting %Previous triggers (#9).
- Replace
0.7.2 - January 17, 2017
Changes
- 0.7.2 January 17 2017
- Fix to make the
RiveScriptthread safe using a aThreadLocalto store
the current user. (#18). - Add support for escaping
_(underscores) in triggers.
- Fix to make the
0.7.1 - January 9, 2017
Changes
- 0.7.1 January 9 2017
- Fix for arrays in replies (e.g.
(@greek)) not being converted to
randomized sets (bug #26). - Fix trigger regexp processing so that if a
{weight}tag contains a
space before or after it (or: a space between{weight}and the rest
of the trigger text), the spaces are also stripped so that matching
isn't broken for that trigger (bug #29). - Fix to support embedded tags in replies (bug #28).
- Fix for list of stars which were growing incorrectly by multiple
calls toprocessTags()(#19). - Fix to avoid adding
nullstars while harvesting the stars (#20). - Fix for moving the no-{inherits} triggers to the bottom of the stack
when sorting the triggers (#8).
- Fix for arrays in replies (e.g.
0.7.0 - December 22, 2016
Changes
- 0.7.0 December 22 2016
- Refactored project setup to allow separate module.
- Switched to Gradle as build tool.