@kirsle kirsle released this Mar 4, 2018 · 44 commits to master since this release

Assets 4

Changes

  • 1.19.0 2018-03-04
    • Add the new ?Keyword command to work around the problem that Unicode
      text wouldn't match properly with optional wildcards. For example,
      + [*] 你好 [*] wasn't able to match messages containing the word "你好"
      in the same way as it would if the keyword were using only ASCII symbols.
      Now, the command ? 你好 will allow you to match that keyword anywhere in
      a user's message. (PR #256)

@kirsle kirsle released this Nov 27, 2017 · 47 commits to master since this release

Assets 4

Changes

  • 1.18.0 2017-11-27
    • Fix an infinite loop when using a number as a substitution (PR #206)
    • Optimize substitution algorithm (including person substitutions) to be
      more performant when you have a large set of substitutions defined (PR #208)
    • Add support for defining a global concatenation option when constructing
      the RiveScript object. This will set the default concat mode when
      parsing files that didn't define their own local mode (PR #209)
    • Add API function lastTriggers(username) to retrieve the full set of
      triggers that were last matched for that user. For example, if some triggers
      redirected to others, all the triggers that were touched will be
      returned by this function (PR #217)
    • Remove dependency on jQuery for loading files in a web environment and
      instead use a standard XMLHttpRequest (PR #251)

@kirsle kirsle released this Jan 19, 2017 · 75 commits to master since this release

Assets 4

Changes

  • 1.17.2 2017-01-19
    • Fix <call> tags not working inside of the @Redirect command and the
      inline redirect {@} tag. Note that only synchronous object macros that
      return a string response are allowed in these, just like in *Condition
      commands (PR #203)

@kirsle kirsle released this Dec 8, 2016 · 81 commits to master since this release

Assets 4

Changes

  • 1.17.1 2016-12-08
    • Fix sorting algorithm for triggers with %Previous, making their sort order
      deterministic and correct regardless of the order they appeared in the
      source file (PR #194)
    • Fix the function prototype for getVariable to only accept the name
      parameter for a bot variable. Previously it was accepting (username, name)
      which was incorrect because bot variables are global and have no relation
      to a particular username.

@kirsle kirsle released this Oct 11, 2016 · 86 commits to master since this release

Assets 4

Changes

  • 1.17.0 2016-10-11
    • Fix accidental double-piped wildcards caused by missing arrays (PR #176).
    • Fix tags like {uppercase} in the BEGIN block from affecting object macros
      before they could be called (bug #178).
    • In the parser, include the current topic in some common error messages, such
      as syntax errors, single-character lines and unknown commands (bug #140).
    • Allow forceCase to apply to topics too, both in the > topic command and
      in the {topic=...} tag (bug #158).
    • In case of deep recursion while scanning topic inheritance trees, the error
      now includes the current topic that it gave up on (bug #167).

@kirsle kirsle released this Sep 6, 2016 · 103 commits to master since this release

Assets 4

Changes

  • 1.16.0 2016-09-06
    • Add TypeScript declaration files (PR #162).
    • Add a --watch option to shell.js to automatically reload the bot's
      brain when the source files change (PR #160).
    • Fix the json-server example not giving errors correctly (passing invalid
      data into the RiveScript library and potentially raising an exception
      from within there; bug #165).

@kirsle kirsle released this Aug 8, 2016 · 118 commits to master since this release

Assets 4

Changes

  • 1.15.0 2016-08-07
    • Add a new contructor option, forceCase, 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. (Bugs #143 and #69).
    • Fix a bug where inline redirects, like {@ hello} would fail to match their
      trigger due to the presence of a space between the @ and text (bug #145).
    • Add a non-fatal warning at parse time if it's detected that you used an
      @Redirect command in conjunction with a -Reply or *Condition. In such
      cases, the redirect "wins" and preempts the others, which may be surprising
      behavior, and RiveScript will warn you about this now (bug #58).
    • Prevent errors from arising when the user's history object is invalid, for
      example if somebody manually overrode the __history__ user
      variable (PR #151).
    • Fix a bug in the write() function where -Replies were being written when
      a trigger actually had no reply (resulting in a single-character -
      command which raises an error when re-parsed) (PR #141).
    • Add more documentation to the rs.Promise function, including a full
      example of how to use the replyAsync() method (bug #144).

@kirsle kirsle released this Jul 9, 2016 · 130 commits to master since this release

Assets 4

Changes

  • 1.14.0 2016-07-09
    • Add a new API function: getUserTopicTriggers returns a list of triggers
      available from a user's current topic, including triggers that came from
      topics inherited/included by their topic (PR #138).
    • Change how the parser handles inline comments (// appearing on the same
      line as RiveScript code). Previously, it required at least one space to
      be present on either side of the // characters. Now, it only requires a
      space before the //.
    • Add new examples: using RiveScript as a router, and a link to a plugin for
      using RiveScript with Hubot.
    • Add a new ASCII logo to the header output of shell.js and shell.coffee
      .   .       
     .:...::      RiveScript Interpreter (JavaScript)
    .::   ::.     Library Version: v1.14.0
 ..:;;. ' .;;:..  
    .  '''  .     Type '/quit' to quit.
     :;,:,;:      Type '/help' for more options.
     :     :

@kirsle kirsle released this Jun 14, 2016 · 138 commits to master since this release

Assets 4

Changes

  • 1.13.0 2016-06-14
    • Fix the <call> tags not being executed on the left side of conditionals,
      so that <call>test</call> == true => Success types of conditions should
      work (bug #107).
    • 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 #102).
    • Rename the old async-object example to second-reply to lessen confusion
      between it and async-reply (bug #123).
    • Fix the _ wildcard not being able to match Unicode letters (bug #118).
    • Add initialMatch() to the API, which is like lastMatch() but it returns
      the original trigger that the user matched instead of a redirected trigger
      (PR #127).

@kirsle kirsle released this May 16, 2016 · 148 commits to master since this release

Assets 4

Changes

  • 1.12.2 2016-05-16
    • Call the error handler on loadDirectory() when the directory doesn't exist
      or isn't a directory (bug #117).
    • Include the dist/ directory on npm for easy web browser embedding using
      npmcdn.