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