Skip to content

Latest commit

 

History

History
663 lines (517 loc) · 39.3 KB

CHANGELOG.md

File metadata and controls

663 lines (517 loc) · 39.3 KB

Changelog

[0.24.2] - 2024-10-06

Features

  • Drop legacy binding updates

Bug Fixes

  • templates: Properly replace author email

Build System and CI

  • bindings: Improve cmake file
  • cmake: Support amalgamated build
  • cmake: Correct library scopes
  • make: Fix tree-sitter.pc generation (#3745)

Other

  • templates: Update npm packages

[0.24.1] - 2024-10-04

Bug Fixes

  • generate: Move generated header files into the generate crate

Other

  • 0.24.1

[0.24.0] - 2024-10-04

Breaking

Features

Bug Fixes

Documentation

Refactor

  • Improve the grammar schema
  • cli: Break out subcommand logic into separate functions (tree-sitter#3676)

Build System and CI

Other

[0.23.2] - 2024-10-01

This release only corrected the version in a crate so publishing wouldn't fail.

[0.23.1] - 2024-09-30

Features

  • bindings: Bump go-tree-sitter version
  • generate: Bump tree-sitter dev dependency to 0.23
  • language: Derive Clone and Copy on LanguageFn

Bug Fixes

  • Correct comment quote
  • Properly handle utf8 code points for highlight and tag assertions
  • Do not generate spurious files if the grammar path is not the default path
  • Disallow empty string literals in rules
  • Correct test name parsing when the prior test has equal signs
  • Handle more cases of editing subtrees that depend on column values
  • Exclude APIs that dup given file descriptors from WASI builds
  • binding_web: Correct edit signature
  • binding_web: Remove nonexistent function definition
  • cli: Remove conflicting short flags in the fuzz subcommand
  • cli: Keep skipped tests unchanged in the test/corpus
  • cli: Remove duplicate short options from fuzz command (#3635)
  • docs: Fix highlight readme example using compatible versions
  • fuzz: Skip tests marked with :skip & don't report errors on tests marked with :error
  • generate: Remove necessary files from gitignore template
  • generate: Disallow inline variables referencing themselves
  • generate: Add tree-sitter to the dev-dependencies of the Cargo.toml
  • generate: Do not generate large character sets for unused variables
  • generate: Remove excludes in Package.swift
  • lib: Correct extra node creation from non-zero root-alias cursors
  • lib: Backtrack to the last relevant iterator if no child was found
  • lib: Peek at the next sibling when iterating to find the child that contains a given descendant
  • lib: Correct descendant-for-range behavior with zero-width tokens
  • rust: Add missing TSNode functions
  • test: Exit with an error if a test marked with :error has no error
  • test: Retain attributes when running test -u
  • wasm: Use / paths for workdir

Build System and CI

  • deps: Bump the cargo group across 1 directory with 11 updates
  • make: Support darwin cross-compile

Other

  • bindings: Update rust lib docs

[0.23.0] - 2024-08-26

Breaking

Features

Bug Fixes

Performance

  • Hoist out common subexpressions in satisfies_text_predicates (tree-sitter#3397)

Documentation

Refactor

Testing

Build System and CI

Other

[0.22.6] — 2024-05-05

Features

Bug Fixes

  • Correctly load field data from wasm languages
  • Improve error message when the tree-sitter field is malformed
  • Don't error out on package.json lookup errors if --no-bindings is passed (tree-sitter#3323)
  • cli: Keep default cc flags in build
  • cli: Properly account for multi-grammar repos when using docker to build a wasm parser (tree-sitter#3337)
  • generate: Don't check arbitrarily named dirs
  • generate: Take AsRef<Path> for the path parameter to avoid clones (tree-sitter#3322)
  • highlight: Correct signature of ts_highlighter_add_language
  • lib: Do not return field names for extras (tree-sitter#3330)
  • lib: Advance the lookahead end byte by 4 when there's an invalid code point (tree-sitter#3305)
  • rust: Update README example (tree-sitter#3307)
  • rust: Use unix + wasi cfg instead of not windows for fd (tree-sitter#3304)
  • test: Allow newlines in between test name and attribute
  • wasm: Correct childrenFromFieldXXX method signatures (tree-sitter#3301)
  • xtask: Always bump every crate in tandem
  • zig: Make usable as a zig dependency (tree-sitter#3315)

Documentation

  • Mention build command variables
  • Swap \s for \\s in query example
  • highlight: Typo (tree-sitter#3290)

Refactor

Build System and CI

[0.22.5] — 2024-04-14

Bug Fixes

[0.22.4] — 2024-04-12

Bug Fixes

  • Fix sorting of transitions within a lex state
  • Include 2-character ranges in array-based state transitions

Build System and CI

  • Always bump at least the patch version in bump xtask

[0.22.3] — 2024-04-12

Features

  • Add strncat to wasm stdlib
  • Generate simpler code for matching large character sets (tree-sitter#3234)
  • When loading languages via WASM, gracefully handle memory errors and leaks in external scanners (tree-sitter#3181)

Bug Fixes

Performance

  • cli: Reduced the compile time of generated parsers by generating C code with fewer conditionals (tree-sitter#3234)

Documentation

  • Add NGINX grammar

Refactor

  • parser: Make REDUCE macro non-variadic (tree-sitter#3280)
  • js: Misc fixes & tidying
  • rust: Misc fixes & tidying

Testing

Build System and CI

[0.22.2] — 2024-03-17

Breaking

  • cli: Add a separate build command to compile parsers

Features

Bug Fixes

Documentation

Refactor

Testing

Build System and CI

[0.22.1] — 2024-03-10

Bug Fixes

  • Cli build script behavior on release

[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 (tree-sitter#2838)
  • bindings: Convert node bindings to NAPI (tree-sitter#3077)
  • wasm: Make current*, is*, and has* methods properties (tree-sitter#3103)
  • wasm: Keep API in-line with upstream and start aligning with node (tree-sitter#3149)

Features

  • Add xtasks to assist with bumping crates (tree-sitter#3065)
  • Improve language bindings (tree-sitter#2438)
  • Expose the allocator and array header files for external scanners (tree-sitter#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 (tree-sitter#3126)
  • node: Type tag the language (tree-sitter#3109)
  • test: Add attributes for corpus tests

Bug Fixes

Documentation

Refactor

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

Testing

Build System and CI

Other

  • Make Node.js language bindings context aware (tree-sitter#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 (tree-sitter#3068)
  • Use workspace dependencies for internal crates like Tree-sitter (tree-sitter#3076)
  • Remove vendored wasmtime headers (tree-sitter#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 (tree-sitter#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 (tree-sitter#3111)
  • docs: Add Ohm language parser (tree-sitter#3114)
  • Delete binding_files.rs (tree-sitter#3106)
  • bindings: Consistent wording (tree-sitter#3096)
  • bindings: Ignore more artifacts (tree-sitter#3119)

[0.21.0] — 2024-02-21

Breaking

  • Remove the apply-all-captures flag, make last-wins precedence the default

    NOTE: This change might cause breakage in your grammar's highlight tests. Just flip the order around of the relevant queries, and keep in mind that the last query that matches will win.

Features

  • Use lockfiles to dedup recompilation
  • Improve error message for files with an unknown grammar path (tree-sitter#2475)
  • Implement first-line-regex (tree-sitter#2479)
  • Error out if an empty string is in the extras array
  • Allow specifying an external scanner's files (tree-sitter#3031)
  • Better error info when a scanner is missing required symbols
  • cli: Add an optional grammar-path argument for the playground (tree-sitter#3014)
  • cli: Add optional config-path argument (tree-sitter#3050)
  • loader: Add more commonly used default parser directories

Bug Fixes

  • Prettify xml output and add node position info (tree-sitter#2970)
  • Inherited grammar generation
  • Properly error out when the word property is an invalid rule
  • Update schema for regex flags (tree-sitter#3006)
  • Properly handle Query.matches when filtering out results (tree-sitter#3013)
  • Sexp format edge case with quoted closed parenthesis (tree-sitter#3016)
  • Always push the default files if there's no externals
  • Don't log NUL characters (tree-sitter#3037)
  • Don't throw an error if the user uses map in the grammar (tree-sitter#3041)
  • Remove redundant imports (tree-sitter#3047)
  • cli: Installation via a HTTP tunnel proxy (tree-sitter#2824)
  • cli: Don't update tests automatically if parse errors are detected (tree-sitter#3033)
  • cli: Don't use long for grammar_path
  • test: Allow writing updates to tests without erroneous nodes instead of denying all of them if a single error is found
  • test: Edge case when parsing UNEXPECTED/MISSING nodes with an indentation level greater than 0
  • wasm: Remove C++ mangled symbols (tree-sitter#2971)

Documentation

Refactor

Testing

Build System and CI

Other