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