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