Implement ZLIB compressed system file reader and writer.
[pspp] / NEWS
1 PSPP NEWS -- history of user-visible changes.
2 Copyright (C) 1996-2000, 2008-2013 Free Software Foundation, Inc.
3 See the end for copying conditions.
4
5 Please send PSPP bug reports to bug-gnu-pspp@gnu.org.
6  
7 Changes since 0.8.1:
8
9  * Charts are now rendered with colours from the Tango palette instead
10    of fully saturated primaries.
11
12  * PSPP can now read and write ZCOMPRESSED system files, a new format
13    variant that compresses data much more effectively than the
14    previous form of compression (which is still supported).
15
16  * Missing values for long string variables are now read from and
17    written to system files in an SPSS-compatible fashion.
18
19    (Earlier versions of PSPP that supported missing values for long
20    string variables wrote them to system files in an SPSS-incompatible
21    way.  To fix the problem, read the system file with this version of
22    PSPP and then save a new copy of it.)
23
24  * Build changes:
25
26    - zlib is now a required dependency.  (Previously it was optional.)
27
28 Changes from 0.8.0 to 0.8.1:
29
30  * New commands:
31
32    - VARIABLE ROLE.
33
34  * Changes to existing commands:
35
36    - CROSSTABS: The requirement that one expected count must be less than five
37         before Fishers Exact Test will be reported has been removed.
38
39  * PSPPIRE graphical user interface improvements:
40
41    - A new set of icons has been contributed.
42
43    - Syntax windows now parse syntax in "auto" mode, which in practice
44      should mean that both "batch" and "interactive" syntax now works,
45      instead of just "interactive" syntax.
46
47    - The variable pane of data windows now include a Role column.
48
49  * Notable bug fixes:
50
51    - System files written by IBM SPSS 21 are now read without warnings.
52
53    - System files written by "VOXCO INTERVIEWER 4.3" are now read
54      without warnings.
55
56    - PSPPIRE should now more gracefully handle syntax files that contain
57      errors.
58
59 Changes from 0.6.2 to 0.8.0:
60
61  * New commands:
62
63    - ADD FILES
64    - CORRELATIONS
65    - DATAFILE ATTRIBUTES
66    - DATASET ACTIVATE
67    - DATASET CLOSE
68    - DATASET COPY
69    - DATASET DECLARE
70    - DATASET DISPLAY
71    - DATASET NAME
72    - LOGISTIC REGRESSION
73    - MATCH FILES
74    - MEANS
75    - MRSETS
76    - PRESERVE and RESTORE
77    - QUICK CLUSTER
78    - RELIABILITY
79    - ROC
80    - SAVE TRANSLATE to CSV and tab-delimited files
81    - UPDATE
82    - VARIABLE ATTRIBUTES
83
84  * Changes to existing commands:
85
86    - AUTORECODE has a new GROUP subcommand.
87
88    - CROSSTABS has been re-implemented to fix numerous bugs.
89
90    - EXAMINE: /MISSING=LISTWISE is now the default.
91
92    - DO REPEAT command has been reimplemented.  Now, when DO REPEAT
93      contains an INCLUDE or INSERT command, substitutions are not
94      applied to the included file.
95   
96    - FILE HANDLE has a new ENDS subcommand to select CR or CRLF new-lines.
97
98    - HOST has been updated to use more modern syntax.
99
100    - Most commands that work with data files now support a new
101      ENCODING subcommand.
102
103    - MISSING VALUES can now assign missing values to long string
104      variables.
105
106    - ONEWAY: the POSTHOC subcommand is now implemented.
107
108    - The following new subcommands to NPAR TESTS have been implemented:
109      COCHRAN, FRIEDMAN, JONCKHEERE-TERPSTRA, KENDALL, KRUSKAL-WALLIS, MANN-WHITNEY, 
110      MCNEMAR, SIGN, WILCOXON, and RUNS
111
112    - SET and SHOW no longer have ENDCMD, NULLINE, PROMPT, CPROMPT, and
113      DPROMPT subcommands.  The defaults are now fixed values.
114
115    - SHOW now has a JOURNAL subcommand, to show the location of the
116      journal file.
117
118    - VALUE LABELS can now assign value labels to long string
119      variables.
120
121  * Other language changes:
122
123    - The new DATASET commands replace the "scratch file" PSPP
124      extension, which is no longer supported.
125
126    - Strings may now include arbitrary Unicode code points specified
127      in hexadecimal, using the syntax U'hhhh'.  For example, Unicode
128      code point U+1D11E, the musical G clef character, may be
129      expressed as U'1D11E'.
130
131      See the "Tokens" section in the PSPP manual for more information.
132
133    - In previous versions of PSPP, in a string expressed in
134      hexadecimal with X'hh' syntax, the hexadecimal digits expressed
135      bytes in the locale encoding.  In this version of PSPP, X'hh'
136      syntax always expresses bytes in UTF-8 encoding.
137
138      See the "Tokens" section in the PSPP manual for more information.
139
140  * PSPPIRE graphical user interface improvements:
141
142    - Added support for non-ASCII characters in strings, labels and
143      variable names.
144
145    - A "Split Window" function is available, which makes it easier to
146      see different parts of a large data file.
147
148    - Data files can now be opened by specifing their name as the first
149      argument.  This means that on a properly configured desktop, double
150      clicking on an icon will open the file.
151
152    - Foreign formats, such as Gnumeric, OpenDocument and CSV can be imported
153      via using an "intelligent" application assistant dialog.
154
155  * Output changes:
156
157    - The new "cairo" output driver supports output in PostScript, PDF,
158      and SVG formats.  Its functionality is a superset of that of the
159      "postscript" driver, which has been removed.  You must have Cairo
160      and Pango installed to build the "cairo" driver.
161
162    - Charts are now produced with Cairo and Pango, instead of libplot.
163      Without them, the new graphing features will not work.  If you do
164      not have Cairo and Pango installed, you must run `configure' with
165      --without-cairo.
166
167    - The plain text output driver now properly supports multibyte UTF-8
168      characters, including double-width characters and combining
169      accents.
170
171    - Output to OpenDocument format is now supported.
172
173    - The HTML output is much improved.
174
175  * The "pspp" program has a new option --batch (or -b) that selects
176    "batch" syntax mode.  In previous versions of PSPP this syntax mode
177    was the default.  Now a new "auto" syntax mode is the default.  In
178    "auto" mode, PSPP interprets most syntax files correctly regardless
179    of their intended syntax mode.
180
181    See the "Syntax Variants" section in the PSPP manual for more
182    information.
183
184  * The "pspp" program has a new option --syntax-encoding that
185    specifies the encoding for syntax files listed on the command line,
186    as well as the default encoding for syntax files included with
187    INCLUDE or INSERT.  The default is to accept the system locale
188    encoding, UTF-8, UTF-16, or UTF-32, automatically detecting which
189    one the system file uses.
190
191    See the documentation for the INSERT command in the PSPP manual for
192    more information.
193
194  * Text data files that PRINT and WRITE creates now use the system
195    native line ends by default (CRLF on Windows, LF only elsewhere).
196    Use the new ENDS subcommand on FILE HANDLE to override the default.
197
198  * A new Perl module allows Perl programs to read and write PSPP
199    system files.
200
201  * A tutorial chapter has been added to the user manual.
202 \f
203 Changes from 0.6.1 to 0.6.2:
204
205   * New translations:
206
207     - Dutch, thanks to Harry Thijssen.
208
209     - Brazilian Portuguese, thanks to Michel Boaventura.
210
211     Thanks for translations are also due to the coordinators at
212     translationproject.org.
213
214   * Statistical bug fixes:
215
216     - REGRESSION: Report correct standard error of the estimate (bug
217       #25677).
218
219     - T-TEST: Report correct significance of paired sample T-test in
220       the common case (bug #26936) and corner cases.  Thanks to Mike
221       Griffiths and Matej Cepl for reporting these bugs.
222
223   * Build fixes and changes:
224
225     - Fix build with GTK+ 2.17.4 and later.
226
227     - Make running "make" after running "configure" with different
228       settings reliably rebuild version.c.
229
230     - Cygwin and MinGW build fixes.
231
232     - Fixes for building with recent gnulib.
233
234     - The Makefile now honors two new variables, PSPP_LDFLAGS and
235       PSPPIRE_LDFLAGS, that affect linking of the PSPP and PSPPIRE
236       binaries, respectively.  This makes building easier for some
237       packagers.
238
239     - Fixes for "configure --enable-relocatable" (bug #25508).
240
241   * Data file bug fixes and changes:
242
243     - Fix reading text data files that contain a mix of white space
244       and commas.  Now "a ,b" is treated as two fields containing "a"
245       and "b"; previously it was treated as three, with an empty field
246       in the middle.
247
248     - Fix writing corrupted .sav files on Windows.
249
250     - Fix writing variable labels longer than 252 bytes to save files.
251       Thanks to Robert Westlund for reporting this bug.
252
253     - Fix writing corrupted .por files (bug #26034).
254
255     - Fix reading .por files whose initial lines are not padded out
256       with spaces as expected.
257
258     - PSPP will no longer issue warnings about some .sav file records
259       or values that it does not understand.  These warnings were
260       harmless, but needlessly alarmed some users.
261
262     - Fix crash reading empty string fields from PostgreSQL databases.
263
264   * Bug fixes that affect PSPP and PSPPIRE:
265
266     - Users may now control precision of output statistics.  Instead
267       of hard coding the width and decimals of output numbers, respect
268       the default format in most instances.  Counts are now normally
269       displayed with the format of the weight variable, if any.
270
271     - Fix crash when an INSERT command specifies the name of a file
272       that does not exist (bug #24569).
273
274     - Fix crash when CROSSTABS specifies a long-string variable (bugs
275       #24557 and #26131).
276
277     - Fix crash drawing pie charts with many segments.
278
279     - Fix crash when NUMERIC specifies an invalid format.
280
281   * PSPPIRE bug fixes and changes:
282
283     - On Windows, write the output file to the user's home directory
284       instead of the current directory, to better match user
285       expectations.
286
287     - Some data editor fixes.
288
289   * Documentation:
290
291     - Fix typo in BINOMIAL section of user manual (bug #25892).
292
293 Changes from 0.6.0 to 0.6.1:
294
295   * Statistical bug fixes:
296
297     - Report correct standardized regression coefficients in linear
298       regression output (bug #23567).
299
300   * Bug fixes that affect PSPP and PSPPIRE:
301
302     - Avoid crash with pie charts (bug #24014).
303
304     - Don't append % to count totals (bug #24003).
305
306     - Don't crash on bad input (bug #24031).
307
308     - Don't crash if "end data." is not left aligned (bug #24115).
309
310     - Change default workspace value to 64 MB, to avoid unnecessary
311       disk accesses on modern machines.
312
313   * PSPPIRE bug fixes:
314
315     - Add ".sav" or ".por" suffix to filename when saving with Save_As
316       (bug #23137).
317
318     - Make it possible to reopen the output window on Windows (bug
319       #24033).
320
321     - A POSIX regular expression library is now included and used
322       automatically if the host does not have one or has one that is
323       inadequate.
324
325   * Build fixes and changes:
326
327     - Work around bug in GSL that prevented build with recent GCC
328       versions without manually adding -fgnu89-inline to CFLAGS.
329
330     - Also warn about missing prerequisites as we encounter them (bug
331       #24445).
332
333     - Distribute necessary files to allow users working from the
334       distributed tarball to configure with --enable-gui-tools.
335
336     - Append $(EXEEXT_FOR_BUILD) to output file name when building
337       q2c, fixing build problems on Windows.
338
339     - GSL 1.8 or later is now required.
340
341     - Build errors with --enable-relocatable were fixed.
342
343   * The German translations were removed, since native German speakers
344     found them too poor to be useful.
345
346 Changes from 0.4.0 to 0.6.0:
347
348   * The PSPP license is now version 3 or later of the GNU General
349     Public License.  Previously, it was version 2 or later.
350
351   * PSPP now has a graphical interface, called PSPPIRE.  This
352     interface allows you to enter data and variable definitions
353     interactively.  Commands may be executed in syntax form, or by
354     using the interactive dialog boxes available from the dropdown
355     menus.
356
357   * A few sample syntax files are now included in the `examples'
358     directory.
359
360   * Numerous major and minor bugs have been fixed.
361
362   Build changes:
363
364     * The INSTALL file now reflects the details of how to install
365       PSPP.  It is a tailored version of the generic installation
366       instructions, instead of a verbatim copy.
367
368     * iconv, which is ordinarily installed as part of a Unix-like
369       system, is now required.  If you don't have it already, you can
370       install GNU libiconv (http://www.gnu.org/software/libiconv/).
371
372     * libxml2 and zlib are new optional dependencies.  They are
373       required to use PSPP's support for reading Gnumeric files.
374
375   Statistical procedure changes:
376
377     * REGRESSION is a new procedure for fitting linear models to data
378       via least-squares estimation.
379
380     * NPAR TESTS is a new procedure for non-parametric tests.  In this
381       release, it supports binomial and chi-square tests.
382
383     * RANK is a new procedure to rank variables.  It supports numerous
384       forms of ranking.
385
386     * FREQUENCIES can now output histograms and pie charts.  These
387       features were present in earlier releases, but not documented.
388
389   User interface changes:
390
391     * In many situations where PSPP once terminated with a fatal
392       error, PSPP now recovers and continues execution.
393
394     * PSPP is now able to start up and run even if it cannot find its
395       configuration files.
396
397     * Journaling of interactive commands to a disk file is now
398       implemented.  By default, journaling is enabled, to a file named
399       `pspp.jnl' in the current directory.  SET JOURNAL may be used to
400       control journaling.
401
402     * The use of `+' between syntax file names on the command line to
403       prevent the dictionary from being cleared between their
404       executions is no longer supported.  All syntax files are now
405       executed as if `+' had been specified.
406
407     * The -d/--define and -u/--undef command line options are no
408       longer supported.  Instead, use /usr/bin/env or shell primitives
409       to define or clear environment variables before invoking PSPP.
410
411     * If a syntax file named named `rc' is found in a configuration
412       directory (such as $HOME/.pspp), it is executed before any
413       syntax file specified on the command line.  The -r or
414       --no-statrc command line option may be used to disable this
415       behavior.
416
417   Output changes:
418
419     * Output configuration options have changed.  Please refer to the
420       manual for a full description of the available options.
421
422       In consequence, you will need to reinstall your "devices" file.
423       "make install" will do this for you.
424
425     * Most error messages are now written to PSPP output files by
426       default.  SET ERROR can be used to disable this behavior.
427
428     * When invoked interactively, PSPP now by default produces output
429       on the terminal, piping it through the "more" program.
430       Previously, by default output was written only to file
431       pspp.list.  On most terminals, the page length used for output
432       automatically adapts to the terminal size, even if the terminal
433       is resized.
434
435     * ASCII driver:
436
437       - This driver now supports charts in output.  Charts are written
438         as separate files that the main output file refers to.  By
439         default, charts are written in PNG format to files named
440         pspp-1.png, pspp-2.png, and so on.
441
442       - Configurations are provided that use VT100 (and xterm)
443         line-drawing characters in tables.  The option "-o list-vt100"
444         requests use of this device for output to pspp.list.
445
446     * PostScript driver:
447
448       - The default paper size is now determined using the PAPERSIZE
449         environment variable, or the LC_PAPER locale category on
450         systems that support it.  If these are not set, the default is
451         now A4, instead of US letter.  To make US letter the default,
452         set PAPERSIZE to "letter" in your environment.
453
454       - Font metrics are now read from AFM files, instead of
455         Groff-format metrics files.  PostScript fonts can now be
456         embedded in output.
457
458         In consequence, you will need to install an AFM file for each
459         font used in PostScript output.  "make install" will install
460         AFM files for the standard PostScript fonts, including the
461         ones that the PostScript driver uses by default.
462
463       - Standard paper sizes no longer need to be specified through a
464         configuration file.  The "papersize" configuration file is no
465         longer needed, or supported.
466
467       - The PostScript prologue is no longer obtained from the
468         "ps-prologue" configuration file.  This configuration file is
469         no longer needed, or supported.
470
471     * HTML driver:
472
473       - The HTML prologue is no longer obtained from the
474         "html-prologue" configuration file.  This configuration file
475         is no longer needed, or supported.
476
477   Command language changes:
478
479     * The following commands are new:
480
481       - GET DATA, which currently supports reading Gnumeric files and
482         text data files.  It will be extended later to read other
483         types of foreign data.
484
485       - CD, to change the current directory.
486
487       - INSERT, to execute a syntax file.
488
489       - DELETE VARIABLES, to remove variables from the active file
490         dictionary.
491
492       - ADD DOCUMENT, to add text to active file documents.
493
494       - CLOSE FILE HANDLE (a PSPP extension; see below).
495
496       - XEXPORT, a PSPP extension that is a transformation equivalent
497         to EXPORT.
498
499     * The following functions for transformation expressions are new:
500
501       - DATEDIFF, for computing the difference of two dates.
502
503       - DATESUM, for advancing a date by a specified duration.
504
505       - VALUELABEL, to obtain the value label for a value.
506
507     * PSPP now supports very long string variables (over 255 bytes
508       long).
509
510     * MATCH FILES now supports the FIRST and LAST subcommands.
511
512     * Previous versions of PSPP prohibited using commands to both read and
513       write a single file at the same time.  Now, PSPP allows this, and
514       the new version of the file atomically replaces the old version.
515
516     * The following commands are no longer available.  They will be
517       re-implemented in a later release:
518
519       - CLEAR TRANSFORMATIONS
520
521       - MATRIX DATA
522
523       - REPEATING DATA
524
525     * The PROCESS IF command, which was deprecated, has been removed.
526       You may replace any usage of it by SELECT IF following
527       TEMPORARY, which has the same effect.
528
529     * The output format for variables created by VECTOR may now be
530       specified as part of the VECTOR syntax.
531
532   "Scratch files", a new PSPP extension:
533
534     A scratch file, like a system file, consists of a dictionary and
535     any number of cases.  Small scratch files are stored in memory;
536     one that grows too large is written to disk.  By default, any file
537     handle whose name begins with # is assumed to refer to a scratch
538     file.
539
540     Scratch files can be used just about anywhere a system or portable
541     file can be used.  Also, portable files are now allowed in most
542     places that system files were allowed in previous PSPP version.
543
544     A new CLOSE FILE HANDLE command allows the storage associated with
545     scratch files to be freed.  It also allows file handles to be
546     reassigned to new files.
547
548     For more information on scratch files, refer to the "File Handles"
549     section in the PSPP manual.  For specifics of what commands now
550     allow what kinds of files to be specified, refer to the
551     documentation on those particular commands.
552
553   Data access changes:
554
555     * Binary formats and IBM/360 formats, including ASCII/EBCDIC
556       translation, are now supported.  Use FILE HANDLE to specify the
557       format of these files.
558
559     * Little-endian, big-endian, and VAX-endian formats are now
560       supported for integer binary formats when reading and writing
561       data files.  The new RIB and WIB subcommands on the SET command
562       control endianness of integer data.  The default is the host's
563       native endianness.
564
565     * IEEE 754, VAX, and IBM hexadecimal formats are now supported for
566       floating point binary formats when reading and writing data
567       files.  The new RRB and WRB subcommands on the SET command
568       control the floating point format.  The default is the host's
569       native floating point format.
570
571     * DATA LIST now supports the SKIP subcommand, to skip records at
572       the beginning of a file.  For compatibility, DATA LIST now
573       treats N format as F format for FREE and LIST format input.
574
575     * The SAVE and XSAVE commands now support the UNSELECTED,
576       PERMISSIONS, NAMES, and MAP subcommands.
577
578     * The EXPORT command has been re-implemented to obtain better
579       results.  Support for the UNSELECTED, DIGITS, and TYPE
580       subcommands has been added.
581
582     * For compatibility, PRINT now inserts a space at the beginning of
583       every output line, even lines that would otherwise be blank,
584       when OUTFILE is specified.  (The behavior of WRITE is
585       unchanged.)
586
587     * For compatibility, PRINT EJECT now inserts the digit `1' at the
588       beginning of each line that should begin a new page.
589
590     * For compatibility, WRITE now outputs the system-missing value as
591       a field filled with spaces.  Binary formats are an exception.
592       (The behavior of PRINT is unchanged.)
593
594   Documentation:
595
596     * Input and output format descriptions have been rewritten.  They
597       now precisely describe what is accepted on input and written on
598       output.
599
600     * The descriptions of the PSPP system and portable file formats
601       have been extensively revised and improved.
602
603   For developers, the build system now requires Autoconf 2.60 and
604   Automake 1.10.
605 \f
606 Changes from 0.3.0 to 0.4.0:
607
608   Changes in build dependencies:
609
610     * The GNU Scientific Library (libgsl), version 1.6 or later, is
611       now required.
612
613     * libplot from GNU plotutils is optional.  Without it, the new
614       graphing features will not work.  If you do not have it
615       installed, you must run `configure' with --without-libplot.
616
617     * libgmp2 is no longer a dependency.
618
619   Newly implemented commands and statistical features:
620
621     * EXAMINE, including its graphing features.
622
623     * FREQUENCIES now supports percentiles.
624
625     * ONEWAY.
626
627     * PERMISSIONS.
628
629     * SHOW.
630
631     * SORT CASES now sorts stably, that is, two cases with equal sort
632       criteria will be in the same relative order before and after the
633       sort.
634
635     * T-TEST (re-written).
636
637     * DATE and USE.  These commands are parsed but otherwise ignored,
638       to enhance compatibility with certain command files that invoke
639       them unnecessarily.
640
641     * VARIABLE WIDTH, VARIABLE ALIGNMENT, and VARIABLE LEVEL.  These
642       currently have no effect on PSPP output, but their values are
643       written to and read from system files and thus may affect
644       third-party software.
645
646     * SET EPOCH implemented.
647
648     * DATA LIST FREE and DATA LIST LIST now support arbitrary field
649       delimiters.
650
651     * FILE HANDLE now supports custom tab widths.
652
653   Long variable names (and other identifiers) are now supported.  Up
654   to the first 64 bytes of each identifier is significant.  PSPP now
655   reads and writes system files compatible with SPSS version 12.
656
657   New --algorithm and --syntax command line options allow
658   SPSS-compatible or enhanced modes to be selected.
659
660   Support for transformation expressions has been rewritten and
661   significantly improved.  Refer to the manual for details.
662
663   Calculation of moments (mean, standard deviation, kurtosis,
664   skewness) has been rewritten and should now be more accurate.  In
665   --algorithm=enhanced mode moments may be more accurate than SPSS in
666   some cases.
667
668   Numerous bugs have been fixed, too many to mention here.  Many new
669   tests have been added, leading to the discovery and fixing of many
670   of these bugs.
671
672   The ASCII output driver can now squeeze multiple blank lines into
673   single blank lines.
674
675   Much of the code has been rewritten and refactored.  It is now much
676   cleaner.
677
678   The FILE TYPE and REPEATING DATA commands have been disabled for
679   this release because their implementations were deemed too buggy to
680   be useful.  They will be fixed and replaced in a future release.
681
682   New pspp-mode for Emacs (in pspp-mode.el).
683
684   Added rudimentary command-line completion for interactive input.
685
686   lib/julcal and lib/dcdflib are no longer used, so they have been
687   removed.
688
689   For developers, the build system now requires Autoconf 2.58 and
690   Automake 1.7.  The included gettext has been updated to version
691   0.12.1.
692
693   Some reports state that Texinfo 4.8, the latest version, may be
694   necessary to successfully format the documentation on some systems.
695
696 Version 0.3.0 changes since 0.2.3:
697
698   Bugs fixed:
699
700     * Using alphanumeric variables in functions under AGGREGATE
701       segfaulted.  Fixed.
702
703     * Under certain circumstances, the final case would be omitted
704       from the results of an AGGREGATE operation.  Fixed.
705
706     * Undefined behavior was invoked by referencing a freed pointer
707       under certain circumstances.  Fixed.
708
709     * A wrong record size was displayed when paging the active file to
710       disk.  Fixed.
711
712     * Not having enough temporary space for sorting caused a core
713       dump.  Fixed.
714
715     * Syntax errors in function descriptions on AGGREGATE caused core
716       dumps.  Fixed.
717
718     * A null pointer was dereferenced, causing a core dump, when
719       PERCENTILES was specified on FREQUENCIES.  This fixes the
720       problem, but PSPP still doesn't calculate percentiles.
721
722     * SORT always sorted in ascending order.  Fixed.
723
724     * Some minor memory leaks in the expression parser were removed.
725
726     * Many assertions fixed for strict ANSI C compliance.
727
728   New features:
729
730     * SET ECHO ON now implemented, but turned off by default.
731
732     * PRINT specifier supported on END REPEAT.
733
734   Other:
735
736     * System libgmp2 library is used if installed instead of
737       unconditionally using the included libgmp2 subset.
738
739     * Extensive code cleanup, which continues.
740
741     * Added CORRELATIONS command parser, but not implemented.
742
743 Version 0.2.3 changes since 0.2.2:
744
745   Bugs fixed:
746
747     * SPLIT FILE with a string variable caused a core dump.  Fixed.
748
749     * Nested INCLUDEs didn't work.  Fixed.
750
751     * The MATCH FILES procedure set the values of variables not present
752       to 0.  It should have been SYSMIS.  This is now fixed.
753
754     * The REMARK command was too aggressive about skipping lines.  It
755       didn't like being the last command in a file.
756
757     * Comment parsing wasn't consistent with the rest of the code in its
758       idea of where one command ends and another starts.  This meant
759       that sometimes commands would be mysteriously ignored.  Thanks to
760       Dr. Dirk Melcher <BZN-mdksh@t-online.de> for reporting this bug.
761
762     * The TABLE subcommand on MATCH FILES worked only erratically at
763       best.  This fixes it.  Thanks to Dr. Dirk Melcher
764       <BZN-mdksh@t-online.de> for reporting this bug.
765
766     * VARIABLE LABELS rejected a slash before the first variable
767       specification, contradicting the documentation.  Thanks to Walter
768       M. Gray <graywm@northernc.on.ca> for reporting this bug.
769
770     * Because of an incorrect optimization in memory allocation,
771       CROSSTABS sometimes segfaulted when asked to output multiple
772       tables.  Thanks to Walter M. Gray <graywm@northernc.on.ca> for
773       reporting this bug.
774
775     * CROSSTABS didn't display value labels for column and row
776       variables.  Thanks to Walter M. Gray <graywm@northernc.on.ca> for
777       reporting this bug.
778
779     * WRITE didn't write line ends.  Fixed.  Thanks to Dr. Dirk Melcher
780       <BZN-mdksh@t-online.de> for reporting this bug.
781
782     * The TABLE subcommand on MATCH FILES worked only erratically at
783       best.  This fixes it.  Thanks to Dr. Dirk Melcher
784       <BZN-mdksh@t-online.de> for reporting this bug.
785
786     * VARIABLE LABELS rejected a slash before the first variable
787       specification, contradicting the documentation.  Thanks to Walter
788       M. Gray <graywm@northernc.on.ca> for reporting this bug.
789
790     * Because of an incorrect optimization in memory allocation,
791       CROSSTABS sometimes segfaulted when asked to output multiple
792       tables.  Thanks to Walter M. Gray <graywm@northernc.on.ca> for
793       reporting this bug.
794
795     * CROSSTABS didn't display value labels for column and row
796       variables.  Thanks to Walter M. Gray <graywm@northernc.on.ca> for
797       reporting this bug.
798
799     * WRITE didn't write line ends.  Fixed.  Thanks to Dr. Dirk Melcher
800       <BZN-mdksh@t-online.de> for reporting this bug.
801
802     * MATCH FILES corrupted memory and dumped core on some syntax
803       errors.  Fixed.
804
805     * MATCH FILES should set numeric values not available to the
806       system-missing value, not to 0.  Thanks to Dr. Dirk Melcher
807       <BZN-mdksh@t-online.de> for reporting this bug.
808
809     * KEEP didn't work properly on the SAVE procedure.  Fixed.  Thanks
810       to Ralf Geschke <ralf@kuerbis.org> for reporting this bug.
811
812     * Memory leak fix.
813
814     * Some systems didn't like the way open_file was coded.  Thanks to
815       Hankin <hankin@rogue.consultco.com> for pointing this out.
816
817     * The SAVE procedure didn't save long string variables properly.
818       Fixed by this patch.  Thanks to Hankin
819       <hankin@rogue.consultco.com> for this patch.
820
821     * Minor documentation fixes for MATCH FILES.
822
823 Version 0.2.2 changes since 0.2.1:
824
825   Bugs fixed:
826
827     * Fix behavior of PRINT SPACE for negative arguments.
828
829     * Fix reading some unusual system files.
830
831     * Fix LIST problems with very long variables.  Thanks to Hankin
832       <hankin@dunno.com> for this bug report.
833
834     * Fix problems with some string format specifiers.
835
836     * Fix use of $CASENUM in expressions.  Thanks to Dirk Melcher
837       <BZN-mdksh@t-online.de> for reporting this bug.
838
839     * Additional DATA LIST FREE and DATA LIST LIST fixes.  Thanks to
840       Hankin <hankin@dunno.com> again on this one.
841
842     * Sometimes you may encounter a PSPP script that has to be
843       interpreted in interactive mode.  Now you can use the -i flag to
844       do this.
845
846     * Warnings for egcs 1.1.1 cleaned up.  (However you'll get lots of
847       `unused variable' warnings under gcc 2.7.2.3, fixing this will
848       take more effort.)
849
850     * Tests fixed.
851
852     * The files in gmp need the internationalization directory in
853       their include path.  Thanks to OKUJI Yoshinori
854       <okuji@kuicr.kyoto-u.ac.jp> for pointing this out.
855
856 Version 0.2.1 changes since 0.2.0:
857
858   Bugs fixed:
859
860     * Remember to include examples/ directory in distribution :-)
861
862     * Fixed gmp compile problems for some non-i386 architectures.
863       Thanks to Hans Olav Eggestad <olav@jordforsk.nlh.no> and others
864       for reporting this.
865
866     * DATA LIST FREE and DATA LIST LIST parsing of input files is now
867       matches the documented behavior exactly, and error messages are
868       more helpful.  Thanks to Mark H. Wood <mwood@IUPUI.Edu>.
869
870 Version 0.2.0 changes since 0.1.0:
871
872   Procedures now implemented:
873     * CROSSTABS.  Please see documentation for caveats.
874
875   Transformations and utilities now implemented:
876     * AGGREGATE
877     * APPLY DICTIONARY
878     * CLEAR TRANSFORMATIONS
879     * DISPLAY (all subcommands).
880     * ERASE
881     * FLIP
882     * EXPORT
883     * HOST
884     * IMPORT
885     * MATCH FILES
886     * MATRIX DATA
887     * NEW FILE
888     * REPEATING DATA
889
890   Support for input and output through pipes: "|command" and
891   "command|" filenames; support for special filenames "-", "stdin",
892   "stdout", "stderr".
893
894   New command-line features:
895     * New option --testing-mode: Invoke heuristics to assist testing.
896     * New option --safer, -s: Don't allow certain unsafe operations.
897     * New option --command=CMD, -c CMD: Perform literal command CMD.
898     * rc file ~/.pspp/rc is executed before any other files.
899     * Now multiple syntax files can be specified.
900
901   Operator LAG is now implemented.
902
903   Added missing FILE subcommand to REREAD.
904
905   Table output manager completely rewritten.
906
907   Device configuration file syntax changed.  You will need to
908   reinstall your `devices' file.
909
910   New output driver for HTML.
911
912   PostScript driver and prologue simplified.
913
914   Many bugs fixed.  General source-code cleanup.
915
916   Added Texinfo documentation for:
917     * PSPP system file format
918     * PSPP portable file format
919     * How to write input for q2c parser generator
920     * HTML driver
921
922   PSPP language is now fully documented.  Please report any
923   inaccuracies or omissions in the documentation.
924
925 Changes for version 0.1.0:
926
927   First public release.  For changes from unreleased development
928   versions, please see ONEWS.
929 \f
930 ----------------------------------------------------------------------
931 Copyright information:
932
933    Permission is granted to anyone to make or distribute verbatim
934    copies of this document as received, in any medium, provided that
935    the copyright notice and this permission notice are preserved, thus
936    giving the recipient permission to redistribute in turn.
937
938    Permission is granted to distribute modified versions of this
939    document, or of portions of it, under the above conditions,
940    provided also that they carry prominent notices stating who last
941    changed them.
942 \f
943 Local variables:
944 version-control: never
945 mode: indented-text
946 end: