The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.
Revision history for Perl extension RiveScript.

1.00 Tue Jul  4 17:43:00 2006
	- Public stable beta release.

0.21 Wed Apr 26 10:43:00 2006
	- Added \u tag for inserting an "undefined" character (i.e. set global macro_failure
		to \u to remove macro failure notifications altogether from the responses)
	- The code to run objects is now run last in RiveScript::Util::tagFilter, so that other
		tags such as {random}, <get>, etc. are all run before the object is executed.
	- Two new standard libraries have been added:
		- Colors.rsl - Arrays for color names
		- Numbers.rsl - Arrays for number names

0.20 Fri Apr 14 15:00:00 2006
	- Added shortcut tags: <person>, <@>, <formal>, <sentence>, <uppercase>, <lowercase>,
		for running the respective tags on <star> (i.e. <person> ==> {person}<star>{/person})
	- Added environment variable ENV_REPLY_COUNT which holds the number of loaded triggers.
	- Bugfix: sending scalar=>0 to reply() was returning the scalar of the array of replies,
		not the array itself. This has been fixed.


0.19 Wed Apr  5 22:20:00 2006
	- Added methods for allowing or denying certain commands to be used when RiveScript
		documents are loaded in.
	- Bugfix: the sortThats() method of RiveScript::Parser was blanking out the current
		value of $self->{thatarray} -- meaning, the last file to have %Previous commands used
		would be kept in memory, previous ones would be lost. This has been fixed now.

0.18 Tue Apr  4 17:12:00 2006
	- Minor bugfix with the "%PREVIOUS" internal array.

0.17 Tue Apr  4 16:50:00 2006
	- All the "%PREVIOUS" commands found at loading time are now sorted in an internal
		arrayref, in the same manner that "+TRIGGERS" are. This solves the bug with
		matchability when using several %PREVIOUS commands in your replies.
	- Added the # command as a "Perly" alternative to // comments.
	- Comments can be used in-line next to normal RiveScript code, requiring that at
		least one space exist before and after the comment symbols. You can escape the
		symbols too if you need them in the reply.
	- Created a new package DateTime.rsp for your timestamp-formatting needs.

0.16 Mon Mar 27 16:58:00 2006
	- Added "! syslib" directive for including Perl modules at the RiveScript:: level,
		to save on memory usage when more than one object might want the same module.
	- The "%PREVIOUS" directive now takes a regexp. The bot's last reply is saved as-is,
		not formatted to lowercase. The % command now works like a +Trigger for the bot's
		last reply.
	- The "%PREVIOUS" directive check has been moved to another subroutine. In this way,
		its priority is much higher. A trigger of * (catch-all) with a %PREVIOUS will always
		match, for example.
	- Fixed a bug with the BEGIN method. The bot's reply is no longer saved while the
		topic is __begin__ - this messed up the %THAT directive.

0.15 Sat Mar 25 14:26:00 2006
	- Broke RiveScript into multiple sub-modules.

0.14 Wed Mar 22 16:51:00 2006
	- {formal} and {sentence} tags fixed. They both use regexp's now. {sentence} can
		take multiple sentences with no problem.
	- In a BEGIN statement, {topic} tags are handled first. In this way, the BEGIN
		statement can force a topic before getting a reply under the user's current topic.
	- Fixed a bug with "blank" commands while reading in a file.
	- Fixed a bug with the RiveScriptLib Search Paths.

0.13 Thu Mar 16 15:13:00 2006
	- The BEGIN/request statement has been changed. The user that makes the "request"
		is the actual user--no longer "__rivescript__", so user-based conditionals can
		work too. Also, request tags are not processed until the reply-getting process
		is completed. So tags like {uppercase} can modify the final returned reply.

0.12 Tue Mar 14 16:32:00 2006
	- Module moved to namespace of RiveScript::

0.11 Sun Mar 12 11:19:00 2006
	- When calling loadDirectory, a "begin.rs" file is always loaded first
		(provided the file exists, of course!)
	- Added support for "include"ing libraries and packages (see "INCLUDED FILES")

0.10 Sat Mar  4 12:49:30 2006
	- The getUservars() method now returns a hashref of hashrefs if you want the
		vars of all users. Makes it a little easier to label each set of variables
		with the particular user involved. ;)
	- Cleaned up some leftover print statements from my debugging in version 0.09
		(sorry about that--again!)
	- Made some revisions to the POD, fixed some typo's, added {weight} and {ok}
		to the TAGS section.

0.09 Thu Mar  2 18:43:00 2006
	- $1 to $100+ are now done using an array rather than a hash. Theoretically
		this allows any number of stars, even greater than 100.
	- Arrays in triggers have been modified. An array in parenthesis (the former
		requirement) will make the array matchable in <star#> tags. An array outside
		of parenthesis makes it NOT matchable.
	- Minor code improvements for readibility purposes.

0.08 Thu Feb 16 17:37:00 2006
	- Added <add>, <sub>, <mult>, and <div> tags.
	- Added environmental variable support.
	- Extended *CONDITION to support inequalities
	- Botvars in conditions must be explicitely specified with # before the varname.
	- Added "! person" substitutions
	- Added {person} tag

0.07  Wed Feb 15 22:15:00 2006
	- Added write() method
	- reply() method now can take tags to force scalar return or to ignore
		sentence-splitting.
	- loadDirectory() method can now take a list of specific file extensions
		to look for.
	- Cleaned up some leftover debug prints from last release (sorry about that!)

0.06  Mon Feb 13 06:56:00 2006
	- Extended ^CONTINUE to cover more commands
	- Revised POD

0.05  Mon Jan  9 18:24:00 2006
	- Fixed a bug with optionals. If they were used at the start or end
		of a trigger, the trigger became unmatchable. This has been fixed
		by changing ' ' into '\s*'

0.04  Wed Jan  4 17:00:00 2006
	- Added support for optional parts of the trigger.
	- Begun support for inline objects to be created.

0.03  Tue Jan  3 18:33:00 2006
	- Added search() method.
	- <bot> variables can be inserted into triggers now (for example having
		the bot reply to its name no matter what its name is)

0.02	Thu Dec 22 11:28:00 2005
	- Fixed a regexp bug; now it stops searching when it finds a match
		(it would cause errors with $1 to $100)
	- Fixed an inconsistency that didn't allow uservars to work in
		conditionals.
	- Added <id> tag, useful for objects that need a unique user to work
		with.
	- Fixed bug that warned about comments that began with more than
		one set of //

0.01	Tue Dec 20 14:51:39 2005
	- Initial release