Skip to content

Releases: tavianator/bfs

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

Version 1.2.2

23 Jun 23:29
1.2.2
Compare
Choose a tag to compare
  • Minor bug fixes:
    • Fixed -exec ... '{}' + argument size tracking after recovering from E2BIG
    • Fixed -fstype if /proc is available but /etc/mtab is not
    • Fixed an uninitialized variable when given -perm +rw...
    • Fixed some potential "error: 'path': Success" messages
  • Reduced reliance on GNU coreutils in the testsuite
  • Refactored and simplified the internals of bftw()

Version 1.2.1

08 Feb 23:39
1.2.1
Compare
Choose a tag to compare
  • Performance optimizations

Version 1.2

21 Jan 00:08
1.2
Compare
Choose a tag to compare
  • Added support for the -perm +7777 syntax deprecated by GNU find (equivalent to -perm /7777), for compatibility with BSD finds
  • Added support for file birth/creation times on platforms that report it
    • -Bmin/-Btime/-Bnewer
    • B flag for -newerXY
    • %w and %Wk directives for -printf
    • Uses the statx(2) system call on new enough Linux kernels
  • More robustness to E2BIG added to the -exec implementation

Version 1.1.4

28 Oct 02:35
1.1.4
Compare
Choose a tag to compare
  • Added a man page
  • Fixed cases where multiple actions write to the same file
  • Report errors that occur when closing files/flushing streams
  • Fixed "argument list too long" errors with -exec ... '{}' +

Version 1.1.3

05 Oct 01:31
1.1.3
Compare
Choose a tag to compare
  • Refactored the optimizer
  • Implemented data flow optimizations

Version 1.1.2

01 Oct 15:46
1.1.2
Compare
Choose a tag to compare
  • Fixed -samefile and similar predicates when passed broken symbolic links
  • Implemented -fstype on Solaris
  • Fixed -fstype under musl
  • Implemented -D search
  • Implemented a cost-based optimizer

Version 1.1.1

11 Aug 02:36
1.1.1
Compare
Choose a tag to compare
  • Re-licensed under the BSD Zero Clause License
  • Fixed some corner cases with -exec and -ok parsing