Releases: tavianator/bfs
Version 4.1
New features
Changes
- Switched from C17 to C23 by default. C17 is still supported as a fallback as long as your compiler supports some common extensions.
Full Changelog: 4.0.8...4.1
4.0.8
Bug fixes
-
Fixed an invalid optimization that transformed
$ bfs -user you -or -user meinto just
$ bfs -user youThe bug was originally introduced in bfs 2.0 (October 14, 2020). (#155)
Full Changelog: 4.0.7...4.0.8
4.0.7
4.0.6
4.0.5
Bug fixes
- Fixed a bug that could cause child processes (e.g. from
-exec) to run with all signals blocked. The bug was introduced in version 3.3. (af207e7)
Changes
-
Fixed the build against old liburing versions (#147)
-
Async I/O performance optimizations
Full Changelog: 4.0.4...4.0.5
Version 4.0.4
Bug fixes
-
Fixed a man page typo (#144)
-
Fixed the build on PowerPC macOS (#145)
-
Fixed a bug introduced in bfs 4.0.3 that colorized every file as if it had capabilities on non-Linux systems (#146)
New Contributors
- @ryandesign made their first contribution in #144
- @jody-frankowski made their first contribution in #146
Full Changelog: 4.0.3...4.0.4
Version 4.0.3
Bug fixes
-
Fixed an assertion failure when
$LS_COLORScontained escaped NUL bytes like*\0.gz=(f5eaadb9) -
Fixed a use-after-free bug introduced in bfs 4.0 when unregistering and re-registering signal hooks. This could be reproduced with
bfs -nocolorby repeatedly sendingSIGINFO/SIGUSR1to toggle the status bar. (39ff273) -
Fixed a hang present since bfs 3.0 colorizing paths like
notdir/file, wherenotdiris a symlink pointing to a non-directory file. (b89f22cb)
Version 4.0.2
New features
- Implemented
./configure --version=X.Y.Z, mainly for packagers to override the version number (4a278d3)
Changes
- Minor refactoring of the build system
Bug fixes
-
Fixed
./configure --help, which was broken sincebfs4.0 (07ae989) -
Fixed compiler flag auto-detection on systems with non-GNU
sed. This fixes a potential race condition on FreeBSD sincebfs4.0 due to the switch to_Fork()without passing-z nowto the linker. (34e6081) -
Fixed
$MAKE distcheckwhen$MAKEis notmake, e.g.gmake distcheckon BSD (2135b00) -
Fixed some roff syntax issues in the
bfsmanpage (812ecd1) -
Fixed an assertion failure optimizing expressions like
bfs -not \( -prune , -type f \)sincebfs3.1. Release builds were not affected, since their assertions are disabled and the behaviour was otherwise correct. (b1a9998)
Version 4.0.1
Bug fixes
bfsno longer prints a "suppressed errors" warning unless-noerroris actually suppressing errors5d03c9d
Version 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 @946684800will print files modified since January 1, 2000 (UTC). (c6bb003) -
The new
-noerroroption suppresses all error messages during traversal. (#142)
Changes
-
-mountnow excludes mount points entirely, to comply with the recently published POSIX 2024 standard. Use-xdevto include the mount point itself, but not its contents.bfshas been warning about this change since version 1.5.1 (September 2019). (33b85e1) -
-permnow 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 BSDfind, contrary to the behaviour of GNUfind. (6290ce4)
Bug fixes
-
Fixed commands like
./configure CC=clang --enable-releasethat set variables before other options (49a5d48) -
Fixed the build on RISC-V with GCC versions older than 14 (
e93a1dc) -
Fixed running
bfsunder Valgrind (a01cfac) -
Fixed the exit code when failing to execute a non-existent command with
-exec/-okon some platforms including OpenBSD and HPPA (8c130ca) -
Fixed
$LS_COLORScase-sensitivity to match GNU ls more closely when the same extension is specified multiple times (08030ae) -
Fixed the
-statusbar on Solaris/Illumos
New Contributors
Full Changelog: 3.3.1...4.0