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