AUTORECODE: Implement PRINT subcommand.
[pspp] / NEWS
1 PSPP NEWS -- history of user-visible changes.
2 Copyright (C) 1996-2000, 2008-2016, 2017, 2019 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 1.2.0 to 1.3.0:
8
9  * FREQUENCIES will emit a warning if one or more weight values are missing.
10
11  * Plain text output is no longer divided into pages, since it is now
12    rarely printed on paper.
13
14  * pspp-convert: New "-a", "-l", "--password-list" options to search
15    for an encrypted file's password.
16
17  * Improvements to SAVE DATA COLLECTION support for MDD files.
18
19  * Bug fix for CVE-2018-20230.
20
21  * The /RENAME subcommand in SAVE TRANSLATE et al. has been extended
22    to support the syntax also accepted by other software.
23
24  * The EXAMINE command will now perform the Shapiro-Wilk test when
25    one or more plots are requested.
26
27  * The REGRESSION command now supports the /STATISTICS=TOL option which
28    outputs tolerance and variance inflation factor metrics for the data.
29
30  * The QUICK CLUSTER command now supports the /SAVE option which can
31    be used to save the cases' cluster membership and/or their distance
32    from the cluster centre to the active file.
33
34  * The MEANS command has been re-implemented.
35
36  * A bug where the GUI would crash when T-TEST was executed whilst
37    a filter was set has been fixed.
38
39  * The GUI now has a sub-dialog for post-hoc tests of the oneway
40    anova test.
41
42  * Gtk+3.22.0 or later must now be used when building.
43
44  * GRAPH: Categorical barcharts displaying percentages now show the
45    sub-category as a percentage of the primary category instead of the
46    total.
47
48  * AUTORECODE:
49
50    - The PRINT subcommand is now implemented.
51
52    - Many bug fixes.
53
54 Changes from 1.0.1 to 1.2.0:
55
56  * New experimental command SAVE DATA COLLECTION to save MDD files.
57
58  * MTIME and YMDHMS variable formats now supported.
59
60  * Build changes:
61
62    - zlib is now a required dependency.  (Previously it was optional.)
63
64    - Gtk+3.18.0 or later must now be used when building.
65
66    - The code implementing the sheet rendering has been removed.  Instead we
67      use a third party library: spread-sheet-widget.
68
69  * The "NOMISSING" keyword when generating syntax for piecharts in the
70    frequencies command was omitted.  This has been corrected.
71
72 Changes from 1.0.0 to 1.0.1:
73
74  * Bug fixes, including fixes for CVE-2017-12958, CVE-2017-12959,
75    CVE-2017-12960, and CVE-2017-12961.
76
77 Changes from 0.11.0 to 1.0.0:
78
79  * Translation updates.
80
81 Changes from 0.10.2 to 0.11.0:
82
83  * The REGRESSION command now has a /ORIGIN subcommand to perform
84    regression through the origin.
85
86  * The FACTOR command can now analyse matrix files prepared with MATRIX DATA.
87
88  * The FACTOR command can now print the anti-image matrices.
89
90  * The MATRIX DATA command has been added.
91
92  * Some inappropriate properties in selection dialogs have been corrected.
93
94  * A bug which could cause the HTML driver to go into a tight loop
95    has been fixed.
96
97  * An error in the FREQUENCIES procedure, where the word "Mean" was
98    printed when "Variance" was appropriate has been fixed.
99
100  * The ncurses library is no longer required or used.
101
102  * A bug where the Mann-Whitney test would give misleading results
103    if run on multiple variables and MISSING=ANALAYSIS was specified
104    has been fixed.
105
106  * Gtk+3.14.5 or later must now be used when building.
107
108  * Graphical user interface changes:
109
110  ** There is a new menu: Edit|Options
111
112  ** The Non Parametric Statistics Menu has a new item: "K Independent Samples".
113
114  ** Dialog boxes can now be canceled using the <Escape> key.
115
116  * The AUTORECODE command now accepts an optional / before INTO.
117
118  * The short form of the VECTOR command can now create string variables.
119
120  * Bug fixes, including fixes for CVE-2017-10791 and CVE-2017-10792.
121
122 Changes from 0.10.1 to 0.10.2:
123
124  * CROSSTABS implements a new COUNT subcommand to round case or cell
125    weights.
126
127  * Help will be opened as HTML in default browser if yelp
128    is not available.
129
130  * When plotting scatterplots with only one dataset (the simple case)
131    the colour used for the dataset is now black.  The previous default
132    from the Tango palette was too faint to see easily.
133
134  * The varible info dialog could previously only paste a single variable.
135    Now it can paste multiple variables.
136
137  * Bug fixes, including the following:
138
139    - T-test with independent samples GUI crashed with string
140      type variable as group variable.
141
142    - The variable info dialog showed the previous selected variable
143      superimposed with the currently selected one.
144
145    - The GLM command did not properly deal with missing values.  This
146      has been fixed.
147
148 Changes from 0.10.0 to 0.10.1:
149
150  * Bug fixes, including the following:
151
152    - A bug where certain dialog boxes could not be properly populated
153      has been fixed.
154
155    - Various commands have been hardened against errors when called
156      with invalid syntax.
157
158  * Translation updates.  Thanks to our translators!
159
160 Changes from 0.8.5 to 0.10.0:
161
162  * The QUICK CLUSTER command has a  /PRINT subcommand which shows
163    the initial cluster centres and the final cluster membership of
164    each case.  The clustering algorithm has also been updated, so
165    as to produce better separated clusters.
166
167  * A Russian localisation has been contributed.
168
169  * The GRAPH command now has a /BAR subcommand to draw barcharts.
170
171  * If the DECIMAL character is set to COMMA then the ',' character
172    will not be treated as a separator by DATA LIST.
173
174  * The graphical user interface (psppire) has been changed as follows:
175
176    - It now uses Gtk+ version 3 instead of version 2.  Accordingly, it has a 
177      somewhat different look and feel.
178
179    - There is now a Graphs menu to access the GRAPH command.
180
181    - The status of dialog box widgets are now preserved between calls
182      to the same dialog box for the same dataset.
183
184    - The dialog box for the Logistic Regression command will now
185      infer that string variables or any varible with a "measure"
186      of Nominal or Ordinal are to be treated as categorical variables
187      and will generate syntax accordingly.
188
189  * The pspp-convert utility can now decrypt encrypted syntax files.
190    The encrypted syntax file format is unacceptably insecure, so to
191    discourage its use PSPP and PSPPIRE do not directly read or write
192    this format.
193
194  * New commands:
195
196    - SORT VARIABLES.
197
198  * The following functions for transformation expressions are new:
199
200    - REPLACE, for search-and-replace of one string with another.
201
202    - STRUNC, to truncate a string and trim trailing spaces.
203
204    - MEDIAN, to compute the median of its arguments.
205
206    - The TRUNC function in expressions now supports additional arguments
207      for truncating to values other than integers and to indicate a level
208      of rounding fuzz.  The default rounding fuzz may now be controlled
209      and displayed with SET FUZZBITS and SHOW FUZZBITS, respectively.
210
211  * Bug fixes, including the following notable ones:
212
213    - The correlation coefficient in the paired samples t-test
214      procedure is now correctly calculated when presented with
215      weighted data.
216
217    - The ESCAPE subcommand has been removed from GET DATA /TYPE=TXT.
218      For compatibility, the behavior that ESCAPE enabled is now the
219      default and only supported behavior.
220
221    - Rendering of the variable and data sheets in right-to-left locales
222      now works properly.
223
224    - The Mann-Whitney test, when run on a dataset containing values
225      of the group variable, other than those defining the test groups,
226      would incorrectly calculate the ranks.  This has been corrected.
227
228  * The IMPORTCASES subcommand on GET DATA is now ignored, for
229    compatibility.
230
231 Changes from 0.8.4 to 0.8.5:
232
233  * The FREQUENCIES and CROSSTABS commands can now generate barcharts.
234
235  * The FACTOR command can now perform PROMAX rotations.
236
237  * SPSS/PC+ system files are now supported on GET and other commands
238    that read SPSS system files.  The pspp-convert program can now read
239    SPSS/PC+ system files.  Writing the obsolete SPSS/PC+ system file
240    format is not supported.
241
242  * SYSFILE INFO can now read SPSS/PC+ system files and SPSS portable
243    files.
244
245  * FREQUENCIES: A bug was fixed where an assertion failure occurred
246    when an empty dataset was presented.
247
248  * The GRAPH command is now available.  Initially it supports
249    scatterplots and histograms.
250
251  * The RND operator in expressions now supports additional operands
252    for rounding to values other than integers and to indicate a level
253    of rounding fuzz.  The default rounding fuzz may now be controlled
254    and displayed with SET FUZZBITS and SHOW FUZZBITS, respectively.
255
256 Changes from 0.8.3 to 0.8.4:
257
258  * Formatting of SYSFILE INFO output was made easier to read.
259
260  * Bug fixes, including the following notable ones:
261
262    - FREQUENCIES works properly for string variables.  (This bug was
263      introduced in 0.8.2.)
264
265    - CROSSTABS now correctly computes all of the measures that it
266      offers.  Some measures have been removed because they were not
267      computed correctly.
268
269    - The NPAR TESTS calculation of significance for the RUNS
270      subcommand has been corrected.
271
272    - Planned comparisons in ONEWAY ANOVA now correctly handle negative
273      T-values.
274
275    - The COUNT command now correctly treats missing values as
276      documented.
277
278    - Conformance fixes to Open Document output format.
279
280 Changes from 0.8.2 to 0.8.3:
281
282  * Independent T-Tests displayed the standard error of the difference
283    and the confidence interval for the unequal variances case, where
284    the equal variances case should have been.  This has been fixed.
285
286  * REGRESSION now recognises /STATISTICS=CI(x) which causes confidence
287    intervals for the coefficients to be printed.
288
289  * When DESCRIPTIVES calculates Z scores, it now omits cases filtered
290    by the current FILTER settings.
291
292  * PSPPIRE graphical user interface improvements:
293
294    - Dialog boxes with source  variable lists can now choose the sort
295      order;  right click and select from the popup menu.
296
297    - File|Open now allows an encoding to be selected for opening
298      system files.
299
300    - File|Display Data File Information|External File... now allows an
301      encoding to be selected.
302
303    - A problem with the Means dialog has been resolved (bug #41433).
304
305    - Several problems related to the input of spreadsheets have been
306      fixed (bug #41657, #41620
307
308  * System file related improvements:
309
310    - With ENCODING="DETECT", SYSFILE INFO can now help the user to
311      pick an encoding for reading a system file that does not identify
312      its own encoding
313
314    - SYSFILE INFO now accepts an ENCODING subcommand to specify the
315      character encoding of string data in the system file.
316
317    - Variable labels over 255 bytes long are now accepted without
318      truncation (bug #41863).
319
320    - System files that contain duplicate variable names may now be
321      read successfully (bug #41475).
322
323 Changes from 0.8.1 to 0.8.2:
324
325  * Charts are now rendered with colours from the Tango palette instead
326    of fully saturated primaries.
327
328  * Support for new system file variants:
329
330    - PSPP can now read and write ZCOMPRESSED system files, which
331      compress data much more effectively than older "compressed"
332      files.  (The older format is still supported.)
333
334    - PSPP can now decrypt encrypted system files, using the new
335      pspp-convert utility.  The encrypted system file format is
336      unacceptably insecure, so to discourage its use PSPP and PSPPIRE
337      do not directly read or write this format.
338
339  * Missing values for long string variables are now read from and
340    written to system files in an SPSS-compatible fashion.
341
342    (Earlier versions of PSPP that supported missing values for long
343    string variables wrote them to system files in an SPSS-incompatible
344    way.  To fix the problem, read the system file with this version of
345    PSPP and then save a new copy of it.)
346
347  * pspp-convert, a new standalone utility for converting SPSS system
348    and portable files to other formats, is now included.  The initial
349    version supports comma-separated value files as output format.
350    pspp-convert can also decrypt encrypted system files.
351
352  * Build changes:
353
354    - zlib is now a required dependency.  (Previously it was optional.)
355
356 Changes from 0.8.0 to 0.8.1:
357
358  * New commands:
359
360    - VARIABLE ROLE.
361
362  * Changes to existing commands:
363
364    - CROSSTABS: The requirement that one expected count must be less than five
365         before Fishers Exact Test will be reported has been removed.
366
367  * PSPPIRE graphical user interface improvements:
368
369    - A new set of icons has been contributed.
370
371    - Syntax windows now parse syntax in "auto" mode, which in practice
372      should mean that both "batch" and "interactive" syntax now works,
373      instead of just "interactive" syntax.
374
375    - The variable pane of data windows now include a Role column.
376
377  * Notable bug fixes:
378
379    - System files written by IBM SPSS 21 are now read without warnings.
380
381    - System files written by "VOXCO INTERVIEWER 4.3" are now read
382      without warnings.
383
384    - PSPPIRE should now more gracefully handle syntax files that contain
385      errors.
386
387 Changes from 0.6.2 to 0.8.0:
388
389  * New commands:
390
391    - ADD FILES
392    - CORRELATIONS
393    - DATAFILE ATTRIBUTES
394    - DATASET ACTIVATE
395    - DATASET CLOSE
396    - DATASET COPY
397    - DATASET DECLARE
398    - DATASET DISPLAY
399    - DATASET NAME
400    - LOGISTIC REGRESSION
401    - MATCH FILES
402    - MEANS
403    - MRSETS
404    - PRESERVE and RESTORE
405    - QUICK CLUSTER
406    - RELIABILITY
407    - ROC
408    - SAVE TRANSLATE to CSV and tab-delimited files
409    - UPDATE
410    - VARIABLE ATTRIBUTES
411
412  * Changes to existing commands:
413
414    - AUTORECODE has a new GROUP subcommand.
415
416    - CROSSTABS has been re-implemented to fix numerous bugs.
417
418    - EXAMINE: /MISSING=LISTWISE is now the default.
419
420    - DO REPEAT command has been reimplemented.  Now, when DO REPEAT
421      contains an INCLUDE or INSERT command, substitutions are not
422      applied to the included file.
423   
424    - FILE HANDLE has a new ENDS subcommand to select CR or CRLF new-lines.
425
426    - HOST has been updated to use more modern syntax.
427
428    - Most commands that work with data files now support a new
429      ENCODING subcommand.
430
431    - MISSING VALUES can now assign missing values to long string
432      variables.
433
434    - ONEWAY: the POSTHOC subcommand is now implemented.
435
436    - The following new subcommands to NPAR TESTS have been implemented:
437      COCHRAN, FRIEDMAN, JONCKHEERE-TERPSTRA, KENDALL, KRUSKAL-WALLIS, MANN-WHITNEY, 
438      MCNEMAR, SIGN, WILCOXON, and RUNS
439
440    - SET and SHOW no longer have ENDCMD, NULLINE, PROMPT, CPROMPT, and
441      DPROMPT subcommands.  The defaults are now fixed values.
442
443    - SHOW now has a JOURNAL subcommand, to show the location of the
444      journal file.
445
446    - VALUE LABELS can now assign value labels to long string
447      variables.
448
449  * Other language changes:
450
451    - The new DATASET commands replace the "scratch file" PSPP
452      extension, which is no longer supported.
453
454    - Strings may now include arbitrary Unicode code points specified
455      in hexadecimal, using the syntax U'hhhh'.  For example, Unicode
456      code point U+1D11E, the musical G clef character, may be
457      expressed as U'1D11E'.
458
459      See the "Tokens" section in the PSPP manual for more information.
460
461    - In previous versions of PSPP, in a string expressed in
462      hexadecimal with X'hh' syntax, the hexadecimal digits expressed
463      bytes in the locale encoding.  In this version of PSPP, X'hh'
464      syntax always expresses bytes in UTF-8 encoding.
465
466      See the "Tokens" section in the PSPP manual for more information.
467
468  * PSPPIRE graphical user interface improvements:
469
470    - Added support for non-ASCII characters in strings, labels and
471      variable names.
472
473    - A "Split Window" function is available, which makes it easier to
474      see different parts of a large data file.
475
476    - Data files can now be opened by specifing their name as the first
477      argument.  This means that on a properly configured desktop, double
478      clicking on an icon will open the file.
479
480    - Foreign formats, such as Gnumeric, OpenDocument and CSV can be imported
481      via using an "intelligent" application assistant dialog.
482
483  * Output changes:
484
485    - The new "cairo" output driver supports output in PostScript, PDF,
486      and SVG formats.  Its functionality is a superset of that of the
487      "postscript" driver, which has been removed.  You must have Cairo
488      and Pango installed to build the "cairo" driver.
489
490    - Charts are now produced with Cairo and Pango, instead of libplot.
491      Without them, the new graphing features will not work.  If you do
492      not have Cairo and Pango installed, you must run `configure' with
493      --without-cairo.
494
495    - The plain text output driver now properly supports multibyte UTF-8
496      characters, including double-width characters and combining
497      accents.
498
499    - Output to OpenDocument format is now supported.
500
501    - The HTML output is much improved.
502
503  * The "pspp" program has a new option --batch (or -b) that selects
504    "batch" syntax mode.  In previous versions of PSPP this syntax mode
505    was the default.  Now a new "auto" syntax mode is the default.  In
506    "auto" mode, PSPP interprets most syntax files correctly regardless
507    of their intended syntax mode.
508
509    See the "Syntax Variants" section in the PSPP manual for more
510    information.
511
512  * The "pspp" program has a new option --syntax-encoding that
513    specifies the encoding for syntax files listed on the command line,
514    as well as the default encoding for syntax files included with
515    INCLUDE or INSERT.  The default is to accept the system locale
516    encoding, UTF-8, UTF-16, or UTF-32, automatically detecting which
517    one the system file uses.
518
519    See the documentation for the INSERT command in the PSPP manual for
520    more information.
521
522  * Text data files that PRINT and WRITE creates now use the system
523    native line ends by default (CRLF on Windows, LF only elsewhere).
524    Use the new ENDS subcommand on FILE HANDLE to override the default.
525
526  * A new Perl module allows Perl programs to read and write PSPP
527    system files.
528
529  * A tutorial chapter has been added to the user manual.
530 \f
531 Changes from 0.6.1 to 0.6.2:
532
533   * New translations:
534
535     - Dutch, thanks to Harry Thijssen.
536
537     - Brazilian Portuguese, thanks to Michel Boaventura.
538
539     Thanks for translations are also due to the coordinators at
540     translationproject.org.
541
542   * Statistical bug fixes:
543
544     - REGRESSION: Report correct standard error of the estimate (bug
545       #25677).
546
547     - T-TEST: Report correct significance of paired sample T-test in
548       the common case (bug #26936) and corner cases.  Thanks to Mike
549       Griffiths and Matej Cepl for reporting these bugs.
550
551   * Build fixes and changes:
552
553     - Fix build with GTK+ 2.17.4 and later.
554
555     - Make running "make" after running "configure" with different
556       settings reliably rebuild version.c.
557
558     - Cygwin and MinGW build fixes.
559
560     - Fixes for building with recent gnulib.
561
562     - The Makefile now honors two new variables, PSPP_LDFLAGS and
563       PSPPIRE_LDFLAGS, that affect linking of the PSPP and PSPPIRE
564       binaries, respectively.  This makes building easier for some
565       packagers.
566
567     - Fixes for "configure --enable-relocatable" (bug #25508).
568
569   * Data file bug fixes and changes:
570
571     - Fix reading text data files that contain a mix of white space
572       and commas.  Now "a ,b" is treated as two fields containing "a"
573       and "b"; previously it was treated as three, with an empty field
574       in the middle.
575
576     - Fix writing corrupted .sav files on Windows.
577
578     - Fix writing variable labels longer than 252 bytes to save files.
579       Thanks to Robert Westlund for reporting this bug.
580
581     - Fix writing corrupted .por files (bug #26034).
582
583     - Fix reading .por files whose initial lines are not padded out
584       with spaces as expected.
585
586     - PSPP will no longer issue warnings about some .sav file records
587       or values that it does not understand.  These warnings were
588       harmless, but needlessly alarmed some users.
589
590     - Fix crash reading empty string fields from PostgreSQL databases.
591
592   * Bug fixes that affect PSPP and PSPPIRE:
593
594     - Users may now control precision of output statistics.  Instead
595       of hard coding the width and decimals of output numbers, respect
596       the default format in most instances.  Counts are now normally
597       displayed with the format of the weight variable, if any.
598
599     - Fix crash when an INSERT command specifies the name of a file
600       that does not exist (bug #24569).
601
602     - Fix crash when CROSSTABS specifies a long-string variable (bugs
603       #24557 and #26131).
604
605     - Fix crash drawing pie charts with many segments.
606
607     - Fix crash when NUMERIC specifies an invalid format.
608
609   * PSPPIRE bug fixes and changes:
610
611     - On Windows, write the output file to the user's home directory
612       instead of the current directory, to better match user
613       expectations.
614
615     - Some data editor fixes.
616
617   * Documentation:
618
619     - Fix typo in BINOMIAL section of user manual (bug #25892).
620
621 Changes from 0.6.0 to 0.6.1:
622
623   * Statistical bug fixes:
624
625     - Report correct standardized regression coefficients in linear
626       regression output (bug #23567).
627
628   * Bug fixes that affect PSPP and PSPPIRE:
629
630     - Avoid crash with pie charts (bug #24014).
631
632     - Don't append % to count totals (bug #24003).
633
634     - Don't crash on bad input (bug #24031).
635
636     - Don't crash if "end data." is not left aligned (bug #24115).
637
638     - Change default workspace value to 64 MB, to avoid unnecessary
639       disk accesses on modern machines.
640
641   * PSPPIRE bug fixes:
642
643     - Add ".sav" or ".por" suffix to filename when saving with Save_As
644       (bug #23137).
645
646     - Make it possible to reopen the output window on Windows (bug
647       #24033).
648
649     - A POSIX regular expression library is now included and used
650       automatically if the host does not have one or has one that is
651       inadequate.
652
653   * Build fixes and changes:
654
655     - Work around bug in GSL that prevented build with recent GCC
656       versions without manually adding -fgnu89-inline to CFLAGS.
657
658     - Also warn about missing prerequisites as we encounter them (bug
659       #24445).
660
661     - Distribute necessary files to allow users working from the
662       distributed tarball to configure with --enable-gui-tools.
663
664     - Append $(EXEEXT_FOR_BUILD) to output file name when building
665       q2c, fixing build problems on Windows.
666
667     - GSL 1.8 or later is now required.
668
669     - Build errors with --enable-relocatable were fixed.
670
671   * The German translations were removed, since native German speakers
672     found them too poor to be useful.
673
674 Changes from 0.4.0 to 0.6.0:
675
676   * The PSPP license is now version 3 or later of the GNU General
677     Public License.  Previously, it was version 2 or later.
678
679   * PSPP now has a graphical interface, called PSPPIRE.  This
680     interface allows you to enter data and variable definitions
681     interactively.  Commands may be executed in syntax form, or by
682     using the interactive dialog boxes available from the dropdown
683     menus.
684
685   * A few sample syntax files are now included in the `examples'
686     directory.
687
688   * Numerous major and minor bugs have been fixed.
689
690   Build changes:
691
692     * The INSTALL file now reflects the details of how to install
693       PSPP.  It is a tailored version of the generic installation
694       instructions, instead of a verbatim copy.
695
696     * iconv, which is ordinarily installed as part of a Unix-like
697       system, is now required.  If you don't have it already, you can
698       install GNU libiconv (http://www.gnu.org/software/libiconv/).
699
700     * libxml2 and zlib are new optional dependencies.  They are
701       required to use PSPP's support for reading Gnumeric files.
702
703   Statistical procedure changes:
704
705     * REGRESSION is a new procedure for fitting linear models to data
706       via least-squares estimation.
707
708     * NPAR TESTS is a new procedure for non-parametric tests.  In this
709       release, it supports binomial and chi-square tests.
710
711     * RANK is a new procedure to rank variables.  It supports numerous
712       forms of ranking.
713
714     * FREQUENCIES can now output histograms and pie charts.  These
715       features were present in earlier releases, but not documented.
716
717   User interface changes:
718
719     * In many situations where PSPP once terminated with a fatal
720       error, PSPP now recovers and continues execution.
721
722     * PSPP is now able to start up and run even if it cannot find its
723       configuration files.
724
725     * Journaling of interactive commands to a disk file is now
726       implemented.  By default, journaling is enabled, to a file named
727       `pspp.jnl' in the current directory.  SET JOURNAL may be used to
728       control journaling.
729
730     * The use of `+' between syntax file names on the command line to
731       prevent the dictionary from being cleared between their
732       executions is no longer supported.  All syntax files are now
733       executed as if `+' had been specified.
734
735     * The -d/--define and -u/--undef command line options are no
736       longer supported.  Instead, use /usr/bin/env or shell primitives
737       to define or clear environment variables before invoking PSPP.
738
739     * If a syntax file named named `rc' is found in a configuration
740       directory (such as $HOME/.pspp), it is executed before any
741       syntax file specified on the command line.  The -r or
742       --no-statrc command line option may be used to disable this
743       behavior.
744
745   Output changes:
746
747     * Output configuration options have changed.  Please refer to the
748       manual for a full description of the available options.
749
750       In consequence, you will need to reinstall your "devices" file.
751       "make install" will do this for you.
752
753     * Most error messages are now written to PSPP output files by
754       default.  SET ERROR can be used to disable this behavior.
755
756     * When invoked interactively, PSPP now by default produces output
757       on the terminal, piping it through the "more" program.
758       Previously, by default output was written only to file
759       pspp.list.  On most terminals, the page length used for output
760       automatically adapts to the terminal size, even if the terminal
761       is resized.
762
763     * ASCII driver:
764
765       - This driver now supports charts in output.  Charts are written
766         as separate files that the main output file refers to.  By
767         default, charts are written in PNG format to files named
768         pspp-1.png, pspp-2.png, and so on.
769
770       - Configurations are provided that use VT100 (and xterm)
771         line-drawing characters in tables.  The option "-o list-vt100"
772         requests use of this device for output to pspp.list.
773
774     * PostScript driver:
775
776       - The default paper size is now determined using the PAPERSIZE
777         environment variable, or the LC_PAPER locale category on
778         systems that support it.  If these are not set, the default is
779         now A4, instead of US letter.  To make US letter the default,
780         set PAPERSIZE to "letter" in your environment.
781
782       - Font metrics are now read from AFM files, instead of
783         Groff-format metrics files.  PostScript fonts can now be
784         embedded in output.
785
786         In consequence, you will need to install an AFM file for each
787         font used in PostScript output.  "make install" will install
788         AFM files for the standard PostScript fonts, including the
789         ones that the PostScript driver uses by default.
790
791       - Standard paper sizes no longer need to be specified through a
792         configuration file.  The "papersize" configuration file is no
793         longer needed, or supported.
794
795       - The PostScript prologue is no longer obtained from the
796         "ps-prologue" configuration file.  This configuration file is
797         no longer needed, or supported.
798
799     * HTML driver:
800
801       - The HTML prologue is no longer obtained from the
802         "html-prologue" configuration file.  This configuration file
803         is no longer needed, or supported.
804
805   Command language changes:
806
807     * The following commands are new:
808
809       - GET DATA, which currently supports reading Gnumeric files and
810         text data files.  It will be extended later to read other
811         types of foreign data.
812
813       - CD, to change the current directory.
814
815       - INSERT, to execute a syntax file.
816
817       - DELETE VARIABLES, to remove variables from the active file
818         dictionary.
819
820       - ADD DOCUMENT, to add text to active file documents.
821
822       - CLOSE FILE HANDLE (a PSPP extension; see below).
823
824       - XEXPORT, a PSPP extension that is a transformation equivalent
825         to EXPORT.
826
827     * The following functions for transformation expressions are new:
828
829       - DATEDIFF, for computing the difference of two dates.
830
831       - DATESUM, for advancing a date by a specified duration.
832
833       - VALUELABEL, to obtain the value label for a value.
834
835     * PSPP now supports very long string variables (over 255 bytes
836       long).
837
838     * MATCH FILES now supports the FIRST and LAST subcommands.
839
840     * Previous versions of PSPP prohibited using commands to both read and
841       write a single file at the same time.  Now, PSPP allows this, and
842       the new version of the file atomically replaces the old version.
843
844     * The following commands are no longer available.  They will be
845       re-implemented in a later release:
846
847       - CLEAR TRANSFORMATIONS
848
849       - MATRIX DATA
850
851       - REPEATING DATA
852
853     * The PROCESS IF command, which was deprecated, has been removed.
854       You may replace any usage of it by SELECT IF following
855       TEMPORARY, which has the same effect.
856
857     * The output format for variables created by VECTOR may now be
858       specified as part of the VECTOR syntax.
859
860   "Scratch files", a new PSPP extension:
861
862     A scratch file, like a system file, consists of a dictionary and
863     any number of cases.  Small scratch files are stored in memory;
864     one that grows too large is written to disk.  By default, any file
865     handle whose name begins with # is assumed to refer to a scratch
866     file.
867
868     Scratch files can be used just about anywhere a system or portable
869     file can be used.  Also, portable files are now allowed in most
870     places that system files were allowed in previous PSPP version.
871
872     A new CLOSE FILE HANDLE command allows the storage associated with
873     scratch files to be freed.  It also allows file handles to be
874     reassigned to new files.
875
876     For more information on scratch files, refer to the "File Handles"
877     section in the PSPP manual.  For specifics of what commands now
878     allow what kinds of files to be specified, refer to the
879     documentation on those particular commands.
880
881   Data access changes:
882
883     * Binary formats and IBM/360 formats, including ASCII/EBCDIC
884       translation, are now supported.  Use FILE HANDLE to specify the
885       format of these files.
886
887     * Little-endian, big-endian, and VAX-endian formats are now
888       supported for integer binary formats when reading and writing
889       data files.  The new RIB and WIB subcommands on the SET command
890       control endianness of integer data.  The default is the host's
891       native endianness.
892
893     * IEEE 754, VAX, and IBM hexadecimal formats are now supported for
894       floating point binary formats when reading and writing data
895       files.  The new RRB and WRB subcommands on the SET command
896       control the floating point format.  The default is the host's
897       native floating point format.
898
899     * DATA LIST now supports the SKIP subcommand, to skip records at
900       the beginning of a file.  For compatibility, DATA LIST now
901       treats N format as F format for FREE and LIST format input.
902
903     * The SAVE and XSAVE commands now support the UNSELECTED,
904       PERMISSIONS, NAMES, and MAP subcommands.
905
906     * The EXPORT command has been re-implemented to obtain better
907       results.  Support for the UNSELECTED, DIGITS, and TYPE
908       subcommands has been added.
909
910     * For compatibility, PRINT now inserts a space at the beginning of
911       every output line, even lines that would otherwise be blank,
912       when OUTFILE is specified.  (The behavior of WRITE is
913       unchanged.)
914
915     * For compatibility, PRINT EJECT now inserts the digit `1' at the
916       beginning of each line that should begin a new page.
917
918     * For compatibility, WRITE now outputs the system-missing value as
919       a field filled with spaces.  Binary formats are an exception.
920       (The behavior of PRINT is unchanged.)
921
922   Documentation:
923
924     * Input and output format descriptions have been rewritten.  They
925       now precisely describe what is accepted on input and written on
926       output.
927
928     * The descriptions of the PSPP system and portable file formats
929       have been extensively revised and improved.
930
931   For developers, the build system now requires Autoconf 2.60 and
932   Automake 1.10.
933 \f
934 Changes from 0.3.0 to 0.4.0:
935
936   Changes in build dependencies:
937
938     * The GNU Scientific Library (libgsl), version 1.6 or later, is
939       now required.
940
941     * libplot from GNU plotutils is optional.  Without it, the new
942       graphing features will not work.  If you do not have it
943       installed, you must run `configure' with --without-libplot.
944
945     * libgmp2 is no longer a dependency.
946
947   Newly implemented commands and statistical features:
948
949     * EXAMINE, including its graphing features.
950
951     * FREQUENCIES now supports percentiles.
952
953     * ONEWAY.
954
955     * PERMISSIONS.
956
957     * SHOW.
958
959     * SORT CASES now sorts stably, that is, two cases with equal sort
960       criteria will be in the same relative order before and after the
961       sort.
962
963     * T-TEST (re-written).
964
965     * DATE and USE.  These commands are parsed but otherwise ignored,
966       to enhance compatibility with certain command files that invoke
967       them unnecessarily.
968
969     * VARIABLE WIDTH, VARIABLE ALIGNMENT, and VARIABLE LEVEL.  These
970       currently have no effect on PSPP output, but their values are
971       written to and read from system files and thus may affect
972       third-party software.
973
974     * SET EPOCH implemented.
975
976     * DATA LIST FREE and DATA LIST LIST now support arbitrary field
977       delimiters.
978
979     * FILE HANDLE now supports custom tab widths.
980
981   Long variable names (and other identifiers) are now supported.  Up
982   to the first 64 bytes of each identifier is significant.  PSPP now
983   reads and writes system files compatible with SPSS version 12.
984
985   New --algorithm and --syntax command line options allow
986   SPSS-compatible or enhanced modes to be selected.
987
988   Support for transformation expressions has been rewritten and
989   significantly improved.  Refer to the manual for details.
990
991   Calculation of moments (mean, standard deviation, kurtosis,
992   skewness) has been rewritten and should now be more accurate.  In
993   --algorithm=enhanced mode moments may be more accurate than SPSS in
994   some cases.
995
996   Numerous bugs have been fixed, too many to mention here.  Many new
997   tests have been added, leading to the discovery and fixing of many
998   of these bugs.
999
1000   The ASCII output driver can now squeeze multiple blank lines into
1001   single blank lines.
1002
1003   Much of the code has been rewritten and refactored.  It is now much
1004   cleaner.
1005
1006   The FILE TYPE and REPEATING DATA commands have been disabled for
1007   this release because their implementations were deemed too buggy to
1008   be useful.  They will be fixed and replaced in a future release.
1009
1010   New pspp-mode for Emacs (in pspp-mode.el).
1011
1012   Added rudimentary command-line completion for interactive input.
1013
1014   lib/julcal and lib/dcdflib are no longer used, so they have been
1015   removed.
1016
1017   For developers, the build system now requires Autoconf 2.58 and
1018   Automake 1.7.  The included gettext has been updated to version
1019   0.12.1.
1020
1021   Some reports state that Texinfo 4.8, the latest version, may be
1022   necessary to successfully format the documentation on some systems.
1023
1024 Version 0.3.0 changes since 0.2.3:
1025
1026   Bugs fixed:
1027
1028     * Using alphanumeric variables in functions under AGGREGATE
1029       segfaulted.  Fixed.
1030
1031     * Under certain circumstances, the final case would be omitted
1032       from the results of an AGGREGATE operation.  Fixed.
1033
1034     * Undefined behavior was invoked by referencing a freed pointer
1035       under certain circumstances.  Fixed.
1036
1037     * A wrong record size was displayed when paging the active file to
1038       disk.  Fixed.
1039
1040     * Not having enough temporary space for sorting caused a core
1041       dump.  Fixed.
1042
1043     * Syntax errors in function descriptions on AGGREGATE caused core
1044       dumps.  Fixed.
1045
1046     * A null pointer was dereferenced, causing a core dump, when
1047       PERCENTILES was specified on FREQUENCIES.  This fixes the
1048       problem, but PSPP still doesn't calculate percentiles.
1049
1050     * SORT always sorted in ascending order.  Fixed.
1051
1052     * Some minor memory leaks in the expression parser were removed.
1053
1054     * Many assertions fixed for strict ANSI C compliance.
1055
1056   New features:
1057
1058     * SET ECHO ON now implemented, but turned off by default.
1059
1060     * PRINT specifier supported on END REPEAT.
1061
1062   Other:
1063
1064     * System libgmp2 library is used if installed instead of
1065       unconditionally using the included libgmp2 subset.
1066
1067     * Extensive code cleanup, which continues.
1068
1069     * Added CORRELATIONS command parser, but not implemented.
1070
1071 Version 0.2.3 changes since 0.2.2:
1072
1073   Bugs fixed:
1074
1075     * SPLIT FILE with a string variable caused a core dump.  Fixed.
1076
1077     * Nested INCLUDEs didn't work.  Fixed.
1078
1079     * The MATCH FILES procedure set the values of variables not present
1080       to 0.  It should have been SYSMIS.  This is now fixed.
1081
1082     * The REMARK command was too aggressive about skipping lines.  It
1083       didn't like being the last command in a file.
1084
1085     * Comment parsing wasn't consistent with the rest of the code in its
1086       idea of where one command ends and another starts.  This meant
1087       that sometimes commands would be mysteriously ignored.  Thanks to
1088       Dr. Dirk Melcher <BZN-mdksh@t-online.de> for reporting this bug.
1089
1090     * The TABLE subcommand on MATCH FILES worked only erratically at
1091       best.  This fixes it.  Thanks to Dr. Dirk Melcher
1092       <BZN-mdksh@t-online.de> for reporting this bug.
1093
1094     * VARIABLE LABELS rejected a slash before the first variable
1095       specification, contradicting the documentation.  Thanks to Walter
1096       M. Gray <graywm@northernc.on.ca> for reporting this bug.
1097
1098     * Because of an incorrect optimization in memory allocation,
1099       CROSSTABS sometimes segfaulted when asked to output multiple
1100       tables.  Thanks to Walter M. Gray <graywm@northernc.on.ca> for
1101       reporting this bug.
1102
1103     * CROSSTABS didn't display value labels for column and row
1104       variables.  Thanks to Walter M. Gray <graywm@northernc.on.ca> for
1105       reporting this bug.
1106
1107     * WRITE didn't write line ends.  Fixed.  Thanks to Dr. Dirk Melcher
1108       <BZN-mdksh@t-online.de> for reporting this bug.
1109
1110     * The TABLE subcommand on MATCH FILES worked only erratically at
1111       best.  This fixes it.  Thanks to Dr. Dirk Melcher
1112       <BZN-mdksh@t-online.de> for reporting this bug.
1113
1114     * VARIABLE LABELS rejected a slash before the first variable
1115       specification, contradicting the documentation.  Thanks to Walter
1116       M. Gray <graywm@northernc.on.ca> for reporting this bug.
1117
1118     * Because of an incorrect optimization in memory allocation,
1119       CROSSTABS sometimes segfaulted when asked to output multiple
1120       tables.  Thanks to Walter M. Gray <graywm@northernc.on.ca> for
1121       reporting this bug.
1122
1123     * CROSSTABS didn't display value labels for column and row
1124       variables.  Thanks to Walter M. Gray <graywm@northernc.on.ca> for
1125       reporting this bug.
1126
1127     * WRITE didn't write line ends.  Fixed.  Thanks to Dr. Dirk Melcher
1128       <BZN-mdksh@t-online.de> for reporting this bug.
1129
1130     * MATCH FILES corrupted memory and dumped core on some syntax
1131       errors.  Fixed.
1132
1133     * MATCH FILES should set numeric values not available to the
1134       system-missing value, not to 0.  Thanks to Dr. Dirk Melcher
1135       <BZN-mdksh@t-online.de> for reporting this bug.
1136
1137     * KEEP didn't work properly on the SAVE procedure.  Fixed.  Thanks
1138       to Ralf Geschke <ralf@kuerbis.org> for reporting this bug.
1139
1140     * Memory leak fix.
1141
1142     * Some systems didn't like the way open_file was coded.  Thanks to
1143       Hankin <hankin@rogue.consultco.com> for pointing this out.
1144
1145     * The SAVE procedure didn't save long string variables properly.
1146       Fixed by this patch.  Thanks to Hankin
1147       <hankin@rogue.consultco.com> for this patch.
1148
1149     * Minor documentation fixes for MATCH FILES.
1150
1151 Version 0.2.2 changes since 0.2.1:
1152
1153   Bugs fixed:
1154
1155     * Fix behavior of PRINT SPACE for negative arguments.
1156
1157     * Fix reading some unusual system files.
1158
1159     * Fix LIST problems with very long variables.  Thanks to Hankin
1160       <hankin@dunno.com> for this bug report.
1161
1162     * Fix problems with some string format specifiers.
1163
1164     * Fix use of $CASENUM in expressions.  Thanks to Dirk Melcher
1165       <BZN-mdksh@t-online.de> for reporting this bug.
1166
1167     * Additional DATA LIST FREE and DATA LIST LIST fixes.  Thanks to
1168       Hankin <hankin@dunno.com> again on this one.
1169
1170     * Sometimes you may encounter a PSPP script that has to be
1171       interpreted in interactive mode.  Now you can use the -i flag to
1172       do this.
1173
1174     * Warnings for egcs 1.1.1 cleaned up.  (However you'll get lots of
1175       `unused variable' warnings under gcc 2.7.2.3, fixing this will
1176       take more effort.)
1177
1178     * Tests fixed.
1179
1180     * The files in gmp need the internationalization directory in
1181       their include path.  Thanks to OKUJI Yoshinori
1182       <okuji@kuicr.kyoto-u.ac.jp> for pointing this out.
1183
1184 Version 0.2.1 changes since 0.2.0:
1185
1186   Bugs fixed:
1187
1188     * Remember to include examples/ directory in distribution :-)
1189
1190     * Fixed gmp compile problems for some non-i386 architectures.
1191       Thanks to Hans Olav Eggestad <olav@jordforsk.nlh.no> and others
1192       for reporting this.
1193
1194     * DATA LIST FREE and DATA LIST LIST parsing of input files is now
1195       matches the documented behavior exactly, and error messages are
1196       more helpful.  Thanks to Mark H. Wood <mwood@IUPUI.Edu>.
1197
1198 Version 0.2.0 changes since 0.1.0:
1199
1200   Procedures now implemented:
1201     * CROSSTABS.  Please see documentation for caveats.
1202
1203   Transformations and utilities now implemented:
1204     * AGGREGATE
1205     * APPLY DICTIONARY
1206     * CLEAR TRANSFORMATIONS
1207     * DISPLAY (all subcommands).
1208     * ERASE
1209     * FLIP
1210     * EXPORT
1211     * HOST
1212     * IMPORT
1213     * MATCH FILES
1214     * MATRIX DATA
1215     * NEW FILE
1216     * REPEATING DATA
1217
1218   Support for input and output through pipes: "|command" and
1219   "command|" filenames; support for special filenames "-", "stdin",
1220   "stdout", "stderr".
1221
1222   New command-line features:
1223     * New option --testing-mode: Invoke heuristics to assist testing.
1224     * New option --safer, -s: Don't allow certain unsafe operations.
1225     * New option --command=CMD, -c CMD: Perform literal command CMD.
1226     * rc file ~/.pspp/rc is executed before any other files.
1227     * Now multiple syntax files can be specified.
1228
1229   Operator LAG is now implemented.
1230
1231   Added missing FILE subcommand to REREAD.
1232
1233   Table output manager completely rewritten.
1234
1235   Device configuration file syntax changed.  You will need to
1236   reinstall your `devices' file.
1237
1238   New output driver for HTML.
1239
1240   PostScript driver and prologue simplified.
1241
1242   Many bugs fixed.  General source-code cleanup.
1243
1244   Added Texinfo documentation for:
1245     * PSPP system file format
1246     * PSPP portable file format
1247     * How to write input for q2c parser generator
1248     * HTML driver
1249
1250   PSPP language is now fully documented.  Please report any
1251   inaccuracies or omissions in the documentation.
1252
1253 Changes for version 0.1.0:
1254
1255   First public release.  For changes from unreleased development
1256   versions, please see ONEWS.
1257 \f
1258 ----------------------------------------------------------------------
1259 Copyright information:
1260
1261    Permission is granted to anyone to make or distribute verbatim
1262    copies of this document as received, in any medium, provided that
1263    the copyright notice and this permission notice are preserved, thus
1264    giving the recipient permission to redistribute in turn.
1265
1266    Permission is granted to distribute modified versions of this
1267    document, or of portions of it, under the above conditions,
1268    provided also that they carry prominent notices stating who last
1269    changed them.
1270 \f
1271 Local variables:
1272 version-control: never
1273 mode: indented-text
1274 end: