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