GNU Rush NEWS -- history of user-visible changes. 2009-01-14
Copyright (C) 2008, 2009 Sergey Poznyakoff
See the end of file for copying conditions.

Please send bug reports to <bug-rush@gnu.org.ua>


Version 1.5, 2009-01-14

* Post-process notification

After completing a rule, Rush can send a notification
over a TCP/IP or UNIX socket.  

* Include statement

The include statement allows to inlcude contents of a file into the
main rush configuration file.

* Safety checks.

Before parsing, rush checks permissions and ownership of its
configuration file. The file is rejected if:

- It is not owned by root.
- It is group or world writable
- It resides in a group or world writable directory
- It is a symbolic link to a file residing in a group or world
  writable directory

The same checks are performed for any included file.  The safety
checks for included files can be changed using the global statement
`include-security'.

* Default configuration

Default configuration file can be built into the rush binary.  See
`Default Configuration' in README file.

* Internationalization


Version 1.4, 2008-10-20

* RUSHWHO_FORMAT and RUSHLAST_FORMAT environment variables.

These variables can be used to supply customized formats to
rushwho and rushlast utilities.

* Bugfixes in format parsing code.


Version 1.3, 2008-10-14 

* Implement accounting mode.

* New programs: rushwho and rushlast

These utilities display information from the Rush accounting database.



Version 1.2, 2008-09-06

* Test mode

Rush can be run from the command line to test its configuration file.
Examples:

1. Test default configuration file:

   rush --test

2. Test configuration file `sample.rc':

   rush --test sample.rc

3. Test the configuration file and emulate execution of the command
`cvs server'.  Set debugging level 2:

   rush --test --debug=2 -c "cvs server"


Version 1.1, 2008-08-30

* A condition can be negated.

Placing ! between the keyword and conditional expression indicates
its negation, e.g.:

  command ! ^cvs

matches any command line that does not begin with `cvs'  

* New action `exit'

The `exit' statement instructs rush to write a supplied error message
to specified file descriptor and exit immediately.  If file
descriptor is not given, 2 (standard error) is used.

Exit actions are useful for writing ``trap rules'', i.e. rules that
are intended to trap incorrect or prohibited command lines and to return
customized reply messages in such cases. 

* New statement `regexp'

Configures the style of regular expressions used in subsequent
`cmdline' and `match' clauses.  For example:

  regex +icase +extended

sets case-insensitive extended regular expressions.  


Version 1.0, 2008-08-26

Initial version.


=========================================================================
Copyright information:

Copyright (C) 2008, 2009 Sergey Poznyakoff

   Permission is granted to anyone to make or distribute verbatim copies
   of this document as received, in any medium, provided that the
   copyright notice and this permission notice are preserved,
   thus giving the recipient permission to redistribute in turn.

   Permission is granted to distribute modified versions
   of this document, or of portions of it,
   under the above conditions, provided also that they
   carry prominent notices stating who last changed them.

Local variables:
mode: outline
paragraph-separate: "[	]*$"
eval: (add-hook 'write-file-hooks 'time-stamp)
time-stamp-start: "changes. "
time-stamp-format: "%:y-%02m-%02d"
time-stamp-end: "\n"
end:

