fbuf: New data structure for buffered file I/O.
[pspp] / NEWS
diff --git a/NEWS b/NEWS
index a83f83102ef3c29c5d04f1e9651bbcbf9fca9a66..e8766200217c7914d5753c421329d5feb9b1748c 100644 (file)
--- a/NEWS
+++ b/NEWS
 PSPP NEWS -- history of user-visible changes.
-Time-stamp: <2009-02-05 20:31:51 blp>
-Copyright (C) 1996-9, 2000, 2008, 2009 Free Software Foundation, Inc.
+Copyright (C) 1996-2000, 2008-2016, 2017 Free Software Foundation, Inc.
 See the end for copying conditions.
 
 Please send PSPP bug reports to bug-gnu-pspp@gnu.org.
 
-Changes from 0.7.1 to 0.7.2:
+Changes from 1.0.1 to 1.1.0:
 
- * Updated Perl module interface.
+ ** The code implementing the sheet rendering has been removed.  Instead we
+    use a third party library: spread-sheet-widget.
 
-Changes from 0.7.0 to 0.7.1:
+ ** The "NOMISSING" keyword when generating syntax for piecharts in the frequencies
+    command was omitted.  This has been corrected.
 
- *  Added a perl module to facilitate reading and writing of pspp system 
-    files from perl programs.
+Changes from 1.0.0 to 1.0.1:
 
-Changes from 0.6.1 to 0.7.0:
+ * Bug fixes, including fixes for CVE-2017-12958, CVE-2017-12959,
+   CVE-2017-12960, and CVE-2017-12961.
 
