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