diff options
Diffstat (limited to 'NEWS')
-rw-r--r-- | NEWS | 830 |
1 files changed, 830 insertions, 0 deletions
@@ -0,0 +1,830 @@ +GNU findutils NEWS - User visible changes. -*- outline -*- (allout)* + +* Major changes in release 4.2.31 + +** Security Fixes + +#20014: Findutils-4.2.31 includes a patch for a potential security +problem in locate. When locate read an old-format database, it read +file names into a fixed-length buffer allocated on the heap without +checking for overflow. Although overflowing a heap buffer if often +somewhat safer than overflowing a buffer on the stack, this bug still +has potential security implications. + +All previous releases of findutils are affected by this bug. It has +been assigned CVE number CVE-2007-2452. + +** Documentation Fixes + +#19596: Corrected the documentation for "find -printf %b". + +#19483: updatedb manpage has inconsistent highlighting for --help +option. + +#19155: Fixed typo in the output of "locate --help". + +** Other Bug Fixes + +#19658: When cross-compiling, "make clean" no longer deletes the +generated file doc/regexprops.texi, because there is no way to +regenerate it. + +#19484: Decompressed data is wrong in locate if the first filename +indexed by updatedb starts with a space (instead of a slash). + +** Other Changes + +Findutils has switched to a new way of building the code from gnulib. +There should be no functional difference; the change should not be +visible to those using the findutils binaries, except for changes to +the output of "find --version", which should now show the version of +Gnulib which was used. + +* Major changes in release 4.2.30 + +** Bug Fixes + +Savannah Bug #13252: The test suite now works on platforms where +DejaGnu is based on Tcl 8.3 (previously, 8.4 or later was required). + +Savannah Bug bug #17861: this version should build on Solaris and HPUX +once again. + +Savannah Bug #18433: findutils now compiles if "--enable-debug" was +specified as an option to configure. Previously this caused a +compilation failure in find. + +** Documentation Fixes + +Some typos in the Texinfo manual and one typo in in the usage message +for xargs have been fixed. + +* Major changes in release 4.2.29 + +** Documentation Fixes + +The global effect of options (other than -daystart and -follow) is now +explained more clearly in the manual page. Savannah bug #15360. + +** Bug Fixes + +#17782: find -execdir now correctly puts the prefix "./" before the +expansion of "{}" rather than at the start of the argument it appears +in. Please note that if you use the -exec or -execdir actions with a +shell, then you may be vulnerable to shell code injection attacks, so +don't do that. It's not a security defect in find - you should not be +passing untrusted data (such as file names chosen by other people) to +the shell. + +#17477: find -printf '%' (that is, where the format has a trailing %) +now generates an error message. + + +* Major changes in release 4.2.28 + +** Bug Fixes + +Savannah bug #15800: If find finds more subdirectories within a parent +directory than it previously expected to based on the link count of +the parent, the resulting error message now gives the correct +directory name (previously an error message was issued but it +specified the wrong directory). + +Savannah bug #16738: "find .... -exec ... {} +" now works if you have +a large environment and many files must be passed to the -exec +action. The same problem affected the -execdir action, though since +the number of files in a given directory will normally be smaller, the +problem was worse for -exec. + +Savannah bug #16579: Updatedb now works if it is running as a user +whose login shell is not actually a shell. + +** Translations +The following translations have been updated: + Vietnamese, Belarusian, Catalan, Danish, German, Greek, Esperanto, + Spanish, Estonian, Finnish, French, Irish, Galician, Croatian, Hungarian, + Indonesian, Italian, Japanese, Korean, Luganda, Malay, Dutch, Polish, + Portuguese, Brazilian Portuguese, Romanian, Russian, Kinyarwanda, + Slovak, Slovenian, Serbian, Swedish, Turkish, Chinese (simplified), + Chinese (traditional), Bulgarian + + +* Major changes in release 4.2.27 + +** Warnings of Future Changes + +The test -perm /000 currently matches no files, but for greater +consistency with -perm -000, this will be changed to match all files; +this change will probably be made in early 2006. Meanwhile, a warning +message is given if you do this. + +** Bug Fixes + +If xargs is invoked with many short arguments on PPC systems running +the Linux kernel, we no longer get an "argument list too long" error +from the operating system. + +Fixed a bug in the test suite which caused it to spuriously fail on +systems where ARG_MAX is different to the value used by the Linux +kernel on 32-bit x86-architecture systems. + +On systems running the Linux kernel, "find -printf %F" no longer +produces the wrong answer for files on filesystems that have been +remounted elsewhere using "mount --bind". (Savannah bug #14921). + +** Documentation Changes + +Following some extensive and detailed review comments from Aaron +Hawley, the material in the manual pages and the Texinfo manual are +now synchronised. + +The %M format specifier of "find -printf" is now documented, although +it has existed since release 4.2.5. + +The 'find' manual page now correctly documents the fact that -regex +defaults to using Emacs-style regular expressions (though this can be +changed). + +* Major changes in release 4.2.26 + +** Public Service Announcements + +I'd like to point out a second time that the interpretation of '-perm ++mode' has changed to be more POSIX-compliant. If you want the old +behaviour of the GNU extension you should use '-perm /mode'. See the +NEWS entry for findutils version 4.2.21 for details. + +** Functional Changes + +The xargs command now supports a new option (--delimiter) which allows +input items to be separated by characters other than null and +whitespace. This resolves Savannah support request sr #102914. + +Sometimes find needs to read the /etc/mtab file (or perform the +equivalent operation on systems not using /etc/mtab). If this +information is needed butnot available, find now exits with an error +message non-zero status. If the information is not needed, find will +not spuriously fail. + +A new xargs option --delimiter allows the input delimiter to be +changed (previously \0 was the only choice unless you use the -L +option, which changes other semantics too). + +** Bug Fixes + +If the environment size is too large to allow xargs to operate +normally, 'xargs --help' still works (now). + +If the input to xargs is a large number of very short options (for +example, one character each), earlier versions of xargs would fail +with 'Argument list too long'. However, since this is precisely the +problem that xargs was invented to solve, this is a bug. Hence on +those systems we now correctly use a shorter command line. This +problem particularly affected 64-bit Linux systems because of the +larger size of pointers, although 32-bit Linux systems were also +affected (albeit for longer command lines). In theory the same +problem could affect 'find -exec {} +', but that's much less likely +(even so, the bug is fixed there too). + +Bugfix for an unusual failure mode (Savannah bug #14842) where an +attempt to allocate more space for directory contents succeeds but is +incorrectly diagnosed as a failure. The likelihood of you +experiencing this depends on your architecture, operating system and +resource limits. This failure has been observed in a directory +containing 35396 entries. + +** Documentation Changes + +The EXAMPLES section of the find manual page now correctly describes +the symbolic and octal modes for the -perm test. + +The documentation and "--help" usage information for the -L, -l, -I +and -i options have been clarified (but the behaviour has not changed). + +The documentation now explains more clearly what happens when you use +"-L -type l". + +* Major changes in release 4.2.25 + +** Bug Fixes + +find -perm /440 (which should succeed if a file is readable by its +owner or group) now works. Previously there was a bug which caused +this to be treated as "find -perm 440". + +Some files in the xargs test suite have been renamed to avoid problems +on operating systems whoch cannot distinguish filenames on the basis +of upper/lower case distinctions. + +The software now builds on Cygwin, including the generated file +regexprops.texi. + +Findutils should now build once again on systems supporting AFS, but +this support has not recently been fully tested. Findutils should +also (once again) build on Cygwin. + +** Other Changes + +The test suite for find is now much more extensive. + +* Major changes in release 4.2.24 + +** Documentation Changes + +The manual now includes a "Worked Examples" section which talks about +the various ways in which findutils can be used to perform common +tasks, and why some of these alternatives are better than others. + +The -I option of xargs (which is required by the POSIX standard) is +now documented. + +We now document the fact that find ensures that commands run by -ok +and -okdir don't steal find's input. Find does this by redirecting +the command's standard input from stdin. + +Many documentation readability enhancements and proofreading fixes +were contributed by Aaron Hawley. + +** Functional Changes + +*** Functional changes in locate + +The "--regex" option of locate now assumes the regular expression to +be in the same syntax as is used in GNU Emacs, though this can be +changed with the new option --regextype. This is a change from the +existing behaviour (which was to use POSIX Basic Regular Expressions). +Since this feature is releatively new anyway, I though it was more +useful to have compatibility between regular expression handling in +find and locate than to maintain the short-lived previous behaviour of +locate. + +The locate program now also supports a "--regextype" long option which +controls which regular expression syntax is understood by locate. +This is a long option and has no single-letter 'short option' +equivalent. + +*** Functional changes in find + +The regular expression syntax understood by "find" can be changed with +the -regextype option; this option is positional, meaning that you can +have several tests, each using a distinct syntax (this is not +recommended practice however). + +The default regular expression syntax is substantially the same as +that recognised by GNU Emacs, except for the fact that "." will match +a newline. + +The leaf optimisation can be disabled with the configure option +"--disable-leaf-optimisation", which is equivalent to specifying +"-noleaf" on all find command lines. This is useful for systems +having filesystems which do not provide traditional Unix behaviour for +the link count on directories (for example Cygwin and the Solaris 9 +HSFS implementation). + +** Bug Fixes + +*** Bug Fixes for find + +The -iregex test now works once again on systems that lack +re_search() (that is, systems on which findutils needs to use the +gnulib version of this function). + +find -regex now once again uses GNU Emacs-compatible regular +expressions. + +If invoked with stderr closed, the -fprint and -fprintf actions now no +longer cause error messages to be sent into the output file. + +If the link count of a directory is less that two, the leaf +optimisation is now disabled for that directory. This should allow +searching of non-Unix filesystems to be more reliable on systems that +don't take the trouble to make their filesystems look like traditional +Unix filesystems. Some filesystems don't even take the trouble to +have a link count of less than two and for these, -noleaf is still +required unless --disable-leaf-optimisation was used at configure time. + +The "%Y" directive for the -printf action now no longer changes find's +idea of the mode of the file, so this means among other things that +"-printf %Y %y" now works properly. This is Savannah bug #13973. + +* Major changes in release 4.2.23 + +** Documentation Changes + +The -L and -I options of xargs are currently incompatible (but should +not be). + +Improved the documentation for -execdir and -okdir. + +** Functional Changes to updatedb + +File names ending in "/" which are specified as an argument to +--prunepaths (or in $PRUNEPATHS) don't work, so we now issue an error +message if the user tries to do that. The obvious exception of course +is "/" which does work and is not rejected. + + +* Major changes in release 4.2.22 + +** Security Fixes + +If a directory entry searched with "find -L" is a symbolic link to +".", we no longer loop indefinitely. This problem affected find +versions 4.2.19, 4.2.20 and 4.2.21. This problem allows users to make +"find" loop indefinitely. This is in effect a denial of service and +could be used to prevent updates to the locate database or to defeat +file security checks based on find. However, it should be noted that +you should not use "find -L" in security-sensitive scenarios. + +** Other Bug Fixes + +None in this release. + +** Functional Changes to locate + +A locate database can now be supplied on stdin, using '-' as a element +of the database-path. If more than one database-path element is '-', +later instances are ignored. + +A new option to locate, '--all' ('-A') causes matches to be limited to +entries which match all given patterns, not entries which match +one or more patterns. + +** Documentation Changes + +Some typos in the manual pages have been fixed. Various parts of the +manual now point out that it is good practice to quote the argument of +"-name". The manpage now has a "NON-BUGS" section which explains some +symptoms that look like bugs but aren't. The explanations of the "%k" +and "%b" directives to "find -printf" have been imrpoved. + + +* Major changes in release 4.2.21 +** Functional Changes to find + +The GNU extension "find ... -perm +MODE" has been withdrawn because it +is incompatible with POSIX in obscure cases like "find ... -perm ++r". +Use the new syntax "find ... -perm /MODE" instead. Old usages will +still continue to work, so long as they don't conflict with POSIX. + +If the output is going to a terminal, the -print, -fprint, -printf and +-fprintf actions now quote "unusual" characters to prevent unwanted +effects on the terminal. See "Unusual Characters in File Names" for +further details. There is no change to the behaviour when the output +is not going to a terminal. The locate program does the same thing, +unless the -0 option is in effect (in which case the filenames are +printed as-is). + +** Functional Changes to locate + +The locate command will now read each locate database at most once. +This means that if you are using multiple databases and are searching +for more than one name, the results will now be printed in a different +order (and if you specified a small limit with --limit, you may get a +different set of results). + +A new option '--print' for locate causes it to print the matching +results even if the '--count' or '--statistics' option is in effect. + +** Bug Fixes +find /blah/blah/blah -depth -empty now works once again. + +The -regex and -iregex tests of find now correctly accept POSIX Basic +Regular Expressions. (Savannah bug #12999) + +The updatedb program now works on systems where "su" does not support +the "-s" option, for example Solaris. + +* Major changes in release 4.2.20 +** Internationalization and Localization +Updated Vietnamese and Dutch translations. + +** Bug Fixes +Minor bugfix affecting only those who compile from the CVS repository, +as opposed to those who compile from the source releases. + +* Major changes in release 4.2.19 +** Bug Fixes + +find should now no longer hang on systems which lack the O_NOFOLLOW +flag to open(2) and which are clients of an unresponsive NFS server +(Savannah bug #12044). + +We now avoid inappropriately failing for "find -L foo" or "find -H +foo" if foo is a symbolic link (Savannah bug #12181). Previously we +used to fail with the error message "Too many levels of symbolic +links". + +"find . -false -exec foo {} +" no longer runs an extra instance of foo +when find exits (Savannah bug #12230). + +If the chdir() safety check fails but we can no longer get back to +where we started, exit with an explanatory (fatal) error message. +This does not happen on GNU/Linux and FreeBSD because the safety check +is not needed (the security problem the safety check protects against +is prevented in a cleaner way on those systems). + +"make distclean" no longer deletes regex.c (which "make all" needs). + +** Functionality Changes +"find -printf "%h\n" will now print "." for files in the current directory. +Previously it printed nothing (but there was a bug in the %h +implementation anyway). This fixes Savannah bug #12085. + +Should now build (again) on non-C99-compliant systems. + +** Documentation enhancements +Fixed some typos and clarified wording in "Working with automounters". + +** Internationalization and Localization +New Vietnamese message translation. + +* Major changes in release 4.2.18 +** Bug Fixes +*** "find -depth" was missing out non-leaf directories when they contain + non-directories. This affected findutils releases 4.2.15, + 4.2.16 and 4.2.17, but the bug is now fixed. +*** Find no longer hangs on systems which are clients of unresponsive + NFS servers. +** Documentation improvements +*** Improvements and corrections to the find.1 manpage, including corrections to the descriptions of -H and -L. + +* Major changes in release 4.2.17 +** Bug Fixes +*** bug #11861 undefined symbol "basename" on IRIX 5.3 +*** bug #11865 xargs -i regression (as compared to findutils-4.2.12) +*** bug #11866 Typo in pred_okdir renders it useless (affecting 4.2.16 only) +*** patch #3723 fix recent process_top_path change (for -execdir on /) +*** Fixing bug #11866 and applying patch #3723 made -execdir work much better. +*** find bar/baz/ugh now works again if baz is a symbolic link (broken + in 4.2.15). + +* Major changes in release 4.2.16 +** Functionality Changes +*** Updated the message catalogues for the translated messages. +*** The subfs filesystem is now treated the same as the autofs + filesystem is. +*** New translations: Belarusian, Catalan, Greek, Esperanto, + Finnish, Irish, Croatian, Hungarian, Japanese, Luganda, + Malay, Romanian, Slovenian, Serbian, Chinese (simplified). + +** Bug Fixes +*** The -execdir action now works correctly for files named on the + command line. + +* Major changes in release 4.2.15 +** Functionality Changes +*** locate now supports matching regular expression (--regex). +*** --enable-d_type-optimization (introduced in findutils 4.2.13) is now turned on by default. + +* Major changes in release 4.2.14 +** Functionality Changes +*** New options -L, -P, -H for locate. The work in the same was as the same options for find. +** Bug Fixes +*** Don't include the "findutils/find/testsuite/find.gnu" subdirectory in the + distributed tar file more than once. +*** Should now build on Solaris once again. +*** -xtype and -printf %Y now work correctly for symbolic links once again +** Documentation improvements +*** All options for "locate" are now documented + +* Major changes in release 4.2.13 +** Performance Enhancements +*** On Linux and some other systems, a large performance improvement, + because we can eliminate many of the calls to lstat() (in extreme + cases, 99% of them). Limited testing shows a 2x speedup on NFS + filesystems. Other systems which can make use of this enhancement + include Mac OS X and *BSD. + +* Major changes in release 4.2.12 +** Functionality Changes +*** find is now POSIX-compliant, as far as I know. +*** -exec ... {} + now works. +*** New actions -execdir and -okdir which are like -exec and -ok but more secure. +*** "locate -w" is now a synonym for "locate --wholepath". +*** An empty path entry in the locate database path (for example "::" in + $LOCATE_PATH or in the argument to "locate -d") is taken to mean + the default database, whose name is hard-coded in locate. +** Bug Fixes +*** If find or xargs cannot write to stdout, for example because + output is redirected to a file and the disk is full, the + relevant program will return a non-zero exit status. + +* Major changes in release 4.2.11 +** Bug Fixes +*** Compilation fix for systems without EOVERFLOW. +*** More helpful error message if you make a mistake with (, ), -o or -a. +** Functionality Changes +*** If you have unclosed parentheses on the find command line, + or any of a number of similar problems, find will now produce + a more helpful error message. +*** locate -b is now a synonym for locate --basename +*** locate now supports a --statistics (or -S) option, which prints some + statistics about the locate databases. +*** Implemented the -samefile option. +** Documentation improvements +*** New chapter in the manual, "Security Considerations". +*** Better documentation for -prune (Mainly thanks to Stepan Kasal) +** Bug Fixes +*** locate's options -i and -w now work with the -e option (previously a bug + prevented this). + +* Major changes in release 4.2.10 +** Bug Fixes +*** Portability fix for fstype.c: should now compile on UNICOS, and possibly + also produce useful results on BeOS and Dolphin, perhaps other + systems too. + +* Major changes in release 4.2.9 +** Functionality Changes +*** xargs no longer treats a line containing only an underscore as a logical end-of-file. To obtain the behaviour that was previously the default, use "-E_". +*** xargs now supports the POSIX options -E, -I and -L. These are synonyms + for the existing options -e, -i and -l, but the latter three are + now deprecated. +** Bug Fixes +*** xargs -n NUM now invokes a command as soon as it has NUM arguments. + Previously, it waited until NUM+1 items had been read, and then + invoked the command with NUM arguments, saving the remaining one + for next time. +*** If "find -L" discovers a symbolic link loop, an error message is issued. +*** If you specify a directory on the find command line, but -prune + is applied to it, find will no longer chdir() into it anyway. +** Documentation improvements +*** The precise interpretation of the arguments to the -atime, -ctime + and similar tests in find has been documented more clearly. + +* Major changes in release 4.2.8 +*** Bugfix to the findutils 4.2.7 automount handling on Solaris. This + worked to some extent in findutils-4.2.7, but is much improved in + findutils-4.2.8. + +* Major changes in release 4.2.7 +** Functionality Changes +*** xargs can now read a list of arguments from a named file, allowing + the invoked program to use the same stdin as xargs started with + (for example ``xargs --arg-file=todo emacs''). +** Documentation improvements +*** The Texinfo manual now has an extra chapter, "Error Messages". Most + error messages are self-explanatory, but some of the ones which + are not are explained in this chapter. +** Bug Fixes +*** Avoid trying to link against -lsun on UNICOS, which doesn't need it or + have it. +*** Bugfix to the findutils 4.2.6 automount handling (which hadn't been enabled + on Solaris). +*** Reenabled internationalisation support (which had been accidentally + disabled in findutils-4.2.5). + +* Major changes in release 4.2.6 +** Bug Fixes +*** find now copes rather better when a directory appears to change just as + it is about to start examining it, which happens with automount. + This is because automount mounts filesystems as you change + directory into them. This should resolve Savannah bugs #3998, + #9043. + +* Major changes in release 4.2.5 +** Functionality Changes +*** The POSIX options -H and -L are supported. These control whether or not + find will follow symbolic links. +*** The BSD option -P is also now supported (though in any case + it is the default). +** Documentation improvements +*** Better documentation for "xargs -i". +** Bug Fixes +*** "make install" now respects DESTDIR when generating localstatedir. + (this is only relevant if you are installing to some location + other than the one that you indictaed when you ran "configure"). +*** Compatible with automake versions 1.8 and 1.9. +*** Build problems on UNICOS now fixed, though the linker will still generate + warnings because we try to link with the nonexistent library + "-lsun". Edit $(LIBS) to work around this problem. + +* Major changes in release 4.2.4 +** Functionality Changes +*** If your system sort command has a working "-z" option, updatedb will + now correctly handle newline characters in filenames (as will + locate). +*** xargs now uses 128Kb of command line by default (less if the system + doesn't support that much). +*** If you specify a 'find' option after non-option, a warning message + is now issued. Options should be specified immediately after the + list of paths to search. These warnings are enabled if you + specify the -warn option, or if stdin is a tty. They are diabled + by the use of the -nowarn option. +*** Like find, the locate program now supports an option --null (short form -0) + which changes the result separator from newline to NULL. +*** Locate supports the option -c (long form --count) which suppresses normal + output but prints on stdout the number of results produced (like + grep -c). +*** Locate supports the option -l (long form --limit) which limits the + number of results. This is useful if you only want to find out if + there are copies of a certain file on the system, but don't want + to wait for the entire locate database to be searched. +*** Locate now has an option --basename which forces the specified pattern to + be matched against the basename of the entries in the locate + database, rather than the whole name. The default behaviour + (matching against the whole name of the file including all the + parent directory names) corresponds to the option --wholename. +*** updatedb has a new option, --findoptions, that can be used to + pass extra options through to the find command that it uses. +** Bug Fixes +*** "find -printf '%H\n'" now works (rather than segfaulting) on + systems that have non-writable string constants. +*** Better POSIX compliance for the -s option to xargs (out of range + values should just result in bounding to the correct range, not an + error, so now we just print a warning message and adjust the + value). +*** Corrected section numbers of manual page cross-references + +* Major changes in release 4.2.3 +** Functionality Changes +*** Added new action -delete which deletes things that find matches. +*** Added new action -quit which causes find to exit immediately. +*** A new format directive '%D' for "find -printf" prints the device number. +*** The -ls predicate no longer truncates user or group names. +*** Added new option "-d" which is a synonym for "-depth" for compatibility + with Mac OS, OpenBSD and FreeBSD. This option is already + deprecated since the POSIX standard specifies "-depth". +*** Added two new format specifiers to the -printf action; these are + %y and %Y. They indicate the type of the file as a single letter; + these are the same latters as are used by the "-type" test. +*** If a parent directory changes during the execution of find, + the error message we issue identifies the nature of the change + (for example the previous and current inode numbers of the + directory we've just returned out of). +** Other Changes +*** Non-functional code changes to silence compiler warnings. + +* Major changes in release 4.2.2 +** Documentation improvements +*** "find ... -exec {}+" is not yet supported. +** Bug Fixes +*** Fixed compilation problems on Solaris, RedHat EL AS 2.1, Irix, AIX +*** Work around possible compiler bug on HP-UX 11.23 for ia64 +*** The built-in internationalisation support now works again. +** Other Changes +*** We now import the gnulib source in the way it is intended to be used, + which means among other things that we only have one config.h file + now. +*** Functions which findutils requires but which are not present in + gnulib are now defined in "libfind.a". This is in the lib + directory, while gnulib is in the gnulib subdirectory. +*** Fixed a typo in the address of the FSF in many of the file headers. + +* Major changes in release 4.2.1 +** Bug Fixes +*** 'find -name \*bar now matches .foobar, because the POSIX standard + requires it, as explained at + http://standards.ieee.org/reading/ieee/interp/1003-2-92_int/pasc-1003.2-126.html + +* Major changes in release 4.2.1 +** Bug Fixes +*** find -iname now works correctly on systems that have an fnmatch() function + that does not support FNM_CASEFOLD +*** updatedb now uses signal names for "trap" instead of numbers, + as per bug #9465 (see http://www.opengroup.org/onlinepubs/009695399/utilities/trap.html) +*** Better support for systems lacking intmax_t +** Other Changes +**** findutils now uses a newer version of gnulib (dated 2004-10-17). + +* Major changes in release 4.2.0 +** Functionality Changes +*** xargs now works better when the environment variables are very extensive. + The xargs command used to run into difficulties if the environment + data contained more than 20480 bytes. +*** New options -wholename and -iwholename + As per the GNU Projecvt coding standard, These are preferred over + the -path and -ipath options. Using -ipath now generates a warning, + though -path does not (since HPUX also offers -path). +*** The environment variable FIND_BLOCK_SIZE is now ignored. +*** New option "-ignore_readdir_race" + silences an error messages which would otherwise occur if a file is removed + after find has read it from the directory using readdir(), but before + find stats the file. There is also an option + -noignore_readdir_race which has the opposite effect. +** Documentation improvements +*** The -size option of find is now documented in more detail +*** POSIX compliance and GNU extensions + The find manual page also now includes a section + which describes the relationship between the features of GNU + find and the POSIX standard. Some other small improvements + to the find and xargs manual pages have been made. +*** The argument to the -fprintf directive is now better documented. + The escape code '\0' for the `-printf' predicate of find is now + documented, and the documentation for the %k and %b specifiers + has been improved. +*** xargs -i is now more clearly documented. +** Bug Fixes +*** locate 'pa*d' will now find /etc/passwd (if it exists, of course) +*** xargs standard input is not inherited by child processes + If the command invoked by xargs reads from its standard input, + it now gets nothing, as opposed to stealing data from the + list of files that xargs is trying to read. +*** Better support for 64-bit systems. +*** The command "xargs -i -n1" now works as one might expect, + I think this is a strange thing to want to do. +*** Arguments to find -mtime that are too large are now diagnosed + Previously, this just used to cause find just to do the wrong thing. +*** updatedb is now somewhat more robust + The updatedb shell script now does not generate an empty + database if it fails. +*** Sanity-check on some data read from locatedb + Locate now detects some types of file corruption in the + locate database. +*** The %k format specifier for -fprintf now works + This was broken in 4.1.20. + +* Major changes in release 4.1.20: +** New maintainer, James Youngman <jay@gnu.org> +** As far as I know, this is the first release after 4.1.7, but I've left + a gap just in case. +** We now use an "imported" version of gnulib, rather than including + a copy of the gnulib code in our CVS repository. There are no + differences in the build instructions, though (unless you are + building directly from CVS, in which case please read the file + README-CVS). +** There are no (deliberate) functional changes in version 4.1.20. + +* Major changes in release 4.1.7: +fix problem so that default "-print" is added when "-prune" is used. +security fixes related to directories changing while find is executing. + +* Major changes in release 4.1.6: +correct bug in prune. +added --ignore-case option for locate + +* Major changes in release 4.1.5: +Add support for large files + +* Major changes in release 4.1.4: +bug fixes, more up-to-date languages. + +* Major changes in release 4.1.3: +added internationalization and localization. + +* Major changes in release 4.1.1: +attempt at successful compilation on many platforms after years of neglect + "--existing" option added to locate "--prunefs" option added to updatedb + +* Major changes in release 4.1: + +** Distribution renamed to findutils. +** updatedb is now a user command, installed in $exec_prefix/bin + instead of $exec_prefix/libexec. +** A few problems in Makefiles and testsuite corrected. + +* Major changes in release 4.0: + +** Documentation: +*** Texinfo manual. +*** Man page for updatedb. +*** Man page for the locate database formats. + +** find: +*** Takes less CPU time on long paths, because it uses chdir to descend + trees, so it does fewer inode lookups. +*** Does not get trapped in symbolic link loops when -follow is given. +*** Supports "-fstype afs" if you have /afs and /usr/afsws/include + and you configure using the --with-afs option. +*** New action -fls FILE; like -ls but writes to FILE. + +** locate: +*** Supports a new database format, which is 8-bit clean and + allows machines with different byte orderings and integer sizes to + share the databases. The new locate can also detect and read the + old database format automatically. The new databases are typically + 30% or more larger than the old ones (due to allowing all 8 bits in + file names). Search times are approximately the same, or faster on + some systems. +*** Warns if a file name database is more than 8 days old. + +** updatedb: +*** Takes command-line options. + +** xargs: +*** Performance improved 10-20%. +*** The EOF string is not used when -0 is given. +*** Now has a test suite. Some minor bugs fixed as a result. + +* Major changes in release 3.8: + +** case insensitive versions of -lname, -name, -path, -regex: + -ilname, -iname, -ipath, -iregex +** %F directive for -printf, -fprintf to print file system type + +* Major changes in release 3.7: + +** locate can search multiple databases +** locate has an option to specify the database path +** updatedb no longer goes into an infinite loop with some versions of tail + + --//-- +This is used by Emacs' spell checker ispell.el: + +LocalWords: ansi knr strftime xargs updatedb sh fnmatch hin strcpy +LocalWords: lib getstr getline frcode bigram texi depcomp automake +LocalWords: strncasecmp strcasecmp LIBOBJS FUNC prunefs allout libexec +LocalWords: testsuite Texinfo chdir inode fstype afs fls ls EOF lname +LocalWords: regex ilname iname ipath iregex printf fprintf + |