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