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