findutils @ Savannah: GNU findutils 4.11.0 released
Planet GNU ·
This is to announce findutils-4.11.0, a stable release. This release follows the recent POSIX (IEEE Std 1003.1-2024) changes, especially to mention the new behavior of 'find -mount' vs. 'find -xdev', as well as a lot of documentation improvements. See the NEWS below for more details. GNU findutils is a set of software tools for finding files that match certain criteria and for performing various operations on them. Findutils includes the programs "find", "xargs" and "locate". More information about findutils is available at: https://www.gnu.o ... ftware/findutils/ Please report bugs and problems with this release via the the GNU Savannah bug tracker: https://savannah. ... /?group=findutils Please send general comments and feedback about the GNU findutils package to the mailing list (<mailto:bug-findutils@gnu.org): https://lists.gnu ... nfo/bug-findutils There have been 186 commits by 10 people in the - sigh - 25 months since 4.10.0: Bernhard Voelker (77) Bjarni Ingi Gislason (1) Christoph Anton Mitterer (1) Collin Funk (5) Dave (1) G. Branden Robinson (42) James Youngman (55) Luk303241305241 Zaoral (1) danny mcClanahan (1) raf (2) This release was bootstrapped with the following tools: Autoconf 2.72 Automake 1.17 M4 1.4.19 Gnulib v1.0-3131-ga575239e47 Please consider supporting the Free Software Foundation in its fund raising appeal; see < https://www. ... .org/appeal/ >. Thanks to everyone who has contributed! Have a nice day, Bernhard Voelker & James Youngman [on behalf of the GNU findutils maintainers] ================================================================================ Here are the compressed sources: https://ftp.gnu.o ... ils-4.11.0.tar.xz Here are the GPG detached signatures[*]: https://ftp.gnu.o ... 4.11.0.tar.xz.sig Use a mirror for higher download bandwidth: http://www.gnu. ... /order/ftp.html Here is the SHA256 checksum: bfd19cb06cc71f3352d567e90284d8cdac02ac89774bbeadf0b533b0c11432fd findutils-4.11.0.tar.xz [*] Use a .sig file to verify that the corresponding file (without the .sig suffix) is intact. First, be sure to download both the .sig file and the corresponding tarball. Then, run a command like this: gpg --verify findutils-4.11.0.tar.xz.sig If that command fails because you don't have the required public key, then run this command to import it: gpg --keyserver keys.gnupg.net --recv-keys 0CF4E8D871593224842832B888DD9E08C5DDACB9 and rerun the 'gpg --verify' command. ================================================================================ NEWS Noteworthy changes in release 4.11.0 (2026-07-11) [stable] ** Bug Fixes find no longer crashes when diagnosing a directory cycle (without a symlink being involved pointing to a parent directory). [Bug present since the FTS implementation.] 'find -used' now behaves correctly on OpenBSD 7.8 with difftime(3) underflow bug in the C library (already fixed there) when the access time of a file is identical to its change time. [#68264] 'find -ignore_readdir_race' now better handles races between FTS reading a directory and visiting its entries when the file or directory was meanwhile removed. [#45930] To fix a POSIX compatibility bug, -exec foo Z{} + is no longer a complete predicate, because '+' is only a terminator when it follows an argument which is exactly '{}'. The findutils documentation already states this, and now find's behaviour matches the documentation. [#66365] 'updatedb.sh' now properly handles the variables for the 'find' and 'frcode' utilities, and hence avoids command injection. ** Changes in find As announced since the release of 4.7.0 (2019) and mandated by POSIX 2024, the behaviour of the -mount option changed: while it was a mere alias for the -xdev option to prevent descending into directories of another device, the -mount option now makes find(1) ignore files on another device, i.e., 'find -mount' will skip the entry of active mount points already. Example, assuming the PROC filesystem is mounted on '/proc': $ find / -mount -path /proc -print $ find / -xdev -path /proc -print /proc [#54745] The actions -execdir and -okdir now refuse the '{}' replacement in the zeroth argument of the command to be run. While POSIX allows this for -exec, this is deemed insecure as an attacker could influence which files could be found. 'find -regex' with the default or the 'emacs' regextype now aligns better with Emacs behaviour, and therefore e.g. supports character classes: $ touch 123 && find -regex './12[[:digit:]]' ./123 find now issues a warning when the punctuation operators '(', ')', '!' and ',' are passed with a leading dash, e.g. '-!'. Future releases will not accept that any more. Accepting that was rather a bug "since the beginning". ** Improvements xargs now gives a better error diagnostic when executing the given command failed. ** Documentation Changes The most recent version of the POSIX standard (IEEE Std 1003.1-2024, also known as The Open Group Base Specifications, Issue 8) has standardised "find -print0" and "xargs -0". Our documentation now points this out. Similarly for 'find -iname'. The code example for "Finding the Shallowest Instance" in the Texinfo manual and the corresponding one in the EXAMPLES section in the find.1 man page have been fixed. [#62259] Translators contributed numerous fixes for issues in the find.1 man page. The list of actions that suppress the default -print action has been supplemented with the missing '-print0' and '-fprint0' actions. The manual pages have been updated to give better and/or more consistent output with manpage formatters other than GNU roff. ** Translations Updated the following translations: Arabic, Brazilian Portuguese, Bulgarian, Chinese (simplified), Croatian, Czech, Dutch, Estonian, French, German, Indonesian, Korean, Polish, Portuguese, Romanian, Spanish, Swedish, Ukrainian. ** Future Changes A future release will remove the warning message find prints about the 2007 change in the meaning of "-perm /000". Everybody who is likely to care probably knows about this change by now. -eof-
This is to announce findutils-4.11.0, a stable release. This release follows the recent POSIX (IEEE Std 1003.1-2024) changes, especially to mention the new behavior of 'find -mount' vs. 'find -xdev', as well as a lot of documentation improvements. See the NEWS below for more details. GNU findutils is a set of software tools for finding files that match certain criteria and for performing various operations on them. Findutils includes the programs "find", "xargs" and "locate". More information about findutils is available at: https://www.gnu.o ... ftware/findutils/ Please report bugs and problems with this release via the the GNU Savannah bug tracker: https://savannah. ... /?group=findutils Please send general comments and feedback about the GNU findutils package to the mailing list (<mailto:bug-findutils@gnu.org): https://lists.gnu ... nfo/bug-findutils There have been 186 commits by 10 people in the - sigh - 25 months since 4.10.0: Bernhard Voelker (77) Bjarni Ingi Gislason (1) Christoph Anton Mitterer (1) Collin Funk (5) Dave (1) G. Branden Robinson (42) James Youngman (55) Luk303241305241 Zaoral (1) danny mcClanahan (1) raf (2) This release was bootstrapped with the following tools: Autoconf 2.72 Automake 1.17 M4 1.4.19 Gnulib v1.0-3131-ga575239e47 Please consider supporting the Free Software Foundation in its fund raising appeal; see < https://www. ... .org/appeal/ >. Thanks to everyone who has contributed! Have a nice day, Bernhard Voelker & James Youngman [on behalf of the GNU findutils maintainers] ================================================================================ Here are the compressed sources: https://ftp.gnu.o ... ils-4.11.0.tar.xz Here are the GPG detached signatures[*]: https://ftp.gnu.o ... 4.11.0.tar.xz.sig Use a mirror for higher download bandwidth: http://www.gnu. ... /order/ftp.html Here is the SHA256 checksum: bfd19cb06cc71f3352d567e90284d8cdac02ac89774bbeadf0b533b0c11432fd findutils-4.11.0.tar.xz [*] Use a .sig file to verify that the corresponding file (without the .sig suffix) is intact. First, be sure to download both the .sig file and the corresponding tarball. Then, run a command like this: gpg --verify findutils-4.11.0.tar.xz.sig If that command fails because you don't have the required public key, then run this command to import it: gpg --keyserver keys.gnupg.net --recv-keys 0CF4E8D871593224842832B888DD9E08C5DDACB9 and rerun the 'gpg --verify' command. ================================================================================ NEWS Noteworthy changes in release 4.11.0 (2026-07-11) [stable] ** Bug Fixes find no longer crashes when diagnosing a directory cycle (without a symlink being involved pointing to a parent directory). [Bug present since the FTS implementation.] 'find -used' now behaves correctly on OpenBSD 7.8 with difftime(3) underflow bug in the C library (already fixed there) when the access time of a file is identical to its change time. [#68264] 'find -ignore_readdir_race' now better handles races between FTS reading a directory and visiting its entries when the file or directory was meanwhile removed. [#45930] To fix a POSIX compatibility bug, -exec foo Z{} + is no longer a complete predicate, because '+' is only a terminator when it follows an argument which is exactly '{}'. The findutils documentation already states this, and now find's behaviour matches the documentation. [#66365] 'updatedb.sh' now properly handles the variables for the 'find' and 'frcode' utilities, and hence avoids command injection. ** Changes in find As announced since the release of 4.7.0 (2019) and mandated by POSIX 2024, the behaviour of the -mount option changed: while it was a mere alias for the -xdev option to prevent descending into directories of another device, the -mount option now makes find(1) ignore files on another device, i.e., 'find -mount' will skip the entry of active mount points already. Example, assuming the PROC filesystem is mounted on '/proc': $ find / -mount -path /proc -print $ find / -xdev -path /proc -print /proc [#54745] The actions -execdir and -okdir now refuse the '{}' replacement in the zeroth argument of the command to be run. While POSIX allows this for -exec, this is deemed insecure as an attacker could influence which files could be found. 'find -regex' with the default or the 'emacs' regextype now aligns better with Emacs behaviour, and therefore e.g. supports character classes: $ touch 123 && find -regex './12[[:digit:]]' ./123 find now issues a warning when the punctuation operators '(', ')', '!' and ',' are passed with a leading dash, e.g. '-!'. Future releases will not accept that any more. Accepting that was rather a bug "since the beginning". ** Improvements xargs now gives a better error diagnostic when executing the given command failed. ** Documentation Changes The most recent version of the POSIX standard (IEEE Std 1003.1-2024, also known as The Open Group Base Specifications, Issue 8) has standardised "find -print0" and "xargs -0". Our documentation now points this out. Similarly for 'find -iname'. The code example for "Finding the Shallowest Instance" in the Texinfo manual and the corresponding one in the EXAMPLES section in the find.1 man page have been fixed. [#62259] Translators contributed numerous fixes for issues in the find.1 man page. The list of actions that suppress the default -print action has been supplemented with the missing '-print0' and '-fprint0' actions. The manual pages have been updated to give better and/or more consistent output with manpage formatters other than GNU roff. ** Translations Updated the following translations: Arabic, Brazilian Portuguese, Bulgarian, Chinese (simplified), Croatian, Czech, Dutch, Estonian, French, German, Indonesian, Korean, Polish, Portuguese, Romanian, Spanish, Swedish, Ukrainian. ** Future Changes A future release will remove the warning message find prints about the 2007 change in the meaning of "-perm /000". Everybody who is likely to care probably knows about this change by now. -eof-