I am pleased to announce that there is progress towards the next stable release of GNU patch. This is a call for testing so that things will work as expected, on as many platforms as possible.

The upcoming release will include several new features:

Support for most features of the "diff --git" format: renames and copies, permission changes, symlink diffs. (Binary diffs are not supported yet; patch will complain and skip them.)

Support for double-quoted filenames: when a filename in a context diff starts with a double quote, it is interpreted as a 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 recognized.

Refuse to patch read-only files by default, or at least warn when patching such files with --force or --batch.

Refuse to apply a normal patch to a symlink. (Previous versions of patch were wrongly replacing the symlink with a regular file.)

When a timestamp specifies a time zone, honor that instead of assuming the local time zone (--set-date) or Universal Coordinated Time (--set-utc).

Support for nanosecond precision timestamps.

Behind the scenes, some infrastructure changes have happened as well: the project now uses GNU Automake, and the previous, static copy of the Gnulib library has been replaced by a git submodule.

The project home with the development repository, bug tracker, and bug-patch@gnu.org mailing list archive is located at: