newsfindutils - News


GNU findutils 4.10.0 released

Item posted by Bernhard Voelker <berny> on Sat 01 Jun 2024 06:30:40 PM UTC.

This is to announce findutils-4.10.0, a stable release.
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:

Please report bugs and problems with this release via the the
GNU Savannah bug tracker:

Please send general comments and feedback about the GNU findutils
package to the mailing list (<

There have been 88 commits by 8 people in the - sigh - 121 weeks since 4.9.0:
  Antonio Diaz Diaz (2)       James Youngman (24)
  Bernhard Voelker (57)       John A. Leuenhagen (1)
  Bjarni Ingi Gislason (1)    Shuiqing Zhou (1)
  Helmut Grohne (1)           ribbon (1)

This release was bootstrapped with the following tools:
   Autoconf 2.72
   Automake 1.16.5
   M4 1.4.18
   Gnulib v1.0-187-g623bcc22f4

Please consider supporting the Free Software Foundation in its fund
raising appeal; see <>.

Thanks to everyone who has contributed!

Have a nice day,
Bernhard Voelker [on behalf of the GNU findutils maintainers]


Here are the compressed sources:
Here are the GPG detached signatures[*]:

Use a mirror for higher download bandwidth:

Here is the SHA256 checksum:
  1387e0b67ff247d2abde998f90dfbf70c1491391a59ddfecb8ae698789f0a4f5  findutils-4.10.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.10.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 --recv-keys A5189DB69C1164D33002936646502EF796917195

and rerun the 'gpg --verify' command.



** Bug Fixes

  Find now defaults to optimization level 1 rather than 2 and the
  cost-based optimizer will only run at level 2 and above.  This
  should prevent changes of operation order which result in
  user-visible differences in behaviour. [#58427]

  If the -P option to xargs is not used, xargs will not change the way
  in which the SIGUSR1 and SIGUSR2 signals are handled.  This means
  that they will cause the program to terminate if the signals were
  not ignored in the process which started xargs.  This also means that
  xargs does not use parallel execution at all.
  If you start xargs with '-P 1', then xargs will not be killed by these
  signals, and they instead change the degree of parallelism.
  This change improves xargs' POSIX compliance.

  'xargs -P' now waits for all its child processes to complete before
  exiting, even if one of them exits with status 255. [#64451]

  If the -P option of xargs is in use, reads on standard input which are
  interrupted by a signal are re-started. [#64442]

  'find -name /' no longer outputs a warning, because that is a valid pattern
  to match the root directory "/".  Previously, a diagnostic falsely claimed
  that this pattern would not match anything. [#62227]

  'find -gid' (without the mandatory argument) now outputs a correct error
  diagnostic.  Previously it output: "find: invalid argument `-gid' to `-gid'".
  The error diagnostic for non-numeric arguments has been improved as well.
  Likewise for -inum, -links and -uid.

  'find -user' and 'find -group' now allow to specify larger UIDs/GIDs.
  Previously, that was limited to INT_MAX, although the types uid_t and gid_t
  are larger on many systems, including x86_64 GNU/Linux. [#64900]

  'find -xtype l' no longer fails on symbolic links that point to
  themselves.  These are treated similarly to broken links. [#51926]

** Improvements

  The find predicates -used, -amin, -cmin, -mmin, -atime, -ctime, and -mtime
  now properly diagnose a not-a-number argument.  Previously, find dumped
  core via an assertion.  [#64717]

** Changes to the build process

  findutils now builds again on systems with musl-libc.
  This requires gettext-0.19.8.

  findutils programs no longer fail for timestamps past the year 2038
  on obsolete configurations with 32-bit signed time_t, because the
  build procedure now rejects these configurations.
  On systems without any year2038 support configure with --disable-year2038.

** Documentation Changes

  When generating the Texinfo manual, `makeinfo` is invoked with the --no-split
  option for all output formats now; this avoids files like[12].

  The xargs documentation now describes the double dash "--" option delimiter.

  The xargs examples in the Texinfo manual now use the -L and --replace options
  instead of the deprecated -l and -i options.  [#64480]

  The TexInfo manual now uses upper-case 'B' as birthtime for the -newerXY
  comparison consistently.  [#65378]

** Translations

Updated the following translations: Belarusian, Brazilian Portuguese,
Bulgarian, Catalan, Chinese (simplified), Chinese (traditional),
Croatian, Czech, Danish, Dutch, Esperanto, Estonian, Finnish, French,
Galician, Georgian, German, Greek, Hungarian, Indonesian, Irish,
Italian, Japanese, Korean, Lithuanian, Luganda, Malay, Norwegian
Bokmaal, Polish, Portuguese, Romanian, Russian, Serbian, Slovak,
Slovenian, Spanish, Swedish, Turkish, Ukrainian, Vietnamese.

Back to the top

Powered by Savane 3.13-e652.
Corresponding source code