uutils findutils Documentation
The uutils findutils project reimplements the GNU findutils in Rust. It is available for Linux, Windows, Mac and other platforms.
uutils is licensed under the MIT License.
Useful links
Note: This manual is automatically generated from the source code and is a work in progress.
Installation
This is a list of uutils packages in various distributions and package managers. Note that these are packaged by third-parties and the packages might contain patches.
You can also build findutils from source.
Cargo
cargo install findutils
Linux
Debian
apt install rust-findutils
# To use it:
export PATH=/usr/lib/cargo/bin/findutils:$PATH
Gentoo
emerge -pv sys-apps/uutils-findutils
MacOS
Homebrew
brew install uutils-findutils
FreeBSD
pkg install rust-findutils
Windows
As far as we are aware, findutils has not been packaged for any package managers on Windows yet.
Build from source
TODO
Platform support
TODO
Contributing to findutils
Hi! Welcome to uutils/findutils!
Thanks for wanting to contribute to this project! This document explains everything you need to know to contribute. Before you start make sure to also check out these documents:
- Our community’s CODE_OF_CONDUCT.md.
- DEVELOPMENT.md for setting up your development environment.
- Our Review Guidelines for what we expect from a pull request and how reviews are done.
Now follows a very important warning:
Warning
uutils is original code and cannot contain any code from GNU or other implementations. This means that we cannot accept any changes based on the GNU source code. To make sure that cannot happen, you cannot link to the GNU source code either. It is however possible to look at other implementations under a BSD or MIT license like Apple’s implementation or OpenBSD.
Finally, feel free to join our Discord!
Design Goals
We have the following goals with our development:
- Compatible: The utilities should be a drop-in replacement for the GNU findutils.
- Cross-platform: All utilities should run on as many of the supported platforms as possible.
- Reliable: The utilities should never unexpectedly fail.
- Performant: Our utilities should be written in fast idiomatic Rust. We aim to match or exceed the performance of the GNU utilities.
- Well-tested: We should have a lot of tests to be able to guarantee reliability and compatibility.
How to Help
There are several ways to help and writing code is just one of them. Reporting issues and writing documentation are just as important as writing code.
Reporting Issues
We can’t fix bugs we don’t know about, so good issues are super helpful! Here are some tips for writing good issues:
- If you find a bug, make sure it’s still a problem on the
mainbranch. - Search through the existing issues to see whether it has already been reported.
- Make sure to include all relevant information, such as:
- Which version of uutils did you check?
- Which version of GNU findutils are you comparing with?
- What platform are you on?
- Provide a way to reliably reproduce the issue.
- Be as specific as possible!
Writing Documentation
There’s never enough documentation. If you come across any documentation that could be improved, feel free to submit a PR for it!
Writing Code
If you want to submit a PR, make sure that you’ve discussed the solution with the maintainers beforehand. We want to avoid situations where you put a lot of work into a fix that we can’t merge! If there’s no issue for what you’re trying to fix yet, make one before you start working on the PR.
Generally, we try to follow what GNU is doing in terms of options and behavior.
It is recommended to look at the GNU findtils manual
(on the web,
or locally using info <utility>). It is more in depth than the man pages and
provides a good description of available features and their implementation
details. But remember, you cannot look at the GNU source code!
Also remember that we can only merge PRs which pass our test suite, follow rustfmt, and do not have any warnings from clippy. See DEVELOPMENT.md for more information. Be sure to also read about our Rust style.
Our Rust Style
We want uutils to be written in idiomatic Rust, so here are some guidelines to follow. Some of these are aspirational, meaning that we don’t do them correctly everywhere in the code. If you find violations of the advice below, feel free to submit a patch!
Don’t panic!
The findutils should be very reliable. This means that we should never panic!.
Therefore, you should avoid using .unwrap() and panic!. Sometimes the use of
unreachable! can be justified with a comment explaining why that code is
unreachable.
Don’t exit
We want uutils to be embeddable in other programs. This means that no function
in uutils should exit the program. Doing so would also lead to code with more
confusing control flow. Avoid therefore std::process::exit and similar
functions which exit the program early.
unsafe
uutils cannot be entirely safe, because we have to call out to libc and do
syscalls. However, we still want to limit our use of unsafe. We generally only
accept unsafe for FFI, with very few exceptions. Note that performance is very
rarely a valid argument for using unsafe.
If you still need to write code with unsafe, make sure to read the
Rustonomicon and annotate the
calls with // SAFETY: comments explaining why the use of unsafe is sound.
Macros
Macros can be a great tool, but they are also usually hard to understand. They should be used sparingly. Make sure to explore simpler options before you reach for a solution involving macros.
str, OsStr & Path
Rust has many string-like types, and sometimes it’s hard to choose the right
one. It’s tempting to use str (and String) for everything, but that is not
always the right choice for uutils, because we need to support invalid UTF-8,
just like the GNU findutils. For example, paths on Linux might not be valid
UTF-8! Whenever we are dealing with paths, we should therefore stick with
OsStr and Path. Make sure that you only convert to str/String if you
know that something is always valid UTF-8. If you need more operations on
OsStr, you can use the bstr crate.
Doc-comments
We use rustdoc for our documentation, so it’s best to follow rustdoc’s guidelines. Make sure that your documentation is not just repeating the name of the function, but actually giving more useful information. Rustdoc recommends the following structure:
[short sentence explaining what it is]
[more detailed explanation]
[at least one code example that users can copy/paste to try it]
[even more advanced explanations if necessary]
Other comments
Comments should be written to explain the code, not to describe the code. Try to focus on explaining why the code is the way it is. If you feel like you have to describe the code, that’s usually a sign that you could improve the naming of variables and functions.
If you edit a piece of code, make sure to update any comments that need to change as a result. The only thing worse than having no comments is having outdated comments!
Git Etiquette
To ensure easy collaboration, we have guidelines for using Git and GitHub.
Commits
- Make small and atomic commits.
- Keep a clean history of commits.
- Write informative commit messages.
- Annotate your commit message with the component you’re editing. For example:
cp: do not overwrite on with -ioruucore: add support for FreeBSD. - Do not unnecessarily move items around in the code. This makes the changes much harder to review. If you do need to move things around, do that in a separate commit.
Commit messages
You can read this section in the Git book to learn how to write good commit messages: https://git-scm.com/book/en/v2/Distributed-Git-Contributing-to-a-Project.
In addition, here are a few examples for a summary line when committing to uutils:
- commit for a single utility
nohup: cleanup and refactor
- commit for a utility’s tests
tests/rm: test new feature
Beyond changes to an individual utility or its tests, other summary lines for non-utility modules include:
README: add help
uucore: add new modules
uutils: add new utility
gitignore: add temporary files
PRs
- Make the titles of PRs descriptive.
- This means describing the problem you solve. For example, do not write
Fix #1234, butls: fix version sort order. - You can prefix the title with the utility the PR concerns.
- This means describing the problem you solve. For example, do not write
- Keep PRs small and self-contained. A set of small PRs is much more likely to get merged quickly than one large PR.
- Make sure the CI passes (up to intermittently failing tests).
- You know your code best, that’s why it’s best if you can solve merge conflicts
on your branch yourself.
- It’s up to you whether you want to use
git merge mainorgit rebase main. - Feel free to ask for help with merge conflicts.
- It’s up to you whether you want to use
- You do not need to ping maintainers to request a review, but it’s fine to do so if you don’t get a response within a few days.
Platforms
We take pride in supporting many operating systems and architectures. Any code
you contribute must at least compile without warnings for all platforms in the
CI. However, you can use #[cfg(...)] attributes to create platform dependent
features.
Licensing
uutils is distributed under the terms of the MIT License; see the LICENSE file
for details. This is a permissive license, which allows the software to be used
with few restrictions.
Copyrights in the uutils project are retained by their contributors, and no copyright assignment is required to contribute.
If you wish to add or change dependencies as part of a contribution to the
project, a tool like cargo-license can be used to show their license details.
The following types of license are acceptable:
- MIT License
- Dual- or tri-license with an MIT License option (“Apache-2.0 or MIT” is a popular combination)
- “MIT equivalent” license (2-clause BSD, 3-clause BSD, ISC)
- License less restrictive than the MIT License (CC0 1.0 Universal)
- Apache License version 2.0
Licenses we will not use:
- An ambiguous license, or no license
- Strongly reciprocal licenses (GNU GPL, GNU LGPL)
If you wish to add a reference but it doesn’t meet these requirements, please raise an issue to describe the dependency.
GNU test coverage
TODO
Extensions
TODO
Release notes
Notes for every published findutils release, newest first. They mirror the GitHub releases.
| Version | Date | Notes |
|---|---|---|
| 0.10.0 | 2026-08-03 | Release notes |
| 0.9.1 | 2026-06-22 | Release notes |
| 0.9.0 | 2026-06-08 | Release notes |
| 0.8.0 | 2025-04-06 | Release notes |
| 0.7.0 | 2024-09-08 | Release notes |
| 0.6.0 | 2024-06-29 | Release notes |
| 0.5.0 | 2024-04-03 | Release notes |
| 0.4.2 | 2023-07-23 | Release notes |
| 0.4.1 | 2023-07-12 | Release notes |
| 0.4.0 | 2023-04-02 | Release notes |
| 0.3.0 | 2022-01-26 | Release notes |
| 0.1.0 | 2021-03-15 | Release notes |
The 0.1.0 and 0.3.0 tags predate the project’s GitHub releases; their notes were reconstructed from the git history. There is no 0.2.0 tag or release — the version was bumped to 0.2.0 between 0.1.0 and 0.3.0 without one being cut.
📦 Findutils 0.10.0 Release
Findutils 0.10.0 is a GNU-compatibility and robustness release. It sharpens several find behaviors that silently differed from GNU (-printf %T+ formatting, -newerXY predicate validation, --files0-from input validation), fixes an xargs bug where the default command line size could make execvp() fail with E2BIG, improves xargs length accounting on Windows, and continues the campaign of turning panics on malformed input into proper error messages.
This release also folds in the 0.9.2 changes: 0.9.2 was prepared in-tree but no release was cut from it, so everything below covers the full 0.9.1 → 0.10.0 range.
Five people made their first contribution to findutils in this cycle: @SAY-5, @lhecker, @l46983284-cpu, @wtcpython and @aki-kong.
We encourage you to support our project by sponsoring us on GitHub. Your sponsorship helps us maintain and enhance our infrastructure, such as GitHub Actions. Sponsor us at https://github.com/sponsors/uutils.
GNU Test Suite Compatibility
Compatibility is tracked per individual test (PASS/FAIL/SKIP by test name). 0.10.0 stands at:
| Result | find (GNU suite) | bfs suite |
|---|---|---|
| Pass | 417 | 267 |
| Fail | 77 | 41 |
| Skip | 1 | 6 |
| Total | 495 | 314 |
Compared to 0.9.1, one more GNU test passes (417 vs 416). The bfs suite gained a test upstream (314 vs 313) which findutils does not pass yet, so the pass count is unchanged.
For more details, visit https://github.com/uutils/findutils-tracking/.
Highlights
GNU compatibility fixes
find -printf: print a fixed-width fraction for%T+— chrono’s%.fdrops the fraction (and the leading dot) when the sub-second part is zero, while GNU always prints a dot followed by ten fractional digits, by @sylvestre in https://github.com/uutils/findutils/pull/792find: reject invalid-newerXYpredicates like GNU — the parser used an unanchored regex, so tokens such as-neweraBcmtywere accepted as a truncated-neweraB, by @l46983284-cpu in https://github.com/uutils/findutils/pull/784find: reject invalid UTF-8 in--files0-fromby @wtcpython in https://github.com/uutils/findutils/pull/798xargs: cap the default command line size at 128 KiB — sizing command lines up toARG_MAXmadeexecvp()fail withE2BIG, since the kernel also charges the argv/envp pointer arrays against the limit. An explicit-smay still raise the limit, as with GNU. By @sylvestre in https://github.com/uutils/findutils/pull/791xargs: account for quoting on Windows when computing length limits by @lhecker in https://github.com/uutils/findutils/pull/788
Robustness — errors instead of panics
find: report an unparsable-newerXtyear instead of panicking by @leeewee in https://github.com/uutils/findutils/pull/762locate: report write errors instead of panicking by @SAY-5 in https://github.com/uutils/findutils/pull/785locate: ignore an unrepresentable--max-database-ageinstead of panicking by @leeewee in https://github.com/uutils/findutils/pull/768find: skip broken pipe errors in wasm executions by @aki-kong in https://github.com/uutils/findutils/pull/802
Error messages
find: avoid the duplicatedfind: find:prefix in two error messages by @cakebaker in https://github.com/uutils/findutils/pull/774
Project & CI
- clippy: fix warnings (
byte_char_slices,useless_borrows_in_formatting,question_mark,manual_assert_eq) by @cakebaker in https://github.com/uutils/findutils/pull/755 - Release 0.9.2 by @sylvestre in https://github.com/uutils/findutils/pull/793
- Release 0.10.0 by @sylvestre in https://github.com/uutils/findutils/pull/804
Dependencies
Dependency and GitHub Action bumps via Dependabot and manual refreshes by @cakebaker: anyhow (1.0.102 → 1.0.103, #751), crossbeam-epoch (0.9.18 → 0.9.20, #754), clap (4.6.1 → 4.6.4, #763/#787/#790), regex (1.12.4 → 1.13.1, #765), ctor (1.0.7 → 1.0.12, #752/#764/#789/#796/#800), thiserror (2.0.18 → 2.0.19, #786), and CodSpeedHQ/action (4 → 5.0.1, #799/#803).
New Contributors
- @SAY-5 made their first contribution in https://github.com/uutils/findutils/pull/785
- @lhecker made their first contribution in https://github.com/uutils/findutils/pull/788
- @l46983284-cpu made their first contribution in https://github.com/uutils/findutils/pull/784
- @wtcpython made their first contribution in https://github.com/uutils/findutils/pull/798
- @aki-kong made their first contribution in https://github.com/uutils/findutils/pull/802
Full Changelog: https://github.com/uutils/findutils/compare/0.9.1…0.10.0
Install findutils 0.10.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/uutils/findutils/releases/download/0.10.0/findutils-installer.sh | sh
Download findutils 0.10.0
| File | Platform | Checksum |
|---|---|---|
| findutils-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| findutils-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| findutils-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| findutils-x86_64-unknown-linux-gnu.tar.xz | x64 Linux (glibc) | checksum |
| findutils-x86_64-unknown-linux-musl.tar.xz | x64 Linux (static musl) | checksum |
| findutils-aarch64-unknown-linux-musl.tar.xz | ARM64 Linux (static musl) | checksum |
📦 Findutils 0.9.1 Release
Findutils 0.9.1 is a robustness and portability release. It follows up quickly on the 0.9.0 milestone (which introduced locate/updatedb) by hardening the existing utilities against a series of panics on malformed or unusual input, adding WebAssembly (wasm32-wasip1) build support, shipping statically linked musl binaries for Linux, and reworking how we track GNU/bfs test-suite compatibility in CI.
This release saw the first contribution from @leeewee, who landed most of the panic fixes below.
We encourage you to support our project by sponsoring us on GitHub. Your sponsorship helps us maintain and enhance our infrastructure, such as GitHub Actions. Sponsor us at https://github.com/sponsors/uutils.
GNU Test Suite Compatibility
Starting with this release, compatibility is tracked per individual test (PASS/FAIL/SKIP by test name) rather than by an aggregate count — see “Per-test compatibility tracking” below. Under the new per-test accounting, 0.9.1 stands at:
| Result | find (GNU suite) | bfs suite |
|---|---|---|
| Pass | 416 | 267 |
| Fail | 78 | 40 |
| Skip | 1 | 6 |
| Total | 495 | 313 |
0.9.1 is primarily a robustness/infrastructure release, so find/xargs matching semantics are essentially unchanged from 0.9.0; the panic fixes harden edge cases (malformed brackets, multibyte escapes, unmapped UIDs, short databases) rather than altering option behavior.
For more details, visit https://github.com/uutils/findutils-tracking/.
Highlights
Robustness — no more panics on malformed input
find -ls: don’t panic on an unmapped owner UID/GID by @leeewee in https://github.com/uutils/findutils/pull/721find -name: don’t panic on a malformed POSIX bracket class by @leeewee in https://github.com/uutils/findutils/pull/722find -printf: don’t panic on a multibyte char after an octal escape by @leeewee in https://github.com/uutils/findutils/pull/723find -printf: correctly test an octal escape before a multibyte char by @leeewee in https://github.com/uutils/findutils/pull/727find -printf: reject an over-large field width instead of panicking by @leeewee in https://github.com/uutils/findutils/pull/734xargs: do not panic on empty input in replace (-I) mode by @leeewee in https://github.com/uutils/findutils/pull/736locate: don’t panic on a too-short--databasefile by @leeewee in https://github.com/uutils/findutils/pull/718
Portability: WebAssembly and static musl binaries
- Support compiling for non-Unix targets such as wasm, and build + lint the
wasm32-wasip1target in CI by @sylvestre in https://github.com/uutils/findutils/pull/725 - Build statically linked musl binaries for
x86_64andaarch64by @sylvestre in https://github.com/uutils/findutils/pull/741
xargs
- Clarify the
-xand-thelp text by @jmr in https://github.com/uutils/findutils/pull/708
Project, CI & release
- Per-test GNU/bfs comparison and PR comment, modeled on the uutils sed/grep
GnuTestsworkflow by @sylvestre in https://github.com/uutils/findutils/pull/726 - Define the
[profile.dist]used by cargo-dist by @sylvestre in https://github.com/uutils/findutils/pull/739 - Inherit
lto = "thin"inCargo.tomlby @oech3 in https://github.com/uutils/findutils/pull/740 - Add 2 missing binaries to
latest-commitby @oech3 in https://github.com/uutils/findutils/pull/743 CONTRIBUTING.md: replace coreutils references with findutils by @oech3 in https://github.com/uutils/findutils/pull/738
Dependencies
Dependency and GitHub Action bumps via Dependabot and a manual crate refresh (@xtqqczze, #729): itertools (0.14.0 → 0.15.0, #742), regex (1.12.3 → 1.12.4, #728), cargo-dist (0.28.0 → 0.32.0, #748), actions/checkout (4 → 6 → 7, #711/#744), codecov/codecov-action (6 → 7, #712), and moonrepo/setup-rust (0 → 1, #709).
New Contributors
- @leeewee made their first contribution in https://github.com/uutils/findutils/pull/718
Full Changelog: https://github.com/uutils/findutils/compare/0.9.0…0.9.1
Install findutils 0.9.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/uutils/findutils/releases/download/0.9.1/findutils-installer.sh | sh
Download findutils 0.9.1
| File | Platform | Checksum |
|---|---|---|
| findutils-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| findutils-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| findutils-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| findutils-x86_64-unknown-linux-gnu.tar.xz | x64 Linux (glibc) | checksum |
| findutils-x86_64-unknown-linux-musl.tar.xz | x64 Linux (static musl) | checksum |
| findutils-aarch64-unknown-linux-musl.tar.xz | ARM64 Linux (static musl) | checksum |
📦 Findutils 0.9.0 Release:
We are thrilled to announce the release of Findutils 0.9.0! This release is a major milestone: it introduces the first implementations of locate and updatedb, bringing the project much closer to a complete drop-in replacement for the GNU findutils suite. Alongside these new utilities, this version adds the interactive -ok/-okdir actions, new xargs options (-E, -l, and hyphenated -I/-E values), chained -type arguments, and many correctness fixes. We’ve also hardened the project with a security audit workflow, a SECURITY.md, and CodSpeed performance benchmarks for all four utilities.
This release also lands as the broader uutils effort reaches a new level of adoption: Microsoft now ships uutils-based tooling (microsoft/coreutils), a strong validation of the project’s drop-in, cross-platform approach.
This release saw contributions from 11 new developers.
We encourage you to support our project by sponsoring us on GitHub. Your sponsorship helps us maintain and enhance our infrastructure, such as GitHub Actions. Sponsor us at https://github.com/sponsors/uutils.
GNU Test Suite Compatibility
Here’s how version 0.9.0 compares to the previous release:
| Result | Previous (0.8.0) | Current (0.9.0) | Change | % Total Previous | % Total Current | % Change |
|---|---|---|---|---|---|---|
| Pass | 503 | 518 | +15 | 80.87% | 83.28% | +2.41% |
| Skip | 1 | 1 | 0 | 0.16% | 0.16% | 0.00% |
| Fail | 117 | 103 | -14 | 18.81% | 16.56% | -2.25% |
| Error | 1 | 0 | -1 | 0.16% | 0.00% | -0.16% |
| Total | 622 | 622 | 0 |
For more details, visit https://github.com/uutils/findutils-tracking/.
Highlights
New utilities: locate and updatedb
- Initial implementation of
locateandupdatedbby @Qelxiros in https://github.com/uutils/findutils/pull/536 locate/updatedbmade to work on Windows by @sylvestre in https://github.com/uutils/findutils/pull/704updatedb: improve perf and error messages, and a clear error when the output database can’t be created by @sylvestre in https://github.com/uutils/findutils/pull/713
find
- Implement
-okand-okdirby @jmr in https://github.com/uutils/findutils/pull/650 - Match the GNU prompt format for
-ok/-okdirby @sylvestre in https://github.com/uutils/findutils/pull/699 - Implement chained
-typematcher arguments by @Crypto-Darth in https://github.com/uutils/findutils/pull/527 - Replace the
{}placeholder in the-executility name by @mvanhorn in https://github.com/uutils/findutils/pull/647 - Fix
-fstypewith stacked mounts by @tavianator in https://github.com/uutils/findutils/pull/532 - Avoid a redundant
statper-fstypeevaluation by @sylvestre - Avoid a panic on
-fprintfwith missing arguments by @sylvestre in https://github.com/uutils/findutils/pull/698 - Handle write failures when printing
--help/--versionby @Xylphy in https://github.com/uutils/findutils/pull/656 - Update the
--helptext by @jmr in https://github.com/uutils/findutils/pull/707 - Use
div_ceilfor proper blocks computation by @KartikDua1504 in https://github.com/uutils/findutils/pull/529
xargs
- Add support for
-Eby @brian-pane in https://github.com/uutils/findutils/pull/593 - Add support for
-lby @brian-pane in https://github.com/uutils/findutils/pull/601 - Ignore
-E/-ewhen a delimiter is specified by @brian-pane in https://github.com/uutils/findutils/pull/603 - Accept hyphenated
-Iand-Evalues by @kevinburke in https://github.com/uutils/findutils/pull/668
Project, CI & quality
- Add
SECURITY.mdby @xtqqczze in https://github.com/uutils/findutils/pull/663 - Add a security audit workflow by @xtqqczze in https://github.com/uutils/findutils/pull/660
- Add CodSpeed benchmarks for
findandxargsby @sylvestre in https://github.com/uutils/findutils/pull/703 - Add CodSpeed benchmarks for
updatedbandlocateby @sylvestre in https://github.com/uutils/findutils/pull/705 - Port the tests to uutests by @jmr in https://github.com/uutils/findutils/pull/645
- Enable the clippy
all/cargo/pedanticlint groups, mirroring uutils/coreutils by @sylvestre in https://github.com/uutils/findutils/pull/715 - Fix warnings from the
filter_nextlint by @cakebaker in https://github.com/uutils/findutils/pull/604 - Publish the release as a draft first, and publish the binary from
mainby @sylvestre / @oech3 in https://github.com/uutils/findutils/pull/530, https://github.com/uutils/findutils/pull/618 - Add a
release-smallprofile and rename the dist profile by @oech3 in https://github.com/uutils/findutils/pull/586 - Faster CI: use preinstalled Rust &
CARGO_INCREMENTAL=0by @oech3 in https://github.com/uutils/findutils/pull/619
Dependencies
Numerous dependency bumps via Dependabot, including clap (4.5.35 → 4.6.1), regex (1.11.1 → 1.12.3), nix (0.29.0 → 0.31.3), chrono (0.4.40 → 0.4.45), tempfile (3.19.1 → 3.27.0), ctor (0.6.3 → 1.0.7), uucore (0.0.30 → 0.9.0), uutests (0.7.0 → 0.9.0), onig (6.4.0 → 6.5.3), argmax (0.3.1 → 0.4.0), filetime, serial_test, assert_cmd, rstest, terminal_size, and several GitHub Actions. Yanked futures-util, scc, and getrandom 0.3.1 were removed.
New Contributors
- @KartikDua1504 made their first contribution in https://github.com/uutils/findutils/pull/529
- @tdulcet made their first contribution in https://github.com/uutils/findutils/pull/545
- @Qelxiros made their first contribution in https://github.com/uutils/findutils/pull/547
- @oech3 made their first contribution in https://github.com/uutils/findutils/pull/586
- @brian-pane made their first contribution in https://github.com/uutils/findutils/pull/593
- @jmr made their first contribution in https://github.com/uutils/findutils/pull/645
- @xtqqczze made their first contribution in https://github.com/uutils/findutils/pull/659
- @kevinburke made their first contribution in https://github.com/uutils/findutils/pull/668
- @vip892766gma made their first contribution in https://github.com/uutils/findutils/pull/687
- @mvanhorn made their first contribution in https://github.com/uutils/findutils/pull/647
- @Xylphy made their first contribution in https://github.com/uutils/findutils/pull/656
Full Changelog: https://github.com/uutils/findutils/compare/0.8.0…0.9.0
Install findutils 0.9.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/uutils/findutils/releases/download/0.9.0/findutils-installer.sh | sh
Download findutils 0.9.0
| File | Platform | Checksum |
|---|---|---|
| findutils-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| findutils-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| findutils-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| findutils-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
📦 Findutils 0.8.0 Release:
We are thrilled to announce the release of Findutils 0.8.0! This version brings numerous enhancements, bug fixes, and new features, further improving the toolset’s robustness and functionality. This release introduces key improvements including new formatting options (-fprint0, -fprintf), better file handling with -files0-from, and more efficient command execution with exec[dir] +. We’ve also fixed important path handling bugs and improved regex behavior.
This release saw contributions from 5 new developers.
We encourage you to support our project by sponsoring us on GitHub. Your sponsorship helps us maintain and enhance our infrastructure, such as GitHub Actions. Sponsor us at https://github.com/sponsors/uutils.
GNU Test Suite Compatibility
Here’s how version 0.8.0 compares to the previous release:
| Result | Previous (0.7.0) | Current (0.8.0) | Change | % Total Previous | % Total Current | % Change |
|---|---|---|---|---|---|---|
| Pass | 477 | 503 | +26 | 72.38% | 80.87% | +8.49% |
| Skip | 1 | 1 | 0 | 0.15% | 0.16% | +0.01% |
| Fail | 179 | 117 | -62 | 27.16% | 18.81% | -8.35% |
| Error | 2 | 1 | -1 | 0.30% | 0.16% | -0.14% |
| Total | 659 | 622 | -37 |
For more details, visit https://github.com/uutils/findutils-tracking/.
What’s Changed
- Implement
-fprint0by @hanbings in https://github.com/uutils/findutils/pull/443 - Implement
-fprintfby @hanbings in https://github.com/uutils/findutils/pull/444 - manage the special case ’find %A+ by @sylvestre in https://github.com/uutils/findutils/pull/454
- Print help/version without error prefix by @andrewliebenow in https://github.com/uutils/findutils/pull/455
- find/glob: Don’t use
$.as a non-matching regex by @tavianator in https://github.com/uutils/findutils/pull/457 - find/time: calculate midnight with local time zone by @NaviHX in https://github.com/uutils/findutils/pull/467
- find: fix new clippy warnings by @cakebaker in https://github.com/uutils/findutils/pull/475
- ci: Fix issues related to downloading builds in ci. by @hanbings in https://github.com/uutils/findutils/pull/487
- ci: use
-Cinstrument-coverageinstead of-Zprofileby @cakebaker in https://github.com/uutils/findutils/pull/470 - find: fix “unused import” warning on Windows by @cakebaker in https://github.com/uutils/findutils/pull/498
- -name / should match /// by @Every2 in https://github.com/uutils/findutils/pull/508
- Fix incorrect triple slashes behavior by @Every2 in https://github.com/uutils/findutils/pull/512
- find: Use matcher_io.set_exit_code() by @tavianator in https://github.com/uutils/findutils/pull/516
- clippy: add the same rules as coreutils by @sylvestre in https://github.com/uutils/findutils/pull/510
- clippy: run cargo clippy and cargo fmt. by @hanbings in https://github.com/uutils/findutils/pull/517
- Implement : -files0-from (#378) by @Crypto-Darth in https://github.com/uutils/findutils/pull/509
- find: Implement exec[dir] + by @milkory in https://github.com/uutils/findutils/pull/515
- tests: Make -exec {} + tests deterministic by @tavianator in https://github.com/uutils/findutils/pull/520
- clippy: fix warnings from Rust 1.86 by @cakebaker in https://github.com/uutils/findutils/pull/522
- find: User/group ID fixes by @tavianator in https://github.com/uutils/findutils/pull/521
- ci: adjust to code cov v5 by @sylvestre in https://github.com/uutils/findutils/pull/525
- find: fix typo in test (slashs -> slashes) by @cakebaker in https://github.com/uutils/findutils/pull/526
- prepare version 0.8.0 by @sylvestre in https://github.com/uutils/findutils/pull/528
- find: Allow comparable values with signs by @tavianator in https://github.com/uutils/findutils/pull/524
Dependencies
- build(deps): bump pretty_assertions from 1.4.0 to 1.4.1 by @dependabot in https://github.com/uutils/findutils/pull/453
- build(deps): bump once_cell from 1.19.0 to 1.20.0 by @dependabot in https://github.com/uutils/findutils/pull/452
- build(deps): bump clap from 4.5.17 to 4.5.18 by @dependabot in https://github.com/uutils/findutils/pull/456
- build(deps): bump regex from 1.10.6 to 1.11.0 by @dependabot in https://github.com/uutils/findutils/pull/460
- build(deps): bump tempfile from 3.12.0 to 3.13.0 by @dependabot in https://github.com/uutils/findutils/pull/458
- build(deps): bump once_cell from 1.20.0 to 1.20.2 by @dependabot in https://github.com/uutils/findutils/pull/464
- build(deps): bump clap from 4.5.18 to 4.5.20 by @dependabot in https://github.com/uutils/findutils/pull/465
- build(deps): bump regex from 1.11.0 to 1.11.1 by @dependabot in https://github.com/uutils/findutils/pull/468
- build(deps): bump serial_test from 3.1.1 to 3.2.0 by @dependabot in https://github.com/uutils/findutils/pull/471
- build(deps): bump clap from 4.5.20 to 4.5.31 by @dependabot in https://github.com/uutils/findutils/pull/496
- build(deps): bump once_cell from 1.20.2 to 1.20.3 by @dependabot in https://github.com/uutils/findutils/pull/491
- build(deps): bump predicates from 3.1.2 to 3.1.3 by @dependabot in https://github.com/uutils/findutils/pull/485
- build(deps): bump tempfile from 3.13.0 to 3.17.1 by @dependabot in https://github.com/uutils/findutils/pull/495
- build(deps): bump once_cell from 1.20.3 to 1.21.0 by @dependabot in https://github.com/uutils/findutils/pull/502
- build(deps): bump tempfile from 3.18.0 to 3.19.0 by @dependabot in https://github.com/uutils/findutils/pull/505
- build(deps): bump clap from 4.5.32 to 4.5.34 by @dependabot in https://github.com/uutils/findutils/pull/513
- Update to uucore 0.0.29 by @sylvestre in https://github.com/uutils/findutils/pull/486
- Bump
uucorefrom0.0.29to0.0.30by @cakebaker in https://github.com/uutils/findutils/pull/514 - build(deps): bump tempfile from 3.17.1 to 3.18.0 by @dependabot in https://github.com/uutils/findutils/pull/500
- build(deps): bump clap from 4.5.31 to 4.5.32 by @dependabot in https://github.com/uutils/findutils/pull/501
- build(deps): bump tempfile from 3.19.0 to 3.19.1 by @dependabot in https://github.com/uutils/findutils/pull/507
- Bump dependencies to remove two
windows-sysversions by @cakebaker in https://github.com/uutils/findutils/pull/499 - Remove unused
once_celldependency by @cakebaker in https://github.com/uutils/findutils/pull/503 - build(deps): bump chrono from 0.4.38 to 0.4.40 by @dependabot in https://github.com/uutils/findutils/pull/497
- build(deps): bump clap from 4.5.34 to 4.5.35 by @dependabot in https://github.com/uutils/findutils/pull/519
- ci: update
distfrom0.12to0.28by @cakebaker in https://github.com/uutils/findutils/pull/506
New Contributors
- @andrewliebenow made their first contribution in https://github.com/uutils/findutils/pull/455
- @NaviHX made their first contribution in https://github.com/uutils/findutils/pull/467
- @Every2 made their first contribution in https://github.com/uutils/findutils/pull/508
- @Crypto-Darth made their first contribution in https://github.com/uutils/findutils/pull/509
- @milkory made their first contribution in https://github.com/uutils/findutils/pull/515
Full Changelog: https://github.com/uutils/findutils/compare/0.7.0…0.8.0
Install findutils 0.8.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/uutils/findutils/releases/download/0.8.0/findutils-installer.sh | sh
Download findutils 0.8.0
| File | Platform | Checksum |
|---|---|---|
| findutils-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| findutils-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| findutils-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| findutils-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
📦 Findutils 0.7.0 Release:
We are thrilled to announce the release of Findutils 0.7.0! This version brings numerous enhancements, bug fixes, and new features, further improving the toolset’s robustness and functionality. In this release, we have 86 new BFS and GNU tests passing! Congratulations to @hanbings for pushing so many changes as part of the Google summer of code 2024.
This release saw contributions from 5 developers, including 1 newcomer.
We encourage you to support our project by sponsoring us on GitHub. Your sponsorship helps us maintain and enhance our infrastructure, such as GitHub Actions. Sponsor us at https://github.com/sponsors/uutils.
BFS Test Suite Compatibility
Here’s how version 0.7.0 compares to the previous release:
| Result | Previous | Current | Change | % Total Previous | % Total Current | % Change |
|---|---|---|---|---|---|---|
| Pass | 190 | 244 | +54 | 65.97% | 76.97% | +11% |
| Skip | 1 | 6 | +5 | 0.35% | 1.89% | +1.54% |
| Fail | 97 | 67 | -30 | 33.68% | 21.14% | -12.54% |
| Total | 288 | 317 | +29 |
For more details, visit https://github.com/uutils/findutils-tracking/.
GNU Test Suite Compatibility
Here’s how version 0.7.0 compares to the previous release:
| Result | Previous | Current | Change | % Total Previous | % Total Current | % Change |
|---|---|---|---|---|---|---|
| Pass | 445 | 477 | +32 | 63.38% | 72.38% | +9% |
| Skip | 1 | 1 | 0 | 0.14% | 0.15% | +0.01% |
| Fail | 254 | 179 | -75 | 36.18% | 27.16% | -9.02% |
| Error | 2 | 2 | 0 | 0.28% | 0.30% | +0.02% |
| Total | 702 | 659 | -43 |
For more details, visit https://github.com/uutils/findutils-tracking/.
Download findutils 0.7.0
| File | Platform | Checksum |
|---|---|---|
| findutils-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| findutils-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| findutils-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| findutils-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
What’s Changed
Find
- Implement
-noleafby @hanbings in https://github.com/uutils/findutils/pull/414 - Implement simple caching for -fstype by @nerdroychan in https://github.com/uutils/findutils/pull/419
- Implement
-daystartby @hanbings in https://github.com/uutils/findutils/pull/413 - find: ctime is “changed” time, not “created” time by @tavianator in https://github.com/uutils/findutils/pull/416
- find: -daystart returns true by @tavianator in https://github.com/uutils/findutils/pull/428
- Implement
-fprintby @hanbings in https://github.com/uutils/findutils/pull/421 - Wrap walkdir::DirEntry in a new type by @tavianator in https://github.com/uutils/findutils/pull/436
- Implement
-lsand-flsby @hanbings in https://github.com/uutils/findutils/pull/435
CI
- ci: Update bfs to 4.0 by @tavianator in https://github.com/uutils/findutils/pull/446
Code quality
- options return true by @tavianator in https://github.com/uutils/findutils/pull/417
- find: fix needless borrow clippy warning by @cakebaker in https://github.com/uutils/findutils/pull/423
- Remove unnecessary lifetime parameter from Dependencies by @tavianator in https://github.com/uutils/findutils/pull/427
- find: use array instead of closure by @cakebaker in https://github.com/uutils/findutils/pull/450
- Clean up unused generated during Windows platform build process. by @hanbings in https://github.com/uutils/findutils/pull/448
Dependencies
- build(deps): bump clap from 4.5.7 to 4.5.8 by @dependabot in https://github.com/uutils/findutils/pull/410
- build(deps): bump clap from 4.5.8 to 4.5.9 by @dependabot in https://github.com/uutils/findutils/pull/415
- build(deps): bump clap from 4.5.9 to 4.5.10 by @dependabot in https://github.com/uutils/findutils/pull/422
- build(deps): bump clap from 4.5.10 to 4.5.13 by @dependabot in https://github.com/uutils/findutils/pull/429
- build(deps): bump regex from 1.10.5 to 1.10.6 by @dependabot in https://github.com/uutils/findutils/pull/432
- build(deps): bump tempfile from 3.10.1 to 3.11.0 by @dependabot in https://github.com/uutils/findutils/pull/433
- build(deps): bump assert_cmd from 2.0.14 to 2.0.15 by @dependabot in https://github.com/uutils/findutils/pull/426
- build(deps): bump predicates from 3.1.0 to 3.1.2 by @dependabot in https://github.com/uutils/findutils/pull/424
- build(deps): bump tempfile from 3.11.0 to 3.12.0 by @dependabot in https://github.com/uutils/findutils/pull/434
- build(deps): bump clap from 4.5.13 to 4.5.14 by @dependabot in https://github.com/uutils/findutils/pull/438
- build(deps): bump assert_cmd from 2.0.15 to 2.0.16 by @dependabot in https://github.com/uutils/findutils/pull/437
- build(deps): bump clap from 4.5.14 to 4.5.15 by @dependabot in https://github.com/uutils/findutils/pull/441
- build(deps): bump filetime from 0.2.23 to 0.2.24 by @dependabot in https://github.com/uutils/findutils/pull/442
- build(deps): bump clap from 4.5.15 to 4.5.16 by @dependabot in https://github.com/uutils/findutils/pull/445
- build(deps): bump filetime from 0.2.24 to 0.2.25 by @dependabot in https://github.com/uutils/findutils/pull/447
- build(deps): bump clap from 4.5.16 to 4.5.17 by @dependabot in https://github.com/uutils/findutils/pull/449
New Contributors
- @nerdroychan made their first contribution in https://github.com/uutils/findutils/pull/419
Full Changelog: https://github.com/uutils/findutils/compare/0.6.0…0.7.0
📦 Findutils 0.6.0 Release:
We are thrilled to announce the release of Findutils 0.6.0! This version brings numerous enhancements, bug fixes, and new features, further improving the toolset’s robustness and functionality.
This release saw contributions from 8 developers, including 5 newcomers. Including @hanbings as part of the Google summer of code 2024.
We encourage you to support our project by sponsoring us on GitHub. Your sponsorship helps us maintain and enhance our infrastructure, such as GitHub Actions. Sponsor us at https://github.com/sponsors/uutils.
BFS Test Suite Compatibility
Here’s how version 0.6.0 compares to the previous release:
| Result | Previous | Current | Change | % Total Previous | % Total Current | % Change |
|---|---|---|---|---|---|---|
| Pass | 176 | 190 | +14 | 61.11% | 65.97% | +4.86% |
| Skip | 1 | 1 | 0 | 0.35% | 0.35% | 0.00% |
| Fail | 111 | 97 | -14 | 38.54% | 33.68% | -4.86% |
For more details, visit https://github.com/uutils/findutils-tracking/.
GNU Test Suite Compatibility
Here’s how version 0.6.0 compares to the previous release:
| Result | Previous | Current | Change | % Total Previous | % Total Current | % Change |
|---|---|---|---|---|---|---|
| Pass | 429 | 445 | +16 | 59.75% | 63.38% | +3.63% |
| Skip | 1 | 1 | 0 | 0.14% | 0.14% | 0.00% |
| Fail | 286 | 254 | -32 | 39.83% | 36.18% | -3.65% |
| Error | 2 | 2 | 0 | 0.28% | 0.28% | 0.00% |
For more details, visit https://github.com/uutils/findutils-tracking/.
Download findutils 0.6.0
| File | Platform | Checksum |
|---|---|---|
| findutils-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| findutils-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| findutils-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| findutils-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
What’s Changed
Find
- Implement
-uidand-gidby @hanbings in https://github.com/uutils/findutils/pull/405 - Implement
-samefileby @hanbings in https://github.com/uutils/findutils/pull/389 - Implement
-fstypeby @hanbings in https://github.com/uutils/findutils/pull/408 - Cache FileInformation for the target by @tavianator in https://github.com/uutils/findutils/pull/409
- remove unused import on Windows by @cakebaker in https://github.com/uutils/findutils/pull/395
- Fix
-newerXYtest code for Windows platform. by @hanbings in https://github.com/uutils/findutils/pull/394 - Implement
-amin-cmin-mminage ranges. by @hanbings in https://github.com/uutils/findutils/pull/355 - Implement
-[no]userand-[no]grouppredicates. by @hanbings in https://github.com/uutils/findutils/pull/368 - Implement
-newerXYby @hanbings in https://github.com/uutils/findutils/pull/342 - Implement
-anewerand-cnewer. by @hanbings in https://github.com/uutils/findutils/pull/386 - fix “item x imported redundantly” warnings by @cakebaker in https://github.com/uutils/findutils/pull/326
- make
InodeMatcher&LinksMatcherunix-only by @cakebaker in https://github.com/uutils/findutils/pull/393 - fix usage of legacy numeric methods by @cakebaker in https://github.com/uutils/findutils/pull/403
- Fix panic when piped into head by @hanbings in https://github.com/uutils/findutils/pull/351
- Changed exit code when an error is encountered in
process_dir(). by @hanbings in https://github.com/uutils/findutils/pull/352 - Fix unexpectedly accepted empty expression. by @hanbings in https://github.com/uutils/findutils/pull/353
- Fix
convert_arg_to_comparable_value()function parsing unexpected characters. by @hanbings in https://github.com/uutils/findutils/pull/361 - replace
zipwith nested loops in tests by @cakebaker in https://github.com/uutils/findutils/pull/385
xargs
- remove unnecessary else blocks by @cakebaker in https://github.com/uutils/findutils/pull/318
- rename
--sizeto--max-charsby @cakebaker in https://github.com/uutils/findutils/pull/321 - do not merge extra args before replacing by @YDX-2147483647 in https://github.com/uutils/findutils/pull/363
- add –max-lines by @cakebaker in https://github.com/uutils/findutils/pull/343
- Implement replace / -I (Closes: #310) by @sylvestre in https://github.com/uutils/findutils/pull/323
Build
- Cargo.toml: set “default-features = false” for onig by @cakebaker in https://github.com/uutils/findutils/pull/313
- Cargo.toml: use 2021 edition by @cakebaker in https://github.com/uutils/findutils/pull/314
Code quality
- Fix clippy warning on ‘format!’ strings by @jellehelsen in https://github.com/uutils/findutils/pull/272
- Fix deprecation warnings from
chronoin test by @cakebaker in https://github.com/uutils/findutils/pull/315 - tests: remove “extern crate x” by @cakebaker in https://github.com/uutils/findutils/pull/341
- xargs: use
#[allow(dead_code)]for enum by @cakebaker in https://github.com/uutils/findutils/pull/396 - Run clippy pedantic fixes on the recent changes by @sylvestre in https://github.com/uutils/findutils/pull/349
- Run clippy pedantic fixes by @sylvestre in https://github.com/uutils/findutils/pull/348
- find: fix two clippy warnings by @cakebaker in https://github.com/uutils/findutils/pull/335
- clippy: Fix clippy warning. by @hanbings in https://github.com/uutils/findutils/pull/357
Documentation
- initial oranda setup by @tertsdiepraam in https://github.com/uutils/findutils/pull/274
- website: fix
path_prefixin oranda by @tertsdiepraam in https://github.com/uutils/findutils/pull/275 - website: fix changelog config by @tertsdiepraam in https://github.com/uutils/findutils/pull/278
- README: add badges + bfs info by @sylvestre in https://github.com/uutils/findutils/pull/337
- docs: initial version of mdbook by @tertsdiepraam in https://github.com/uutils/findutils/pull/347
CI
- Provide GNU test comparison comments for PRs in Github Actions. by @hanbings in https://github.com/uutils/findutils/pull/400
- ci: Update bfs to 3.0.3 by @tavianator in https://github.com/uutils/findutils/pull/290
- ci: Update bfs to 3.1.3 by @tavianator in https://github.com/uutils/findutils/pull/334
- Fix CI code for
comment.ymlby @hanbings in https://github.com/uutils/findutils/pull/404 - Comments are only sent when GNU/BFS test compatibility changes. by @hanbings in https://github.com/uutils/findutils/pull/407
- ci: run
cargo testinstead ofcargo checkin “cargo test” jobs by @cakebaker in https://github.com/uutils/findutils/pull/392 - ci: name upload steps by @cakebaker in https://github.com/uutils/findutils/pull/346
- ci: use
--all-targetswhen running clippy by @cakebaker in https://github.com/uutils/findutils/pull/359 - use cargo-dist + prepare 0.5.0 by @sylvestre in https://github.com/uutils/findutils/pull/350
- cargo-dist: generate more targets by @sylvestre in https://github.com/uutils/findutils/pull/388
- ci: update codecov-action to v4 & use token by @cakebaker in https://github.com/uutils/findutils/pull/320
Dependencies
- Cargo.toml: specify complete chrono version by @cakebaker in https://github.com/uutils/findutils/pull/339
- Bump wasm-bindgen from 0.2.82 to 0.2.91 by @cakebaker in https://github.com/uutils/findutils/pull/317
- Bump parking_lot_core from 0.9.3 to 0.9.9 by @cakebaker in https://github.com/uutils/findutils/pull/316
- Bump clap from 4.4.6 to 4.4.18 by @cakebaker in https://github.com/uutils/findutils/pull/319
- Bump nix from 0.27 to 0.28 & enable “fs” feature by @cakebaker in https://github.com/uutils/findutils/pull/327
- build(deps): bump tempfile from 3.6.0 to 3.7.0 by @dependabot in https://github.com/uutils/findutils/pull/269
- build(deps): bump assert_cmd from 2.0.11 to 2.0.12 by @dependabot in https://github.com/uutils/findutils/pull/268
- build(deps): bump actions/checkout from 3 to 4 by @dependabot in https://github.com/uutils/findutils/pull/283
- build(deps): bump uucore from 0.0.20 to 0.0.21 by @dependabot in https://github.com/uutils/findutils/pull/282
- build(deps): bump tempfile from 3.7.0 to 3.8.0 by @dependabot in https://github.com/uutils/findutils/pull/276
- build(deps): bump filetime from 0.2.21 to 0.2.22 by @dependabot in https://github.com/uutils/findutils/pull/271
- build(deps): bump chrono from 0.4.26 to 0.4.28 by @dependabot in https://github.com/uutils/findutils/pull/281
- build(deps): bump walkdir from 2.3.3 to 2.4.0 by @dependabot in https://github.com/uutils/findutils/pull/284
- build(deps): bump chrono from 0.4.28 to 0.4.29 by @dependabot in https://github.com/uutils/findutils/pull/285
- build(deps): bump chrono from 0.4.29 to 0.4.31 by @dependabot in https://github.com/uutils/findutils/pull/288
- build(deps): bump uucore from 0.0.21 to 0.0.22 by @dependabot in https://github.com/uutils/findutils/pull/291
- build(deps): bump predicates from 3.0.3 to 3.0.4 by @dependabot in https://github.com/uutils/findutils/pull/289
- build(deps): bump nix from 0.26.2 to 0.27.1 by @dependabot in https://github.com/uutils/findutils/pull/279
- build(deps): bump dawidd6/action-download-artifact from 2 to 3 by @dependabot in https://github.com/uutils/findutils/pull/297
- build(deps): bump once_cell from 1.18.0 to 1.19.0 by @dependabot in https://github.com/uutils/findutils/pull/296
- build(deps): bump filetime from 0.2.22 to 0.2.23 by @dependabot in https://github.com/uutils/findutils/pull/295
- build(deps): bump tempfile from 3.8.0 to 3.8.1 by @dependabot in https://github.com/uutils/findutils/pull/293
- build(deps): bump uucore from 0.0.22 to 0.0.23 by @dependabot in https://github.com/uutils/findutils/pull/294
- build(deps): bump actions/upload-artifact from 3 to 4 by @dependabot in https://github.com/uutils/findutils/pull/298
- build(deps): bump tempfile from 3.8.1 to 3.9.0 by @dependabot in https://github.com/uutils/findutils/pull/299
- build(deps): bump assert_cmd from 2.0.12 to 2.0.13 by @dependabot in https://github.com/uutils/findutils/pull/301
- build(deps): bump predicates from 3.0.4 to 3.1.0 by @dependabot in https://github.com/uutils/findutils/pull/302
- build(deps): bump chrono from 0.4.31 to 0.4.32 by @dependabot in https://github.com/uutils/findutils/pull/304
- build(deps): bump shlex from 1.1.0 to 1.3.0 by @dependabot in https://github.com/uutils/findutils/pull/303
- build(deps): bump uucore from 0.0.23 to 0.0.24 by @dependabot in https://github.com/uutils/findutils/pull/305
- build(deps): bump chrono from 0.4.32 to 0.4.33 by @dependabot in https://github.com/uutils/findutils/pull/306
- build(deps): bump chrono from 0.4.33 to 0.4.34 by @dependabot in https://github.com/uutils/findutils/pull/311
- build(deps): bump tempfile from 3.9.0 to 3.10.0 by @dependabot in https://github.com/uutils/findutils/pull/309
- build(deps): bump serial_test from 2.0.0 to 3.0.0 by @dependabot in https://github.com/uutils/findutils/pull/300
- build(deps): bump assert_cmd from 2.0.13 to 2.0.14 by @dependabot in https://github.com/uutils/findutils/pull/312
- build(deps): bump tempfile from 3.10.0 to 3.10.1 by @dependabot in https://github.com/uutils/findutils/pull/328
- build(deps): bump walkdir from 2.4.0 to 2.5.0 by @dependabot in https://github.com/uutils/findutils/pull/329
- build(deps): bump chrono from 0.4.34 to 0.4.35 by @dependabot in https://github.com/uutils/findutils/pull/330
- build(deps): bump clap from 4.4.18 to 4.5.2 by @dependabot in https://github.com/uutils/findutils/pull/332
- build(deps): bump clap from 4.5.2 to 4.5.3 by @dependabot in https://github.com/uutils/findutils/pull/333
- build(deps): bump uucore from 0.0.24 to 0.0.25 by @dependabot in https://github.com/uutils/findutils/pull/336
- build(deps): bump clap from 4.5.3 to 4.5.4 by @dependabot in https://github.com/uutils/findutils/pull/340
- build(deps): bump chrono from 0.4.35 to 0.4.37 by @dependabot in https://github.com/uutils/findutils/pull/344
- build(deps): bump KyleMayes/install-llvm-action from 1 to 2 by @dependabot in https://github.com/uutils/findutils/pull/345
- build(deps): bump chrono from 0.4.37 to 0.4.38 by @dependabot in https://github.com/uutils/findutils/pull/354
- build(deps): bump serial_test from 3.0.0 to 3.1.0 by @dependabot in https://github.com/uutils/findutils/pull/356
- build(deps): bump uucore from 0.0.25 to 0.0.26 by @dependabot in https://github.com/uutils/findutils/pull/365
- build(deps): bump serial_test from 3.1.0 to 3.1.1 by @dependabot in https://github.com/uutils/findutils/pull/364
- build(deps): bump nix from 0.28.0 to 0.29.0 by @dependabot in https://github.com/uutils/findutils/pull/390
- build(deps): bump dawidd6/action-download-artifact from 3 to 4 by @dependabot in https://github.com/uutils/findutils/pull/397
- build(deps): bump dawidd6/action-download-artifact from 4 to 5 by @dependabot in https://github.com/uutils/findutils/pull/398
- build(deps): bump clap from 4.5.4 to 4.5.6 by @dependabot in https://github.com/uutils/findutils/pull/399
- build(deps): bump clap from 4.5.6 to 4.5.7 by @dependabot in https://github.com/uutils/findutils/pull/401
- build(deps): bump dawidd6/action-download-artifact from 5 to 6 by @dependabot in https://github.com/uutils/findutils/pull/402
- build(deps): bump uucore from 0.0.26 to 0.0.27 by @dependabot in https://github.com/uutils/findutils/pull/406
- Bump regex from 1.7 to 1.10 by @cakebaker in https://github.com/uutils/findutils/pull/391
- xargs: upgrade to clap v4.4 by @cakebaker in https://github.com/uutils/findutils/pull/331
New Contributors
- @tertsdiepraam made their first contribution in https://github.com/uutils/findutils/pull/274
- @jellehelsen made their first contribution in https://github.com/uutils/findutils/pull/272
- @cakebaker made their first contribution in https://github.com/uutils/findutils/pull/313
- @hanbings made their first contribution in https://github.com/uutils/findutils/pull/342
- @YDX-2147483647 made their first contribution in https://github.com/uutils/findutils/pull/363
Full Changelog: https://github.com/uutils/findutils/compare/0.4.2…0.6.0
📦 Findutils 0.5.0 Release
Download findutils 0.5.0
| File | Platform | Checksum |
|---|---|---|
| findutils-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| findutils-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| findutils-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| findutils-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
What’s Changed
New features
- find: Implement
-newerXYby @hanbings in https://github.com/uutils/findutils/pull/342 - xargs: Implement replace / -I (Closes: #310) by @sylvestre in https://github.com/uutils/findutils/pull/323
- xargs: add –max-lines by @cakebaker in https://github.com/uutils/findutils/pull/343
- xargs: rename
--sizeto--max-charsby @cakebaker in https://github.com/uutils/findutils/pull/321
Documentation
- initial oranda setup by @tertsdiepraam in https://github.com/uutils/findutils/pull/274
- website: fix
path_prefixin oranda by @tertsdiepraam in https://github.com/uutils/findutils/pull/275 - website: fix changelog config by @tertsdiepraam in https://github.com/uutils/findutils/pull/278
- docs: initial version of mdbook by @tertsdiepraam in https://github.com/uutils/findutils/pull/347
Code quality
- Fix deprecation warnings from
chronoin test by @cakebaker in https://github.com/uutils/findutils/pull/315 - xargs: remove unnecessary else blocks by @cakebaker in https://github.com/uutils/findutils/pull/318
- find: fix “item x imported redundantly” warnings by @cakebaker in https://github.com/uutils/findutils/pull/326
- find: fix two clippy warnings by @cakebaker in https://github.com/uutils/findutils/pull/335
- README: add badges + bfs info by @sylvestre in https://github.com/uutils/findutils/pull/337
- tests: remove “extern crate x” by @cakebaker in https://github.com/uutils/findutils/pull/341
- Run clippy pedantic fixes by @sylvestre in https://github.com/uutils/findutils/pull/348
CI
- ci: update codecov-action to v4 & use token by @cakebaker in https://github.com/uutils/findutils/pull/320
- Fix clippy warning on ‘format!’ strings by @jellehelsen in https://github.com/uutils/findutils/pull/272
- ci: Update bfs to 3.0.3 by @tavianator in https://github.com/uutils/findutils/pull/290
- ci: Update bfs to 3.1.3 by @tavianator in https://github.com/uutils/findutils/pull/334
- Cargo.toml: set “default-features = false” for onig by @cakebaker in https://github.com/uutils/findutils/pull/313
- Cargo.toml: use 2021 edition by @cakebaker in https://github.com/uutils/findutils/pull/314
- ci: name upload steps by @cakebaker in https://github.com/uutils/findutils/pull/346
dependencies
- build(deps): bump tempfile from 3.6.0 to 3.7.0 by @dependabot in https://github.com/uutils/findutils/pull/269
- build(deps): bump assert_cmd from 2.0.11 to 2.0.12 by @dependabot in https://github.com/uutils/findutils/pull/268
- build(deps): bump actions/checkout from 3 to 4 by @dependabot in https://github.com/uutils/findutils/pull/283
- build(deps): bump uucore from 0.0.20 to 0.0.21 by @dependabot in https://github.com/uutils/findutils/pull/282
- build(deps): bump tempfile from 3.7.0 to 3.8.0 by @dependabot in https://github.com/uutils/findutils/pull/276
- build(deps): bump filetime from 0.2.21 to 0.2.22 by @dependabot in https://github.com/uutils/findutils/pull/271
- build(deps): bump chrono from 0.4.26 to 0.4.28 by @dependabot in https://github.com/uutils/findutils/pull/281
- build(deps): bump walkdir from 2.3.3 to 2.4.0 by @dependabot in https://github.com/uutils/findutils/pull/284
- build(deps): bump chrono from 0.4.28 to 0.4.29 by @dependabot in https://github.com/uutils/findutils/pull/285
- build(deps): bump chrono from 0.4.29 to 0.4.31 by @dependabot in https://github.com/uutils/findutils/pull/288
- build(deps): bump uucore from 0.0.21 to 0.0.22 by @dependabot in https://github.com/uutils/findutils/pull/291
- build(deps): bump predicates from 3.0.3 to 3.0.4 by @dependabot in https://github.com/uutils/findutils/pull/289
- build(deps): bump nix from 0.26.2 to 0.27.1 by @dependabot in https://github.com/uutils/findutils/pull/279
- build(deps): bump dawidd6/action-download-artifact from 2 to 3 by @dependabot in https://github.com/uutils/findutils/pull/297
- build(deps): bump once_cell from 1.18.0 to 1.19.0 by @dependabot in https://github.com/uutils/findutils/pull/296
- build(deps): bump filetime from 0.2.22 to 0.2.23 by @dependabot in https://github.com/uutils/findutils/pull/295
- build(deps): bump tempfile from 3.8.0 to 3.8.1 by @dependabot in https://github.com/uutils/findutils/pull/293
- build(deps): bump uucore from 0.0.22 to 0.0.23 by @dependabot in https://github.com/uutils/findutils/pull/294
- build(deps): bump actions/upload-artifact from 3 to 4 by @dependabot in https://github.com/uutils/findutils/pull/298
- build(deps): bump tempfile from 3.8.1 to 3.9.0 by @dependabot in https://github.com/uutils/findutils/pull/299
- build(deps): bump assert_cmd from 2.0.12 to 2.0.13 by @dependabot in https://github.com/uutils/findutils/pull/301
- build(deps): bump predicates from 3.0.4 to 3.1.0 by @dependabot in https://github.com/uutils/findutils/pull/302
- build(deps): bump chrono from 0.4.31 to 0.4.32 by @dependabot in https://github.com/uutils/findutils/pull/304
- build(deps): bump shlex from 1.1.0 to 1.3.0 by @dependabot in https://github.com/uutils/findutils/pull/303
- build(deps): bump uucore from 0.0.23 to 0.0.24 by @dependabot in https://github.com/uutils/findutils/pull/305
- build(deps): bump chrono from 0.4.32 to 0.4.33 by @dependabot in https://github.com/uutils/findutils/pull/306
- build(deps): bump chrono from 0.4.33 to 0.4.34 by @dependabot in https://github.com/uutils/findutils/pull/311
- build(deps): bump tempfile from 3.9.0 to 3.10.0 by @dependabot in https://github.com/uutils/findutils/pull/309
- build(deps): bump serial_test from 2.0.0 to 3.0.0 by @dependabot in https://github.com/uutils/findutils/pull/300
- build(deps): bump assert_cmd from 2.0.13 to 2.0.14 by @dependabot in https://github.com/uutils/findutils/pull/312
- Bump wasm-bindgen from 0.2.82 to 0.2.91 by @cakebaker in https://github.com/uutils/findutils/pull/317
- Bump clap from 4.4.6 to 4.4.18 by @cakebaker in https://github.com/uutils/findutils/pull/319
- build(deps): bump tempfile from 3.10.0 to 3.10.1 by @dependabot in https://github.com/uutils/findutils/pull/328
- build(deps): bump walkdir from 2.4.0 to 2.5.0 by @dependabot in https://github.com/uutils/findutils/pull/329
- build(deps): bump chrono from 0.4.34 to 0.4.35 by @dependabot in https://github.com/uutils/findutils/pull/330
- xargs: upgrade to clap v4.4 by @cakebaker in https://github.com/uutils/findutils/pull/331
- build(deps): bump clap from 4.4.18 to 4.5.2 by @dependabot in https://github.com/uutils/findutils/pull/332
- build(deps): bump clap from 4.5.2 to 4.5.3 by @dependabot in https://github.com/uutils/findutils/pull/333
- build(deps): bump clap from 4.5.3 to 4.5.4 by @dependabot in https://github.com/uutils/findutils/pull/340
- build(deps): bump KyleMayes/install-llvm-action from 1 to 2 by @dependabot in https://github.com/uutils/findutils/pull/345
- build(deps): bump chrono from 0.4.35 to 0.4.37 by @dependabot in https://github.com/uutils/findutils/pull/344
- Bump nix from 0.27 to 0.28 & enable “fs” feature by @cakebaker in https://github.com/uutils/findutils/pull/327
- Bump parking_lot_core from 0.9.3 to 0.9.9 by @cakebaker in https://github.com/uutils/findutils/pull/316
- build(deps): bump uucore from 0.0.24 to 0.0.25 by @dependabot in https://github.com/uutils/findutils/pull/336
- Cargo.toml: specify complete chrono version by @cakebaker in https://github.com/uutils/findutils/pull/339
New Contributors
- @tertsdiepraam made their first contribution in https://github.com/uutils/findutils/pull/274
- @jellehelsen made their first contribution in https://github.com/uutils/findutils/pull/272
- @cakebaker made their first contribution in https://github.com/uutils/findutils/pull/313
- @hanbings made their first contribution in https://github.com/uutils/findutils/pull/342
Full Changelog: https://github.com/uutils/findutils/compare/0.4.2…0.5.0
📦 Findutils 0.4.2 Release
What’s Changed
- Remove appveyor configuration by @sylvestre in https://github.com/uutils/findutils/pull/263
- Remove the travis configuration as we don’t use it by @sylvestre in https://github.com/uutils/findutils/pull/264
- CI: test all features by @sylvestre in https://github.com/uutils/findutils/pull/267
dependencies upgrades
- build(deps): bump once_cell from 1.17.1 to 1.18.0 by @dependabot in https://github.com/uutils/findutils/pull/250
- build(deps): bump chrono from 0.4.24 to 0.4.26 by @dependabot in https://github.com/uutils/findutils/pull/249
- build(deps): bump predicates from 3.0.2 to 3.0.3 by @dependabot in https://github.com/uutils/findutils/pull/245
- move to uucore 0.0.20 by @sylvestre in https://github.com/uutils/findutils/pull/265
Full Changelog: https://github.com/uutils/findutils/compare/0.4.1…0.4.2
📦 Findutils 0.4.1 Release
What’s Changed
- Fix spelling by @jayvdb in https://github.com/uutils/findutils/pull/229
- replaced not equal operation with equality operator by @HelloShiv in https://github.com/uutils/findutils/pull/235
- Refactor code to use String::new by @HelloShiv in https://github.com/uutils/findutils/pull/237
- implemented assert! for resolving warning panic! by @HelloShiv in https://github.com/uutils/findutils/pull/227
Update of the dependencies
- build(deps): bump regex from 1.7.1 to 1.7.3 by @dependabot in https://github.com/uutils/findutils/pull/228
- build(deps): bump assert_cmd from 2.0.8 to 2.0.10 by @dependabot in https://github.com/uutils/findutils/pull/218
- build(deps): bump chrono from 0.4.23 to 0.4.24 by @dependabot in https://github.com/uutils/findutils/pull/215
- build(deps): bump tempfile from 3.3.0 to 3.4.0 by @dependabot in https://github.com/uutils/findutils/pull/214
- build(deps): bump filetime from 0.2.19 to 0.2.20 by @dependabot in https://github.com/uutils/findutils/pull/208
- build(deps): bump filetime from 0.2.20 to 0.2.21 by @dependabot in https://github.com/uutils/findutils/pull/234
- build(deps): bump walkdir from 2.3.2 to 2.3.3 by @dependabot in https://github.com/uutils/findutils/pull/232
- build(deps): bump serial_test from 1.0.0 to 2.0.0 by @dependabot in https://github.com/uutils/findutils/pull/230
- build(deps): bump assert_cmd from 2.0.10 to 2.0.11 by @dependabot in https://github.com/uutils/findutils/pull/247
- build(deps): bump tempfile from 3.4.0 to 3.6.0 by @dependabot in https://github.com/uutils/findutils/pull/248
New Contributors
- @jayvdb made their first contribution in https://github.com/uutils/findutils/pull/229
- @HelloShiv made their first contribution in https://github.com/uutils/findutils/pull/227
Full Changelog: https://github.com/uutils/findutils/compare/0.4.0…0.4.1
📦 Findutils 0.4.0 Release
What’s Changed
- Make multi-exec only match {} + with nothing in between by @tavianator in https://github.com/uutils/findutils/pull/91
- Upgrade to GitHub-native Dependabot by @dependabot-preview in https://github.com/uutils/findutils/pull/94
- exec: Handle parent directories more carefully by @tavianator in https://github.com/uutils/findutils/pull/92
- Add support for GNU-compatible printf by @refi64 in https://github.com/uutils/findutils/pull/120
- Add initial parts of automated compatibility tests by @refi64 in https://github.com/uutils/findutils/pull/129
- Add remaining portions of automated compatibility tests by @refi64 in https://github.com/uutils/findutils/pull/130
- Add support for -print0 by @refi64 in https://github.com/uutils/findutils/pull/123
- Add support for regex matching by @refi64 in https://github.com/uutils/findutils/pull/126
- Add an initial implementation of xargs by @refi64 in https://github.com/uutils/findutils/pull/121
- Fix compat tests not using the latest workflow by @refi64 in https://github.com/uutils/findutils/pull/133
- Add support for -lname / -ilname by @refi64 in https://github.com/uutils/findutils/pull/138
- Add support for -empty by @refi64 in https://github.com/uutils/findutils/pull/137
- Add support for -xdev by @refi64 in https://github.com/uutils/findutils/pull/136
- Avoid skipping the entire directory if a file hits -prune by @refi64 in https://github.com/uutils/findutils/pull/139
- matchers: Replace new_box() with an into_box() trait method by @tavianator in https://github.com/uutils/findutils/pull/141
- printf: Fix some time formatting to match GNU find by @tavianator in https://github.com/uutils/findutils/pull/146
- Support -and as a synonym for -a by @tavianator in https://github.com/uutils/findutils/pull/145
- Implement -P and – by @tavianator in https://github.com/uutils/findutils/pull/148
- Implement -quit by @tavianator in https://github.com/uutils/findutils/pull/147
- POSIX compliant globs by @tavianator in https://github.com/uutils/findutils/pull/151
- find: Use the uucore mode parsing implementation for -perm by @tavianator in https://github.com/uutils/findutils/pull/154
- find/matchers: Implement -mount as an alias for -xdev by @tavianator in https://github.com/uutils/findutils/pull/165
- find/matchers: Add the
edandsedregex types by @tavianator in https://github.com/uutils/findutils/pull/166 - find/matchers: Implement the -{read,writ,execut}able access checks by @tavianator in https://github.com/uutils/findutils/pull/168
- find/matchers: Implement -inum and -links by @tavianator in https://github.com/uutils/findutils/pull/167
- find: Don’t swallow mkfifo errors in the tests by @refi64 in https://github.com/uutils/findutils/pull/179
- Add support for embedded “{}” by @int3 in https://github.com/uutils/findutils/pull/213
Code quality
- Various clippy fixes + precommit by @sylvestre in https://github.com/uutils/findutils/pull/222
- Fix a clippy warning by @sylvestre in https://github.com/uutils/findutils/pull/188
- Fix some clippy warnings by @sylvestre in https://github.com/uutils/findutils/pull/103
- Add back coverage with codecov by @sylvestre in https://github.com/uutils/findutils/pull/111
- Various Clippy fixes by @sylvestre in https://github.com/uutils/findutils/pull/143
CI
- ci: Update BFS testsuite to version 2.4 by @tavianator in https://github.com/uutils/findutils/pull/150
- ci: Update bfs testsuite to version 2.6 by @tavianator in https://github.com/uutils/findutils/pull/163
- ci: Also run the dejagnu tests from GNU findutils by @tavianator in https://github.com/uutils/findutils/pull/144
- run the GNU testsuite in the CI by @sylvestre in https://github.com/uutils/findutils/pull/115
- ci: Run the bfs testsuite by @tavianator in https://github.com/uutils/findutils/pull/116
- fix the ci warnings by @sylvestre in https://github.com/uutils/findutils/pull/211
Dependencies
- update predicates by @sylvestre in https://github.com/uutils/findutils/pull/104
- Move tempfile dep to dev-dep by @sylvestre in https://github.com/uutils/findutils/pull/135
- replace tempdir by tempfile by @sylvestre in https://github.com/uutils/findutils/pull/110
- Bump once_cell from 1.9.0 to 1.10.0 by @dependabot in https://github.com/uutils/findutils/pull/152
- build(deps): bump serial_test from 0.6.0 to 0.7.0 by @dependabot in https://github.com/uutils/findutils/pull/169
- build(deps): bump serial_test from 0.7.0 to 0.8.0 by @dependabot in https://github.com/uutils/findutils/pull/170
- build(deps): bump filetime from 0.2.16 to 0.2.17 by @dependabot in https://github.com/uutils/findutils/pull/172
- build(deps): bump onig from 6.3.1 to 6.3.2 by @dependabot in https://github.com/uutils/findutils/pull/171
- build(deps): bump once_cell from 1.12.0 to 1.13.0 by @dependabot in https://github.com/uutils/findutils/pull/173
- build(deps): bump regex from 1.5.6 to 1.6.0 by @dependabot in https://github.com/uutils/findutils/pull/174
- build(deps): bump onig from 6.3.2 to 6.4.0 by @dependabot in https://github.com/uutils/findutils/pull/176
- build(deps): bump serial_test from 0.8.0 to 0.9.0 by @dependabot in https://github.com/uutils/findutils/pull/178
- build(deps): bump nix from 0.24.2 to 0.25.0 by @dependabot in https://github.com/uutils/findutils/pull/180
- build(deps): bump chrono from 0.4.19 to 0.4.20 by @dependabot in https://github.com/uutils/findutils/pull/175
- build(deps): bump once_cell from 1.13.0 to 1.13.1 by @dependabot in https://github.com/uutils/findutils/pull/182
- build(deps): bump chrono from 0.4.20 to 0.4.22 by @dependabot in https://github.com/uutils/findutils/pull/181
- build(deps): bump iana-time-zone from 0.1.44 to 0.1.47 by @dependabot in https://github.com/uutils/findutils/pull/183
- build(deps): bump once_cell from 1.13.1 to 1.15.0 by @dependabot in https://github.com/uutils/findutils/pull/185
- build(deps): bump assert_cmd from 2.0.4 to 2.0.5 by @dependabot in https://github.com/uutils/findutils/pull/187
- build(deps): bump predicates from 2.1.5 to 3.0.2 by @dependabot in https://github.com/uutils/findutils/pull/220
- build(deps): bump filetime from 0.2.17 to 0.2.18 by @dependabot in https://github.com/uutils/findutils/pull/186
- ci: Update bfs to 2.6.2 by @tavianator in https://github.com/uutils/findutils/pull/189
- build(deps): bump once_cell from 1.15.0 to 1.16.0 by @dependabot in https://github.com/uutils/findutils/pull/190
- build(deps): bump predicates from 2.1.1 to 2.1.2 by @dependabot in https://github.com/uutils/findutils/pull/191
- build(deps): bump assert_cmd from 2.0.5 to 2.0.6 by @dependabot in https://github.com/uutils/findutils/pull/193
- build(deps): bump regex from 1.6.0 to 1.7.0 by @dependabot in https://github.com/uutils/findutils/pull/192
- build(deps): bump predicates from 2.1.2 to 2.1.3 by @dependabot in https://github.com/uutils/findutils/pull/194
- build(deps): bump chrono from 0.4.22 to 0.4.23 by @dependabot in https://github.com/uutils/findutils/pull/195
- build(deps): bump nix from 0.25.0 to 0.26.1 by @dependabot in https://github.com/uutils/findutils/pull/196
- build(deps): bump filetime from 0.2.18 to 0.2.19 by @dependabot in https://github.com/uutils/findutils/pull/199
- build(deps): bump assert_cmd from 2.0.6 to 2.0.7 by @dependabot in https://github.com/uutils/findutils/pull/198
- build(deps): bump predicates from 2.1.3 to 2.1.4 by @dependabot in https://github.com/uutils/findutils/pull/197
- build(deps): bump serial_test from 0.9.0 to 0.10.0 by @dependabot in https://github.com/uutils/findutils/pull/200
- build(deps): bump predicates from 2.1.4 to 2.1.5 by @dependabot in https://github.com/uutils/findutils/pull/202
- build(deps): bump once_cell from 1.16.0 to 1.17.0 by @dependabot in https://github.com/uutils/findutils/pull/201
- build(deps): bump assert_cmd from 2.0.7 to 2.0.8 by @dependabot in https://github.com/uutils/findutils/pull/204
- build(deps): bump regex from 1.7.0 to 1.7.1 by @dependabot in https://github.com/uutils/findutils/pull/203
- build(deps): bump nix from 0.26.1 to 0.26.2 by @dependabot in https://github.com/uutils/findutils/pull/205
- build(deps): bump serial_test from 0.10.0 to 1.0.0 by @dependabot in https://github.com/uutils/findutils/pull/206
- build(deps): bump bumpalo from 3.10.0 to 3.12.0 by @dependabot in https://github.com/uutils/findutils/pull/207
- build(deps): bump once_cell from 1.17.0 to 1.17.1 by @dependabot in https://github.com/uutils/findutils/pull/209
- Bump walkdir from 2.3.1 to 2.3.2 by @dependabot-preview in https://github.com/uutils/findutils/pull/90
- Bump regex from 1.4.5 to 1.5.3 by @dependabot-preview in https://github.com/uutils/findutils/pull/96
- Bump assert_cmd from 1.0.3 to 1.0.4 by @dependabot in https://github.com/uutils/findutils/pull/98
- Bump regex from 1.5.3 to 1.5.4 by @dependabot in https://github.com/uutils/findutils/pull/97
- Bump predicates from 1.0.7 to 1.0.8 by @dependabot-preview in https://github.com/uutils/findutils/pull/95
- Bump assert_cmd from 1.0.4 to 1.0.5 by @dependabot in https://github.com/uutils/findutils/pull/99
- Bump assert_cmd from 1.0.5 to 1.0.8 by @dependabot in https://github.com/uutils/findutils/pull/106
- Bump assert_cmd from 1.0.8 to 2.0.0 by @dependabot in https://github.com/uutils/findutils/pull/107
- Bump predicates from 2.0.0 to 2.0.1 by @dependabot in https://github.com/uutils/findutils/pull/105
- Bump predicates from 2.0.1 to 2.0.2 by @dependabot in https://github.com/uutils/findutils/pull/108
- Bump assert_cmd from 2.0.0 to 2.0.1 by @dependabot in https://github.com/uutils/findutils/pull/109
- Update uucore to 0.0.12 by @refi64 in https://github.com/uutils/findutils/pull/132
- Bump serial_test from 0.5.1 to 0.6.0 by @dependabot in https://github.com/uutils/findutils/pull/149
- Bump assert_cmd from 2.0.1 to 2.0.2 by @dependabot in https://github.com/uutils/findutils/pull/117
- Bump predicates from 2.0.2 to 2.1.0 by @dependabot in https://github.com/uutils/findutils/pull/119
- Bump tempfile from 3.2.0 to 3.3.0 by @dependabot in https://github.com/uutils/findutils/pull/122
- Bump predicates from 2.1.0 to 2.1.1 by @dependabot in https://github.com/uutils/findutils/pull/124
- Bump assert_cmd from 2.0.2 to 2.0.4 by @dependabot in https://github.com/uutils/findutils/pull/127
- Bump regex from 1.5.4 to 1.5.5 by @dependabot in https://github.com/uutils/findutils/pull/153
- Bump filetime from 0.2.15 to 0.2.16 by @dependabot in https://github.com/uutils/findutils/pull/156
- Bump once_cell from 1.10.0 to 1.11.0 by @dependabot in https://github.com/uutils/findutils/pull/157
- Bump actions/upload-artifact from 2 to 3 by @dependabot in https://github.com/uutils/findutils/pull/158
- Bump actions/checkout from 2 to 3 by @dependabot in https://github.com/uutils/findutils/pull/159
- Bump codecov/codecov-action from 1 to 3 by @dependabot in https://github.com/uutils/findutils/pull/160
- Bump regex from 1.5.5 to 1.5.6 by @dependabot in https://github.com/uutils/findutils/pull/161
- build(deps): bump once_cell from 1.11.0 to 1.12.0 by @dependabot in https://github.com/uutils/findutils/pull/162
New Contributors
- @tavianator made their first contribution in https://github.com/uutils/findutils/pull/91
- @dependabot made their first contribution in https://github.com/uutils/findutils/pull/98
- @sylvestre made their first contribution in https://github.com/uutils/findutils/pull/103
- @refi64 made their first contribution in https://github.com/uutils/findutils/pull/120
- @int3 made their first contribution in https://github.com/uutils/findutils/pull/213
Full Changelog: https://github.com/uutils/findutils/compare/0.1.0…0.4.0
📦 Findutils 0.3.0 Release
Findutils 0.3.0 (tagged 2022-01-26) has no GitHub release page, so these notes
were reconstructed from the git history between the 0.1.0 and 0.3.0 tags.
The version was bumped to 0.2.0 during this period, but no 0.2.0 tag or
release was ever published — so this entry covers everything since 0.1.0.
The headline change is the first implementation of xargs, which makes the
project a two-utility suite. This release also adds -regex, -print0 and
GNU-compatible -printf, and sets up the compatibility testing against the GNU
and bfs test suites that the project still relies on.
Highlights
xargs
- An initial implementation of
xargsby @refi64 in https://github.com/uutils/findutils/pull/121
find: new features
- GNU-compatible
-printfby @refi64 in https://github.com/uutils/findutils/pull/120 -regexmatching by @refi64 in https://github.com/uutils/findutils/pull/126-print0by @refi64 in https://github.com/uutils/findutils/pull/123--versionon the command line by @sylvestre
find: fixes
- Make multi-
-execonly match{} +with nothing in between by @tavianator in https://github.com/uutils/findutils/pull/91 -exec: handle parent directories more carefully by @tavianator in https://github.com/uutils/findutils/pull/92
Compatibility testing
- Automated compatibility tests, in two parts, by @refi64 in https://github.com/uutils/findutils/pull/129 and https://github.com/uutils/findutils/pull/130
- A script to run the GNU findutils test suite, run it in CI, allow running a single test, avoid rebuilding GNU every time, and document the workflow, by @sylvestre
- Run the bfs test suite in CI by @tavianator
Project & infrastructure
- Code coverage restored via Codecov by @sylvestre
tempdirreplaced bytempfile, andtempfilemoved to dev-dependencies (cargo udeps) by @sylvestreuucoreupdated to 0.0.12 by @refi64- Migration to GitHub-native Dependabot
- Clippy cleanups, README updates (crates.io badge, Travis badge removed) and
removal of the unused
AUTHORSfile by @sylvestre
Contributors
@refi64, @sylvestre and @tavianator.
📦 Findutils 0.1.0 Release
Findutils 0.1.0 (tagged 2021-03-15) is the first tagged release of the project.
It has no GitHub release page, so these notes were reconstructed from the git
history up to the 0.1.0 tag.
It covers the initial implementation of find: the matcher-tree architecture,
the bulk of the GNU predicates, and the test infrastructure the project still
uses today. xargs did not exist yet — it arrived in 0.3.0.
Highlights
The find expression engine
- Initial implementation supporting
-name,-printand a subset of-type, by @mcharsley - Logical operators:
-o/-or,-a/-and,!, parentheses, and comma lists -depth,-maxdepth,-mindepthand depth-first traversal-prune- Directory walking switched to the
walkdircrate
Predicates
-sizeby @mcharsley-newer,-ctime,-atime,-mtimeby @mcharsley-execand-execdirby @mcharsley, plus a fix for-execdiron the root directory-permby @mcharsley-type: addedl,b,c,pandsby @ilius-deleteby @Arcterus, extended to all file types and made to skip the current directory; tests and fixes by @dahc
Correctness fixes
-helpwas matched too aggressively- A lone
-is treated as a filename - Double negation (
! !) fixed by @Arcterus
Portability
- Windows support: path separator handling in tests,
testing-commandlineargument reporting, and#[cfg(unix)]gating of the permission code, by @mcharsley - AppVeyor (Windows) and Travis CI configurations by Lei Zhang
Testing & infrastructure
- Fake-stdout dependency injection so tests can assert on exact output, and argument-parsing tests, by @mcharsley
- Integration tests for the
findcommand by @dahc - GitHub Actions CI workflow by @dahc
- Code coverage via Codecov and tarpaulin by @Arcterus
- Migration to the Rust 2018 edition and
rustfmtformatting by @Arcterus - Various clippy fixes, including
clippy::borrowed_boxandclippy::unnecessary_wrapsonprocess_dir, by @ilius
Dependencies
Regular dependency bumps via Dependabot: regex (0.2.2 → 1.4.5), walkdir
(2.2.7 → 2.3.1), glob (0.2.11 → 0.3.0), tempdir (0.3.5 → 0.3.7),
assert_cmd (1.0.2 → 1.0.3) and predicates (1.0.6 → 1.0.7).
Contributors
@mcharsley, @Arcterus, @dahc, @ilius, @sylvestre, @rofrol, @bippityboppity, Lei Zhang, Jeremy Soller and cnd.