What's Changed
- feat: start working on v0.27 by @clason in https://github.com/tree-sitter/tree-sitter/pull/5127
- docs(cli): include information on generated files by @clason in https://github.com/tree-sitter/tree-sitter/pull/5129
- fix(docs): remove conflicting --release cargo flag in contributing.md by @arkriny in https://github.com/tree-sitter/tree-sitter/pull/5132
- fix(cli): trailing whitespace after multiline text nodes in CST by @arkriny in https://github.com/tree-sitter/tree-sitter/pull/5133
- ci: bump the actions group with 2 updates by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5137
- fix(cli): correct discrepancy with cst for
--no-rangesby @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5134 - ci: bump korthout/backport-action from 3 to 4 in the actions group by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5155
- build(deps): bump the cargo group with 2 updates by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5154
- Fix Playground Query by @kevin-hua-kraken in https://github.com/tree-sitter/tree-sitter/pull/5150
- fix(cli): cst printing improvements by @arkriny in https://github.com/tree-sitter/tree-sitter/pull/5161
- docs(cli): better description of files generated by
initby @clason in https://github.com/tree-sitter/tree-sitter/pull/5152 - fix(cli): set language in cwd for all usages of
highlightcommand by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5180 - feat(cli): concurrent builds of the same grammar on different locations on disk by @stackmystack in https://github.com/tree-sitter/tree-sitter/pull/5174
- build(deps): bump the cargo group with 2 updates by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5184
- fix(cli): canonicalize build
--outputpath by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5183 - feat(cli): make
test --updaterewrite all corpus files by @arkriny in https://github.com/tree-sitter/tree-sitter/pull/5179 - build(deps): update rquickjs to 0.11.0 by @clason in https://github.com/tree-sitter/tree-sitter/pull/5186
- fix(cli): increase verbosity of
tree-sitter init -uupdates by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5178 - fix(cli): restore test summary output for
tree-sitter testby @arkriny in https://github.com/tree-sitter/tree-sitter/pull/5197 - feat(wasm): add some common used defs to wasm stdlib by @trim21 in https://github.com/tree-sitter/tree-sitter/pull/5199
- fix(wasm): update wasm-stdlib.h by @clason in https://github.com/tree-sitter/tree-sitter/pull/5209
- build(deps): bump clap from 4.5.53 to 4.5.54 in the cargo group by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5211
- Fix python free-threading compatibility by @kevmo314 in https://github.com/tree-sitter/tree-sitter/pull/5212
- fix(build): define
_BSD_SOURCEby @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5219 - build(deps): bump the cargo group with 3 updates by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5227
- docs: various updates by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5228
- fix(docs): appease clippy regarding spacing in README by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5236
- fix(wasm): regenerate stdlib with wasm-opt by @clason in https://github.com/tree-sitter/tree-sitter/pull/5237
- fix: Clarify lifetime parameters; Rust 2018 idioms by @DanikVitek in https://github.com/tree-sitter/tree-sitter/pull/5223
- feat: free memory automatically by @theanarkh in https://github.com/tree-sitter/tree-sitter/pull/5225
- fix(cli): warn user when
nmcan't be run to verify the symbols inside the parser being built by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5245 - feat(ci): ensure
wasm-stdlib.his regenerated when wasm stdlib source files are modified by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5229 - docs(playground): highlight full row for highlighted nodes by @Tam1SH in https://github.com/tree-sitter/tree-sitter/pull/5207
- ci: bump actions/github-script from 7 to 8 in the actions group by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5248
- build(deps): bump cc from 1.2.52 to 1.2.53 in the cargo group by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5247
- wasm: give binaryen the wasi-sdk treatment by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5241
- fix(loader): search correct cache directory for wasi-sdk clang by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5251
- Fix tree-sitter-ruby crate failing to build to Wasm by @kossnocorp in https://github.com/tree-sitter/tree-sitter/pull/5158
- fix(wasm): add
iswpunctto stdlib by @clason in https://github.com/tree-sitter/tree-sitter/pull/5130 - fix(lib): address strict aliasing violations with
Arraytype by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5242 - misc Windows fixes by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5256
- docs: document parser library symbol checks for
buildcommand by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5258 - build(deps): bump the cargo group with 2 updates by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5263
- fix(wasm): correct several bugs in
reallocby @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5261 - fix(ci): add wasm-stdlib.h to cache key by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5266
- fix(generate): error if a supertype is defined as a terminal by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5267
- Action overflow by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5273
- fix(wasm): don't wasm-opt twice by @clason in https://github.com/tree-sitter/tree-sitter/pull/5253
- build(deps): cargo update by @clason in https://github.com/tree-sitter/tree-sitter/pull/5281
- fix(loader): account for nm/ld fix on newer powerpc linux toolchains by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5268
- wasm: fix
reallocoptimization by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5276 - fix(cli): use --edits value for fuzz tests by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5287
- feat(cli): add
--verboseflag tobuildcommand by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5285 - rust: bump language crate version by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5291
- fix(rust): place
std::env::set_varinsideunsafeblocks by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5293 - build(deps): bump bytes from 1.11.0 to 1.11.1 by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5297
- fix(lib): correct ts_parser_parse docstring by @bertie-wheen in https://github.com/tree-sitter/tree-sitter/pull/5295
- fix(test): acquire lock before downloading wasm tools by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5296
- fix(cli): allow for both debug logs and graphs by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5306
- lib: clean up strict aliasing fixes in array.h by @amaanq in https://github.com/tree-sitter/tree-sitter/pull/5309
- fix(cli): require tree-sitter CLI in CMake template by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5310
- fix(rust)!: return
u32fromNode::child_countby @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5313 - feat: allow
-in grammar names by @jfly in https://github.com/tree-sitter/tree-sitter/pull/5315 - fix(query): prevent cross-branch capture contamination in alternations with quantifiers by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5317
- web: add default export to CJS bundle by @chadxz in https://github.com/tree-sitter/tree-sitter/pull/5305
- ci: speed it up by @amaanq in https://github.com/tree-sitter/tree-sitter/pull/5322
- build(deps): bump eslint from 9.11.0 to 9.39.2 in /crates/cli/eslint by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5283
- build(deps): bump the cargo group with 5 updates by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5316
- build(deps): bump the cargo group with 4 updates by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5338
- ci: bump the actions group with 2 updates by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5339
- rust: edition 2024, MSRV 1.90, lint cleanup, and dep updates by @amaanq in https://github.com/tree-sitter/tree-sitter/pull/5326
- feat(highlight)!: utf16 support by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5324
- use provided by RedoxOS byte orders implementations by @greyshaman in https://github.com/tree-sitter/tree-sitter/pull/5342
- build(deps): bump wasmtime to v36.0.5 LTS by @clason in https://github.com/tree-sitter/tree-sitter/pull/5350
- fix(generate):
unsafe extern->externin rendered C parser by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5352 - fix(lib): cast NULL in ts_subtree_children macro by @lucasew in https://github.com/tree-sitter/tree-sitter/pull/5343
- ci: add a dry-run workflow to test rust releases by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5292
- build(deps): bump ajv from 6.12.6 to 6.14.0 in /crates/cli/eslint by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5355
- build(deps): bump minimatch, eslint and eslint-plugin-jsdoc in /crates/cli/eslint by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5354
- ci: retrigger crates check on PR updates by @clason in https://github.com/tree-sitter/tree-sitter/pull/5357
- cli(init): fix
Package.swiftscanner detection when used as a dependency by @amaanq in https://github.com/tree-sitter/tree-sitter/pull/5362 - feat(wasm): update wasi-sdk and binaryen by @clason in https://github.com/tree-sitter/tree-sitter/pull/5360
- loader: invalidate cached wasm toolchains on version mismatch by @amaanq in https://github.com/tree-sitter/tree-sitter/pull/5363
- cli:
init -ufixes by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5364 - build(deps): bump anyhow from 1.0.101 to 1.0.102 in the cargo group by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5365
- build(deps): bump wasmtime to v36.0.6 by @clason in https://github.com/tree-sitter/tree-sitter/pull/5368
- cli(init): extract per-binding generators and named update functions by @amaanq in https://github.com/tree-sitter/tree-sitter/pull/5371
- fix: skip missing Makefile in version command by @MFS-code in https://github.com/tree-sitter/tree-sitter/pull/5384
- fix(wasm): pass target triple to clang by @maribu in https://github.com/tree-sitter/tree-sitter/pull/5385
- build(deps): bump minimatch from 10.2.2 to 10.2.4 in /crates/cli/eslint by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5392
- build(deps): bump minimatch in /lib/binding_web by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5388
- build(deps): bump rollup from 4.49.0 to 4.59.0 in /lib/binding_web by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5393
- perf(generate): optimize TokenSet by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5340
- chore(parser): return
NULL, notfalse, for incomplete parse by @ribru17 in https://github.com/tree-sitter/tree-sitter/pull/5397 - Propose fix some typos by @jeis4wpi in https://github.com/tree-sitter/tree-sitter/pull/5375
- fix(loader): link with libc on OpenBSD to compile parser by @lcheylus in https://github.com/tree-sitter/tree-sitter/pull/5394
- fix(rust): remove unused dependencies from loader and lib by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5402
- ci: bump the actions group with 3 updates by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5410
- refactor(query): remove
alternative_is_immediateby @ribru17 in https://github.com/tree-sitter/tree-sitter/pull/5395 - fix(query): don't add copies for quantifier steps outside alternations by @ribru17 in https://github.com/tree-sitter/tree-sitter/pull/5396
- ci(tests): run required tests on all PRs by @clason in https://github.com/tree-sitter/tree-sitter/pull/5431
- build(deps): cargo update by @clason in https://github.com/tree-sitter/tree-sitter/pull/5422
- build(deps): bump wasi-sdk to v31 by @clason in https://github.com/tree-sitter/tree-sitter/pull/5426
- revert allowing dashes in parser name by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5419
- ci(release): publish zip archives by @clason in https://github.com/tree-sitter/tree-sitter/pull/5380
- build(deps): bump flatted from 3.3.1 to 3.4.1 in /crates/cli/eslint by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5432
- build(deps): bump anstyle from 1.0.13 to 1.0.14 in the cargo group by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5437
- fix(loader): unconditionally import
Mutexby @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5439 - fix(generate): allow disabling
qjs-rtfeature from CLI by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5442 - fix(lib): document invariants that must be upheld for
TSInputEditby @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5441 - ci: bump actions/create-github-app-token from 2 to 3 in the actions group by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5455
- build(deps): bump cc from 1.2.56 to 1.2.57 in the cargo group by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5454
- build(deps): bump flatted from 3.3.2 to 3.4.2 in /lib/binding_web by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5445
- build(deps): bump flatted from 3.4.1 to 3.4.2 in /crates/cli/eslint by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5447
- build(deps): bump brace-expansion from 5.0.2 to 5.0.5 in /crates/cli/eslint by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5460
- docs: update WASM build requirements for wasi-sdk by @MayCXC in https://github.com/tree-sitter/tree-sitter/pull/5438
- perf(parser): use
LookaheadIteratorin error recovery's all-symbol scan by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5451 - misc. clippy and typo fixes by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5464
- fix(parser): sort error recovery reductions for deterministic ordering by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5469
- build(deps): bump cc from 1.2.57 to 1.2.58 in the cargo group by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5472
- ci: bump the actions group with 2 updates by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5473
- refactor: eliminate unecessary regexes by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5474
- perf(cli): misc. improvements by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5470
- Fix wasm loading of languages w/ multiple reserved word sets by @maxbrunsfeld in https://github.com/tree-sitter/tree-sitter/pull/5475
- fix(loader): don't discard CC wrapper command specified in
CCvariable by @futsuuu in https://github.com/tree-sitter/tree-sitter/pull/5466 - generate: avoid panicking when a supertype only has hidden external token children by @FranklinChen in https://github.com/tree-sitter/tree-sitter/pull/5468
- perf(cli): replace regex with manual parsing in test file parser PLUS loader lock file rewrite by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5471
- ci(actions): bump actions/cache to v5 by @clason in https://github.com/tree-sitter/tree-sitter/pull/5480
- build(deps): bump the npm group across 1 directory with 4 updates by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5495
- build(deps): cargo update by @clason in https://github.com/tree-sitter/tree-sitter/pull/5497
- build(deps): npm update for binding_web by @clason in https://github.com/tree-sitter/tree-sitter/pull/5494
- ci(nvim-ts): minor improvements by @clason in https://github.com/tree-sitter/tree-sitter/pull/5496
- feat(generate): don't require
tree-sitter.jsonfor ABI 15 by @clason in https://github.com/tree-sitter/tree-sitter/pull/5492 - build(deps): bump binaryen to v129 by @clason in https://github.com/tree-sitter/tree-sitter/pull/5499
- fix(ci): include wasi-sdk and binaryen version files in fixture cache hash by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5500
- perf(generate): More optimizations by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5418
- ci(nvim-ts): build nvim against PR lib by @clason in https://github.com/tree-sitter/tree-sitter/pull/5502
- build(deps): bump vite from 7.3.1 to 7.3.2 in /lib/binding_web by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5506
- ci(nvim-ts): further improvements to Neovim build by @clason in https://github.com/tree-sitter/tree-sitter/pull/5504
- build(deps): bump wasmtime-c-api to v36.0.7 by @clason in https://github.com/tree-sitter/tree-sitter/pull/5512
- build(deps): cargo update by @clason in https://github.com/tree-sitter/tree-sitter/pull/5515
- build(deps): bump rand from 0.10.0 to 0.10.1 by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5520
- ci: bump the actions group with 2 updates by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5517
- build(zig): update to zig 0.16 by @dchinmay2 in https://github.com/tree-sitter/tree-sitter/pull/5522
- fix: update broken link to Parser.Language in template by @changw98ic in https://github.com/tree-sitter/tree-sitter/pull/5527
- update parser template to zig 0.16 by @dchinmay2 in https://github.com/tree-sitter/tree-sitter/pull/5532
- ci: bump actions/setup-node from 6 to 6.3.0 in the actions group by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5535
- build(deps): bump the cargo group with 3 updates by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5534
- fix(loader): allow filenames with dots by @vmx in https://github.com/tree-sitter/tree-sitter/pull/5529
- test: bump c test fixture to v0.24.2 by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5540
- chore: enable install via
cargo binstallby @wetneb in https://github.com/tree-sitter/tree-sitter/pull/5533 - fix(generate): pass default optimization level in
generate_parser_for_grammarby @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5541 - docs: add AI policy by @amaanq in https://github.com/tree-sitter/tree-sitter/pull/5413
- Prevent a buffer over-read when parsing 4-byte UTF-16 characters. by @danielpunkass in https://github.com/tree-sitter/tree-sitter/pull/5456
- Add Solaris support to the portable endian header by @psumbera in https://github.com/tree-sitter/tree-sitter/pull/5484
- fix(query): overflow in capture pool ids + some perf by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5548
- wasm: add
Language.loadSyncfor synchronous loading by @WilcoKruijer in https://github.com/tree-sitter/tree-sitter/pull/5222 - build(deps): bump cc from 1.2.60 to 1.2.61 in the cargo group by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5560
- ci: bump the actions group with 2 updates by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5561
- build(deps): bump postcss from 8.5.8 to 8.5.12 in /lib/binding_web by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5551
- docs: note zero point unbounded behavior in query functions by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5562
- build(deps): bump wasmtime-c-api to v36.0.8 by @clason in https://github.com/tree-sitter/tree-sitter/pull/5565
- ci: bump korthout/backport-action from 4.4.0 to 4.5.0 in the actions group by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5572
- build(deps): bump clap_complete from 4.6.2 to 4.6.3 in the cargo group by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5571
- fix(cli): account for process versions > 5 in the parse command's pretty debug output. by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5573
- Validate Wasm language memory reads by @ZX41R in https://github.com/tree-sitter/tree-sitter/pull/5569
- fix(generate): improve error message for nonterminals used in immediate token rule by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5582
- fix(generate): rewrite
parse_grammarwith forward DFS by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5580 - ci: bump korthout/backport-action from 4.5.0 to 4.5.1 in the actions group by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5586
- build(deps): bump cc from 1.2.61 to 1.2.62 in the cargo group by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5585
- build(deps): bump wasmtime-c-api to v36.0.9 by @clason in https://github.com/tree-sitter/tree-sitter/pull/5592
- build(deps): bump wasi-sdk to v33 by @clason in https://github.com/tree-sitter/tree-sitter/pull/5593
- refactor(cli): better colored printing by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5594
- fix(test): write fixture headers once by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5602
- fix(wasm): load supertype tables for ABI 15 grammars by @maxbrunsfeld in https://github.com/tree-sitter/tree-sitter/pull/5605
- ci: bump korthout/backport-action from 4.5.1 to 4.5.2 in the actions group by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5608
- build(deps): bump brace-expansion from 5.0.5 to 5.0.6 in /crates/cli/eslint by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5604
- fix(test): restore corpus test header blank line and divider tie behavior by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5619
- fix(cli): place generate artifacts next to grammar file rather than cwd by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5620
- build(deps): bump serde_json from 1.0.149 to 1.0.150 in the cargo group by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5626
- fix(lib): update doc comment for
ts_parser_parseby @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5639 - fix(lib): use correct TREE_SITTER_HIDE_SYMBOLS macro name in alloc.h by @manoj23 in https://github.com/tree-sitter/tree-sitter/pull/5635
- feat(generate): derive
DeserializeonGenerateErrorand all subtypes by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5644 - fix(cli): improve soundness of cst range calculation by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5640
- fix: rewrite
ts_subtree__write_to_stringiteratively by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5622 - fix(loader): skip --no-undefined for sanitizer grammar builds by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5624
- fix(cli): infinite loop in highlight test by @jannschu in https://github.com/tree-sitter/tree-sitter/pull/5097
- fix(lib): Consider subtree lookahead bytes when determining whether the parser can reuse a node. by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5641
- perf(bindings): defer importlib.resources import in python template by @TrevorBurnham in https://github.com/tree-sitter/tree-sitter/pull/5589
- ci: bump actions/checkout from 6 to 6.0.2 in the actions group by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5660
- build(deps): bump the cargo group with 3 updates by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5659
- fix: add DESCRIPTION to grammar Makefile template by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5668
- fix(cli): display warning to user if parser test corpus dir isn't found by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5666
- fix(cli): warn user for various malformed tests by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5667
- fix(docs): explicitly warn against aliasing supertypes by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5664
- fix(rust): more clippy fixes in generate by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5665
- ci: bump actions/checkout from 6.0.2 to 6.0.3 in the actions group by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5676
- fix(cli): highlight test did not properly check for spans on later rows by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5673
- build(deps): bump binaryen to v130 by @clason in https://github.com/tree-sitter/tree-sitter/pull/5680
- build(deps): bump wasmtime-c-api to v36.0.10 by @clason in https://github.com/tree-sitter/tree-sitter/pull/5679
- fix(rust): use more accurate types for various
IoErrorstructs by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5675 - feat(cli)
tree-sitter test --show-diff-symbolsby @buckynbrocko in https://github.com/tree-sitter/tree-sitter/pull/5330 - build(deps): bump the cargo group with 2 updates by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5687
- build(deps): bump rquickjs to v0.12.0 by @clason in https://github.com/tree-sitter/tree-sitter/pull/5685
- build(deps): bump js-yaml from 4.1.1 to 4.2.0 in /lib/binding_web by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5689
- ci: bump vmactions/omnios-vm from 1 to 1.3.2 in the actions group by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5688
- fix(lib): address strict aliasing violations in
TreeCursortype by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5686 - build(deps): bump cc from 1.2.64 to 1.2.65 in the cargo group by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5704
- ci: bump the actions group with 2 updates by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5705
- fix(dsl): forbid invalid field names by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5706
- Clarify behavior of advance(..., skip) in external scanner docs by @ALancki1 in https://github.com/tree-sitter/tree-sitter/pull/5485
- build(deps): bump wasmtime-c-api to v36.0.11 by @clason in https://github.com/tree-sitter/tree-sitter/pull/5696
- build(deps): bump wasmtime-c-api to v36.0.12 by @clason in https://github.com/tree-sitter/tree-sitter/pull/5708
- Update README.md by @AndrewGibb in https://github.com/tree-sitter/tree-sitter/pull/5707
- ci: update workflows for breaking actions/checkout change by @clason in https://github.com/tree-sitter/tree-sitter/pull/5711
- Fix issues with queries matching a parent node with anchored children (siblings) by @lucasmdjl in https://github.com/tree-sitter/tree-sitter/pull/5603
- Add
ts_query_copyfor cloning queries by @the-mikedavis in https://github.com/tree-sitter/tree-sitter/pull/5649 - feat(generate): collect warnings as structured data by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5671
- fix(rust)!: change
ts_set_allocatorto accept one optionalAllocatorobject rather than 4 separate optional function pointers. by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5657 - test(query): regression test for anchored siblings inside a parent by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5713
- fix(deps): zig manifest for wasmtime is missing windows hashes by @clason in https://github.com/tree-sitter/tree-sitter/pull/5719
- ci: bump actions/cache from 5 to 6 in the actions group by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5721
- fix(xtask): eliminate silent errors in zig fetch by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5722
- fix(query): short-circuit longest-match dedup for disjoint states by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5725
- fix(query): various anchor fixes by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5723
- build(deps): bump the cargo group with 3 updates by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5730
- ci: bump korthout/backport-action from 4.5.2 to 4.6.0 in the actions group by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5731
- build(deps): bump rquickjs to v0.12.1 by @clason in https://github.com/tree-sitter/tree-sitter/pull/5732
- improve error message and docs for supertypes made invalid by hidden children by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5734
- Fix C++ compilation errors in array macros. by @flowerhack in https://github.com/tree-sitter/tree-sitter/pull/5631
- fix(rust): address new clippy lints by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5742
- feat(cli)!: don't load all languages via config when lib path is passed by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5737
- fix(generate): strip non-ASCII case folds by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5740
- docs(comment): misleading/wrong comment stating that initial state TSStateId is 0 rather than 1 by @andrmayo in https://github.com/tree-sitter/tree-sitter/pull/5741
- fix(templates): update setup.py & Package.swift by @ObserverOfTime in https://github.com/tree-sitter/tree-sitter/pull/5733
- fix(ci): re-set executable permission on release artifacts before zipping by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5745
- feat(web): expand
Language::loadto acceptURLfilepath by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5738 - build(deps): bump memchr from 2.8.2 to 2.8.3 in the cargo group by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5749
- feat(highlight)!: include underlying
LanguageErrorin highlight and tag crates' error enums by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5750 - Fix broken url by @kmlupreti in https://github.com/tree-sitter/tree-sitter/pull/5754
- fix(generate): only strip case-folded ſ/K when the /i flag is set by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5756
- build(deps): bump binaryen to v131 by @clason in https://github.com/tree-sitter/tree-sitter/pull/5758
- fix(cli):
init --updateshould not updatesetup.pyafter replacing it by @prednaz in https://github.com/tree-sitter/tree-sitter/pull/5760 - fix(query): keep the trailing anchor when a zero-matched quantifier is anchored on both sides by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5762
- fix(init): don't lowercase repository url by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5757
- feat(cli)!: make parents flags a hard requirements via clap by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5767
- build(deps): bump the cargo group with 4 updates by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5772
- ci: bump the actions group with 3 updates by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5773
- fix(highlight): use
std::sync::OnceCellfor various loader fields by @AlexLB99 in https://github.com/tree-sitter/tree-sitter/pull/5779 - fix(rust)!: require parser loggers to be
Send + 'staticby @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5781 - feat(cli)!: rework HTML output modes in highlight by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5769
- build(deps): bump brace-expansion from 5.0.6 to 5.0.7 in /crates/cli/eslint by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5775
- build(deps): bump js-yaml from 4.2.0 to 4.3.0 in /lib/binding_web by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5774
- build(deps): bump brace-expansion from 5.0.7 to 5.0.8 in /crates/cli/eslint by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5788
- build(deps): bump postcss from 8.5.12 to 8.5.23 in /lib/binding_web by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5789
- fix(parser): restart recovery for invalid tokens in the error state by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5766
- build(deps): bump the npm group across 1 directory with 7 updates by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5791
- Fix associativity resolution with mixed shift precedences by @Sjord in https://github.com/tree-sitter/tree-sitter/pull/5782
- build(deps): bump the cargo group with 6 updates by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5799
- build(deps): bump eslint from 10.7.0 to 10.8.0 in /lib/binding_web in the npm group across 1 directory by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5798
- build(deps): bump rquickjs to v0.12.2 by @clason in https://github.com/tree-sitter/tree-sitter/pull/5800
- build(deps): bump the cargo group with 2 updates by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5813
- build(deps): bump @types/node from 26.1.1 to 26.1.2 in /lib/binding_web in the npm group across 1 directory by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5812
- build(deps): bump brace-expansion from 5.0.8 to 5.0.9 in /crates/cli/eslint by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5814
- build(deps): bump wasmtime to v36.0.13 by @clason in https://github.com/tree-sitter/tree-sitter/pull/5816
- fix(rust)!: tie query iterators to options lifetime by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5815
- Expose
OptLevelongenerate_parser_for_grammarby @jaboatman in https://github.com/tree-sitter/tree-sitter/pull/5820 - fix(parser): fix parsing bug repeat operator by @Newosko in https://github.com/tree-sitter/tree-sitter/pull/5824
- ci(release): add nightly builds by @clason in https://github.com/tree-sitter/tree-sitter/pull/5826
- perf(generate): embrace data oriented design by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5811
- fix(query): correctly identify
MISSINGnodes in queries by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5834 - feat(test): allow corpus tests to use cst outputs by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5833
- build(deps): bump the npm group across 1 directory with 4 updates by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5838
- build(deps): bump the cargo group with 3 updates by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5839
- fix(query): correctly set a state's
skipped_quantifierflag when a by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5836 - rust: trim unused imports by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5845
- feat(lib): add state to missing nodes by @jaboatman in https://github.com/tree-sitter/tree-sitter/pull/5751
- fix(generate): fold case-insensitive patterns at the AST leaves by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5843
- fix(generate)!: error on invalid byte class patterns by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5844
- fix(lib)!: rework
LookaheadIteratorby @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5780 - fix(parser): avoid wide error nodes on unparseable input by @timvermeulen in https://github.com/tree-sitter/tree-sitter/pull/5801
- build(deps): bump binaryen to v132 by @clason in https://github.com/tree-sitter/tree-sitter/pull/5848
- build(swift)!: drop Package.swift by @clason in https://github.com/tree-sitter/tree-sitter/pull/5849
- perf(lib): fast paths for ascii by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5853
- Allow using Tree-sitter rust lib in multi-threaded web apps compiled to wasm32-unknown-unknown by @maxbrunsfeld in https://github.com/tree-sitter/tree-sitter/pull/5851
- build(deps): bump esbuild and vite in /lib/binding_web by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5856
- build(deps): bump the npm group across 1 directory with 3 updates by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5860
- build(deps): bump the cargo group with 4 updates by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5861
- generate: refactor
node_typesJSON generation logic by @amaanq in https://github.com/tree-sitter/tree-sitter/pull/5389 - fix(ci): run all workspace tests by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5866
- Upgrade to latest wasmtime, improve robustness and perf of wasm-based parsing by @maxbrunsfeld in https://github.com/tree-sitter/tree-sitter/pull/5847
- fix(generate)!: error when nonexistent file path is passed to
generate_parser_in_directory. by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5868 - feat!: add an eof function by @amaanq in https://github.com/tree-sitter/tree-sitter/pull/2488
- chore: remove Dockerfile by @clason in https://github.com/tree-sitter/tree-sitter/pull/5872
- fix(rust): remove
must_useattribute fromTree::changed_rangesby @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5876 - fix(generate): further node-types.json cleanup by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5874
- generate: use a single buffer for the string pool's backing store by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5875
- fix(cli): align GrammarSchema type with grammar() return value by @marndt in https://github.com/tree-sitter/tree-sitter/pull/5376
- playground: set LANGUAGE_BASE_URL to "." to fix subfolder hosting by @katrinafyi in https://github.com/tree-sitter/tree-sitter/pull/5444
- fix(web): map Node-only specifiers to false via browser field by @reteps in https://github.com/tree-sitter/tree-sitter/pull/5546
- build(deps): bump cc from 1.4.3 to 1.4.4 in the cargo group by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5881
- build(deps): bump eslint from 10.8.1 to 10.9.0 in /lib/binding_web in the npm group across 1 directory by @dependabot[bot] in https://github.com/tree-sitter/tree-sitter/pull/5880
- docs: specify Emscripten version constraints for web binding builds by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5883
- docs(web): add WASM version compatibility section by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5884
- build(deps): bump wasmtime-c-api to v48.0.1 by @clason in https://github.com/tree-sitter/tree-sitter/pull/5887
- build(deps): bump wasi-sdk to v34 by @clason in https://github.com/tree-sitter/tree-sitter/pull/5885
- chore: spring clean unused local dev files by @clason in https://github.com/tree-sitter/tree-sitter/pull/5896
- ci: enforce taplo formatting of .toml files by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5899
- fix(cli): correct zero-based positions for --edits by @cuishuang in https://github.com/tree-sitter/tree-sitter/pull/5897
- fix: various memory safety issues by @WillLillis in https://github.com/tree-sitter/tree-sitter/pull/5900
- build(deps): cargo update by @clason in https://github.com/tree-sitter/tree-sitter/pull/5901
- Remove Dockerfile mention from flake.nix by @abeforgit in https://github.com/tree-sitter/tree-sitter/pull/5892
New Contributors
- @kevin-hua-kraken made their first contribution in https://github.com/tree-sitter/tree-sitter/pull/5150
- @trim21 made their first contribution in https://github.com/tree-sitter/tree-sitter/pull/5199
- @kevmo314 made their first contribution in https://github.com/tree-sitter/tree-sitter/pull/5212
- @DanikVitek made their first contribution in https://github.com/tree-sitter/tree-sitter/pull/5223
- @theanarkh made their first contribution in https://github.com/tree-sitter/tree-sitter/pull/5225
- @Tam1SH made their first contribution in https://github.com/tree-sitter/tree-sitter/pull/5207
- @kossnocorp made their first contribution in https://github.com/tree-sitter/tree-sitter/pull/5158
- @bertie-wheen made their first contribution in https://github.com/tree-sitter/tree-sitter/pull/5295
- @jfly made their first contribution in https://github.com/tree-sitter/tree-sitter/pull/5315
- @chadxz made their first contribution in https://github.com/tree-sitter/tree-sitter/pull/5305
- @greyshaman made their first contribution in https://github.com/tree-sitter/tree-sitter/pull/5342
- @lucasew made their first contribution in https://github.com/tree-sitter/tree-sitter/pull/5343
- @MFS-code made their first contribution in https://github.com/tree-sitter/tree-sitter/pull/5384
- @maribu made their first contribution in https://github.com/tree-sitter/tree-sitter/pull/5385
- @jeis4wpi made their first contribution in https://github.com/tree-sitter/tree-sitter/pull/5375
- @lcheylus made their first contribution in https://github.com/tree-sitter/tree-sitter/pull/5394
- @MayCXC made their first contribution in https://github.com/tree-sitter/tree-sitter/pull/5438
- @futsuuu made their first contribution in https://github.com/tree-sitter/tree-sitter/pull/5466
- @FranklinChen made their first contribution in https://github.com/tree-sitter/tree-sitter/pull/5468
- @dchinmay2 made their first contribution in https://github.com/tree-sitter/tree-sitter/pull/5522
- @changw98ic made their first contribution in https://github.com/tree-sitter/tree-sitter/pull/5527
- @vmx made their first contribution in https://github.com/tree-sitter/tree-sitter/pull/5529
- @psumbera made their first contribution in https://github.com/tree-sitter/tree-sitter/pull/5484
- @WilcoKruijer made their first contribution in https://github.com/tree-sitter/tree-sitter/pull/5222
- @ZX41R made their first contribution in https://github.com/tree-sitter/tree-sitter/pull/5569
- @manoj23 made their first contribution in https://github.com/tree-sitter/tree-sitter/pull/5635
- @jannschu made their first contribution in https://github.com/tree-sitter/tree-sitter/pull/5097
- @TrevorBurnham made their first contribution in https://github.com/tree-sitter/tree-sitter/pull/5589
- @ALancki1 made their first contribution in https://github.com/tree-sitter/tree-sitter/pull/5485
- @AndrewGibb made their first contribution in https://github.com/tree-sitter/tree-sitter/pull/5707
- @lucasmdjl made their first contribution in https://github.com/tree-sitter/tree-sitter/pull/5603
- @flowerhack made their first contribution in https://github.com/tree-sitter/tree-sitter/pull/5631
- @andrmayo made their first contribution in https://github.com/tree-sitter/tree-sitter/pull/5741
- @kmlupreti made their first contribution in https://github.com/tree-sitter/tree-sitter/pull/5754
- @prednaz made their first contribution in https://github.com/tree-sitter/tree-sitter/pull/5760
- @AlexLB99 made their first contribution in https://github.com/tree-sitter/tree-sitter/pull/5779
- @Newosko made their first contribution in https://github.com/tree-sitter/tree-sitter/pull/5824
- @timvermeulen made their first contribution in https://github.com/tree-sitter/tree-sitter/pull/5801
- @marndt made their first contribution in https://github.com/tree-sitter/tree-sitter/pull/5376
- @reteps made their first contribution in https://github.com/tree-sitter/tree-sitter/pull/5546
- @cuishuang made their first contribution in https://github.com/tree-sitter/tree-sitter/pull/5897
- @abeforgit made their first contribution in https://github.com/tree-sitter/tree-sitter/pull/5892
Full Changelog: https://github.com/tree-sitter/tree-sitter/compare/v0.26.3...v0.27.0