This document lists important changes in AFL++, for example, major behavior changes.
With AFL++ 4.00, we introduced the following changes from previous behaviors:
With AFL++ 3.15, we introduced the following changes from previous behaviors:
-Ci now descend into subdirectories like afl-fuzz -i does (but note that afl-cmin.bash does not)With AFL++ 3.14, we introduced the following changes from previous behaviors:
-M main anymoreWith AFL++ 3.10, we introduced the following changes from previous behaviors:
-t option now means to auto-calculate the timeout with the value given being the maximum timeout. The original meaning of “skipping timeouts instead of abort” is now inherent to the -t option.With AFL++ 3.00, we introduced changes that break some previous AFL and AFL++ behaviors and defaults:
instrumentation/ folder.-M or -S is specified, -S default is assumed, so more fuzzers can easily be added later-i input directory option now descends into subdirectories. It also does not fail on crashes and too large files, instead it skips them and uses them for splicing mutations-m none is now the default, set memory limits (in MB) with, e.g., -m 250-M) and can be enabled with -DTESTCASE_CACHE or by specifying the environment variable AFL_TESTCACHE_SIZE (in MB). Good values are between 50-500 (default: 50).-M mains do not perform trimmingexamples/ got renamed to utils/libtokencap/, libdislocator/, and qdbi_mode/ were moved to utils/PATH and last in AFL_PATH