Skip to content

Version 4.0

Compare
Choose a tag to compare
@tavianator tavianator released this 16 Aug 14:29
· 109 commits to main since this release
4.0

New features

  • To match BSD find (and the POSIX Utility Syntax Guidelines), multiple flags can now be given in a single argument like -LEXO2. Previously, you would have had to write -L -E -X -O2. (c0fd33a)

  • Explicit timestamps can now be written as @SECONDS_SINCE_EPOCH. For example, bfs -newermt @946684800 will print files modified since January 1, 2000 (UTC). (c6bb003)

  • The new -noerror option suppresses all error messages during traversal. (#142)

Changes

  • -mount now excludes mount points entirely, to comply with the recently published POSIX 2024 standard. Use -xdev to include the mount point itself, but not its contents. bfs has been warning about this change since version 1.5.1 (September 2019). (33b85e1)

  • -perm now takes the current file creation mask into account when parsing a symbolic mode like +rw, as clarified by POSIX defect 1392. This matches the behaviour of BSD find, contrary to the behaviour of GNU find. (6290ce4)

Bug fixes

  • Fixed commands like ./configure CC=clang --enable-release that set variables before other options (49a5d48)

  • Fixed the build on RISC-V with GCC versions older than 14 (e93a1dc)

  • Fixed running bfs under Valgrind (a01cfac)

  • Fixed the exit code when failing to execute a non-existent command with -exec/-ok on some platforms including OpenBSD and HPPA (8c130ca)

  • Fixed $LS_COLORS case-sensitivity to match GNU ls more closely when the same extension is specified multiple times (08030ae)

  • Fixed the -status bar on Solaris/Illumos

New Contributors

Full Changelog: 3.3.1...4.0