Skip to content

v0.9.0

Choose a tag to compare

@tstromberg tstromberg released this 24 Jul 05:16

New language & format support

  • Clojure and Windows Batch AST analysis (tree-sitter)
  • AppleScript source detection
  • BEAM bytecode and FreeBSD zstd .pkg detection
  • binding.gyp parsed as JSON; Meson, Arch package metadata, and R Markdown/Quarto recognized

New facts & metrics

  • Comments exposed as a matchable string tier; JS/TS/Go backtick strings no longer misread as comments; Lisp and
    Batch comment styles added
  • New obfuscation AST metrics: operator density, numeric arrays, XOR loops, const/string-return functions, identity
    functions, and more
  • Extension/content mismatch metrics name the transition (e.g. binary_as_image), with carve-outs for benign
    conventions
  • VBA identifier metrics: mean length, entropy, distinct trigger count
  • binary.overall_entropy emitted for every file type
  • Java constructors, C# qualified names, and import aliases (import x as y) surfaced

Detection accuracy

  • Stylesheets treated as text, no longer misparsed as JavaScript
  • JS/Kotlin scoring fixed: var/let/const count for JS; === ignored in separator runs
  • Python relative imports keep their . prefix — no more false PyPI matches
  • PEs that goblin can't parse now get rizin section/import recovery

Performance & memory

  • jemalloc tuned to release freed pages immediately: peak RSS −~60%
  • JSON output streams to stdout instead of building in memory
  • Tree-sitter queries compiled once and cached

API & maintenance

  • Symbol objects slimmed: dropped source, decl, and rare rizin fields
  • Dependency updates