Skip to content

0.6.0

Latest
Compare
Choose a tag to compare
@nth10sd nth10sd released this 20 Feb 04:23
· 314 commits to master since this release

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 and enableShapeConsistencyChecks()
  • compare_jit: Ignore Object.getOwnPropertyNames, dumpScopeChain, addMarkObservers, clearMarkObservers and getMarks
  • 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, old unittest-related code has been removed
  • Switch to using --stream when running hg clone, on Travis
  • shellcheck and bashate 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