-  * Custom variable and data file attributes are now supported.
-    Commands VARIABLE ATTRIBUTE and DATAFILE ATTRIBUTE have been added
-    for setting and clear attributes.  Support for attributes has also
-    been added to commands that read and write system files, such as
-    SAVE and GET, as well as to the DISPLAY command.
+Changes from 0.11.0 to 1.0.0:
+
+ * Translation updates.
+
+Changes from 0.10.2 to 0.11.0:
+
+ * The REGRESSION command now has a /ORIGIN subcommand to perform
+   regression through the origin.
+
+ * The FACTOR command can now analyse matrix files prepared with MATRIX DATA.
+
+ * The FACTOR command can now print the anti-image matrices.
+
+ * The MATRIX DATA command has been added.
+
+ * Some inappropriate properties in selection dialogs have been corrected.
+
+ * A bug which could cause the HTML driver to go into a tight loop
+   has been fixed.
+
+ * An error in the FREQUENCIES procedure, where the word "Mean" was
+   printed when "Variance" was appropriate has been fixed.
+
+ * The ncurses library is no longer required or used.
+
+ * A bug where the Mann-Whitney test would give misleading results
+   if run on multiple variables and MISSING=ANALAYSIS was specified
+   has been fixed.
+
+ * Gtk+3.14.5 or later must now be used when building.
+
+ * Graphical user interface changes:
+
+ ** There is a new menu: Edit|Options
+
+ ** The Non Parametric Statistics Menu has a new item: "K Independent Samples".
+
+ ** Dialog boxes can now be canceled using the <Escape> key.
+
+ * The AUTORECODE command now accepts an optional / before INTO.
+
+ * The short form of the VECTOR command can now create string variables.
+
+ * Bug fixes, including fixes for CVE-2017-10791 and CVE-2017-10792.
+
+Changes from 0.10.1 to 0.10.2:
+
+ * CROSSTABS implements a new COUNT subcommand to round case or cell
+   weights.
+
+ * Help will be opened as HTML in default browser if yelp
+   is not available.
+
+ * When plotting scatterplots with only one dataset (the simple case)
+   the colour used for the dataset is now black.  The previous default
+   from the Tango palette was too faint to see easily.
+
+ * The varible info dialog could previously only paste a single variable.
+   Now it can paste multiple variables.
+
+ * Bug fixes, including the following:
+
+   - T-test with independent samples GUI crashed with string
+     type variable as group variable.
+
+   - The variable info dialog showed the previous selected variable
+     superimposed with the currently selected one.
+
+   - The GLM command did not properly deal with missing values.  This
+     has been fixed.
+
+Changes from 0.10.0 to 0.10.1:
+
+ * Bug fixes, including the following:
+
+   - A bug where certain dialog boxes could not be properly populated
+     has been fixed.
+
+   - Various commands have been hardened against errors when called
+     with invalid syntax.
+
+ * Translation updates.  Thanks to our translators!
+
+Changes from 0.8.5 to 0.10.0:
+
+ * The QUICK CLUSTER command has a  /PRINT subcommand which shows
+   the initial cluster centres and the final cluster membership of
+   each case.  The clustering algorithm has also been updated, so
+   as to produce better separated clusters.
+
+ * A Russian localisation has been contributed.
+
+ * The GRAPH command now has a /BAR subcommand to draw barcharts.
+
+ * If the DECIMAL character is set to COMMA then the ',' character
+   will not be treated as a separator by DATA LIST.
+
+ * The graphical user interface (psppire) has been changed as follows:
+
+   - It now uses Gtk+ version 3 instead of version 2.  Accordingly, it has a 
+     somewhat different look and feel.
+
+   - There is now a Graphs menu to access the GRAPH command.
+
+   - The status of dialog box widgets are now preserved between calls
+     to the same dialog box for the same dataset.
+
+   - The dialog box for the Logistic Regression command will now
+     infer that string variables or any varible with a "measure"
+     of Nominal or Ordinal are to be treated as categorical variables
+     and will generate syntax accordingly.
+
+ * The pspp-convert utility can now decrypt encrypted syntax files.
+   The encrypted syntax file format is unacceptably insecure, so to
+   discourage its use PSPP and PSPPIRE do not directly read or write
+   this format.
+
+ * New commands:
+
+   - SORT VARIABLES.
+
+ * The following functions for transformation expressions are new:
+
+   - REPLACE, for search-and-replace of one string with another.
+
+   - STRUNC, to truncate a string and trim trailing spaces.
+
+   - MEDIAN, to compute the median of its arguments.
+
+   - The TRUNC function in expressions now supports additional arguments
+     for truncating to values other than integers and to indicate a level
+     of rounding fuzz.  The default rounding fuzz may now be controlled
+     and displayed with SET FUZZBITS and SHOW FUZZBITS, respectively.
+
+ * Bug fixes, including the following notable ones:
+
+   - The correlation coefficient in the paired samples t-test
+     procedure is now correctly calculated when presented with
+     weighted data.
+
+   - The ESCAPE subcommand has been removed from GET DATA /TYPE=TXT.
+     For compatibility, the behavior that ESCAPE enabled is now the
+     default and only supported behavior.
+
+   - Rendering of the variable and data sheets in right-to-left locales
+     now works properly.
+
+   - The Mann-Whitney test, when run on a dataset containing values
+     of the group variable, other than those defining the test groups,
+     would incorrectly calculate the ranks.  This has been corrected.
+
+ * The IMPORTCASES subcommand on GET DATA is now ignored, for
+   compatibility.
+
+Changes from 0.8.4 to 0.8.5:
+
+ * The FREQUENCIES and CROSSTABS commands can now generate barcharts.
+
+ * The FACTOR command can now perform PROMAX rotations.
+
+ * SPSS/PC+ system files are now supported on GET and other commands
+   that read SPSS system files.  The pspp-convert program can now read
+   SPSS/PC+ system files.  Writing the obsolete SPSS/PC+ system file
+   format is not supported.
+
+ * SYSFILE INFO can now read SPSS/PC+ system files and SPSS portable
+   files.
+
+ * FREQUENCIES: A bug was fixed where an assertion failure occurred
+   when an empty dataset was presented.
+
+ * The GRAPH command is now available.  Initially it supports
+   scatterplots and histograms.
+
+ * The RND operator in expressions now supports additional operands
+   for rounding to values other than integers and to indicate a level
+   of rounding fuzz.  The default rounding fuzz may now be controlled
+   and displayed with SET FUZZBITS and SHOW FUZZBITS, respectively.
+
+Changes from 0.8.3 to 0.8.4:
+
+ * Formatting of SYSFILE INFO output was made easier to read.
+
+ * Bug fixes, including the following notable ones:
+
+   - FREQUENCIES works properly for string variables.  (This bug was
+     introduced in 0.8.2.)
+
+   - CROSSTABS now correctly computes all of the measures that it
+     offers.  Some measures have been removed because they were not
+     computed correctly.
+
+   - The NPAR TESTS calculation of significance for the RUNS
+     subcommand has been corrected.
+
+   - Planned comparisons in ONEWAY ANOVA now correctly handle negative
+     T-values.
+
+   - The COUNT command now correctly treats missing values as
+     documented.
+
+   - Conformance fixes to Open Document output format.
+
+Changes from 0.8.2 to 0.8.3:
+
+ * Independent T-Tests displayed the standard error of the difference
+   and the confidence interval for the unequal variances case, where
+   the equal variances case should have been.  This has been fixed.
+
+ * REGRESSION now recognises /STATISTICS=CI(x) which causes confidence
+   intervals for the coefficients to be printed.
+
+ * When DESCRIPTIVES calculates Z scores, it now omits cases filtered
+   by the current FILTER settings.
+
+ * PSPPIRE graphical user interface improvements:
+
+   - Dialog boxes with source  variable lists can now choose the sort
+     order;  right click and select from the popup menu.
+
+   - File|Open now allows an encoding to be selected for opening
+     system files.
+
+   - File|Display Data File Information|External File... now allows an
+     encoding to be selected.
+
+   - A problem with the Means dialog has been resolved (bug #41433).
+
+   - Several problems related to the input of spreadsheets have been
+     fixed (bug #41657, #41620
+
+ * System file related improvements:
+
+   - With ENCODING="DETECT", SYSFILE INFO can now help the user to
+     pick an encoding for reading a system file that does not identify
+     its own encoding
+
+   - SYSFILE INFO now accepts an ENCODING subcommand to specify the
+     character encoding of string data in the system file.
+
+   - Variable labels over 255 bytes long are now accepted without
+     truncation (bug #41863).
+
+   - System files that contain duplicate variable names may now be
+     read successfully (bug #41475).
+
+Changes from 0.8.1 to 0.8.2:
+
+ * Charts are now rendered with colours from the Tango palette instead
+   of fully saturated primaries.
+
+ * Support for new system file variants:
+
+   - PSPP can now read and write ZCOMPRESSED system files, which
+     compress data much more effectively than older "compressed"
+     files.  (The older format is still supported.)
+
+   - PSPP can now decrypt encrypted system files, using the new
+     pspp-convert utility.  The encrypted system file format is
+     unacceptably insecure, so to discourage its use PSPP and PSPPIRE
+     do not directly read or write this format.
+
+ * Missing values for long string variables are now read from and
+   written to system files in an SPSS-compatible fashion.
+
+   (Earlier versions of PSPP that supported missing values for long
+   string variables wrote them to system files in an SPSS-incompatible
+   way.  To fix the problem, read the system file with this version of
+   PSPP and then save a new copy of it.)
+
+ * pspp-convert, a new standalone utility for converting SPSS system
+   and portable files to other formats, is now included.  The initial
+   version supports comma-separated value files as output format.
+   pspp-convert can also decrypt encrypted system files.
+
+ * Build changes:
+
+   - zlib is now a required dependency.  (Previously it was optional.)
+
+Changes from 0.8.0 to 0.8.1:
+
+ * New commands:
+
+   - VARIABLE ROLE.
+
+ * Changes to existing commands:
+
+   - CROSSTABS: The requirement that one expected count must be less than five
+       before Fishers Exact Test will be reported has been removed.
+
+ * PSPPIRE graphical user interface improvements:
+
+   - A new set of icons has been contributed.
+
+   - Syntax windows now parse syntax in "auto" mode, which in practice
+     should mean that both "batch" and "interactive" syntax now works,
+     instead of just "interactive" syntax.
+
+   - The variable pane of data windows now include a Role column.
+
+ * Notable bug fixes:
+
+   - System files written by IBM SPSS 21 are now read without warnings.
+
+   - System files written by "VOXCO INTERVIEWER 4.3" are now read
+     without warnings.
+
+   - PSPPIRE should now more gracefully handle syntax files that contain
+     errors.
+
+Changes from 0.6.2 to 0.8.0:
+
+ * New commands:
+
+   - ADD FILES
+   - CORRELATIONS
+   - DATAFILE ATTRIBUTES
+   - DATASET ACTIVATE
+   - DATASET CLOSE
+   - DATASET COPY
+   - DATASET DECLARE
+   - DATASET DISPLAY
+   - DATASET NAME
+   - LOGISTIC REGRESSION
+   - MATCH FILES
+   - MEANS
+   - MRSETS
+   - PRESERVE and RESTORE
+   - QUICK CLUSTER
+   - RELIABILITY
+   - ROC
+   - SAVE TRANSLATE to CSV and tab-delimited files
+   - UPDATE
+   - VARIABLE ATTRIBUTES
+
+ * Changes to existing commands:
+
+   - AUTORECODE has a new GROUP subcommand.
+
+   - CROSSTABS has been re-implemented to fix numerous bugs.
+
+   - EXAMINE: /MISSING=LISTWISE is now the default.
+
+   - DO REPEAT command has been reimplemented.  Now, when DO REPEAT
+     contains an INCLUDE or INSERT command, substitutions are not
+     applied to the included file.
+  
+   - FILE HANDLE has a new ENDS subcommand to select CR or CRLF new-lines.
+
+   - HOST has been updated to use more modern syntax.
+
+   - Most commands that work with data files now support a new
+     ENCODING subcommand.
+
+   - MISSING VALUES can now assign missing values to long string
+     variables.
+
+   - ONEWAY: the POSTHOC subcommand is now implemented.
+
+   - The following new subcommands to NPAR TESTS have been implemented:
+     COCHRAN, FRIEDMAN, JONCKHEERE-TERPSTRA, KENDALL, KRUSKAL-WALLIS, MANN-WHITNEY, 
+     MCNEMAR, SIGN, WILCOXON, and RUNS
+
+   - SET and SHOW no longer have ENDCMD, NULLINE, PROMPT, CPROMPT, and
+     DPROMPT subcommands.  The defaults are now fixed values.
+
+   - SHOW now has a JOURNAL subcommand, to show the location of the
+     journal file.
+
+   - VALUE LABELS can now assign value labels to long string
+     variables.
+
+ * Other language changes:
+
+   - The new DATASET commands replace the "scratch file" PSPP
+     extension, which is no longer supported.
+
+   - Strings may now include arbitrary Unicode code points specified
+     in hexadecimal, using the syntax U'hhhh'.  For example, Unicode
+     code point U+1D11E, the musical G clef character, may be
+     expressed as U'1D11E'.
+
+     See the "Tokens" section in the PSPP manual for more information.
+
+   - In previous versions of PSPP, in a string expressed in
+     hexadecimal with X'hh' syntax, the hexadecimal digits expressed
+     bytes in the locale encoding.  In this version of PSPP, X'hh'
+     syntax always expresses bytes in UTF-8 encoding.
+
+     See the "Tokens" section in the PSPP manual for more information.
+
+ * PSPPIRE graphical user interface improvements:
+
+   - Added support for non-ASCII characters in strings, labels and
+     variable names.
+
+   - A "Split Window" function is available, which makes it easier to
+     see different parts of a large data file.
+
+   - Data files can now be opened by specifing their name as the first
+     argument.  This means that on a properly configured desktop, double
+     clicking on an icon will open the file.
+
+   - Foreign formats, such as Gnumeric, OpenDocument and CSV can be imported
+     via using an "intelligent" application assistant dialog.
+
+ * Output changes:
+
+   - The new "cairo" output driver supports output in PostScript, PDF,
+     and SVG formats.  Its functionality is a superset of that of the
+     "postscript" driver, which has been removed.  You must have Cairo
+     and Pango installed to build the "cairo" driver.
+
+   - Charts are now produced with Cairo and Pango, instead of libplot.
+     Without them, the new graphing features will not work.  If you do
+     not have Cairo and Pango installed, you must run `configure' with
+     --without-cairo.
+
+   - The plain text output driver now properly supports multibyte UTF-8
+     characters, including double-width characters and combining
+     accents.
+
+   - Output to OpenDocument format is now supported.
+
+   - The HTML output is much improved.
+
+ * The "pspp" program has a new option --batch (or -b) that selects
+   "batch" syntax mode.  In previous versions of PSPP this syntax mode
+   was the default.  Now a new "auto" syntax mode is the default.  In
+   "auto" mode, PSPP interprets most syntax files correctly regardless
+   of their intended syntax mode.
+
+   See the "Syntax Variants" section in the PSPP manual for more
+   information.
+
+ * The "pspp" program has a new option --syntax-encoding that
+   specifies the encoding for syntax files listed on the command line,
+   as well as the default encoding for syntax files included with
+   INCLUDE or INSERT.  The default is to accept the system locale
+   encoding, UTF-8, UTF-16, or UTF-32, automatically detecting which
+   one the system file uses.
+
+   See the documentation for the INSERT command in the PSPP manual for
+   more information.
+
+ * Text data files that PRINT and WRITE creates now use the system
+   native line ends by default (CRLF on Windows, LF only elsewhere).
+   Use the new ENDS subcommand on FILE HANDLE to override the default.
+
+ * A new Perl module allows Perl programs to read and write PSPP
+   system files.
+
+ * A tutorial chapter has been added to the user manual.
+\f
+Changes from 0.6.1 to 0.6.2:
+
+  * New translations:
+
+    - Dutch, thanks to Harry Thijssen.
+
+    - Brazilian Portuguese, thanks to Michel Boaventura.
+
+    Thanks for translations are also due to the coordinators at
+    translationproject.org.
+
+  * Statistical bug fixes:
+
+    - REGRESSION: Report correct standard error of the estimate (bug
+      #25677).
+
+    - T-TEST: Report correct significance of paired sample T-test in
+      the common case (bug #26936) and corner cases.  Thanks to Mike
+      Griffiths and Matej Cepl for reporting these bugs.
+
+  * Build fixes and changes:
+
+    - Fix build with GTK+ 2.17.4 and later.
+
+    - Make running "make" after running "configure" with different
+      settings reliably rebuild version.c.
+
+    - Cygwin and MinGW build fixes.
+
+    - Fixes for building with recent gnulib.
+
+    - The Makefile now honors two new variables, PSPP_LDFLAGS and
+      PSPPIRE_LDFLAGS, that affect linking of the PSPP and PSPPIRE
+      binaries, respectively.  This makes building easier for some
+      packagers.
+
+    - Fixes for "configure --enable-relocatable" (bug #25508).
+
+  * Data file bug fixes and changes:
+
+    - Fix reading text data files that contain a mix of white space
+      and commas.  Now "a ,b" is treated as two fields containing "a"
+      and "b"; previously it was treated as three, with an empty field
+      in the middle.
+
+    - Fix writing corrupted .sav files on Windows.
+
+    - Fix writing variable labels longer than 252 bytes to save files.
+      Thanks to Robert Westlund for reporting this bug.
+
+    - Fix writing corrupted .por files (bug #26034).
+
+    - Fix reading .por files whose initial lines are not padded out
+      with spaces as expected.
+
+    - PSPP will no longer issue warnings about some .sav file records
+      or values that it does not understand.  These warnings were
+      harmless, but needlessly alarmed some users.
+
+    - Fix crash reading empty string fields from PostgreSQL databases.
+
+  * Bug fixes that affect PSPP and PSPPIRE:
+
+    - Users may now control precision of output statistics.  Instead
+      of hard coding the width and decimals of output numbers, respect
+      the default format in most instances.  Counts are now normally
+      displayed with the format of the weight variable, if any.
+
+    - Fix crash when an INSERT command specifies the name of a file
+      that does not exist (bug #24569).
+
+    - Fix crash when CROSSTABS specifies a long-string variable (bugs
+      #24557 and #26131).
+
+    - Fix crash drawing pie charts with many segments.
+
+    - Fix crash when NUMERIC specifies an invalid format.
+
+  * PSPPIRE bug fixes and changes:
+
+    - On Windows, write the output file to the user's home directory
+      instead of the current directory, to better match user
+      expectations.
+
+    - Some data editor fixes.
+
+  * Documentation:
+
+    - Fix typo in BINOMIAL section of user manual (bug #25892).
 
 Changes from 0.6.0 to 0.6.1:
 
@@ -662,8 +1201,6 @@ Changes for version 0.1.0:
 ----------------------------------------------------------------------
 Copyright information:
 
-Copyright (C) 1996-9, 2000 Free Software Foundation, Inc.
-
    Permission is granted to anyone to make or distribute verbatim
    copies of this document as received, in any medium, provided that
    the copyright notice and this permission notice are preserved, thus