Skip to content

Releases: tavianator/bfs

Version 1.5.1

14 Sep 18:14
1.5.1
Compare
Choose a tag to compare
  • Added a warning to -mount, since it will change behaviour in the next POSIX revision
  • Added a workaround for environments that block statx() with seccomp(), like older Docker
  • Fixed coloring of nonexistent leading directories
  • Avoided calling stat() on all mount points at startup

Version 1.5

28 Jun 03:42
1.5
Compare
Choose a tag to compare
  • New -xattr predicate to find files with extended attributes
  • Fixed the -acl implementation on macOS
  • Implemented depth-first (-S dfs) and iterative deepening search (-S ids)
  • Piped -help output into $PAGER by default
  • Fixed crashes on some invalid LS_COLORS values

Version 1.4.1

06 May 14:26
1.4.1
Compare
Choose a tag to compare
  • Added a nicer error message when the tests are run as root
  • Fixed detection of comparison expressions with signs, to match GNU find for things like -uid ++10
  • Added support for https://no-color.org/
  • Decreased the number of stat() calls necessary in some cases

Version 1.4

16 Apr 12:40
1.4
Compare
Choose a tag to compare
  • New -unique option that filters out duplicate files (#40)
  • Optimized the file coloring implementation
  • Fixed the coloring implementation to match GNU ls more closely in many corner cases
    • Implemented escape sequence parsing for LS_COLORS
    • Implemented ln=target for coloring links like their targets
    • Fixed the order of fallbacks used when some color keys are unset
  • Add a workaround for incorrect file types for bind-mounted files on Linux (#37)

Version 1.3.3

10 Feb 20:52
1.3.3
Compare
Choose a tag to compare
  • Fixed unpredictable behaviour for empty responses to -ok/-okdir caused by an uninitialized string
  • Writing to standard output now causes bfs to fail if the descriptor was closed
  • Fixed incomplete file coloring in error messages
  • Added some data flow optimizations
  • Fixed -nogroup/-nouser in big directory trees
  • Added -type w for whiteouts, as supported by FreeBSD find
  • Re-wrote the -help message and manual page

Version 1.3.2

11 Jan 22:36
1.3.2
Compare
Choose a tag to compare
  • Fixed an out-of-bounds read if LS_COLORS doesn't end with a :
  • Allowed multiple debug flags to be specified like -D opt,tree

Version 1.3.1

04 Jan 14:45
1.3.1
Compare
Choose a tag to compare
  • Fixed some portability problems affecting FreeBSD

Version 1.3

03 Jan 04:02
1.3
Compare
Choose a tag to compare

New features:

  • -acl finds files with non-trivial Access Control Lists (from FreeBSD)
  • -capable finds files with capabilities set
  • -D all turns on all debugging flags at once

Fixes:

  • LS_COLORS handling has been improved:
    • Extension colors are now case-insensitive like GNU ls
    • or (orphan) and mi (missing) files are now treated differently
    • Default colors can be unset with di=00 or similar
    • Specific colors fall back to more general colors when unspecified in more places
    • LS_COLORS no longer needs a trailing colon
  • -ls/-fls now prints the major/minor numbers for device nodes
  • -exec ; is rejected rather than segfaulting
  • bfs now builds on old Linux versions that require -lrt for POSIX timers
  • For files whose access/change/modification times can't be read, bfs no longer fails unless those times are needed for tests
  • The testsuite is now more correct and portable

Version 1.2.4

25 Sep 03:16
1.2.4
Compare
Choose a tag to compare
  • GNU find compatibility fixes for -printf:
    • %Y now prints ? if an error occurs resolving the link
    • %B is now supported for birth/creation time (as well as %W/%w)
    • All standard strftime() formats are supported, not just the ones from the GNU find manual
  • Optimizations are now re-run if any expressions are reordered
  • -exec and friends no longer leave zombie processes around when exec() fails

Version 1.2.3

15 Jul 18:48
1.2.3
Compare
Choose a tag to compare
  • Fixed test_depth_error on filesystems that don't fill in d_type
  • Fixed the build on Linux architectures that don't have the statx() syscall (ia64, sh4)
  • Fixed use of AT_EMPTY_PATH for fstatat on systems that don't support it (Hurd)
  • Fixed ARG_MAX accounting on architectures with large pages (ppc64le)
  • Fixed the build against the upcoming glibc 2.28 release that includes its own statx() wrapper