This NEWS file records noteworthy changes, very tersely.
See the manual for detailed information.

  Copyright 2010, 2011, 2012, 2013 Jose E. Marchesi.

  Copying and distribution of this file, with or without modification,
  are permitted in any medium without royalty provided the copyright
  notice and this notice are preserved.

 Version 1.5.90 (29 October 2013)

* New operation group-by in librec and -G command line argument in
  recsel which allows to group records by one or more fields.
* New support for rewrite rules in field expressions.
* Support for universally unique identifiers using the new `uuid'
  field types and also uuid auto-fields.
* New support for writing field values in a row with the -R command
  line argument to recsel.
* New support for dot-notation in selection expressions.
* The rec-mode Emacs mode is now documented in a nice user manual.
* Many user improvements in the Emacs mode: fields folding, special
  editing methods for the different field types, font-lock and much
  more.
* The operators >= and <= can now be used in selection expressions.
* A useful set of aggregate functions (sum, mix, max, avg) can now be
  used in field expressions along with grouping.
* It is now possible to sort by several fields using the -S command
  line option to recsel.
* Support for arbitrary field constraints with the new %constraint
  special field and the "implies" => operator in selection
  expressions.
* Range types defition can now use the predefined keywords MIN and MAX
  that denotes the minimum supported integer in the system and the
  bigger supported integer in the system respectively.
* Support for foreign keys and inner joins using the new `rec' field
  type and the -j option to recsel.
* New high-level API in librec, which provides the same functionality
  than the command line utilities for C programs.
* Sorting now keeps the relative position of records, which is what
  most people expect.
* Evaluation of selection expressions is much faster now.
* Support for the bash builtin `readred' which allows to iterate on
  records in bash loops.
* Many, many, many bug fixes :D

 Version 1.5 (13 January 2012)
* The utilities will now ask interactively for a password if it was
  not provided with the -s command line option.  This avoids security
  problems related to shell history files.
* Support for octal and hexadecimal numbers has been added.  They can
  be used in both the records and selection expressions.
* It is now possible to select a given number of random records in
  many of the utilities using the -m command line option.
* The -n option now accepts a list of indexes, supporting ranges.
* The new -U (uniq) option for recsel removes duplicated fields in the
  output records.
* The new -q (quick) option allows to quickly search for the desired
  record without having to provide a complete selection expression.
* Auto generated fields are now considered integers by default.  This
  avoids repetitive patterns in record descriptors involving %auto and
  %type.
* Tab characters are now allowed in blank lines betwwen records.
* The API in rec.h is now better documented with comments, and
  improved.
* recfix now exits with an error status if there is a parse error in
  some input file.
* The usage of the internal data structures has been _vastly_
  improved, resulting in a much faster operation.
* Internal cleanup and code factorization.
* Many, many, many bug fixes :D

 Version 1.4 (03 November 2011)
* Support for encryption with the new %confidential special field.
* Support for named types with the new %typedef special field.
* Support for sorting with the new %sort special field.
* Recutils support for org-babel is now included in the distribution
  as ob-rec.el.  It allows to read rec data into org documents in both
  raw and table formats.
* It is now possible to use double quotes for delimiting string
  literals in selection expressions, as well as single quotes.
  Unescapted newline characters are also supported.
* The manual has been vastly improved.
* recfix now supports several operations: check, sort, encrypt and
  decrypt.
* recins now generates parseable locale independent dates when
  generating time-stamps in auto-fields.
* Lots of bug fixes.

 Version 1.3 (11 February 2011)
* A quite bad (and embarrassing) bug introduced in 1.2 has been
  fixed.  The bug was causing recins, recdel and recset to report
  random integrity failures, due to a uninitialized variable.
* New special field %size, that allows to define constraints in the
  size of record sets.
* Several fixes in the user manual.
* Little portability issue that prevented one of the tests to compile
  in macos x has been fixed.
* Translations updates.

 Version 1.2 (4 February 2011)
* New utility rec2csv, to export rec data to csv files.
* Support for auto-incremented fields and timestamps with the new
  %auto field in record descriptors.
* Support for comments in enum type descriptions.
* recset now supports a new "set or add field" operation, implementing
  the common case of setting the value of a field in case it exists,
  or else add it to the record.
* The flavor of regular expressions accepted in both selection
  expressions and type descriptions is now documented in the user
  manual.
* Translations for German, Finnish, Swedish and Dutch.
* recdel now performs an integrity check before to complete the
  deletion.
* The utilities no longer "expand" the contents of remote descriptors
  in the local ones.
* recset and recins no longer destroy the permissions of the rec file
  that is being modified.
* Many fixes in the documentation.
* Lots of bug fixes.

 Version 1.1 (24 December 2010)
* New utility recfmt, to format records based on templates.
* Improvements in selection expressions:
  . Support ranges in field subscripts.
  . New date operators: before (<<), after (>>) and sametime (==).
  . New ternary conditional operator (?:).
  . New string concatenation operator (&).
* libcsv is now embedded in the source distribution, so it is no
  longer required to have it installed to build csv2rec.
* Portability problems fixed.  The programs have been tested in the
  following systems:
  . GNU/Linux
  . FreeBSD 6.4
  . MacOS X
  . mingw32
  . Solaris 8
  . AIX 5.1
  . HP-UX 11.00
  . IRIX 6.5
  . Tru64 (OSF/1 5.1)
  . Cygwin 1.7
* Lots of bug fixes.

 Version 1.0 (3 December 2010)
* Initial release.
  . User manual.
  . Library (librec).
  . Utilities: recinf, recsel, recins, recdel, recset, recfix, csv2rec,
    mdb2rec.
  . Experimental Emacs mode (rec-mode.el).
