Releases: CodeIntelligenceTesting/jazzer.js
Releases · CodeIntelligenceTesting/jazzer.js
Release 1.1.0
Summary
So many great new features landed in Jazzer.js, it's high time for a new release.
Here is just a short overview of the major additions:
- Support for custom hooks / bug detectors via the hooking framework
It's now possible to define custom hooks to detect errors, guide the fuzzer or overcome fuzzing obstacles. Check out the Custom Hooks documentation for detailed information. - FuzzedDataProvider available in fuzz targets
Using rawBuffer
s in fuzz targets is kind of ugly and error prone.FuzzedDataProvider
provides a nice wrapper around the fuzzer input to easily consume different data types. - Support for
done
-callback based fuzz tests
Fuzzing callback based code got easier now as Jazzer.js natively supports this use-case. Take a look at Done callback based execution. - Initial ECMAScript support
ECMAScript modules can now be loaded by Jazzer.js. This is the first step towards general ESM support. In the next step a customLoader
needs to be developed to provide proper code instrumentation. It's on the way, stay tuned! - Jest integration
The mission of Jazzer.js is to provide a great fuzzer for the JavaScript ecosystem and make fuzzing as easy as possible. And what could be easier than to use the tools you already know and have integrated into your development workflow? That is why we created a Jest integration, which allows you to write fuzz tests as easy as, and also quite similar to, normal unit tests. Please take a look at the Jest integration documentation.
Have fun with this new Jazzer.js release 🍰
What's Changed
- Ungated link to recorded live session by @thiamthiam in #114
- Fix prebuild upload on windows by @bertschneider in #115
- Jazzer.js hooking framework by @kyakdan in #120
- Bug fix: remove empty lines from tests and babel's output by @oetr in #171
- Add custom hooks user API by @oetr in #169
- Update to cmake-js major release version 7 by @bertschneider in #173
- Add FuzzedDataProvider by @oetr in #188
- Initial Jest Integration by @bertschneider in #195
- Cleanly shutdown libfuzzer thread in async mode by @oetr in #197
- Use Our LLVM fork by @kyakdan in #199
- Enable dependabot in all npm workspaces by @bertschneider in #210
- Mark fuzz tests without seed files as skipped by @bertschneider in #198
- Only run one fuzz test in fuzzing mode by @bertschneider in #202
- Remove libFuzzer in regression mode by @bertschneider in #213
- Save files generated during fuzzing in a dedicated directory by @oetr in #212
- Add done callback pattern support to fuzzer by @bertschneider in #204
- Initial support for ECMAScript modules by @0xricksanchez in #239
- Resolve naming conflict for [f|F]uzzTarget by @0xricksanchez in #242
- Add support for Jest's setup and teardown hooks by @oetr in #233
- Add CONTRIBUTING.md by @0xricksanchez in #243
- Add Jest integration documentation by @bertschneider in #244
- Verify raised errors in tests by @bertschneider in #256
- Complement unit with fuzz tests by @bertschneider in #261
- Support source maps by @bertschneider in #266
- Introduce a verbose flag for debug output by @0xricksanchez in #260
- Fix typo in docs by @flipsi in #269
- Fix default includes/excludes in Jest integration by @bertschneider in #267
- Use llvm-config to set env variables by @bertschneider in #75
- Use llvm-config to set environment variables for macOS prebuilds by @kyakdan in #273
- Minor CI improvements by @kyakdan in #274
- Build M1 mac artifacts in release pipeline by @bertschneider in #279
New Contributors
- @oetr made their first contribution in #171
- @0xricksanchez made their first contribution in #239
- @flipsi made their first contribution in #269
Full Changelog: v0.0.1...v1.1.0
Release 1.0.1
Summary
TODO: If there are a lot of changes in this release, please highlight the
most important ones in this section
What's Changed
- Detect timeouts in async fuzzing mode by @bertschneider in #94
- Dependabot updates have to honor PR checks by @bertschneider in #97
- Update README.md by @thiamthiam in #102
- Update webcast info in readme by @bertschneider in #112
Full Changelog: v1.0.1...v0.0.1
Release 1.0.1
Summary
This is the first release of Jazzer.js 🎉
Please have a look at the documentation to get to know all the available features.
What's Changed
- Add an example program to fuzz by @sebastianpoeplau in #1
- libfuzzer plugin by @sebastianpoeplau in #3
- Initial fuzzing instrumentation by @kyakdan in #4
- Connect the instrumentor with the fuzzer by @sebastianpoeplau in #6
- Handle CLI options by @bertschneider in #5
- coverage counters by @kyakdan in #8
- tie all together by @kyakdan in #9
- Evaluate MVP with real-world projects by @kyakdan in #10
- Improvements by @kyakdan in #11
- Enable value profiling by @kyakdan in #23
- Refactor examples by @kyakdan in #25
- Add an option to perform a dry run by @kyakdan in #26
- Access fuzzer only through exported functions by @bertschneider in #32
- Expand the fuzzer API to enable more feedback signals to the fuzzer by @kyakdan in #31
- Document the planned architecture by @bertschneider in #2
- Upload prebuild artifacts in CI pipeline by @bertschneider in #39
- Async support by @kyakdan in #47
- Add dependabot automerge action by @bertschneider in #58
- Add Jazzer.js logo by @kyakdan in #52
- Restrict npm build command by @bertschneider in #59
- Minor improvements in docs and comments by @sebastianpoeplau in #64
- Fix GCC 12 build errors by @bertschneider in #62
- Add TypeScript example by @bertschneider in #63
- Refactor crash printing by @kyakdan in #60
- Handle sync response in async fuzzing mode by @bertschneider in #67
- Add async documentation and example by @bertschneider in #61
- Only build libfuzzer from compiler rt by @kyakdan in #68
- Minor cpp cleanup by @sebastianpoeplau in #69
- Use constant seed for fuzzer tests to make them deterministic by @kyakdan in #72
- Add Windows to the tests and prebuilds by @kyakdan in #71
- Release 1.0 by @bertschneider in #76
- Fix release artifact build pipeline by @bertschneider in #77
New Contributors
- @sebastianpoeplau made their first contribution in #1
- @bertschneider made their first contribution in #5
- @dependabot made their first contribution in #16
Full Changelog: https://github.com/CodeIntelligenceTesting/jazzer.js/commits/v1.0.1