Skip to content

v0.22.0

Compare
Choose a tag to compare
@github-actions github-actions released this 10 Mar 21:26
· 158 commits to master since this release
0a5a564

Changelog

[0.22.0] — 2024-03-10

Breaking

  • Remove top-level corpus dir for tests
    The cli will now only look in test/corpus for tests
  • Remove redundant escape regex & curly brace regex preprocessing (#2838)
  • bindings: Convert node bindings to NAPI (#3077)
  • wasm: Make current*, is*, and has* methods properties (#3103)
  • wasm: Keep API in-line with upstream and start aligning with node (#3149)

Features

  • Add xtasks to assist with bumping crates (#3065)
  • Improve language bindings (#2438)
  • Expose the allocator and array header files for external scanners (#3063)
  • Add typings for the node bindings
  • Replace nan with node-addon-api and conditionally print logs
  • bindings: Add more make targets
  • bindings: Add peerDependencies for npm
  • bindings: Add prebuildify to node
  • bindings: Remove dsl types file (#3126)
  • node: Type tag the language (#3109)
  • test: Add attributes for corpus tests

Bug Fixes

  • Apply some scan-build suggestions (unused assignment/garbage access) (#3056)
  • Wrap || comparison in parentheses when && is used (#3070)
  • Ignore unused variables in the array macros (#3083)
  • binding.cc overwrite should replace PARSER_NAME (#3116)
  • Don't use __declspec(dllexport) on windows (#3128)
  • Parsers should export the language function on windows
  • Allow the regex v flag (#3154)
  • assertions: Case shouldn't matter for comment node detection
  • bindings: Editorconfig and setup.py fixes (#3082)
  • bindings: Insert types after main if it exists (#3122)
  • bindings: Fix template oversights (#3155)
  • cli: Only output the sources with --no-bindings (#3123)
  • generate: Add .npmignore, populate Swift's exclude list (#3085)
  • generate: Extern allocator functions for the template don't need to be "exported" (#3132)
  • generate: Camel case name in Cargo.toml description (#3140)
  • lib: Include api.h so ts_set_allocator is visible (#3092)

Documentation

  • Add GitHub user and PR info to the changelog
  • Add css for inline code (#2844)
  • Document test attributes
  • Add Ohm language parser
  • Remove duplicate the's (#3120)
  • Add discord and matrix badges (#3148)

Refactor

  • Rename TS_REUSE_ALLOCATOR flag (#3088)
  • Remove extern/const where possible
  • array: Use pragma GCC in clang too
  • bindings: Remove npmignore (#3089)

Testing

  • Don't use TS_REUSE_ALLOCATOR on Darwin systems (#3087)
  • Add test case for parse stack merging with incorrect error cost bug (#3098)

Build System and CI

  • Improve changelog settings (#3064)
  • Unify crate versions via workspace (#3074)
  • Update cc to remove annoying debug output (#3075)
  • Adjust dependabot settings (#3079)
  • Use c11 everywhere
  • Add uninstall command
  • Don't skip tests on failing lint (#3102)
  • Remove unused deps, bump deps, and bump MSRV to 1.74.1 (#3153)
  • bindings: Metadata improvements
  • bindings: Make everything c11 (#3099)
  • dependabot: Update weekly instead of daily (#3112)
  • deps: Bump the cargo group with 1 update (#3081)
  • deps: Bump the cargo group with 1 update (#3097)
  • deps: Bump deps & lockfile (#3060)
  • deps: Bump the cargo group with 4 updates (#3134)
  • lint: Detect if Cargo.lock needs to be updated (#3066)
  • lint: Make lockfile check quiet (#3078)
  • swift: Move 'cLanguageStandard' behind 'targets' (#3101)

Other

  • Make Node.js language bindings context aware (#2841)
    They don't have any dynamic global data, so all it takes is just declaring them as such
  • Fix crash when attempting to load ancient languages via wasm (#3068)
  • Use workspace dependencies for internal crates like Tree-sitter (#3076)
  • Remove vendored wasmtime headers (#3084)
    When building rust binding, use wasmtime headers provided via cargo
    by the wasmtime-c-api crate.
  • Fix invalid parse stack recursive merging with mismatched error cost (#3086)
    Allowing this invalid merge caused an invariant to be violated
    later on during parsing, when handling a later error.
  • Fix regression in subtree_compare (#3111)
  • docs: Add Ohm language parser (#3114)
  • Delete binding_files.rs (#3106)
  • bindings: Consistent wording (#3096)
  • bindings: Ignore more artifacts (#3119)