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