summaryrefslogtreecommitdiff
path: root/NEWS
diff options
context:
space:
mode:
Diffstat (limited to 'NEWS')
-rw-r--r--NEWS496
1 files changed, 496 insertions, 0 deletions
diff --git a/NEWS b/NEWS
new file mode 100644
index 0000000..ce0daad
--- /dev/null
+++ b/NEWS
@@ -0,0 +1,496 @@
+GNU gzip NEWS -*- outline -*-
+
+* Noteworthy changes in release 1.8 (2016-04-26) [stable]
+
+** Bug fixes
+
+ gzip -l no longer falsely reports a write error when writing to a pipe.
+ [bug introduced in gzip-1.7]
+
+ Port to Oracle Solaris Studio 12 on x86-64.
+ [bug present since at least gzip-1.2.4]
+
+ When configuring gzip, ./configure DEFS='...-DNO_ASM...' now
+ suppresses assembler again. [bug introduced in gzip-1.3.5]
+
+
+* Noteworthy changes in release 1.7 (2016-03-27) [stable]
+
+** Changes in behavior
+
+ The GZIP environment variable is now obsolescent; gzip now warns if
+ it is used, and rejects attempts to use dangerous options or operands.
+ You can use an alias or script instead.
+
+ Installed programs like 'zgrep' now use the PATH environment variable
+ as usual to find subsidiary programs like 'gzip' and 'grep'.
+ Previously they prepended the installation directory to the PATH,
+ which sometimes caused 'make check' to test the wrong gzip executable.
+ [bug introduced in gzip-1.3.13]
+
+** New features
+
+ gzip now accepts the --synchronous option, which causes it to use
+ fsync and similar primitives to transfer output data to the output
+ file's storage device when the file system supports this. Although
+ this option makes gzip safer in the presence of system crashes, it
+ can make gzip considerably slower.
+
+ gzip now accepts the --rsyncable option. This option is accepted in
+ all modes, but has effect only when compressing: it makes the resulting
+ output more amenable to efficient use of rsync. For example, when a
+ large input file gets a small change, a gzip --rsyncable image of
+ that file will remain largely unchanged, too. Without --rsyncable,
+ even a tiny change in the input could result in a totally different
+ gzip-compressed output file.
+
+** Bug fixes
+
+ gzip -k -v no longer reports that files are replaced.
+ [bug present since the beginning]
+
+ zgrep -f A B C no longer reads A more than once if A is not a regular file.
+ This better supports invocations like 'zgrep -f <(COMMAND) B C' in Bash.
+ [bug introduced in gzip-1.2]
+
+
+* Noteworthy changes in release 1.6 (2013-06-09) [stable]
+
+** New features
+
+ gzip now accepts the --keep (-k) option, for consistency with tools
+ like xz, lzip and bzip2. With this option, gzip no longer removes
+ named input files when compressing or decompressing.
+
+** Bug fixes
+
+ gzip -d no longer malfunctions with certain invalid data in 'pack' format.
+ [bug introduced in gzip-0.8]
+
+ When overwriting, gzip no longer acts as if you typed "y" when you type "n",
+ on some platforms when compiled with optimization.
+ [bug introduced in gzip-1.3.6]
+
+ zgrep no longer malfunctions with a multi-digit context option like -15.
+ Now, it passes that option to grep (equivalent to -C15) just as it does
+ for single-digit options. [bug introduced in gzip-1.3.12]
+
+ zmore now acts more like 'more', and is more portable to POSIXish hosts.
+
+
+* Noteworthy changes in release 1.5 (2012-06-17) [stable]
+
+** Bug fixes
+
+ gzip -d now decodes and checks header CRC16 checksums as specified by
+ the FHCRC section of Internet RFC 1952.
+
+ "gzip -d -S '' precious.gz" is now rejected immediately. Before,
+ that command would emulate "rm -i precious.gz", but with an easily-
+ misunderstood prompt. I.e., gzip would ask if it's ok to remove the
+ existing file, "precious.gz". If you made the mistake of saying "yes",
+ it would remove that input file before attempting to uncompress it.
+
+ gzip -cdf now properly handles input consisting of gzip'd data followed
+ by uncompressed data. Before it would output raw compressed input, too.
+ For example, now "(printf x|gzip; echo y)|gzip -dcf" prints "xy\n",
+ while before it would print "x<compressed data>y\n".
+
+ gzip -rf no longer compresses files more than once (e.g., replacing
+ FOO with FOO.gz.gz) on file systems such as ZFS where a readdir
+ loop that unlinks and creates files can revisit output files.
+
+
+* Noteworthy changes in release 1.4 (2010-01-20) [stable]
+
+** Bug fixes
+
+ gzip -d could segfault and/or clobber the stack, possibly leading to
+ arbitrary code execution. This affects x86_64 but not 32-bit systems.
+ This fixes CVE-2010-0001.
+ For more details, see http://bugzilla.redhat.com/554418
+
+ gzip -d would fail with a CRC error for some valid inputs.
+ So far, the only valid input known to exhibit this failure was
+ compressed "from FAT filesystem (MS-DOS, OS/2, NT)". In addition,
+ to trigger the failure, your memcpy implementation must copy in
+ the "reverse" order.
+
+
+* Noteworthy changes in release 1.3.14 (2009-10-30) [beta]
+
+** Bug fixes
+
+ gzip no longer fails when there is exactly one trailing NUL byte
+ gzip has always accepted trailing NUL bytes. Note the plural.
+
+ zdiff would exit with status 2 (indicating an error) rather than 1 to
+ indicate differences when both inputs were compressed and different.
+
+ zdiff would fail to print differences in two compressed inputs
+
+ zgrep -f - didn't work
+
+
+* Noteworthy changes in release 1.3.13 (2009-09-30) [stable]
+
+** 'gzip -f foo.gz' now creates a file foo.gz.gz instead of complaining.
+
+** Bug fixes
+
+ gzip -d no longer fails with "-" as 2nd or subsequent argument
+
+ gzip no longer ignores a close-induced write failure, e.g., on NFS
+
+ gzip -d no longer segfaults on certain invalid inputs
+
+
+Major changes in Gzip 1.3.12 (2007-04-13)
+
+* znew now uses $TMPDIR (default /tmp) instead of always using /tmp.
+
+* It is now documented that gzip ignores case when examining file name
+ extensions; for example, 'gzip test.Gz' (without -f) fails because
+ the file name ends in '.Gz'.
+
+Major changes in Gzip 1.3.11 (2007-02-05)
+
+* As per the GNU coding standards, the behavior of gzip and its
+ companion executables no longer depend on the name used to invoke them.
+ For example, 'gzip' and 'gunzip' are no longer hard links;
+ instead, 'gunzip' is now a small program that invokes 'gzip -d'.
+
+* zdiff now checks for subsidiary gzip failures, and works around
+ bugs in IRIX 6 sh, Tru64 4.0F ksh, and Solaris 8 bash.
+
+Major changes in Gzip 1.3.10 (2006-12-30)
+
+* gzip -c and zcat now work on special files, files with special mode bits,
+ and files with multiple hard links.
+* gzip -q now exits with status 2 (not 1) when SIGPIPE is received.
+* zcmp and zdiff did not work in the usual case, due to a typo.
+* zgrep has many bugs fixed with argument handling, special characters,
+ and exit status.
+* zless no longer mishandles $%=~ in file names.
+
+Gzip 1.3.9 (2006-12-15)
+
+* No major changes; only porting fixes.
+
+Major changes in Gzip 1.3.8 (2006-12-08)
+
+* Fix some gzip problems:
+ - A security fix from Debian 1.3.5-5 was inadvertently omitted.
+ - The assembler is now invoked with --noexecstack if supported,
+ so that gzip can better resist stack-smashing attacks.
+
+Major changes in Gzip 1.3.7 (2006-12-06)
+
+* Fix some gzip problems:
+ - Refuse to compress setuid or setgid files, or files with the sticky bit.
+ - Fix more race conditions in setting file permissions and owner,
+ removing output files, following symbolic links, and dealing with
+ special files.
+ - Remove most of the code working around ENAMETOOLONG deficiencies.
+ Systems with those deficiencies are long-dead, and the workarounds
+ had race conditions on modern hosts.
+ - Catch CPU time and file size limit signals, too.
+ - Check for read errors when closing files.
+ - Fix a core dump caused by a stray abort mistakenly introduced in 1.3.6.
+* Fix some gzexe problems:
+ - Improve resistance to denial-of-service attacks.
+ - Fix some quoting and escaping bugs.
+ - Do not assume /tmp is sticky (though it should be!).
+ - Do not assume the working directory can be written.
+ - Rely on PATH in the generated executable, as the man page says.
+ - Don't assume IFS is sane.
+ - Exit with signal's status, if signaled.
+
+Major changes in Gzip 1.3.6 (2006-11-20)
+
+* Fix some race conditions in setting file time stamps, permissions, and owner.
+* Fix some race conditions in signal handling.
+* When gzip exits due to a signal, it exits with the signal's status, not 1.
+* gzip now restores file time stamps to the resolution supported by the
+ time-setting primitives of the operating system, typically 1 microsecond.
+ Formerly it restored them only to the nearest second.
+* gzip -r no longer attempts to reset the last-access times of directories
+ it reads, as this messes up when other processes are reading the directories.
+* The options --version and --help now work on all gzip-installed executables,
+ and now use a format similar to other GNU programs.
+* The manual is now distributed under the terms of the GNU Free
+ Documentation License without invariant sections or cover texts.
+* Port to current versions of Autoconf, Automake, and Gnulib.
+
+Major changes from 1.3.4 to 1.3.5
+* gzip now removes any output symlink before writing output file.
+* zgrep etc. scripts now port to POSIX 1003.1-2001 hosts.
+* zforce no longer assumes 14-byte file name length limit.
+* zless is now implemented using less and LESSOPEN, not zmore and PAGER.
+* assembly-language speedups reenabled; were mistakenly disabled in 1.3.
+
+Major changes from 1.3.3 to 1.3.4
+* Less output is lost when decompressing a truncated file.
+* The manual is now distributed under the terms of the GNU Free
+ Documentation License.
+
+No major changes in 1.3.2 or 1.3.3 (bug fixes only)
+
+Major changes from 1.3 to 1.3.1
+* zgrep now supports --, -H, -h, -L, -l, -C, -d, -m and their long equivalents.
+
+Major changes from 1.2.4 to 1.3
+* Add support for large files, e.g. files larger than 2 GB on Solaris 2.6.
+* Adjust file size listing format for files larger than 10 GB.
+* New command `zless'.
+* `zdiff' now reports exit status like `diff' does.
+* `zcat' is now always called `zcat', not `gzcat'.
+ Similarly for `zdiff', `zgrep', `zmore', `znew', `zforce'.
+* Warn about a compressed file's trailing zeros only if verbose,
+ for compatibility with recent versions of GNU tar.
+* Conform to changes to GNU makefile standards.
+* Port to Autoconf 2.13.
+* Convert to Automake.
+* Fix bugs in the following areas:
+ - files larger than 4 GB
+ - security hole involving symlinks from /tmp
+ - security hole involving long file names
+ - permissions bug when compressing a symbolic link to a file
+ - core dumps
+ - concatenated compressed files on INBUFSIZ boundaries
+ - porting bugs on hosts with signed chars
+ - porting bug with upper and lower case
+ - porting bug for hosts that reserve the names `basename' or `warning'
+
+Major changes from 1.2.3 to 1.2.4
+* By default, do not restore file name and timestamp from those saved
+ inside the .gz file (behave as 'compress'). Added the --name option
+ to force name and timestamp restoration.
+* Accept - as synonym for stdin.
+* Use manlinks=so or ln to support either hard links or .so in man pages
+* Accept foo.gz~ in zdiff.
+* Added support for Windows NT
+* Handle ENAMETOOLONG for strict Posix systems
+* Use --recursive instead of --recurse to comply with Webster and
+ the GNU stdandard.
+* Allow installation of shell scripts with a g prefix: make G=g install
+* Install by default zcat as gzcat if gzcat already exists in path.
+* Let zmore behave as more when invoked without parameters (give help)
+* Let gzip --list reject files not in gzip format even with --force.
+* Don't complain about non gzip files for options -rt or -rl.
+* Added advice in INSTALL for several systems.
+
+Major changes from 1.2.2 to 1.2.3
+* Don't display the output name when decompressing except with --verbose.
+* Remove usage of alloca in getopt.c and all makefiles.
+* Added the zfile shell script in subdirectory sample.
+* Moved the list of compiler bugs from README to INSTALL.
+* Added vms/Readme.vms.
+
+Major changes from 1.2.1 to 1.2.2
+* Fix a compilation error on Sun with cc (worked with gcc).
+
+Major changes from 1.2 to 1.2.1
+* Let zmore act as more if the data is not gzipped.
+* made gzexe more secure (don't rely on PATH).
+* By default, display output name only when the name was actually truncated.
+
+Major changes from 1.1.2 to 1.2
+* Added the --list option to display the file characteristics.
+* Added the --no-name option: do not save or restore original filename
+ Save the original name by default.
+* Allow gunzip --suffix "" to attempt decompression on any file
+ regardless of its extension if an original name is present.
+* Add support for the SCO compress -H format.
+* gzip --fast now compresses faster (speed close to that of compress)
+ with degraded compression ratio (but still better than compress).
+ Default level changed to -6 (acts exactly as previous level -5) to
+ be a better indication of its placement in the speed/ratio range.
+* Use smart name truncation: 123456789012.c -> 123456789.c.gz
+ instead of 12345678901.gz
+* With --force, let zcat pass non gzip'ed data unchanged (zcat == cat)
+* Added the zgrep shell script.
+* Made sub.c useful for 16 bit sound, 24 bit images, etc..
+* Suppress warnings about suffix for gunzip -r, except with --verbose.
+* On MSDOS, use .gz extension when possible (files without extension)
+* Moved the sample programs to a subdirectory sample.
+* Added a "Special targets" section in INSTALL.
+
+Major changes from 1.1.1 to 1.1.2.
+* Fix serious bug for VMS (-gz not removed when decompressing).
+* Allow suffix other than .gz in znew.
+* Do not display compression ratio when decompressing stdin.
+* In zmore.in, work around brain damaged stty -g (Ultrix).
+* Display a correct compression ratio for .Z files.
+* Added .z to .gz renaming script in INTALL.
+* Allow setting CFLAGS in configure.
+
+Major changes from 1.1 to 1.1.1.
+* Fix serious bug in vms.c (affects Vax/VMS only).
+* Added --ascii option.
+* Add workaround in configure.in for Ultrix (quote eval argument)
+
+Major changes from 1.0.7 to 1.1.
+* Use .gz suffix by default, add --suffix option.
+* Let gunzip accept a "_z" suffix (used by one 'compress' on Vax/VMS).
+* Quit when reading garbage from stdin instead of reporting an error.
+* Added makefile for VAX/MMS and support for wildcards on VMS.
+* Added support for MSC under OS/2.
+* Added support for Prime/PRIMOS.
+* Display compression ratio also when decompressing (with --verbose).
+* Quit after --version (GNU standard)
+* Use --force to bypass isatty() check
+* Continue processing other files in case of recoverable error.
+* Added comparison of zip and gzip in the readme file.
+* Added small sample programs (ztouch, sub, add)
+* Use less memory when compiled with -DSMALL_MEM (for MSDOS).
+* Remove the "off by more than one minute" time stamp kludge
+
+Major changes from 1.0.6 to 1.0.7.
+* Allow zmore to read from standard input (like more).
+* Support the 68000 (Atari ST) in match.S.
+* Retry partial writes (required on Linux when gzip is suspended in a pipe).
+* Allow full pathnames and renamings in gzexe.
+* Don't let gzexe compress setuid executables or gzip itself.
+* Added vms/Makefile.gcc for gcc on the Vax.
+* Allow installation of binaries and shell scripts in different dirs.
+* Allows complex PAGER variable in zmore (e.g.: PAGER="col -x | more")
+* Allow installation of zcat as gzcat.
+* Several small changes for portability to old or weird systems.
+* Suppress help message and send compressed data to the terminal when
+ gzip is invoked without parameters and without redirection.
+* Add compile option GNU_STANDARD to respect the GNU coding standards:
+ with -DGNU_STANDARD, behave as gzip even if invoked under the name gunzip.
+(I don't like the last two changes, which were requested by the FSF.)
+
+Major changes from 1.0.5 to 1.0.6.
+* Let gzexe detect executables that are already gzexe'd.
+* Keep file attributes in znew and gzexe if cpmod is available.
+* Don't try restoring record format on VMS (1.0.5 did not work correctly)
+* Added asm version for 68000 in amiga/match.a.
+ Use asm version for Atari TT and NeXT.
+* For OS/2, assume HPFS by default, add flag OS2FAT if necessary.
+* Fixed some bugs in zdiff and define zcmp as a link to zdiff.
+
+
+Major changes from 1.0.4 to 1.0.5.
+* For VMS, restore the file type for variable record format, otherwise
+ extract in fixed length format (not perfect, but better than
+ forcing all files to be in stream_LF format).
+* For VMS, use "-z" default suffix and accept a version number in file names.
+* For Unix, allow compression of files with name ending in 'z'. Use only
+ .z, .*-z, .tgz, .taz as valid gzip extensions. In the last two cases,
+ extract to .tar by default.
+* On some versions of MSDOS, files with a 3 character extension could not
+ be compressed.
+* Garbage collect files in /tmp created by gzexe.
+* Fix the 'OS code' byte in the gzip header.
+* For the Amiga, add the missing utime.h and add support for gcc.
+
+
+Major changes from 1.0.3 to 1.0.4.
+* Added optimized asm version for 68020.
+* Add support for DJGPP.
+
+* Add support for the Atari ST.
+* Added zforce to rename gzip'ed files with truncated names.
+* Do not install with name uncompress (some systems rely on the
+ absence of any check in the old uncompress).
+* Added missing function (fcfree) in msdos/tailor.c
+* Let gunzip handle .tgz files, and let gzip skip them.
+* Added -d option (decompress) for gzexe and try preserving file permissions.
+* Suppress all warnings with -q.
+* Use GZIP_OPT for VMS to avoid conflict with program name.
+* ... and many other small changes (see ChangeLog)
+
+
+Major changes from 1.0.2 to 1.0.3
+* Added -K option for znew to keep old .Z files if smaller
+* Added -q option (quiet) to cancel -v in GZIP env variable.
+* Made gzexe safer on systems with filename limitation to 14 chars.
+* Fixed bugs in handling of GZIP env variable and incorrect free with Turbo C.
+
+
+Major changes from 1.0.1 to 1.0.2
+* Added env variable GZIP for default options. Example:
+ for sh: GZIP="-8 -v"; export GZIP
+ for csh: setenv GZIP "-8 -v"
+* Added support for the Amiga.
+* znew now keeps the old .Z if it is smaller than the .z file.
+ This can happen for some large and very redundant files.
+* Do not complain about trailing garbage for record oriented IO (Vax/VMS).
+ This implies however that multi-part gzip files are not supported
+ on such systems.
+* Added gzexe to compress rarely used executables.
+* Reduce memory usage (required for MSDOS and useful on all systems).
+* Preserve time stamp in znew -P (pipe option) if touch -r works.
+
+
+Major changes from 1.0 to 1.0.1
+* fix trivial errors in the Borland makefile (msdos/Makefile.bor)
+
+
+Major changes from 0.8.2 to 1.0
+* gzip now runs on Vax/VMS
+* gzip will not not overwrite files without -f when using /bin/sh in
+ background.
+* Support the test option -t for compressed (.Z) files.
+ Allow some data recovery for bad .Z files.
+* Added makefiles for MSDOS (Only tested for MSC, not Borland).
+* still more changes to configure for several systems
+
+
+Major changes from 0.8.1 to 0.8.2:
+* yet more changes to configure for Linux and other systems
+* Allow zcat on a file with multiple links.
+
+
+Major changes from 0.8 to 0.8.1:
+* znew has now a pipe option -P to reduce the disk space requirements,
+ but this option does not preserve timestamps.
+* Fixed some #if directives for compilation with TurboC.
+
+
+Major changes from 0.7 to 0.8:
+* gzip can now extract .z files created by 'pack'.
+* configure should no longer believe that every machine is a 386
+* Fix the entry for /etc/magic in INSTALL.
+* Add patch for GNU tar 1.11.1 and a pointer to crypt++.el
+* Uncompress files with multiple links only with -f.
+* Fix for uncompress of .Z files on 16-bit machines
+* Create a correct output name for file names of exactly N-1 chars when
+ the system has a limit of N chars.
+
+
+Major changes from 0.6 to 0.7:
+* Use "make check" instead of "make test".
+* Keep time stamp and pass options to gzip in znew.
+* Do not create .z.z files with gzip -r.
+* Allow again gunzip .zip files (was working in 0.5)
+* Allow again compilation with TurboC 2.0 (was working in 0.4)
+
+
+Major changes form 0.5 to 0.6:
+* gunzip reported an error when extracting certain .z files. The .z files
+ produced by gzip 0.5 are correct and can be read by gunzip 0.6.
+* gunzip now supports multiple compressed members within a single .z file.
+* Fix the check for i386 in configure.
+* Added "make test" to check for compiler bugs. (gcc -finline-functions
+ is broken at least on the NeXT.)
+* Use environment variable PAGER in zmore if it is defined.
+* Accept gzcat in addition to zcat for people having /usr/bin before
+ /usr/local/bin in their path.
+
+
+========================================================================
+
+Copyright (C) 1999, 2001-2002, 2006-2007, 2009-2016 Free Software Foundation,
+Inc.
+Copyright (C) 1992, 1993 Jean-loup Gailly
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the ``GNU Free
+Documentation License'' file as part of this distribution.