Use -Wdeclaration-after-statement if available.
[pspp-builds.git] / NEWS
1 PSPP NEWS -- history of user-visible changes.
2 Time-stamp: <2006-01-28 19:05:46 blp>
3 Copyright (C) 1996-9, 2000 Free Software Foundation, Inc.
4 See the end for copying conditions.
5
6 Please send PSPP bug reports to bug-gnu-pspp@gnu.org.
7 Changes since 0.4.1:
8
9 \f
10 Changes since 0.4.0 to 0.4.1:
11
12   Newly implemented commands and statistical features:
13
14     * CLOSE FILE HANDLE (a PSPP extension; see below).
15
16     * REGRESSION.
17
18     * XEXPORT (a PSPP extension).
19
20   New PSPP extension:
21
22     A new PSPP extension called "scratch files" has been implemented.
23     A scratch file, like a system file, consists of a dictionary and
24     any number of cases.  A sufficiently small scratch file is stored
25     in memory; if it grows too large, it is written to disk.  By
26     default, any file handle whose name begins with # is assumed to
27     refer to a scratch file.  
28
29     Scratch files can be used just about anywhere a system or portable
30     file can be used.  Also, portable files are now allowed in most
31     places that system files were allowed in previous PSPP version.
32
33     A new CLOSE FILE HANDLE command allows the storage associated with
34     scratch files to be freed.  It also allows file handles to be
35     reassigned to new files.
36
37     For more information on scratch files, refer to the "File Handles"
38     section in the PSPP manual.  For specifics of what commands now
39     allow what kinds of files to be specified, refer to the
40     documentation on those particular commands.
41
42   PSPP is now able to start up and run even if it cannot find its
43   configuration files.
44
45 Changes from 0.3.0 to 0.4.0:
46
47   Changes in build dependencies:
48
49     * The GNU Scientific Library (libgsl), version 1.6 or later, is
50       now required.
51
52     * libplot from GNU plotutils is optional.  Without it, the new
53       graphing features will not work.  If you do not have it
54       installed, you must run `configure' with --without-libplot.
55
56     * libgmp2 is no longer a dependency.
57
58   Newly implemented commands and statistical features:
59
60     * EXAMINE, including its graphing features.
61
62     * FREQUENCIES now supports percentiles.
63
64     * ONEWAY.
65
66     * PERMISSIONS.
67
68     * SHOW.
69
70     * SORT CASES now sorts stably, that is, two cases with equal sort
71       criteria will be in the same relative order before and after the
72       sort.
73
74     * T-TEST (re-written).
75
76     * DATE and USE.  These commands are parsed but otherwise ignored,
77       to enhance compatibility with certain command files that invoke
78       them unnecessarily.
79
80     * VARIABLE WIDTH, VARIABLE ALIGNMENT, and VARIABLE LEVEL.  These
81       currently have no effect on PSPP output, but their values are
82       written to and read from system files and thus may affect
83       third-party software.
84
85     * SET EPOCH implemented.
86
87     * DATA LIST FREE and DATA LIST LIST now support arbitrary field
88       delimiters.
89
90     * FILE HANDLE now supports custom tab widths.
91
92   Long variable names (and other identifiers) are now supported.  Up
93   to the first 64 bytes of each identifier is significant.  PSPP now
94   reads and writes system files compatible with SPSS version 12.
95
96   New --algorithm and --syntax command line options allow
97   SPSS-compatible or enhanced modes to be selected.
98
99   Support for transformation expressions has been rewritten and
100   significantly improved.  Refer to the manual for details.
101
102   Calculation of moments (mean, standard deviation, kurtosis,
103   skewness) has been rewritten and should now be more accurate.  In
104   --algorithm=enhanced mode moments may be more accurate than SPSS in
105   some cases.
106
107   Numerous bugs have been fixed, too many to mention here.  Many new
108   tests have been added, leading to the discovery and fixing of many
109   of these bugs.
110
111   The ASCII output driver can now squeeze multiple blank lines into
112   single blank lines.
113
114   Much of the code has been rewritten and refactored.  It is now much
115   cleaner.
116
117   The FILE TYPE and REPEATING DATA commands have been disabled for
118   this release because their implementations were deemed too buggy to
119   be useful.  They will be fixed and replaced in a future release.
120
121   New pspp-mode for Emacs (in pspp-mode.el).
122
123   Added rudimentary command-line completion for interactive input.
124
125   lib/julcal and lib/dcdflib are no longer used, so they have been
126   removed.
127
128   For developers, the build system now requires Autoconf 2.58 and
129   Automake 1.7.  The included gettext has been updated to version
130   0.12.1.
131
132   Some reports state that Texinfo 4.8, the latest version, may be
133   necessary to successfully format the documentation on some systems.
134
135 Version 0.3.0 changes since 0.2.3:
136
137   Bugs fixed:
138
139     * Using alphanumeric variables in functions under AGGREGATE
140       segfaulted.  Fixed.
141
142     * Under certain circumstances, the final case would be omitted
143       from the results of an AGGREGATE operation.  Fixed.
144
145     * Undefined behavior was invoked by referencing a freed pointer
146       under certain circumstances.  Fixed.
147
148     * A wrong record size was displayed when paging the active file to
149       disk.  Fixed.
150
151     * Not having enough temporary space for sorting caused a core
152       dump.  Fixed.
153
154     * Syntax errors in function descriptions on AGGREGATE caused core
155       dumps.  Fixed.
156
157     * A null pointer was dereferenced, causing a core dump, when
158       PERCENTILES was specified on FREQUENCIES.  This fixes the
159       problem, but PSPP still doesn't calculate percentiles.
160
161     * SORT always sorted in ascending order.  Fixed.
162
163     * Some minor memory leaks in the expression parser were removed.
164
165     * Many assertions fixed for strict ANSI C compliance.
166
167   New features:
168
169     * SET ECHO ON now implemented, but turned off by default.
170
171     * PRINT specifier supported on END REPEAT.
172
173   Other:
174
175     * System libgmp2 library is used if installed instead of
176       unconditionally using the included libgmp2 subset.
177
178     * Extensive code cleanup, which continues.
179
180     * Added CORRELATIONS command parser, but not implemented.
181
182 Version 0.2.3 changes since 0.2.2:
183
184   Bugs fixed:
185
186     * SPLIT FILE with a string variable caused a core dump.  Fixed.
187
188     * Nested INCLUDEs didn't work.  Fixed.
189
190     * The MATCH FILES procedure set the values of variables not present
191       to 0.  It should have been SYSMIS.  This is now fixed.
192
193     * The REMARK command was too aggressive about skipping lines.  It
194       didn't like being the last command in a file.
195
196     * Comment parsing wasn't consistent with the rest of the code in its
197       idea of where one command ends and another starts.  This meant
198       that sometimes commands would be mysteriously ignored.  Thanks to
199       Dr. Dirk Melcher <BZN-mdksh@t-online.de> for reporting this bug.
200
201     * The TABLE subcommand on MATCH FILES worked only erratically at
202       best.  This fixes it.  Thanks to Dr. Dirk Melcher
203       <BZN-mdksh@t-online.de> for reporting this bug.
204
205     * VARIABLE LABELS rejected a slash before the first variable
206       specification, contradicting the documentation.  Thanks to Walter
207       M. Gray <graywm@northernc.on.ca> for reporting this bug.
208
209     * Because of an incorrect optimization in memory allocation,
210       CROSSTABS sometimes segfaulted when asked to output multiple
211       tables.  Thanks to Walter M. Gray <graywm@northernc.on.ca> for
212       reporting this bug.
213
214     * CROSSTABS didn't display value labels for column and row
215       variables.  Thanks to Walter M. Gray <graywm@northernc.on.ca> for
216       reporting this bug.
217
218     * WRITE didn't write line ends.  Fixed.  Thanks to Dr. Dirk Melcher
219       <BZN-mdksh@t-online.de> for reporting this bug.
220
221     * The TABLE subcommand on MATCH FILES worked only erratically at
222       best.  This fixes it.  Thanks to Dr. Dirk Melcher
223       <BZN-mdksh@t-online.de> for reporting this bug.
224
225     * VARIABLE LABELS rejected a slash before the first variable
226       specification, contradicting the documentation.  Thanks to Walter
227       M. Gray <graywm@northernc.on.ca> for reporting this bug.
228
229     * Because of an incorrect optimization in memory allocation,
230       CROSSTABS sometimes segfaulted when asked to output multiple
231       tables.  Thanks to Walter M. Gray <graywm@northernc.on.ca> for
232       reporting this bug.
233
234     * CROSSTABS didn't display value labels for column and row
235       variables.  Thanks to Walter M. Gray <graywm@northernc.on.ca> for
236       reporting this bug.
237
238     * WRITE didn't write line ends.  Fixed.  Thanks to Dr. Dirk Melcher
239       <BZN-mdksh@t-online.de> for reporting this bug.
240
241     * MATCH FILES corrupted memory and dumped core on some syntax
242       errors.  Fixed.
243
244     * MATCH FILES should set numeric values not available to the
245       system-missing value, not to 0.  Thanks to Dr. Dirk Melcher
246       <BZN-mdksh@t-online.de> for reporting this bug.
247
248     * KEEP didn't work properly on the SAVE procedure.  Fixed.  Thanks
249       to Ralf Geschke <ralf@kuerbis.org> for reporting this bug.
250
251     * Memory leak fix.
252
253     * Some systems didn't like the way open_file was coded.  Thanks to
254       Hankin <hankin@rogue.consultco.com> for pointing this out.
255
256     * The SAVE procedure didn't save long string variables properly.
257       Fixed by this patch.  Thanks to Hankin
258       <hankin@rogue.consultco.com> for this patch.
259
260     * Minor documentation fixes for MATCH FILES.
261
262 Version 0.2.2 changes since 0.2.1:
263
264   Bugs fixed:
265
266     * Fix behavior of PRINT SPACE for negative arguments.
267
268     * Fix reading some unusual system files.
269
270     * Fix LIST problems with very long variables.  Thanks to Hankin
271       <hankin@dunno.com> for this bug report.
272
273     * Fix problems with some string format specifiers.
274
275     * Fix use of $CASENUM in expressions.  Thanks to Dirk Melcher
276       <BZN-mdksh@t-online.de> for reporting this bug.
277
278     * Additional DATA LIST FREE and DATA LIST LIST fixes.  Thanks to
279       Hankin <hankin@dunno.com> again on this one.
280
281     * Sometimes you may encounter a PSPP script that has to be
282       interpreted in interactive mode.  Now you can use the -i flag to
283       do this.
284
285     * Warnings for egcs 1.1.1 cleaned up.  (However you'll get lots of
286       `unused variable' warnings under gcc 2.7.2.3, fixing this will
287       take more effort.)
288
289     * Tests fixed.
290
291     * The files in gmp need the internationalization directory in
292       their include path.  Thanks to OKUJI Yoshinori
293       <okuji@kuicr.kyoto-u.ac.jp> for pointing this out.
294
295 Version 0.2.1 changes since 0.2.0:
296
297   Bugs fixed:
298
299     * Remember to include examples/ directory in distribution :-)
300
301     * Fixed gmp compile problems for some non-i386 architectures.
302       Thanks to Hans Olav Eggestad <olav@jordforsk.nlh.no> and others
303       for reporting this.
304
305     * DATA LIST FREE and DATA LIST LIST parsing of input files is now
306       matches the documented behavior exactly, and error messages are
307       more helpful.  Thanks to Mark H. Wood <mwood@IUPUI.Edu>.
308
309 Version 0.2.0 changes since 0.1.0:
310
311   Procedures now implemented:
312     * CROSSTABS.  Please see documentation for caveats.
313
314   Transformations and utilities now implemented:
315     * AGGREGATE
316     * APPLY DICTIONARY
317     * CLEAR TRANSFORMATIONS
318     * DISPLAY (all subcommands).
319     * ERASE
320     * FLIP
321     * EXPORT
322     * HOST
323     * IMPORT
324     * MATCH FILES
325     * MATRIX DATA
326     * NEW FILE
327     * REPEATING DATA
328
329   Support for input and output through pipes: "|command" and
330   "command|" filenames; support for special filenames "-", "stdin",
331   "stdout", "stderr".
332
333   New command-line features:
334     * New option --testing-mode: Invoke heuristics to assist testing.
335     * New option --safer, -s: Don't allow certain unsafe operations.
336     * New option --command=CMD, -c CMD: Perform literal command CMD.
337     * rc file ~/.pspp/rc is executed before any other files.
338     * Now multiple syntax files can be specified.
339
340   Operator LAG is now implemented.
341
342   Added missing FILE subcommand to REREAD.
343
344   Table output manager completely rewritten.
345
346   Device configuration file syntax changed.  You will need to
347   reinstall your `devices' file.
348
349   New output driver for HTML.
350
351   PostScript driver and prologue simplified.
352
353   Many bugs fixed.  General source-code cleanup.
354
355   Added Texinfo documentation for:
356     * PSPP system file format
357     * PSPP portable file format
358     * How to write input for q2c parser generator
359     * HTML driver
360
361   PSPP language is now fully documented.  Please report any
362   inaccuracies or omissions in the documentation.
363
364 Changes for version 0.1.0:
365
366   First public release.  For changes from unreleased development
367   versions, please see ONEWS.
368 \f
369 ----------------------------------------------------------------------
370 Copyright information:
371
372 Copyright (C) 1996-9, 2000 Free Software Foundation, Inc.
373
374    Permission is granted to anyone to make or distribute verbatim
375    copies of this document as received, in any medium, provided that
376    the copyright notice and this permission notice are preserved, thus
377    giving the recipient permission to redistribute in turn.
378
379    Permission is granted to distribute modified versions of this
380    document, or of portions of it, under the above conditions,
381    provided also that they carry prominent notices stating who last
382    changed them.
383 \f
384 Local variables:
385 version-control: never
386 mode: indented-text
387 end: