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