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