What's Changed
- Add statistics. Move client stats from Monitor to EventManager by @Evian-Zhang in #2940
- Update MIGRATION by @Evian-Zhang in #2947
- Move to just by @tokatoka in #2924
- Small improvements for Qemu by @celi0n in #2938
- Revert "Move to just " by @tokatoka in #2951
- Move start_time to ClientStatsManager by @Evian-Zhang in #2948
- Fix clippy by @Evian-Zhang in #2954
- Remove base-pattern for Monitor by @Evian-Zhang in #2953
- Better type_eq by @addisoncrump in #2946
- Properly use in_handler by @tokatoka in #2957
- Move to Just by @tokatoka in #2952
- Don't panic inside sig handler by @tokatoka in #2958
- Add global stats cache by @Evian-Zhang in #2956
- Update strum_macros requirement from 0.26.4 to 0.27.0 by @dependabot in #2961
- Update color-backtrace requirement from 0.6.1 to 0.7.0 by @dependabot in #2960
- Update strum requirement from 0.26.3 to 0.27.0 by @dependabot in #2959
- Move statistics to monitors/stats by @domenukk in #2962
- Change combine_monitors macro to be tuple_list of Monitors by @domenukk in #2963
- Change qemu_cmin to use snapshots by @WorksButNotTested in #2939
- Add SnapshotModule to qemu_launcher by @WorksButNotTested in #2887
- Add a functionality to see the current qemu mappings. by @tokatoka in #2971
- Add getter method to QemuMappingsViewer by @tokatoka in #2973
- Add StatsD monitor by @Evian-Zhang in #2969
- Use expect instead of allow for clippy cast_precision_loss by @Evian-Zhang in #2974
- Remove outdated comment in QEMU_Launcher by @domenukk in #2975
- Fix brk() handling for snapshot module by @tokatoka in #2970
- Fix libafl_targets macros for windows by @tokatoka in #2976
- Move to just (binary_only / full_system) by @rmalmain in #2949
- Align addresses before calling qemu.unmap in Snapshot module by @tokatoka in #2978
- Replace "cargo make" to "just" in md files by @tokatoka in #2979
- Separate addr2line code from asan module by @tokatoka in #2980
- Try to solve corpus issue related to #2981 by @domenukk in #2982
- Pr/fasan multithreading fixes upstream by @mkravchik in #2955
- Add support for Unicorn engine by @henri2h in #1054
- Better addr2line by @tokatoka in #2989
- Improvements for QEMU_Launcher by @domenukk in #2983
- Fix unicorn by @henri2h in #2991
- chore: adds check for riscv64 and riscv32 archs by @dimeko in #2993
- Update errno requirement from 0.2 to 0.3 by @dependabot in #2994
- Better error for libafl_cc when binaries are not found by @rmalmain in #2988
- Bump Libipt 0.3, add HW breakpoints by @Marcondiro in #2984
- Fixes #2966 and #2967: Ensure DRCOV unique IDs and max 4GiB ranges. by @forky2 in #2968
- PR Template by @tokatoka in #2997
- Update CONTRIBUTING.md to forbid cyclic dependency by @tokatoka in #2999
- Asan guest fix by @WorksButNotTested in #2986
- Change type generic of ValueInput from I to T by @domenukk in #3001
- Fix build for libfuzzer_libpng in ubuntu 24 by @rmalmain in #2987
- Refactor stages by @tokatoka in #3002
- Replay stage by @tokatoka in #3003
- Restartable trait by @tokatoka in #3004
- Fix replay by @tokatoka in #3007
- Add
add_metadata_checked
method by @tokatoka in #3008 - Introduce ListInput by @riesentoaster in #2972
- Add logics monitors by @Evian-Zhang in #3011
- Add try_insert for SerdeAnyMap by @tokatoka in #3012
- Add statsd monitor documentation by @Evian-Zhang in #2996
- Fix finish_stage call by @tokatoka in #3014
- Add PR description place by @domenukk in #3016
- Add precommit script by @domenukk in #3018
- Fix Clippy for Rust 1.85 by @domenukk in #3017
- Add auto format to settings.json.default, format documentation and macros by @domenukk in #3019
- Improved calling convention support for x86, x86_64, arm and aarch64 for libafl-qemu by @celi0n in #3013
- More LibAFL_QEMU Launcher things by @domenukk in #3000
- Update dockerfile by @WorksButNotTested in #3020
- Update fastbloom requirement from 0.8.0 to 0.9.0 by @dependabot in #3021
- scripts/test_fuzzer.sh: correct working directory by @ColinSeibel in #3024
- Disable windows-libfuzzer-asan by @tokatoka in #3025
- Update ctor requirement to 0.4.0 by @dependabot in #3005
- Rust 2024 edition by @domenukk in #3022
- Move all unnecessary std uses to core,alloc by @domenukk in #3027
- Remove aarch64, arm, i386, ppc tests from CI by @tokatoka in #3028
- Abort on triple fault for in process executors, refactor AddressFilter and PageFilter by @rmalmain in #3026
- Update LLVM in CI by @tokatoka in #3032
- Revert #2935 by @tokatoka in #3031
- Make corpus and solution not mutually exclusive by @tokatoka in #3029
- Disable CI that uses self-hosted runner by @tokatoka in #3039
- Disable CI that uses self-hosted runner by @tokatoka in #3040
- Delete useless file by @tokatoka in #3041
- libafl_qemu: access() size can be zero. by @forky2 in #3038
- Implementation of
SAND: Decoupling Sanitization from Fuzzing for Low Overhead
by @wtdcode in #3037 - Fix implementation of UniqueTrace and add UnclassifiedTrace by @wtdcode in #3046
- Fix snapshot module by @tokatoka in #3047
- Revive self-hosted CI by @tokatoka in #3045
- Forbid overwriting MapIndexesMetadata by @tokatoka in #3048
- Debug windows CI by @tokatoka in #3051
- convert share_objectives into a runtime option by @dhanvithnayak in #3033
- Debug Windows CI (again) by @tokatoka in #3052
- Add more debugging tips by @tokatoka in #3056
- Remove AdaptiveSerializer, Send off interesting testcase from crash handler, Add clearer error message by @tokatoka in #3053
- Add build option for FuzzerInterceptors by @novafacing in #3049
- Cleanup for #3035 by @tokatoka in #3059
- Update pyo3-build-config requirement from 0.23.2 to 0.24.0 by @dependabot in #3058
- Update cargo_toml requirement from 0.21.0 to 0.22.0 by @dependabot in #3057
- Librasan by @WorksButNotTested in #3023
- librasan: tiny fixes to make it build by @s1341 in #3065
- Auto-implement Rand for (normal, rusty rng) CoreRng types, fixes #3060 by @domenukk in #3064
- Partially Revert #3029 and #3053 by @tokatoka in #3063
- Fix usage of TracingStage by @tokatoka in #3062
- Fix wrong path in Justfile by @tokatoka in #3068
- Bring back #3029 by @tokatoka in #3067
- Fix metadata addition when solution is found by @tokatoka in #3069
- Track lockfiles by @rmalmain in #3015
- Update which requirement from 6.0.3 to 7.0.2 by @dependabot in #3075
- Added heap feature by @WorksButNotTested in #3074
- Hide Forkserver::new() API by @tokatoka in #3076
- Soft recovery from crashes in libafl qemu usermode by @rmalmain in #3073
- Update winsafe requirement from 0.0.22 to 0.0.23 by @dependabot in #3034
- Total execs by @WorksButNotTested in #3078
- Fix LibAFL QEMU race condition between main loop and a vcpu by @rmalmain in #3072
- Fix qemu snapshot module unmap by @rmalmain in #3084
- Fix git pager (needs less, not cat, for expected behaviour). by @forky2 in #3085
- Make Qemu.mmap public and accept fd as the argument by @tokatoka in #3083
- Fixup libafl_libfuzzer with new nightly internal symbol mangling by @addisoncrump in #3093
- Add ASAN filter by @WorksButNotTested in #3089
- Add redirect stdin module by @tokatoka in #3077
- Update typed-builder requirement from 0.20.0 to 0.21.0 by @dependabot in #3096
- More stable
just test
forlibfuzzer_stb_image_sugar
by @tokatoka in #3097 - Proposed fix for #3094, issue with trace-cmp by @DanBlackwell in #3095
- Commandline args handling for binary only target on libafl_qemu by @tokatoka in #3098
- Fix clippy by @rmalmain in #3102
- Change ptr::eq to ptr::addr_eq where semantically more correct by @domenukk in #3105
- 0.15.2 by @tokatoka in #3104
- Update QEMU to v9.2.2 by @rmalmain in #3088
- Various updates to
librasan
by @WorksButNotTested in #3106 - upgrade pyo3 0.23.2 -> 0.24.0 by @jejuisland87654 in #3107
- Enable building libpng on CI without using GUI by @dkoch144 in #3110
- update libnyx by @tokatoka in #3111
- Change GuestTracking to use a BTreeSet to remove performance bottleneck by @WorksButNotTested in #3112
- Memset by @WorksButNotTested in #3113
New Contributors
- @dimeko made their first contribution in #2993
- @forky2 made their first contribution in #2968
- @ColinSeibel made their first contribution in #3024
- @dkoch144 made their first contribution in #3110
Full Changelog: 0.15.1...0.15.2