0.6.x supports Python 3.6+ only.
Features:
- funbind: Experimental integration with binaryen landed (Linux-only) (#219)
- funbind: binaryen version bumped to 68
- jsfunfuzz: Initial support for mark bit and gray root functions,
newGlobal({newCompartment: true})
,Object.values
,Object.[get|set]PrototypeOf
andenableShapeConsistencyChecks()
- compare_jit: Ignore
Object.getOwnPropertyNames
,dumpScopeChain
,addMarkObservers
,clearMarkObservers
andgetMarks
- randorderfuzz: support streams tests
- Use exponential backoff for wasm file execution
- Add a lock using fasteners to prevent
wasm-opt
from tripping over itself - Use exponential backoff for FuzzManager submission (#145)
- ARM64 code improvements (both simulator and native)
- ICU support bumped up to version 63
- Max gczeal value bumped up to 25
- Bump minimum macOS to be 10.13.6
- Shell builds are compiled with
--disable-cranelift
only if on m-c rev 6fcf54117a3b or later, till current m-c tip - Make workaround for compiling further back, on Linux systems with sed >= 4.3 and add tests
- Use GCC for 32-bit builds when bisecting back prior to m-c rev e1cac03485d9
- Support
--more-compartments
in most places --enable-streams
has been deprecated in favour of--no-streams
- (all code relating to Python 2.7 support have been removed)
Bugfixes:
- funbind: Disable on ARM64 Linux due to binaryen GH issue 1615
- Fixed TypeError thrown when
file_contains_str
is run after move to Python 3.6+ (#220) - Do not specify function names in
__init__.py
since we are now on Python 3.6+ to fix RuntimeWarning (#208) - Remove weights in build_options for slow devices since we do not deal with those anymore
- Remove
--ion-loop-unrolling=on/off
as per bug 1520998 - Remove flags related to
--no-wasm
from compare_jit testing, replacing with new ones, e.g.--wasm-compiler=[none|baseline|ion|baseline+ion]
- Removed some subprocess calls in favour of the more pythonic way, e.g. for gzipping code
- Remove "-backup" file logic as its support was flaky
- Tweak packaging mode to use find_packages from setuptools in setup.py
- Windows Asan binary support fixes
- Library version bumps
- Various other bugfixes
Testing-related:
- code coverage tests added (#202)
- funfuzz now uses
pytest
throughout, oldunittest
-related code has been removed - Switch to using
--stream
when running hg clone, on Travis shellcheck
andbashate
now run on Travis for bash scripts- Fast tests run on Travis for macOS and Windows
- AppVeyor integration has been removed from funfuzz
- Support pylint 2.x on Python 3 (#218)
- Add cleanup script to wipe
*.pyc
,*.pyo
files and__pycache__
dirs, run flake8, fast pytests and pylint - Various other Travis/testing bugfixes