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