Skip to content

v0.4.1

Latest

Choose a tag to compare

@cmumatt cmumatt released this 27 Oct 06:18
· 8 commits to main since this release
9a3f2f1

NaNofuzz v0.4.1 introduces experimental testing support for Java and OCaml/OxCaml; a dedicated Model Context Protocol (MCP) server; an autonomous Bug Hunter mode for AI coding agents; standalone @nanofuzz/cli npm packaging; Rust AddressSanitizer and BorrowSanitizer integration; and expanded Rust type coverage.

Highlights

  • Java Support: Test Java 17+ projects using Maven or Gradle with bytecode coverage tracking, implicit and property oracles, and JUnit 5 test export.
  • OCaml & OxCaml Support: Test OCaml and OxCaml functions with native AST analysis, Dune test runner integration, and the nanofuzz_runtime opam package.
  • Model Context Protocol (MCP) Server: Run NaNofuzz as a standard MCP server (npx -y @nanofuzz/cli mcp) over stdio or SSE to equip AI agents with target discovery, fuzzing, input shrinking, and bug hunting tools.
  • Autonomous Bug Hunter Mode: Multi-turn workflow (nanofuzz_findBugs) that guides coding agents through invariant discovery, harness synthesis, and coverage-gated fuzzing to surface deep semantic defects.
  • Standalone @nanofuzz/cli Package: Install and run NaNofuzz directly in CI pipelines or terminal workflows outside of VS Code via npm/npx.
  • Rust Sanitizers: Built-in AddressSanitizer (ASan) and BorrowSanitizer support to identify memory corruption and borrow violations during fuzzing.
  • Expanded Rust & TypeScript Capabilities: Struct and primitive type expansion for Rust harnesses, alongside direct imports coverage scoping in TypeScript.

Key Changes

Features

  • Add Java support with bytecode coverage tracking, runner host, and JUnit 5 export (#657, #666, #669, #675)
  • Add OCaml and OxCaml support with Dune test adapter and opam package (#656, #660, #662, #674)
  • Add Model Context Protocol (MCP) server support with stdio and SSE transports (#661)
  • Add autonomous Bug Hunter mode and agent orchestration guidance (#659)
  • Add standalone @nanofuzz/cli npm package distribution (#649, #650, #653)
  • Add Rust AddressSanitizer (ASan) and BorrowSanitizer support (#663)
  • Support additional Rust types, structs, and primitive mappings (#655)
  • Support direct imports coverage scoping in TypeScript (#668)
  • Add compilation waiting and loading animations to the FuzzPanel UI (#654)

Performance & Engine

  • Optimize test suite execution times and CI pipeline performance (#672, #676)
  • Improve TypeScript runner coverage collection and JavaScript host isolation (#668)
  • Optimize Rust runner host communication and harness generation (#655, #671)

Fixes & Refinements

  • Fix Rust harness generation, type serialization, and cargo coverage measurements (#671, #677)
  • Improve compiler error feedback and diagnostic formatting across CLI and UI (#670)
  • Fix typed input handling and serialization in AI agent tools (#667)
  • Fix FuzzPanel initialization animations and teaser image display (#648, #664)
  • Bump dependencies: com.fasterxml.jackson.core:jackson-databind (#658), undici (#651), and fast-uri (#652)

Full Changelog: v0.4.0...v0.4.1