1 This NEWS file records noteworthy changes, very tersely.
2 See the manual for detailed information.
4 Copyright 2010-2019 Jose E. Marchesi.
6 Copying and distribution of this file, with or without modification,
7 are permitted in any medium without royalty provided the copyright
8 notice and this notice are preserved.
10 \f Version 1.8 (3 January 2019)
12 . Fix the build of readrec with recent bash headers.
14 . Fix evaluation of sexes containing #NAME expressions.
15 . Make numeric results from aggregated functions signed.
17 . readrec --help now shows the help message and returns,
18 instead of waiting for input.
20 . rec-mode.el now supports case-insensitive searches.
21 . rec-mode.el now defines it's own faces.
22 . ob-rec.el was switched to lexical binding to satisfy later
24 * It is now possible to run the testsuite in parallel.
27 . GNU/Hurd build fixed.
28 . Aggregate functions now work properly in Aarch64 and powerpc.
30 \f Version 1.7 (25 March 2014)
32 . rec2csv now supports a -d option to change the delimiter
33 character in CSV files.
34 . It is now possible to specify several recfiles in the
35 command line containing anonymous records.
37 . Support for restricting the fields that can appear in records
38 with the new %allowed special field.
39 . If a tab separates a field name and a field value is now
40 ignored and not considered part of the field value.
42 . The current version of the library is now 1.
44 . It now possible to jump several records while navigating
45 using a prefix argument to the next/previous commands.
47 . The examples in the manual have been improved, and well as many
48 other aspects: formatting, English, etc. Special thanks to Karl
49 Berry for pointing out the problems and suggesting solutions.
50 * Internal cleanup and code factorization.
51 * Many, many, many bug fixes :D
53 \f Version 1.6 (03 November 2013)
55 . Support for joins and foreign keys.
56 . Grouping records by one or more fields.
57 . Sorting recors by several fields.
58 . Specifying rewrite rules in field expressions.
59 . Writing field values in rows.
60 . Dot-notation in selection expressions.
61 . Support for the >= and <= operators in selection expressions.
62 . Aggregated functions: sum, min, max, avg.
63 . New bash loadable builtin `readrec'.
65 . New UUID field type.
66 . User provided arbitrary constraints with %constraint.
67 . Pre-defined constants MIN and MAX can now be used in ranges.
69 . New high-level API: rec_db_query, rec_db_insert, rec_db_delete and
71 . Documentation in the rec.h header file extended and improved.
73 . Texinfo manual describing the usage of rec-mode.
74 . Support for a mode hook.
75 . Comments are now supported in records.
76 . add-change-log-entry in a recfile now does the right thing.
77 . Commands for copying/killing fields and records.
78 . Support for undo in navigation mode.
80 . Editing methods for the several field types.
83 . The user manual has been restructured and expanded.
84 * Internal cleanup and code factorization.
85 * Many, many, many bug fixes :D
87 \f Version 1.5 (13 January 2012)
88 * The utilities will now ask interactively for a password if it was
89 not provided with the -s command line option. This avoids security
90 problems related to shell history files.
91 * Support for octal and hexadecimal numbers has been added. They can
92 be used in both the records and selection expressions.
93 * It is now possible to select a given number of random records in
94 many of the utilities using the -m command line option.
95 * The -n option now accepts a list of indexes, supporting ranges.
96 * The new -U (uniq) option for recsel removes duplicated fields in the
98 * The new -q (quick) option allows to quickly search for the desired
99 record without having to provide a complete selection expression.
100 * Auto generated fields are now considered integers by default. This
101 avoids repetitive patterns in record descriptors involving %auto and
103 * Tab characters are now allowed in blank lines betwwen records.
104 * The API in rec.h is now better documented with comments, and
106 * recfix now exits with an error status if there is a parse error in
108 * The usage of the internal data structures has been _vastly_
109 improved, resulting in a much faster operation.
110 * Internal cleanup and code factorization.
111 * Many, many, many bug fixes :D
113 \f Version 1.4 (03 November 2011)
114 * Support for encryption with the new %confidential special field.
115 * Support for named types with the new %typedef special field.
116 * Support for sorting with the new %sort special field.
117 * Recutils support for org-babel is now included in the distribution
118 as ob-rec.el. It allows to read rec data into org documents in both
119 raw and table formats.
120 * It is now possible to use double quotes for delimiting string
121 literals in selection expressions, as well as single quotes.
122 Unescapted newline characters are also supported.
123 * The manual has been vastly improved.
124 * recfix now supports several operations: check, sort, encrypt and
126 * recins now generates parseable locale independent dates when
127 generating time-stamps in auto-fields.
130 \f Version 1.3 (11 February 2011)
131 * A quite bad (and embarrassing) bug introduced in 1.2 has been
132 fixed. The bug was causing recins, recdel and recset to report
133 random integrity failures, due to a uninitialized variable.
134 * New special field %size, that allows to define constraints in the
136 * Several fixes in the user manual.
137 * Little portability issue that prevented one of the tests to compile
138 in macos x has been fixed.
139 * Translations updates.
141 \f Version 1.2 (4 February 2011)
142 * New utility rec2csv, to export rec data to csv files.
143 * Support for auto-incremented fields and timestamps with the new
144 %auto field in record descriptors.
145 * Support for comments in enum type descriptions.
146 * recset now supports a new "set or add field" operation, implementing
147 the common case of setting the value of a field in case it exists,
148 or else add it to the record.
149 * The flavor of regular expressions accepted in both selection
150 expressions and type descriptions is now documented in the user
152 * Translations for German, Finnish, Swedish and Dutch.
153 * recdel now performs an integrity check before to complete the
155 * The utilities no longer "expand" the contents of remote descriptors
157 * recset and recins no longer destroy the permissions of the rec file
158 that is being modified.
159 * Many fixes in the documentation.
162 \f Version 1.1 (24 December 2010)
163 * New utility recfmt, to format records based on templates.
164 * Improvements in selection expressions:
165 . Support ranges in field subscripts.
166 . New date operators: before (<<), after (>>) and sametime (==).
167 . New ternary conditional operator (?:).
168 . New string concatenation operator (&).
169 * libcsv is now embedded in the source distribution, so it is no
170 longer required to have it installed to build csv2rec.
171 * Portability problems fixed. The programs have been tested in the
185 \f Version 1.0 (3 December 2010)
189 . Utilities: recinf, recsel, recins, recdel, recset, recfix, csv2rec,
191 . Experimental Emacs mode (rec-mode.el).