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 me
into just
$ bfs -user you
The 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_COLORS
contained 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 -nocolor
by repeatedly sendingSIGINFO
/SIGUSR1
to toggle the status bar. (39ff273
) -
Fixed a hang present since bfs 3.0 colorizing paths like
notdir/file
, wherenotdir
is 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 sincebfs
4.0 (07ae989
) -
Fixed compiler flag auto-detection on systems with non-GNU
sed
. This fixes a potential race condition on FreeBSD sincebfs
4.0 due to the switch to_Fork()
without passing-z now
to the linker. (34e6081
) -
Fixed
$MAKE distcheck
when$MAKE
is notmake
, e.g.gmake distcheck
on BSD (2135b00
) -
Fixed some roff syntax issues in the
bfs
manpage (812ecd1
) -
Fixed an assertion failure optimizing expressions like
bfs -not \( -prune , -type f \)
sincebfs
3.1. Release builds were not affected, since their assertions are disabled and the behaviour was otherwise correct. (b1a9998
)
Version 4.0.1
Bug fixes
bfs
no longer prints a "suppressed errors" warning unless-noerror
is 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 @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 BSDfind
, contrary to the behaviour of GNUfind
. (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