Rivescript

Latest version: v1.15.0

Safety actively analyzes 621673 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 4

1.15.0

This release provides a major (~5x) speedup for RiveScripts that have
a large number of substitutions, and also fixes the following issues:

- Add a `prepare_brain_transplant` method to clear the RiveScript brain
in preparation to load in a new one, while optionally preserving
much of the current state (enh 81)
- Implement the `trigger_info` method (bug 120)
- Fix the issue of a "=" appearing in a variable value (bug 130)
- Allow nested brackets (bug 132)
- Fix trigger sorting to only count the existance of stars, optionals,
etc. instead of how many there are in a trigger (bug 133)
- Fix the debug message for incomment (bug 138)
- Fix substitutions if they occur more than 3 times on a line (bug 140)
- Fix crash in `set_substitution` method (bug 142)
- Fix issue in `set_person` method (bug 143)
- Significantly improve code coverage of tests (add `test_coverage.py`)

1.14.9

This release fixes some regular expressions and adds better Unicode
compatibility for trigger matching.

- Fix the regexp that matches `{weight}` tags in replies to use `re.search()`
instead of `re.match()`. This ensures that random replies are chosen with the
correct weighting applied (bug 102; PR 106)
- Fix the way arrays are interpolated into triggers so that array names are
now allowed to contain underscores (bug 101; PR 107)
- Fix Unicode handling in regular expressions by using the `re.UNICODE` flag.
This allows for a trigger containing optionals, like `[*]`, to match
correctly when adjacent to Unicode symbols such as umlauts (bug 37; PR 108)

1.14.8

This release focuses on bug fixes and backwards compatible improvements.

- Improvements to the new trigger sorting algorithm:
- Triggers containing no text (wildcards only) are sorted nearer to the end
(bug 94)
- Trigger components containing an empty string between pipes (e.g. `[|]`) now
raises a syntax error at parsing time (bug 87)
- Fix the parsing of `^` when used on a `+Trigger` not being fully evaluated
before syntax checking for the trigger was done (bug 86)
- Remove extra space characters inside optionals (bug 98)
- Improve the syntax checker by having it raise errors when certain "tag
characters" are mismatched or opened and closed in the wrong order -- for
example `{<}>` (PR 103)
- Fix the `deparse()` and `write()` functions so they work again with the
latest version of RiveScript (bug 76)

1.14.7

- Various fixes and improvements that catch RiveScript-Python up with the other
implementations, to pass the RiveScript Test Suite (PR 89):
- Implement arrays in replies -- so you could write a reply like
`My favorite color is (colors)` and the array gets expanded to a random
item from the `!array` by the same name.
- Fix the regexp for `{weight}` tag removal so that it still works if you
include extra spaces on either end of the tag.
- Fix the `_` wildcard to allow matching Unicode letters.
- Fix division with the `<div>` tag to use integer division for Python 3.
- Improvements to the trigger sorting algorithm:
- Add special handling so that a trigger of `[*]` gets sorted above the
usual catch-all trigger of `*` (PR 92)
- Fix a logic bug with bitwise operators for handling the case that a trigger
contains `*` wildcards but does not contain any optionals or wildcards of
different types (bug 90, PR 91)

1.14.6

- Fix regexp for validating RiveScript syntax to use `re.search` instead of
`re.match` (bug 82).
- Allow object macros to contain capital letters in their names (PR 83).

1.14.5

- Bugfix when storing the user's `last_match` variable when a `%Previous` is
active (it was storing a regexp object and not a string), to help third party
session drivers (e.g. Redis) to work.

Page 1 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.