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