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