summaryrefslogtreecommitdiff
path: root/NEWS
diff options
context:
space:
mode:
Diffstat (limited to 'NEWS')
-rw-r--r--NEWS396
1 files changed, 396 insertions, 0 deletions
diff --git a/NEWS b/NEWS
new file mode 100644
index 0000000..674e35f
--- /dev/null
+++ b/NEWS
@@ -0,0 +1,396 @@
+GNU diffutils NEWS -*- outline -*-
+
+* Noteworthy changes in release 3.5 (2016-08-20) [stable]
+
+** Bug fixes
+
+ diff3 no longer malfunctions due to use-after-free
+ [bug introduced in 3.4]
+
+ diff --color no longer colorizes when TERM=dumb
+
+
+* Noteworthy changes in release 3.4 (2016-08-08) [stable]
+
+** New features
+
+ diff accepts two new options --color and --palette to generate
+ and configure colored output. --color takes an optional argument
+ specifying when to colorize a line: --color=always, --color=auto,
+ --color=never. --palette is used to configure which colors are used.
+
+** Bug fixes
+
+ When binary files differ, diff now exits with status 1 as POSIX requires.
+ Formerly it exited with status 2.
+
+ Unless the --ignore-file-name-case option is used, diff now
+ considers file names to be equal only if they are byte-for-byte
+ equivalent. This fixes a bug where diff in an English locale might
+ consider two Asian file names to be the same merely because they
+ contain no English characters.
+
+ diff -B no longer generates incorrect output if the two inputs
+ each end with a one-byte incomplete line.
+
+ diff --brief no longer reports a difference for unusual identical files.
+ For example, when comparing a file like /proc/cmdline (for which the linux
+ kernel reports st_size of 0 even though it is not an empty file) to a
+ copy of that file's contents residing on a "normal" file system:
+ $ f=/proc/cmdline; cp $f k; diff --brief $f k
+ Files /proc/cmdline and k differ
+
+** Performance changes
+
+ diff's default algorithm has been adjusted to output higher-quality
+ results at somewhat greater computational cost, as CPUs have gotten
+ faster since the algorithm was last tweaked in diffutils-2.6 (1993).
+
+
+* Noteworthy changes in release 3.3 (2013-03-24) [stable]
+
+** New features
+
+ diff accepts a new option, --no-dereference. With this option, symbolic
+ links are treated specially: as a separate type of file that can compare
+ equal only to another symbolic link with the same value. For example,
+ with --no-dereference, two symbolic links compare equal when they have
+ the same value, even when that value does not reference a readable file.
+
+ --new-file (-N) and --unidirectional-new-file now allow comparisons to "-".
+ A standard input that's closed acts like a nonexistent file.
+
+ A file name containing spaces, double quotes, backslashes or control
+ characters is now encoded in a diff header as a double-quoted C string
+ literal. The escape sequences \\, \", \a, \b, \f, \n, \r, \t, \v and
+ \ooo (a three-digit octal number between 0 and 255) are used.
+
+** Packaging
+
+ diffutils is now designed to build with Cygwin or MinGW rather than DJGPP.
+ The ms subdirectory has been removed.
+
+
+* Noteworthy changes in release 3.2 (2011-09-02) [stable]
+
+** Changes in behavior
+
+ --ignore-file-name-case now applies at the top level too.
+ For example, "diff dir inIt" might compare "dir/Init" to "inIt".
+
+** New features
+
+ diff and sdiff have a new option --ignore-trailing-space (-Z).
+
+** Packaging
+
+ The texinfo documentation no longer specifies "front-cover" or "back-cover"
+ texts, so that it may now be included in Debian's "main" section.
+
+
+* Noteworthy changes in release 3.1 (2011-08-10) [stable]
+
+** Bug fixes
+
+ diff no longer reports spurious differences merely because two entries
+ in the same directory have names that compare equal in the current
+ locale, or compare equal because --ignore-file-name-case was given.
+
+* Noteworthy changes in release 3.0 (2010-05-03) [stable]
+
+** Bug fixes
+
+ diff once again prints the required "\ No newline at end of file" line
+ when at least one input lacks a newline-at-EOF and the final hunk plus
+ context-length aligns exactly with the end of the newline-lacking file.
+ [bug introduced between 2.8.7 and 2.9]
+
+** Changes in behavior
+
+ In context-style diffs, diff prints a portion of a preceding "function"
+ line for each hunk, with --show-function-line=RE (-F) or
+ --show-c-function (-p). Now, it trims leading blanks from such lines
+ before extracting a prefix. This is useful especially when a function
+ line is so far indented that the name itself would be truncated or not
+ included in the limited-width substring that diff appends.
+
+ diff once again reports a difference with the diagnostic
+ "Binary files A and B differ" when at least one of the files
+ appears to be binary. From 2.8.4 through diffutils-2.9, it printed
+ "Files A and B differ".
+
+
+* Noteworthy changes in release 2.9 (2010-02-11) [stable]
+
+** New features
+
+ New diff option --suppress-blank-empty.
+
+ Bring back support for 'diff -NUM', where NUM is a number,
+ even when conforming to POSIX 1003.1-2001. This change reverts to
+ the behavior of GNU diff 2.7 and earlier. This is a change only
+ when conforming to POSIX 1003.1-2001; there is no effect when
+ conforming to older POSIX versions.
+
+ This change is in response to decisions taken in the January 2005
+ Austin Group standardization meeting. For more details, please see
+ "Utility Syntax Guidelines" in the Minutes of the January 2005
+ Meeting <http://www.opengroup.org/austin/docs/austin_239.html>.
+
+ sdiff now understands '1' and '2' as synonyms for 'l' and 'r'.
+
+** Changes in behavior
+
+ sdiff and diff3 now invoke diff, not $(bindir)/diff
+
+** Administrivia
+
+ New discussion and bug-reporting address: bug-diffutils@gnu.org
+
+ updated gnulib support
+
+
+* Noteworthy changes in release 2.8.7 (2004-04-13) [stable]
+
+ Version 2.8.7 contains no user-visible changes.
+
+User-visible changes in version 2.8.6:
+
+* New diff3 option --strip-trailing-cr.
+
+* With -N and -P, inaccessible empty regular files (the kind of files
+ that 'patch' creates to indicate nonexistent backups) are now
+ treated as nonexistent when they are in the 'backup' file position.
+
+* If multiple SKIP values are given to cmp, e.g., 'cmp -i 10 -i 20',
+ cmp now uses the maximal value instead of the last one.
+
+* diff now omits the ".000000000" on hosts that do not support
+ fractional time stamps.
+
+Version 2.8.5 was not publicly released.
+
+User-visible changes in version 2.8.4:
+
+* Diff now simply prints "Files A and B differ" instead of "Binary
+ files A and B differ". The message is output if either A or B
+ appears to be a binary file, and the old wording was misleading
+ because it implied that both files are binary, which is not
+ necessarily the case.
+
+User-visible changes in version 2.8.3:
+
+* New locale: en_US.
+
+User-visible changes in version 2.8.2:
+
+* New diff and sdiff option:
+ --tabsize=COLUMNS
+* If --ignore-space-change or --ignore-all-space is also specified,
+ --ignore-blank-lines now considers lines to be empty if they contain
+ only white space.
+* More platforms now handle multibyte characters correctly when
+ excluding files by name (diff -x and -X).
+* New locales: hu, pt_BR.
+
+User-visible changes in version 2.8.1:
+
+* Documentation fixes.
+
+User-visible changes in version 2.8:
+
+* cmp and diff now conform to POSIX 1003.1-2001 (IEEE Std 1003.1-2001)
+ if the underlying system conforms to POSIX and if the _POSIX2_VERSION
+ environment variable is set to 200112. Conformance removes support
+ for 'diff -NUM', where NUM is a number. Use -C NUM or -U NUM instead.
+* cmp now supports trailing operands SKIP1 and SKIP2, like BSD cmp.
+* cmp -i or --ignore-initial now accepts SKIP1:SKIP2 option value.
+* New cmp option: -n or --bytes.
+* cmp's old -c or --print-chars option has been renamed;
+ use -b or --print-bytes instead.
+* cmp now outputs "byte" rather than "char" outside the POSIX locale.
+* cmp -l's index column width now adjusts to fit larger (or smaller) files.
+* cmp -l -s and cmp -s -l are not allowed. Use cmp -s or cmp -l instead.
+* diff uses ISO 8601 style time stamps for output times (e.g. "2001-11-23
+ 16:44:36.875702460 -0800") unless in the C or POSIX locale and the
+ -c style is specified.
+* diff's -I and -F options use the regexp syntax of grep, not of Emacs.
+* diff now accepts multiple context arguments, and uses their maximum value.
+* New diff and sdiff options:
+ -E --ignore-tab-expansion
+ --strip-trailing-cr
+* New diff options:
+ --from-file=FILE, --to-file=FILE
+ --ignore-file-name-case
+ --no-ignore-file-name-case
+* New diff3 and sdiff option:
+ --diff-program=PROGRAM
+* The following diff options are still accepted, but are no longer documented.
+ They may be withdrawn in future releases.
+ -h (omit; it has no effect)
+ -H (use --speed-large-files instead)
+ -L (use --label instead)
+ -P (use --unidirectional-new-file instead)
+ --inhibit-hunk-merge (omit; it has no effect)
+* Recursive diffs now sort file names according to the LC_COLLATE locale
+ category if possible, instead of using native byte comparison.
+* Recursive diffs now detect and report directory loops.
+* Diff printf specs can now use the "0" and "'" flags.
+* The new sdiff interactive command 'ed' precedes each version with a header.
+* On 64-bit hosts, files larger than 2 GB can be compared.
+* Some internationalization support has been added, but multibyte locales
+ are still not completely supported yet.
+* Some diagnostics have been reworded slightly for consistency.
+ Also, 'diff -D FOO' now outputs '/* ! FOO */' instead of '/* not FOO */'.
+* The 'patch' part of the manual now describes 'patch' version 2.5.4.
+* Man pages are now distributed and installed.
+* There is support for DJGPP; see the 'ms' subdirectory and the files
+ m4/dos.m4 and */setmode.*.
+
+
+User-visible changes in version 2.7:
+
+* New diff option: --binary (useful only on non-POSIX hosts)
+* diff -b and -w now ignore line incompleteness; -B no longer does this.
+* cmp -c now uses locale to decide which output characters to quote.
+* Help and version messages are reorganized.
+
+
+User-visible changes in version 2.6:
+
+* New cmp, diff, diff3, sdiff option: --help
+* A new heuristic for diff greatly reduces the time needed to compare
+ large input files that contain many differences.
+* Partly as a result, GNU diff's output is not exactly the same as before.
+ Usually it is a bit smaller, but sometimes it is a bit larger.
+
+
+User-visible changes in version 2.5:
+
+* New cmp option: -v --version
+
+
+User-visible changes in version 2.4:
+
+* New cmp option: --ignore-initial=BYTES
+* New diff3 option: -T --initial-tab
+* New diff option: --line-format=FORMAT
+* New diff group format specifications:
+ <PRINTF_SPEC>[eflmnEFLMN]
+ A printf spec followed by one of the following letters
+ causes the integer corresponding to that letter to be
+ printed according to the printf specification.
+ E.g. '%5df' prints the number of the first line in the
+ group in the old file using the "%5d" format.
+ e: line number just before the group in old file; equals f - 1
+ f: first line number in group in the old file
+ l: last line number in group in the old file
+ m: line number just after the group in old file; equals l + 1
+ n: number of lines in group in the old file; equals l - f + 1
+ E, F, L, M, N: likewise, for lines in the new file
+ %(A=B?T:E)
+ If A equals B then T else E. A and B are each either a decimal
+ constant or a single letter interpreted as above. T and E are
+ arbitrary format strings. This format spec is equivalent to T if
+ A's value equals B's; otherwise it is equivalent to E. For
+ example, '%(N=0?no:%dN) line%(N=1?:s)' is equivalent to 'no lines'
+ if N (the number of lines in the group in the new file) is 0,
+ to '1 line' if N is 1, and to '%dN lines' otherwise.
+ %c'C'
+ where C is a single character, stands for the character C. C may not
+ be a backslash or an apostrophe. E.g. %c':' stands for a colon.
+ %c'\O'
+ where O is a string of 1, 2, or 3 octal digits, stands for the
+ character with octal code O. E.g. %c'\0' stands for a null character.
+* New diff line format specifications:
+ <PRINTF_SPEC>n
+ The line number, printed with <PRINTF_SPEC>.
+ E.g. '%5dn' prints the line number with a "%5d" format.
+ %c'C'
+ %c'\O'
+ The character C, or with octal code O, as above.
+* Supported <PRINTF_SPEC>s have the same meaning as with printf, but must
+ match the extended regular expression %-*[0-9]*(\.[0-9]*)?[doxX].
+* The format spec %0 introduced in version 2.1 has been removed, since it
+ is incompatible with printf specs like %02d. To represent a null char,
+ use %c'\0' instead.
+* cmp and diff now conform to POSIX 1003.2-1992 (ISO/IEC 9945-2:1993)
+ if the underlying system conforms to POSIX:
+ - Some messages' wordings are changed in minor ways.
+ - "White space" is now whatever C's 'isspace' says it is.
+ - When comparing directories, if 'diff' finds a file that is not a regular
+ file or a directory, it reports the file's type instead of diffing it.
+ (As usual, it follows symbolic links first.)
+ - When signaled, sdiff exits with the signal's status, not with status 2.
+* Now portable to hosts where int, long, pointer, etc. are not all the same
+ size.
+* 'cmp - -' now works like 'diff - -'.
+
+
+User-visible changes in version 2.3:
+
+* New diff option: --horizon-lines=lines
+
+
+User-visible changes in version 2.1:
+
+* New diff options:
+ --{old,new,unchanged}-line-format='format'
+ --{old,new,unchanged,changed}-group-format='format'
+ -U
+* New diff3 option:
+ -A --show-all
+* diff3 -m now defaults to -A, not -E.
+* diff3 now takes up to three -L or --label options, not just two.
+ If just two options are given, they refer to the first two input files,
+ not the first and third input files.
+* sdiff and diff -y handle incomplete lines.
+
+
+User-visible changes in version 2.0:
+
+* Add sdiff and cmp programs.
+* Add Texinfo documentation.
+* Add configure script.
+* Improve diff performance.
+* New diff options:
+-x --exclude
+-X --exclude-from
+-P --unidirectional-new-file
+-W --width
+-y --side-by-side
+--left-column
+--sdiff-merge-assist
+--suppress-common-lines
+* diff options renamed:
+--label renamed from --file-label
+--forward-ed renamed from --reversed-ed
+--paginate renamed from --print
+--entire-new-file renamed from --entire-new-files
+--new-file renamed from --new-files
+--all-text removed
+* New diff3 options:
+-v --version
+* Add long-named equivalents for other diff3 options.
+* diff options -F (--show-function-line) and -I (--ignore-matching-lines)
+ can now be given more than once.
+
+
+
+Copyright (C) 1993-1994, 1998, 2001-2002, 2004, 2006, 2009-2013, 2015-2016 Free
+Software Foundation, Inc.
+
+This file is part of GNU Diffutils.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.