Update NEWS for 0.6.1-rc2.
[pspp-builds.git] / NEWS
1 PSPP NEWS -- history of user-visible changes.
2 Time-stamp: <2008-10-03 21:21:11 blp>
3 Copyright (C) 1996-9, 2000, 2008 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 from 0.6.0 to 0.6.1:
9
10   * Statistical bug fixes:
11
12     - Report correct standardized regression coefficients in linear
13       regression output (bug #23567).
14
15   * Bug fixes that affect PSPP and PSPPIRE:
16
17     - Avoid crash with pie charts (bug #24014).
18
19     - Don't append % to count totals (bug #24003).
20
21     - Don't crash on bad input (bug #24031).
22
23     - Don't crash if "end data." is not left aligned (bug #24115).
24
25     - Change default workspace value to 64 MB, to avoid unnecessary
26       disk accesses on modern machines.
27
28   * PSPPIRE bug fixes:
29
30     - Add ".sav" or ".por" suffix to filename when saving with Save_As
31       (bug #23137).
32
33     - Make it possible to reopen the output window on Windows (bug
34       #24033).
35
36   * Build fixes and changes:
37
38     - Work around bug in GSL that prevented build with recent GCC
39       versions without manually adding -fgnu89-inline to CFLAGS.
40
41     - Also warn about missing prerequisites as we encounter them (bug
42       #24445).
43
44     - Distribute necessary files to allow users working from the
45       distributed tarball to configure with --enable-gui-tools.
46
47     - Append $(EXEEXT_FOR_BUILD) to output file name when building
48       q2c, fixing build problems on Windows.
49
50     - GSL 1.8 or later is now required.
51
52   * The German translations were removed, since native German speakers
53     found them too poor to be useful.
54
55 Changes from 0.4.0 to 0.6.0:
56
57   * The PSPP license is now version 3 or later of the GNU General
58     Public License.  Previously, it was version 2 or later.
59
60   * PSPP now has a graphical interface, called PSPPIRE.  This
61     interface allows you to enter data and variable definitions
62     interactively.  Commands may be executed in syntax form, or by
63     using the interactive dialog boxes available from the dropdown
64     menus.
65
66   * A few sample syntax files are now included in the `examples'
67     directory.
68
69   * Numerous major and minor bugs have been fixed.
70
71   Build changes:
72
73     * The INSTALL file now reflects the details of how to install
74       PSPP.  It is a tailored version of the generic installation
75       instructions, instead of a verbatim copy.
76
77     * iconv, which is ordinarily installed as part of a Unix-like
78       system, is now required.  If you don't have it already, you can
79       install GNU libiconv (http://www.gnu.org/software/libiconv/).
80
81     * libxml2 and zlib are new optional dependencies.  They are
82       required to use PSPP's support for reading Gnumeric files.
83
84   Statistical procedure changes:
85
86     * REGRESSION is a new procedure for fitting linear models to data
87       via least-squares estimation.
88
89     * NPAR TESTS is a new procedure for non-parametric tests.  In this
90       release, it supports binomial and chi-square tests.
91
92     * RANK is a new procedure to rank variables.  It supports numerous
93       forms of ranking.
94
95     * FREQUENCIES can now output histograms and pie charts.  These
96       features were present in earlier releases, but not documented.
97
98   User interface changes:
99
100     * In many situations where PSPP once terminated with a fatal
101       error, PSPP now recovers and continues execution.
102
103     * PSPP is now able to start up and run even if it cannot find its
104       configuration files.
105
106     * Journaling of interactive commands to a disk file is now
107       implemented.  By default, journaling is enabled, to a file named
108       `pspp.jnl' in the current directory.  SET JOURNAL may be used to
109       control journaling.
110
111     * The use of `+' between syntax file names on the command line to
112       prevent the dictionary from being cleared between their
113       executions is no longer supported.  All syntax files are now
114       executed as if `+' had been specified.
115
116     * The -d/--define and -u/--undef command line options are no
117       longer supported.  Instead, use /usr/bin/env or shell primitives
118       to define or clear environment variables before invoking PSPP.
119
120     * If a syntax file named named `rc' is found in a configuration
121       directory (such as $HOME/.pspp), it is executed before any
122       syntax file specified on the command line.  The -r or
123       --no-statrc command line option may be used to disable this
124       behavior.
125
126   Output changes:
127
128     * Output configuration options have changed.  Please refer to the
129       manual for a full description of the available options.
130
131       In consequence, you will need to reinstall your "devices" file.
132       "make install" will do this for you.
133
134     * Most error messages are now written to PSPP output files by
135       default.  SET ERROR can be used to disable this behavior.
136
137     * When invoked interactively, PSPP now by default produces output
138       on the terminal, piping it through the "more" program.
139       Previously, by default output was written only to file
140       pspp.list.  On most terminals, the page length used for output
141       automatically adapts to the terminal size, even if the terminal
142       is resized.
143
144     * ASCII driver:
145
146       - This driver now supports charts in output.  Charts are written
147         as separate files that the main output file refers to.  By
148         default, charts are written in PNG format to files named
149         pspp-1.png, pspp-2.png, and so on.
150
151       - Configurations are provided that use VT100 (and xterm)
152         line-drawing characters in tables.  The option "-o list-vt100"
153         requests use of this device for output to pspp.list.
154
155     * PostScript driver:
156
157       - The default paper size is now determined using the PAPERSIZE
158         environment variable, or the LC_PAPER locale category on
159         systems that support it.  If these are not set, the default is
160         now A4, instead of US letter.  To make US letter the default,
161         set PAPERSIZE to "letter" in your environment.
162
163       - Font metrics are now read from AFM files, instead of
164         Groff-format metrics files.  PostScript fonts can now be
165         embedded in output.
166
167         In consequence, you will need to install an AFM file for each
168         font used in PostScript output.  "make install" will install
169         AFM files for the standard PostScript fonts, including the
170         ones that the PostScript driver uses by default.
171
172       - Standard paper sizes no longer need to be specified through a
173         configuration file.  The "papersize" configuration file is no
174         longer needed, or supported.
175
176       - The PostScript prologue is no longer obtained from the
177         "ps-prologue" configuration file.  This configuration file is
178         no longer needed, or supported.
179
180     * HTML driver:
181
182       - The HTML prologue is no longer obtained from the
183         "html-prologue" configuration file.  This configuration file
184         is no longer needed, or supported.
185
186   Command language changes:
187
188     * The following commands are new:
189
190       - GET DATA, which currently supports reading Gnumeric files and
191         text data files.  It will be extended later to read other
192         types of foreign data.
193
194       - CD, to change the current directory.
195
196       - INSERT, to execute a syntax file.
197
198       - DELETE VARIABLES, to remove variables from the active file
199         dictionary.
200
201       - ADD DOCUMENT, to add text to active file documents.
202
203       - CLOSE FILE HANDLE (a PSPP extension; see below).
204
205       - XEXPORT, a PSPP extension that is a transformation equivalent
206         to EXPORT.
207
208     * The following functions for transformation expressions are new:
209
210       - DATEDIFF, for computing the difference of two dates.
211
212       - DATESUM, for advancing a date by a specified duration.
213
214       - VALUELABEL, to obtain the value label for a value.
215
216     * PSPP now supports very long string variables (over 255 bytes
217       long).
218
219     * MATCH FILES now supports the FIRST and LAST subcommands.
220
221     * Previous versions of PSPP prohibited using commands to both read and
222       write a single file at the same time.  Now, PSPP allows this, and
223       the new version of the file atomically replaces the old version.
224
225     * The following commands are no longer available.  They will be
226       re-implemented in a later release:
227
228       - CLEAR TRANSFORMATIONS
229
230       - MATRIX DATA
231
232       - REPEATING DATA
233
234     * The PROCESS IF command, which was deprecated, has been removed.
235       You may replace any usage of it by SELECT IF following
236       TEMPORARY, which has the same effect.
237
238     * The output format for variables created by VECTOR may now be
239       specified as part of the VECTOR syntax.
240
241   "Scratch files", a new PSPP extension:
242
243     A scratch file, like a system file, consists of a dictionary and
244     any number of cases.  Small scratch files are stored in memory;
245     one that grows too large is written to disk.  By default, any file
246     handle whose name begins with # is assumed to refer to a scratch
247     file.
248
249     Scratch files can be used just about anywhere a system or portable
250     file can be used.  Also, portable files are now allowed in most
251     places that system files were allowed in previous PSPP version.
252
253     A new CLOSE FILE HANDLE command allows the storage associated with
254     scratch files to be freed.  It also allows file handles to be
255     reassigned to new files.
256
257     For more information on scratch files, refer to the "File Handles"
258     section in the PSPP manual.  For specifics of what commands now
259     allow what kinds of files to be specified, refer to the
260     documentation on those particular commands.
261
262   Data access changes:
263
264     * Binary formats and IBM/360 formats, including ASCII/EBCDIC
265       translation, are now supported.  Use FILE HANDLE to specify the
266       format of these files.
267
268     * Little-endian, big-endian, and VAX-endian formats are now
269       supported for integer binary formats when reading and writing
270       data files.  The new RIB and WIB subcommands on the SET command
271       control endianness of integer data.  The default is the host's
272       native endianness.
273
274     * IEEE 754, VAX, and IBM hexadecimal formats are now supported for
275       floating point binary formats when reading and writing data
276       files.  The new RRB and WRB subcommands on the SET command
277       control the floating point format.  The default is the host's
278       native floating point format.
279
280     * DATA LIST now supports the SKIP subcommand, to skip records at
281       the beginning of a file.  For compatibility, DATA LIST now
282       treats N format as F format for FREE and LIST format input.
283
284     * The SAVE and XSAVE commands now support the UNSELECTED,
285       PERMISSIONS, NAMES, and MAP subcommands.
286
287     * The EXPORT command has been re-implemented to obtain better
288       results.  Support for the UNSELECTED, DIGITS, and TYPE
289       subcommands has been added.
290
291     * For compatibility, PRINT now inserts a space at the beginning of
292       every output line, even lines that would otherwise be blank,
293       when OUTFILE is specified.  (The behavior of WRITE is
294       unchanged.)
295
296     * For compatibility, PRINT EJECT now inserts the digit `1' at the
297       beginning of each line that should begin a new page.
298
299     * For compatibility, WRITE now outputs the system-missing value as
300       a field filled with spaces.  Binary formats are an exception.
301       (The behavior of PRINT is unchanged.)
302
303   Documentation:
304
305     * Input and output format descriptions have been rewritten.  They
306       now precisely describe what is accepted on input and written on
307       output.
308
309     * The descriptions of the PSPP system and portable file formats
310       have been extensively revised and improved.
311
312   For developers, the build system now requires Autoconf 2.60 and
313   Automake 1.10.
314 \f
315 Changes from 0.3.0 to 0.4.0:
316
317   Changes in build dependencies:
318
319     * The GNU Scientific Library (libgsl), version 1.6 or later, is
320       now required.
321
322     * libplot from GNU plotutils is optional.  Without it, the new
323       graphing features will not work.  If you do not have it
324       installed, you must run `configure' with --without-libplot.
325
326     * libgmp2 is no longer a dependency.
327
328   Newly implemented commands and statistical features:
329
330     * EXAMINE, including its graphing features.
331
332     * FREQUENCIES now supports percentiles.
333
334     * ONEWAY.
335
336     * PERMISSIONS.
337
338     * SHOW.
339
340     * SORT CASES now sorts stably, that is, two cases with equal sort
341       criteria will be in the same relative order before and after the
342       sort.
343
344     * T-TEST (re-written).
345
346     * DATE and USE.  These commands are parsed but otherwise ignored,
347       to enhance compatibility with certain command files that invoke
348       them unnecessarily.
349
350     * VARIABLE WIDTH, VARIABLE ALIGNMENT, and VARIABLE LEVEL.  These
351       currently have no effect on PSPP output, but their values are
352       written to and read from system files and thus may affect
353       third-party software.
354
355     * SET EPOCH implemented.
356
357     * DATA LIST FREE and DATA LIST LIST now support arbitrary field
358       delimiters.
359
360     * FILE HANDLE now supports custom tab widths.
361
362   Long variable names (and other identifiers) are now supported.  Up
363   to the first 64 bytes of each identifier is significant.  PSPP now
364   reads and writes system files compatible with SPSS version 12.
365
366   New --algorithm and --syntax command line options allow
367   SPSS-compatible or enhanced modes to be selected.
368
369   Support for transformation expressions has been rewritten and
370   significantly improved.  Refer to the manual for details.
371
372   Calculation of moments (mean, standard deviation, kurtosis,
373   skewness) has been rewritten and should now be more accurate.  In
374   --algorithm=enhanced mode moments may be more accurate than SPSS in
375   some cases.
376
377   Numerous bugs have been fixed, too many to mention here.  Many new
378   tests have been added, leading to the discovery and fixing of many
379   of these bugs.
380
381   The ASCII output driver can now squeeze multiple blank lines into
382   single blank lines.
383
384   Much of the code has been rewritten and refactored.  It is now much
385   cleaner.
386
387   The FILE TYPE and REPEATING DATA commands have been disabled for
388   this release because their implementations were deemed too buggy to
389   be useful.  They will be fixed and replaced in a future release.
390
391   New pspp-mode for Emacs (in pspp-mode.el).
392
393   Added rudimentary command-line completion for interactive input.
394
395   lib/julcal and lib/dcdflib are no longer used, so they have been
396   removed.
397
398   For developers, the build system now requires Autoconf 2.58 and
399   Automake 1.7.  The included gettext has been updated to version
400   0.12.1.
401
402   Some reports state that Texinfo 4.8, the latest version, may be
403   necessary to successfully format the documentation on some systems.
404
405 Version 0.3.0 changes since 0.2.3:
406
407   Bugs fixed:
408
409     * Using alphanumeric variables in functions under AGGREGATE
410       segfaulted.  Fixed.
411
412     * Under certain circumstances, the final case would be omitted
413       from the results of an AGGREGATE operation.  Fixed.
414
415     * Undefined behavior was invoked by referencing a freed pointer
416       under certain circumstances.  Fixed.
417
418     * A wrong record size was displayed when paging the active file to
419       disk.  Fixed.
420
421     * Not having enough temporary space for sorting caused a core
422       dump.  Fixed.
423
424     * Syntax errors in function descriptions on AGGREGATE caused core
425       dumps.  Fixed.
426
427     * A null pointer was dereferenced, causing a core dump, when
428       PERCENTILES was specified on FREQUENCIES.  This fixes the
429       problem, but PSPP still doesn't calculate percentiles.
430
431     * SORT always sorted in ascending order.  Fixed.
432
433     * Some minor memory leaks in the expression parser were removed.
434
435     * Many assertions fixed for strict ANSI C compliance.
436
437   New features:
438
439     * SET ECHO ON now implemented, but turned off by default.
440
441     * PRINT specifier supported on END REPEAT.
442
443   Other:
444
445     * System libgmp2 library is used if installed instead of
446       unconditionally using the included libgmp2 subset.
447
448     * Extensive code cleanup, which continues.
449
450     * Added CORRELATIONS command parser, but not implemented.
451
452 Version 0.2.3 changes since 0.2.2:
453
454   Bugs fixed:
455
456     * SPLIT FILE with a string variable caused a core dump.  Fixed.
457
458     * Nested INCLUDEs didn't work.  Fixed.
459
460     * The MATCH FILES procedure set the values of variables not present
461       to 0.  It should have been SYSMIS.  This is now fixed.
462
463     * The REMARK command was too aggressive about skipping lines.  It
464       didn't like being the last command in a file.
465
466     * Comment parsing wasn't consistent with the rest of the code in its
467       idea of where one command ends and another starts.  This meant
468       that sometimes commands would be mysteriously ignored.  Thanks to
469       Dr. Dirk Melcher <BZN-mdksh@t-online.de> for reporting this bug.
470
471     * The TABLE subcommand on MATCH FILES worked only erratically at
472       best.  This fixes it.  Thanks to Dr. Dirk Melcher
473       <BZN-mdksh@t-online.de> for reporting this bug.
474
475     * VARIABLE LABELS rejected a slash before the first variable
476       specification, contradicting the documentation.  Thanks to Walter
477       M. Gray <graywm@northernc.on.ca> for reporting this bug.
478
479     * Because of an incorrect optimization in memory allocation,
480       CROSSTABS sometimes segfaulted when asked to output multiple
481       tables.  Thanks to Walter M. Gray <graywm@northernc.on.ca> for
482       reporting this bug.
483
484     * CROSSTABS didn't display value labels for column and row
485       variables.  Thanks to Walter M. Gray <graywm@northernc.on.ca> for
486       reporting this bug.
487
488     * WRITE didn't write line ends.  Fixed.  Thanks to Dr. Dirk Melcher
489       <BZN-mdksh@t-online.de> for reporting this bug.
490
491     * The TABLE subcommand on MATCH FILES worked only erratically at
492       best.  This fixes it.  Thanks to Dr. Dirk Melcher
493       <BZN-mdksh@t-online.de> for reporting this bug.
494
495     * VARIABLE LABELS rejected a slash before the first variable
496       specification, contradicting the documentation.  Thanks to Walter
497       M. Gray <graywm@northernc.on.ca> for reporting this bug.
498
499     * Because of an incorrect optimization in memory allocation,
500       CROSSTABS sometimes segfaulted when asked to output multiple
501       tables.  Thanks to Walter M. Gray <graywm@northernc.on.ca> for
502       reporting this bug.
503
504     * CROSSTABS didn't display value labels for column and row
505       variables.  Thanks to Walter M. Gray <graywm@northernc.on.ca> for
506       reporting this bug.
507
508     * WRITE didn't write line ends.  Fixed.  Thanks to Dr. Dirk Melcher
509       <BZN-mdksh@t-online.de> for reporting this bug.
510
511     * MATCH FILES corrupted memory and dumped core on some syntax
512       errors.  Fixed.
513
514     * MATCH FILES should set numeric values not available to the
515       system-missing value, not to 0.  Thanks to Dr. Dirk Melcher
516       <BZN-mdksh@t-online.de> for reporting this bug.
517
518     * KEEP didn't work properly on the SAVE procedure.  Fixed.  Thanks
519       to Ralf Geschke <ralf@kuerbis.org> for reporting this bug.
520
521     * Memory leak fix.
522
523     * Some systems didn't like the way open_file was coded.  Thanks to
524       Hankin <hankin@rogue.consultco.com> for pointing this out.
525
526     * The SAVE procedure didn't save long string variables properly.
527       Fixed by this patch.  Thanks to Hankin
528       <hankin@rogue.consultco.com> for this patch.
529
530     * Minor documentation fixes for MATCH FILES.
531
532 Version 0.2.2 changes since 0.2.1:
533
534   Bugs fixed:
535
536     * Fix behavior of PRINT SPACE for negative arguments.
537
538     * Fix reading some unusual system files.
539
540     * Fix LIST problems with very long variables.  Thanks to Hankin
541       <hankin@dunno.com> for this bug report.
542
543     * Fix problems with some string format specifiers.
544
545     * Fix use of $CASENUM in expressions.  Thanks to Dirk Melcher
546       <BZN-mdksh@t-online.de> for reporting this bug.
547
548     * Additional DATA LIST FREE and DATA LIST LIST fixes.  Thanks to
549       Hankin <hankin@dunno.com> again on this one.
550
551     * Sometimes you may encounter a PSPP script that has to be
552       interpreted in interactive mode.  Now you can use the -i flag to
553       do this.
554
555     * Warnings for egcs 1.1.1 cleaned up.  (However you'll get lots of
556       `unused variable' warnings under gcc 2.7.2.3, fixing this will
557       take more effort.)
558
559     * Tests fixed.
560
561     * The files in gmp need the internationalization directory in
562       their include path.  Thanks to OKUJI Yoshinori
563       <okuji@kuicr.kyoto-u.ac.jp> for pointing this out.
564
565 Version 0.2.1 changes since 0.2.0:
566
567   Bugs fixed:
568
569     * Remember to include examples/ directory in distribution :-)
570
571     * Fixed gmp compile problems for some non-i386 architectures.
572       Thanks to Hans Olav Eggestad <olav@jordforsk.nlh.no> and others
573       for reporting this.
574
575     * DATA LIST FREE and DATA LIST LIST parsing of input files is now
576       matches the documented behavior exactly, and error messages are
577       more helpful.  Thanks to Mark H. Wood <mwood@IUPUI.Edu>.
578
579 Version 0.2.0 changes since 0.1.0:
580
581   Procedures now implemented:
582     * CROSSTABS.  Please see documentation for caveats.
583
584   Transformations and utilities now implemented:
585     * AGGREGATE
586     * APPLY DICTIONARY
587     * CLEAR TRANSFORMATIONS
588     * DISPLAY (all subcommands).
589     * ERASE
590     * FLIP
591     * EXPORT
592     * HOST
593     * IMPORT
594     * MATCH FILES
595     * MATRIX DATA
596     * NEW FILE
597     * REPEATING DATA
598
599   Support for input and output through pipes: "|command" and
600   "command|" filenames; support for special filenames "-", "stdin",
601   "stdout", "stderr".
602
603   New command-line features:
604     * New option --testing-mode: Invoke heuristics to assist testing.
605     * New option --safer, -s: Don't allow certain unsafe operations.
606     * New option --command=CMD, -c CMD: Perform literal command CMD.
607     * rc file ~/.pspp/rc is executed before any other files.
608     * Now multiple syntax files can be specified.
609
610   Operator LAG is now implemented.
611
612   Added missing FILE subcommand to REREAD.
613
614   Table output manager completely rewritten.
615
616   Device configuration file syntax changed.  You will need to
617   reinstall your `devices' file.
618
619   New output driver for HTML.
620
621   PostScript driver and prologue simplified.
622
623   Many bugs fixed.  General source-code cleanup.
624
625   Added Texinfo documentation for:
626     * PSPP system file format
627     * PSPP portable file format
628     * How to write input for q2c parser generator
629     * HTML driver
630
631   PSPP language is now fully documented.  Please report any
632   inaccuracies or omissions in the documentation.
633
634 Changes for version 0.1.0:
635
636   First public release.  For changes from unreleased development
637   versions, please see ONEWS.
638 \f
639 ----------------------------------------------------------------------
640 Copyright information:
641
642 Copyright (C) 1996-9, 2000 Free Software Foundation, Inc.
643
644    Permission is granted to anyone to make or distribute verbatim
645    copies of this document as received, in any medium, provided that
646    the copyright notice and this permission notice are preserved, thus
647    giving the recipient permission to redistribute in turn.
648
649    Permission is granted to distribute modified versions of this
650    document, or of portions of it, under the above conditions,
651    provided also that they carry prominent notices stating who last
652    changed them.
653 \f
654 Local variables:
655 version-control: never
656 mode: indented-text
657 end: