update devspec.en_US/1.0.general.md.
[devspec.git] / devspec.en_US / project / recutils / NEWS
blob9147855d6947d0cba6c5b3e6e22d87f836cbd311
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)
11 * Utilities:
12   . Fix the build of readrec with recent bash headers.
13 * librec:
14   . Fix evaluation of sexes containing #NAME expressions.
15   . Make numeric results from aggregated functions signed.
16 * readred:
17   . readrec --help now shows the help message and returns,
18     instead of waiting for input.
19 * Emacs mode:
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
23     org-mode versions.
24 * It is now possible to run the testsuite in parallel.
25 * Other fixes:
26   . gnulib updated.
27   . GNU/Hurd build fixed.
28   . Aggregate functions now work properly in Aarch64 and powerpc.
30 \f Version 1.7 (25 March 2014)
31 * Utilities:
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.
36 * Format:
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.
41 * librec:
42   . The current version of the library is now 1.
43 * Emacs mode:
44   . It now possible to jump several records while navigating
45     using a prefix argument to the next/previous commands.
46 * Documentation:
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)
54 * Utilities:
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'.
64 * Format:
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.
68 * librec:
69   . New high-level API: rec_db_query, rec_db_insert, rec_db_delete and
70     rec_db_set.
71   . Documentation in the rec.h header file extended and improved.
72 * Emacs mode:
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.
79   . Field folding.
80   . Editing methods for the several field types.
81   . Statistics.
82 * Documentation:
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
97   output records.
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
102   %type.
103 * Tab characters are now allowed in blank lines betwwen records.
104 * The API in rec.h is now better documented with comments, and
105   improved.
106 * recfix now exits with an error status if there is a parse error in
107   some input file.
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
125   decrypt.
126 * recins now generates parseable locale independent dates when
127   generating time-stamps in auto-fields.
128 * Lots of bug fixes.
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
135   size of record sets.
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
151   manual.
152 * Translations for German, Finnish, Swedish and Dutch.
153 * recdel now performs an integrity check before to complete the
154   deletion.
155 * The utilities no longer "expand" the contents of remote descriptors
156   in the local ones.
157 * recset and recins no longer destroy the permissions of the rec file
158   that is being modified.
159 * Many fixes in the documentation.
160 * Lots of bug fixes.
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
172   following systems:
173   . GNU/Linux
174   . FreeBSD 6.4
175   . MacOS X
176   . mingw32
177   . Solaris 8
178   . AIX 5.1
179   . HP-UX 11.00
180   . IRIX 6.5
181   . Tru64 (OSF/1 5.1)
182   . Cygwin 1.7
183 * Lots of bug fixes.
185 \f Version 1.0 (3 December 2010)
186 * Initial release.
187   . User manual.
188   . Library (librec).
189   . Utilities: recinf, recsel, recins, recdel, recset, recfix, csv2rec,
190     mdb2rec.
191   . Experimental Emacs mode (rec-mode.el).