- BREAKING CHANGE: Remove
--offlineincargo-test-fuzz(31bbf29) - BREAKING CHANGE: Remove
pubfromrun_without_exit_code(d4e71a8) - BREAKING CHANGE: Eliminate use of snake case for function names (546cf8c)
- Dependency updates
heckremoved
- Documentation improvements (6bb0b90, cbcb4ac, and b2bb36f)
- FEATURE: Add warning for missing
test_fuzzattributes intest_fuzz_implblocks (cca7099)—thanks @HiteshMittal07 - Add location information to "No
test_fuzz" warning (75124a2) - FEATURE: Add experimental support for generating coverage (20cd470, f8af264, c4b2b8e, and cb7dbed)
- Warn when generating coverage for non-trivial functions (8e052ec)
- Make
postcardthe default serialization format (cc73c48) - Dependency updates
darlingupgraded to version 0.23rlimitupgraded to version 0.11 and made a Linux only dependencystrum_macrosupgraded to version 0.28subprocessupgraded to version 1.0toml_editupgraded to version 0.25
- Eliminate use of
if_chain(#605)
- Do not terminate parallel fuzzing for all targets when some targets cannot be started (#593)—thanks @arington-halabi
- Eliminate two
clonecalls intest_fuzzmacro (fe57fe2)
- Upgrade
darlingto version 0.21 (#580)
- Expand
--displayand--replaydocumentation in README.md (#537)—thanks @kilnhast - Expand
cargo-test-fuzzlibrary documentation (#545)—thanks @markv44 - FEATURE: Warn when a
test-fuzz-generated fuzzing harness is run withoutTEST_FUZZ=1(#551) - FEATURE: Improve parallel fuzzing UI. Each target's output is now displayed in its own panel. (#555)
- Upgrade
bincodeto version 2 (#532)
- FEATURE: Add
--releaseflag (#517)—thanks @YanVictorSN - Update
strum_macrosto version0.27(#519) - Fix a bug causing
--no-uito not work (#521) - Have "Could not find 'Testing aborted programmatically' in command output" generate a distinguished error message (d150dd3)
- Rather than re-execute failed commands, debug print their messages (e0917e4)
- Fix package/module name collision bug (#522)—thanks @anishnaik for the bug report
- Eliminate reliance on
once_cell(61bba16)
- Fix error message that is printed when multiple Serde formats are selected (#498)
- Update
itertoolsto version0.14(#497)
- Update
cargo_metadatato version0.19(#487)
- Improve documentation (#461)
- BREAKING CHANGE: Store corpora, crashes, hangs, and work queue as structs rather than tuples. This change could cause users' existing corpora, etc. to no longer work. Hence, we are considering this a breaking change. However, future similar format changes may not be considered breaking. This change is to facilitate PR #476. (#480)
- Support Serde field attributes on function arguments (#476 and #485)
- BREAKING CHANGE: No longer pass
-Dtocargo afl fuzz. This is a breaking change for users ofcargo-aflversion 0.15.4 (or earlier), which relies on AFL++ version 4.10.c (or earlier). As of version 4.20.c, AFL++ ignores-D. (#434) - Pass
-c-tocargo afl fuzz(6e6c955) - Update
option_setto version0.3(#439) - BREAKING CHANGE: Remove deprecated options
--concretize,--concretize-impl, and--only-concretizations(#443 and #449) - BREAKING CHANGE: Remove deprecated CBOR formats (#445)
- BREAKING CHANGE: Make
self_ty_in_mod_namethe default (#444) - Shorten
--pretty-printto--pretty, but keep the former as an alias (#448) - BREAKING CHANGE: Make
--no-instrumentationthe default. The option remains for now, but is ignored. (#447)
- Account for changes to
cargo afl --version(#422)
- Eliminate unnecessary dependence on
paste(#398) - Update
itertoolsto version0.13(#400) - Update
mioto version1.0(#406) - Eliminate duplicate "AFL LLVM runtime was not built..." messages (#415)
- Fix a bug causing incorrect exit codes to be produced (3ab762f)
- FEATURE:
cargo-test-fuzznow fuzzes all targets matchingTARGETNAMEconcurrently, using at most all but one available cpu by default. IfTARGETNAMEis omitted, thencargo-test-fuzzfuzzes all targets concurrently. If there are not sufficiently many cpus to fuzz all targets simultaneously, then they are fuzzed in a time-sliced manner, in intervals of 20 minutes by default. (c36d10d and 8f36a0b)
- FEATURE: Add
cast_checksfeature (#384)
- BREAKING CHANGE: Remove
auto_concretizefeature (#336) - FEATURE: Add
--max-total-timeoption (#323) - FEATURE: Add
self_ty_in_mod_namefeature (#328) - Fix typo in
cargo-test-fuzzhelp message (#325) - Deprecate
concretizationsterminology in favor ofgeneric-args(#340) - Give correct advice for installing
cargo-aflwhen it cannot be found (9101dbe) - Properly handle receiverless trait functions (#346)
- Add
auto_concretizedeprecation message (#305)
- Fix install command in documentation (#294)—thanks @maxammann
- Other documentation improvements (#295, #297, #298, #300)
- Add unstable utility functions
serialize_ref_mutanddeserialize_ref_mut(#301)
- Significant refactoring regarding Serde format handling and Cargo feature use, but users should experience no differences (#284)
- Correct error message when
cargo-aflcannot be found (#286)
- Remove last reference to
syn1.0 (#244)
- BREAKING CHANGE: The
--timeoutoption now uses seconds instead of milliseconds (#219)—thanks @dhruvdabhi101 - BREAKING CHANGE: The following deprecated options/functions have been removed (#234):
- Options
--display-<OBJECT>(use--display <OBJECT>with no hyphen) - Options
--replay-<OBJECT>(use--replay <OBJECT>with no hyphen) - Option
--target <TARGETNAME>(use just<TARGETNAME>) - Function
cargo_test_fuzz
- Options
- BREAKING CHANGE:
test-fuzzis now licensed and distributed under the AGPLv3 license with the Macros and Inline Functions Exception. See the README for additional details. (#241) - Fix a bug involving mutable slices and
strs (#230)—thanks @0xalpharush for reporting the bug
- Update dependencies, including
aflto version 0.13.0 (c1707f5)
- Update help message (#153)
- Work around "pizza mode" bug (#137)
- Simplify command line interface (#120)
- Handle unused lifetime parameters (#116)
- BREAKING CHANGE: Make
aflan optional dependency enabled by--persistent. This is a breaking change in the following sense. If one tries to usecargo-test-fuzz2.0.x with a target compiled with the new version oftest-fuzz, one will receive a... does not depend on `afl`error. (#114)
- Improvements and bug fixes related to the
convertoption (#107, #109, and #111) - Add
--verboseoption (#108)
- Eliminate use of
std::array::IntoIter::new(#106)
- Handle structs with lifetime parameters (#103)
- Update afl requirement from =0.11.1 to =0.12.0 (77a837d)
- It is no longer necessary to specify
default-feature = falsewhen selecting a Serde format. (#81 and #85) - Add
cbor4iias a Serde format (0518100)
- Add
leak!convenience macro (cc74b10) - Properly handle case of uninstalled
cargo-afl(436bc6e) - DEPRECATED:
--targetis no longer needed to name targets (117580a) - BREAKING CHANGE: Retire builtin serialization/deserialization support for
Arcin favor ofserde's (31c41b2)
- Account for features and manifest path when obtaining Cargo metadata (#64)
- Add
--exit-codeoption (8bcbc2f)
- Support lifetime arguments (beae251)
- Allow conversion of types beyond path types (6a1595f)
- Fully qualify Result in dont_care macro (fe598af)
- Add
auto_concretizefeature (408e4c2) - Add
convert(605f050) andexecute_with(5742988)test-fuzzmacro options - Add
--manifest-path(5a45236) and--test(d080686)cargo-test-fuzzoptions - Allow
--featuresto be passed more than once (15d89ae) - Better error reporting (6ceff54)
- BREAKING CHANGE:
TEST_FUZZ_LOGcan be set to a crate name (a9b9d21) - BREAKING CHANGE:
no_autois nowno_auto_generate(100fae4)
- Initial release