chore(deps): update rust crate tree-sitter to v0.25.9
Coming soon: The Renovate bot (GitHub App) will be renamed to Mend. PRs from Renovate will soon appear from 'Mend'. Learn more [here](https://redirect.github.com/renovatebot/renovate/discussions/37842).
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [tree-sitter](https://tree-sitter.github.io/tree-sitter) ([source](https://redirect.github.com/tree-sitter/tree-sitter)) | dev-dependencies | minor | `0.24.4` -> `0.25.9` |
---
### Release Notes
<details>
<summary>tree-sitter/tree-sitter (tree-sitter)</summary>
### [`v0.25.9`](https://redirect.github.com/tree-sitter/tree-sitter/releases/tag/v0.25.9)
[Compare Source](https://redirect.github.com/tree-sitter/tree-sitter/compare/v0.25.8...v0.25.9)
#### What's Changed
- Fix: add wasm32 support to portable/endian.h by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot)\[bot] in [#​4613](https://redirect.github.com/tree-sitter/tree-sitter/pull/4613)
- Replace deprecated function on build.zig by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot)\[bot] in [#​4621](https://redirect.github.com/tree-sitter/tree-sitter/pull/4621)
- perf(generate): reserve more `Vec` capacities by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot)\[bot] in [#​4629](https://redirect.github.com/tree-sitter/tree-sitter/pull/4629)
- fix(rust): prevent overflow in error message calculation by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot)\[bot] in [#​4634](https://redirect.github.com/tree-sitter/tree-sitter/pull/4634)
- fix(bindings): use parser title in lib.rs description by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot)\[bot] in [#​4638](https://redirect.github.com/tree-sitter/tree-sitter/pull/4638)
- fix(bindings): only include top level LICENSE file by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot)\[bot] in [#​4639](https://redirect.github.com/tree-sitter/tree-sitter/pull/4639)
- fix(bindings): improve python platform detection by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot)\[bot] in [#​4640](https://redirect.github.com/tree-sitter/tree-sitter/pull/4640)
- test(python): improve bindings test to detect ABI incompatibilities by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot)\[bot] in [#​4641](https://redirect.github.com/tree-sitter/tree-sitter/pull/4641)
- fix(query): prevent cycles when analyzing hidden children by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot)\[bot] in [#​4659](https://redirect.github.com/tree-sitter/tree-sitter/pull/4659)
- Reserved word dsl declarations by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot)\[bot] in [#​4661](https://redirect.github.com/tree-sitter/tree-sitter/pull/4661)
- fix(cli): improve error message in cases where a langauge can't be found for one of many paths by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot)\[bot] in [#​4662](https://redirect.github.com/tree-sitter/tree-sitter/pull/4662)
- fix(bindings): correct indices for `Node::utf16_text` by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot)\[bot] in [#​4663](https://redirect.github.com/tree-sitter/tree-sitter/pull/4663)
- fix(rust): ignore new mismatched-lifetime-syntaxes lint by [@​ObserverOfTime](https://redirect.github.com/ObserverOfTime) in [#​4680](https://redirect.github.com/tree-sitter/tree-sitter/pull/4680)
- fix(bindings): use custom class name by [@​ObserverOfTime](https://redirect.github.com/ObserverOfTime) in [#​4679](https://redirect.github.com/tree-sitter/tree-sitter/pull/4679)
- fix(bindings): update zig template files ([#​4637](https://redirect.github.com/tree-sitter/tree-sitter/issues/4637)) by [@​ObserverOfTime](https://redirect.github.com/ObserverOfTime) in [#​4684](https://redirect.github.com/tree-sitter/tree-sitter/pull/4684)
- Update build.zig.zon by [@​Omar-xt](https://redirect.github.com/Omar-xt) in [#​4709](https://redirect.github.com/tree-sitter/tree-sitter/pull/4709)
- Backport build.zig.zon fixes by [@​ObserverOfTime](https://redirect.github.com/ObserverOfTime) in [#​4717](https://redirect.github.com/tree-sitter/tree-sitter/pull/4717)
- portable/endian: Add Haiku support by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot)\[bot] in [#​4724](https://redirect.github.com/tree-sitter/tree-sitter/pull/4724)
- fix(wasm): delete `var_i32_type` after initializing global stack pointer value by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot)\[bot] in [#​4732](https://redirect.github.com/tree-sitter/tree-sitter/pull/4732)
- fix(rust): EqCapture accepted cases where number of captured nodes differed by one by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot)\[bot] in [#​4737](https://redirect.github.com/tree-sitter/tree-sitter/pull/4737)
- fix(bindings): improve zig dependency fetching logic by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot)\[bot] in [#​4741](https://redirect.github.com/tree-sitter/tree-sitter/pull/4741)
- fix(bindings): add tree-sitter as npm dev dependency by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot)\[bot] in [#​4738](https://redirect.github.com/tree-sitter/tree-sitter/pull/4738)
- \[backport] build.zig improvements by [@​ObserverOfTime](https://redirect.github.com/ObserverOfTime) in [#​4743](https://redirect.github.com/tree-sitter/tree-sitter/pull/4743)
- fix(lib): check if an `ERROR` node is named before assuming it's the builtin error node by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot)\[bot] in [#​4746](https://redirect.github.com/tree-sitter/tree-sitter/pull/4746)
- fix(lib): allow error nodes to match when they are child nodes by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot)\[bot] in [#​4748](https://redirect.github.com/tree-sitter/tree-sitter/pull/4748)
- build(zig): support wasmtime for ARM64 Windows (MSVC) by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot)\[bot] in [#​4749](https://redirect.github.com/tree-sitter/tree-sitter/pull/4749)
- fix(bindings): properly detect MSVC compiler by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot)\[bot] in [#​4751](https://redirect.github.com/tree-sitter/tree-sitter/pull/4751)
- fix(generate): warn users when extra rule can lead to parser hang by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot)\[bot] in [#​4763](https://redirect.github.com/tree-sitter/tree-sitter/pull/4763)
- fix(cli): fix DSL type declarations by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot)\[bot] in [#​4770](https://redirect.github.com/tree-sitter/tree-sitter/pull/4770)
- fix(npm): add directory to repository fields by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot)\[bot] in [#​4773](https://redirect.github.com/tree-sitter/tree-sitter/pull/4773)
- fix(web): correct type errors, improve build by [@​ObserverOfTime](https://redirect.github.com/ObserverOfTime) in [#​4774](https://redirect.github.com/tree-sitter/tree-sitter/pull/4774)
- fix(generate): return error when single state transitions have indirectly recursive cycles by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot)\[bot] in [#​4790](https://redirect.github.com/tree-sitter/tree-sitter/pull/4790)
- fix(generate): use correct state id when adding terminal states to non terminal extras by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot)\[bot] in [#​4794](https://redirect.github.com/tree-sitter/tree-sitter/pull/4794)
- release v0.25.9 by [@​clason](https://redirect.github.com/clason) in [#​4798](https://redirect.github.com/tree-sitter/tree-sitter/pull/4798)
- fix(rust): correct crate versions in root Cargo.toml file by [@​WillLillis](https://redirect.github.com/WillLillis) in [#​4800](https://redirect.github.com/tree-sitter/tree-sitter/pull/4800)
#### New Contributors
- [@​Omar-xt](https://redirect.github.com/Omar-xt) made their first contribution in [#​4709](https://redirect.github.com/tree-sitter/tree-sitter/pull/4709)
**Full Changelog**: <https://github.com/tree-sitter/tree-sitter/compare/v0.25.8...v0.25.9>
### [`v0.25.8`](https://redirect.github.com/tree-sitter/tree-sitter/releases/tag/v0.25.8)
[Compare Source](https://redirect.github.com/tree-sitter/tree-sitter/compare/v0.25.7...v0.25.8)
#### What's Changed
- fix(generate): propagate node types error by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot)\[bot] in [#​4603](https://redirect.github.com/tree-sitter/tree-sitter/pull/4603)
- 0.25.8 by [@​WillLillis](https://redirect.github.com/WillLillis) in [#​4605](https://redirect.github.com/tree-sitter/tree-sitter/pull/4605)
**Full Changelog**: <https://github.com/tree-sitter/tree-sitter/compare/v0.25.7...v0.25.8>
### [`v0.25.7`](https://redirect.github.com/tree-sitter/tree-sitter/releases/tag/v0.25.7)
[Compare Source](https://redirect.github.com/tree-sitter/tree-sitter/compare/v0.25.6...v0.25.7)
#### What's Changed
- fix(lib): replace raw array accesses with array\_get by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot)\[bot] in [#​4487](https://redirect.github.com/tree-sitter/tree-sitter/pull/4487)
- fix(highlight): account for carriage return at EOF and chunk ends by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot)\[bot] in [#​4488](https://redirect.github.com/tree-sitter/tree-sitter/pull/4488)
- Fix test\_flatten\_grammar\_with\_recursive\_inline\_variable by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot)\[bot] in [#​4491](https://redirect.github.com/tree-sitter/tree-sitter/pull/4491)
- fix(bindings): update swift & node dependencies by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot)\[bot] in [#​4499](https://redirect.github.com/tree-sitter/tree-sitter/pull/4499)
- fix(xtask): limit `test` command to a single thread on windows by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot)\[bot] in [#​4504](https://redirect.github.com/tree-sitter/tree-sitter/pull/4504)
- ci(lint): stop linting with nightly by [@​clason](https://redirect.github.com/clason) in [#​4540](https://redirect.github.com/tree-sitter/tree-sitter/pull/4540)
- fix(generate): only display conflicting symbol name in non-terminal word token error message if available by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot)\[bot] in [#​4541](https://redirect.github.com/tree-sitter/tree-sitter/pull/4541)
- fix(cli): require correct setuptools version by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot)\[bot] in [#​4543](https://redirect.github.com/tree-sitter/tree-sitter/pull/4543)
- fix(rust): ignore new nightly lint, correct order of lint list by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot)\[bot] in [#​4562](https://redirect.github.com/tree-sitter/tree-sitter/pull/4562)
- Fix population of `extra` field in `node-types.json` by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot)\[bot] in [#​4569](https://redirect.github.com/tree-sitter/tree-sitter/pull/4569)
- fix(web): wasm export paths by [@​vemoo](https://redirect.github.com/vemoo) in [#​4579](https://redirect.github.com/tree-sitter/tree-sitter/pull/4579)
- perf: reserve `Vec` capacities where appropriate by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot)\[bot] in [#​4581](https://redirect.github.com/tree-sitter/tree-sitter/pull/4581)
- perf: More efficient computation of used symbols by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot)\[bot] in [#​4582](https://redirect.github.com/tree-sitter/tree-sitter/pull/4582)
- fix(generate): use topological sort for subtype map by [@​clason](https://redirect.github.com/clason) in [#​4586](https://redirect.github.com/tree-sitter/tree-sitter/pull/4586)
- perf: reorder expensive conditional operand by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot)\[bot] in [#​4593](https://redirect.github.com/tree-sitter/tree-sitter/pull/4593)
- 0.25.7 by [@​WillLillis](https://redirect.github.com/WillLillis) in [#​4594](https://redirect.github.com/tree-sitter/tree-sitter/pull/4594)
**Full Changelog**: <https://github.com/tree-sitter/tree-sitter/compare/v0.25.6...v0.25.7>
### [`v0.25.6`](https://redirect.github.com/tree-sitter/tree-sitter/releases/tag/v0.25.6)
[Compare Source](https://redirect.github.com/tree-sitter/tree-sitter/compare/v0.25.5...v0.25.6)
#### What's Changed
- Ignore lockfiles in grammar repos [#​4474](https://redirect.github.com/tree-sitter/tree-sitter/pull/4474)
- Revert "feat: add build sha to parser.c header comment" by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot) in [#​4477](https://redirect.github.com/tree-sitter/tree-sitter/pull/4477)
- Fix pkgconfig and use of GNUInstallDirs by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot) in [#​4480](https://redirect.github.com/tree-sitter/tree-sitter/pull/4480)
- Fully fix field underflow in go\_to\_previous\_sibling by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot) in [#​4485](https://redirect.github.com/tree-sitter/tree-sitter/pull/4485)
- fix(generate): re-enable default url features by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot) in [#​4486](https://redirect.github.com/tree-sitter/tree-sitter/pull/4486)
**Full Changelog**: <https://github.com/tree-sitter/tree-sitter/compare/v0.25.5...v0.25.6>
### [`v0.25.5`](https://redirect.github.com/tree-sitter/tree-sitter/releases/tag/v0.25.5)
[Compare Source](https://redirect.github.com/tree-sitter/tree-sitter/compare/v0.25.4...v0.25.5)
#### What's Changed
- illumos has endian.h by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot) in [#​4451](https://redirect.github.com/tree-sitter/tree-sitter/pull/4451)
- fix: wasi has endian.h by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot) in [#​4464](https://redirect.github.com/tree-sitter/tree-sitter/pull/4464)
- Fix crash w/ goto\_previous\_sibling when parent node has leading extra child by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot) in [#​4473](https://redirect.github.com/tree-sitter/tree-sitter/pull/4473)
**Full Changelog**: <https://github.com/tree-sitter/tree-sitter/compare/v0.25.4...v0.25.5>
### [`v0.25.4`](https://redirect.github.com/tree-sitter/tree-sitter/releases/tag/v0.25.4)
[Compare Source](https://redirect.github.com/tree-sitter/tree-sitter/compare/v0.25.3...v0.25.4)
#### What's Changed
- fix(lib): remove duplicate TSLanguageMetadata typedef by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot) in [#​4270](https://redirect.github.com/tree-sitter/tree-sitter/pull/4270)
- fix(rust): adapt to new nightly lint by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot) in [#​4269](https://redirect.github.com/tree-sitter/tree-sitter/pull/4269)
- build(deps): bump ring from 0.17.8 to 0.17.13 by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot) in [#​4281](https://redirect.github.com/tree-sitter/tree-sitter/pull/4281)
- fix(cli): properly escape invisible characters in parse error output by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot) in [#​4279](https://redirect.github.com/tree-sitter/tree-sitter/pull/4279)
- fix(xtask): error if new version supplied to xtask is less than or equal to current version by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot) in [#​4290](https://redirect.github.com/tree-sitter/tree-sitter/pull/4290)
- fix(make): `make install` shouldn’t fail when a parser bundles no queries by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot) in [#​4291](https://redirect.github.com/tree-sitter/tree-sitter/pull/4291)
- fix(rust): address new clippy lint for pointer comparisons by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot) in [#​4310](https://redirect.github.com/tree-sitter/tree-sitter/pull/4310)
- fix(rust): use core crates for no\_std by [@​clason](https://redirect.github.com/clason) in [#​4311](https://redirect.github.com/tree-sitter/tree-sitter/pull/4311)
- fix(rust): address new nightly lint for pointer comparisons by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot) in [#​4314](https://redirect.github.com/tree-sitter/tree-sitter/pull/4314)
- add generate crate to workspace & adjust to new clippy lints by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot) in [#​4197](https://redirect.github.com/tree-sitter/tree-sitter/pull/4197)
- fix(highlight): account for multiple rows in highlight testing assertions by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot) in [#​4335](https://redirect.github.com/tree-sitter/tree-sitter/pull/4335)
- Add [@​generated](https://redirect.github.com/generated) to parser.c header by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot) in [#​4344](https://redirect.github.com/tree-sitter/tree-sitter/pull/4344)
- Fix WASI build by not calling a non-existent function. by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot) in [#​4346](https://redirect.github.com/tree-sitter/tree-sitter/pull/4346)
- fix(rust): clarify error message for non-token reserved words by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot) in [#​4347](https://redirect.github.com/tree-sitter/tree-sitter/pull/4347)
- Make highlighting more deterministic when themes are ambiguous by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot) in [#​4350](https://redirect.github.com/tree-sitter/tree-sitter/pull/4350)
- fix(lib): reset parser options after use by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot) in [#​4361](https://redirect.github.com/tree-sitter/tree-sitter/pull/4361)
- fix(web): correct childWithDescendant() functionality by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot) in [#​4369](https://redirect.github.com/tree-sitter/tree-sitter/pull/4369)
- fix(ci): increase timeouts for flaky tests by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot) in [#​4374](https://redirect.github.com/tree-sitter/tree-sitter/pull/4374)
- export wasm files to better support bundling use cases by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot) in [#​4378](https://redirect.github.com/tree-sitter/tree-sitter/pull/4378)
- Tidy up the docs in auto-generated Rust bindings by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot) in [#​4377](https://redirect.github.com/tree-sitter/tree-sitter/pull/4377)
- binding\_web: replace dynamic require with import by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot) in [#​4380](https://redirect.github.com/tree-sitter/tree-sitter/pull/4380)
- Refine the documentation and command line help for "parse --edits" by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot) in [#​4379](https://redirect.github.com/tree-sitter/tree-sitter/pull/4379)
- perf(highlight): use `BTreeMap` over `IndexMap` for highlight configs by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot) in [#​4382](https://redirect.github.com/tree-sitter/tree-sitter/pull/4382)
- fix(parse): mark logging closure as `move` by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot) in [#​4410](https://redirect.github.com/tree-sitter/tree-sitter/pull/4410)
- fix(lib): do not access the alias sequence for the `end` subtree in `ts_subtree_summarize_children` by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot) in [#​4418](https://redirect.github.com/tree-sitter/tree-sitter/pull/4418)
- fix(generate): mark url as a Windows-only dependency by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot) in [#​4415](https://redirect.github.com/tree-sitter/tree-sitter/pull/4415)
- fix(rust): address some new nightly clippy lints by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot) in [#​4425](https://redirect.github.com/tree-sitter/tree-sitter/pull/4425)
- fix(query): correct `last_child_step_index` in cases where a new step wasn't created. by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot) in [#​4428](https://redirect.github.com/tree-sitter/tree-sitter/pull/4428)
- fix(lib): return early for empty predicate step slice by [@​tree-sitter-ci-bot](https://redirect.github.com/tree-sitter-ci-bot) in [#​4441](https://redirect.github.com/tree-sitter/tree-sitter/pull/4441)
- 0.25.4 by [@​WillLillis](https://redirect.github.com/WillLillis) in [#​4442](https://redirect.github.com/tree-sitter/tree-sitter/pull/4442)
**Full Changelog**: <https://github.com/tree-sitter/tree-sitter/compare/v0.25.3...v0.25.4>
### [`v0.25.3`](https://redirect.github.com/tree-sitter/tree-sitter/releases/tag/v0.25.3)
[Compare Source](https://redirect.github.com/tree-sitter/tree-sitter/compare/v0.25.2...v0.25.3)
##### Bug Fixes
- Fixed an infinite loop that could happen in some grammars during error recovery if the end of the file was reached.
- Fixed a parser-generation error where internal character set constants were given external linkage, which could cause linking errors on some platforms if multiple Tree-sitter parsers were linked into the same application.
### [`v0.25.2`](https://redirect.github.com/tree-sitter/tree-sitter/releases/tag/v0.25.2)
[Compare Source](https://redirect.github.com/tree-sitter/tree-sitter/compare/v0.25.1...v0.25.2)
##### Bug Fixes
- Fixed a crash that could occur when loading WASM-compiled languages that were generated with an earlier version of the Tree-sitter CLI ([#​4210](https://redirect.github.com/tree-sitter/tree-sitter/issues/4210)).
- Fixed incorrect tokenization when using WASM-compiled languages, if the language's external scanner did not assign to `result_symbol` ([#​4218](https://redirect.github.com/tree-sitter/tree-sitter/issues/4218))
- Fixed an infinite loop that could occur if external scanners returned empty extra tokens ([#​4213](https://redirect.github.com/tree-sitter/tree-sitter/issues/4213))
##### Build
- Decreased the rustc version required to build the `tree-sitter-languages` and `tree-sitter` crates ([#​4221](https://redirect.github.com/tree-sitter/tree-sitter/issues/4221))
### [`v0.25.1`](https://redirect.github.com/tree-sitter/tree-sitter/releases/tag/v0.25.1)
[Compare Source](https://redirect.github.com/tree-sitter/tree-sitter/compare/v0.25.0...v0.25.1)
### Changelog
#### \[0.25.1] — 2025-02-02
##### Features
- **cli**: Specify abi version via env var ([#​4173](https://redirect.github.com/tree-sitter/tree-sitter/pull/4173))
##### Bug Fixes
- **bindings**: Correct Zig bindings to expose a `language` function
- **lib**: Prevent finished\_tree assertion failure ([#​4176](https://redirect.github.com/tree-sitter/tree-sitter/pull/4176))
##### Documentation
- Correct build steps for WASM files
##### Build System and CI
- Use `ubuntu-22.04` for x64 builds ([#​4175](https://redirect.github.com/tree-sitter/tree-sitter/pull/4175))
- Bump version to 0.25.1
##### Other
- **rust**: Correct doc comments
### [`v0.25.0`](https://redirect.github.com/tree-sitter/tree-sitter/releases/tag/v0.25.0)
[Compare Source](https://redirect.github.com/tree-sitter/tree-sitter/compare/v0.24.7...v0.25.0)
### Changelog
#### \[0.25.0] — 2025-02-01
##### Notices
This is a large release. As such, a few major changes and how to adapt to them are outlined below:
- `web-tree-sitter` was rewritten in TypeScript. With that, we also now publish the sourcemaps, and debug builds for the library. We also publish *both* CommonJS and ESM modules.
- The internal ABI was bumped to 15. The main benefits this brings is that the language name, version, supertype info, and reserved words are added to the parsers. To use ABI 15, you must have a `tree-sitter.json` file in your repository, since the version information for the parser is pulled from this file.
- Parsing and Querying should be cancelled using the "progress callback", rather than setting a timeout or a cancellation flag, which are now deprecated. To do so, use the "parse/query with options" function in the bindings you choose to use, in the next release the old way of timing out parsing will be removed, which allows us to get rid of our dependency on the `time.h` headers in the core library.
- `MISSING` nodes can now be queried, and queries involving supertypes are properly validated now.
- The `ts_node_child_containing_descendant` function was removed; use `ts_node_child_with_descendant` instead (which has nearly the same behavior but can also return `descendant`.)
- `TSInput` now includes a (mandatory) new field `DecodeFunction`, which allows passing a custom decode function. To use the builtin function, pass `NULL`.
- In the DSL, there is now a `RustRegex` function, which takes in a Rust regex as a string. All of the capabilities of Rust's regex engine are available here, which allows for some nice features that aren't possible with JavaScript regexes.
- We've migrated our documentation to mdBook, and greatly improved the docs.
##### Breaking
- Properly handle UTF-16 endianness encoding ([#​3740](https://redirect.github.com/tree-sitter/tree-sitter/pull/3740))
- Bump internal abi to 15 ([#​3803](https://redirect.github.com/tree-sitter/tree-sitter/pull/3803))
- Update playground with new web bindings ([#​4121](https://redirect.github.com/tree-sitter/tree-sitter/pull/4121))
- **bindings**: Update swift bindings ([#​4154](https://redirect.github.com/tree-sitter/tree-sitter/pull/4154))
- **cli**: Remove migration code for `tree-sitter.json` ([#​4107](https://redirect.github.com/tree-sitter/tree-sitter/pull/4107))
- **generate**: Use `regex_syntax::Hir` for expanding regexes ([#​3831](https://redirect.github.com/tree-sitter/tree-sitter/pull/3831))
- **lib**: Remove `ts_node_child_containing_descendant` ([#​4107](https://redirect.github.com/tree-sitter/tree-sitter/pull/4107))
- **lib**: Add the ability to specify a custom decode function ([#​3833](https://redirect.github.com/tree-sitter/tree-sitter/pull/3833))
- **web**: Rewrite the library in TypeScript ([#​4121](https://redirect.github.com/tree-sitter/tree-sitter/pull/4121))
- **web**: Use the WASM module in the bindings, and not the other way around ([#​4121](https://redirect.github.com/tree-sitter/tree-sitter/pull/4121))
- **web**: Rename `pattern` to `patternIndex` in `QueryMatch` ([#​4141](https://redirect.github.com/tree-sitter/tree-sitter/pull/4141))
- **web**: Deprecate `Language.query` in favor of `new Query` ([#​4141](https://redirect.github.com/tree-sitter/tree-sitter/pull/4141))
##### Features
- Drop legacy binding updates ([#​3734](https://redirect.github.com/tree-sitter/tree-sitter/pull/3734))
- Bump version to 0.25 ([#​3752](https://redirect.github.com/tree-sitter/tree-sitter/pull/3752))
- Allow setting the output directory for generated source files ([#​2614](https://redirect.github.com/tree-sitter/tree-sitter/pull/2614))
- Move scripts to xtasks ([#​3758](https://redirect.github.com/tree-sitter/tree-sitter/pull/3758))
- Add CST pretty-printer for parser output ([#​3762](https://redirect.github.com/tree-sitter/tree-sitter/pull/3762))
- Add `version` subcommand for versioning grammars ([#​3786](https://redirect.github.com/tree-sitter/tree-sitter/pull/3786))
- Add build sha to parser.c header comment ([#​3828](https://redirect.github.com/tree-sitter/tree-sitter/pull/3828))
- Implement a cache for `get_column` ([#​2503](https://redirect.github.com/tree-sitter/tree-sitter/pull/2503))
- Generate schema in tree-sitter.json ([#​3947](https://redirect.github.com/tree-sitter/tree-sitter/pull/3947))
- Support querying missing nodes ([#​3887](https://redirect.github.com/tree-sitter/tree-sitter/pull/3887))
- Add flag to output css classes instead of inline styles in HTML highlighter output ([#​3879](https://redirect.github.com/tree-sitter/tree-sitter/pull/3879))
- Add xtask to bump `emscripten-version` ([#​4015](https://redirect.github.com/tree-sitter/tree-sitter/pull/4015))
- Add 'reserved word' construct ([#​3896](https://redirect.github.com/tree-sitter/tree-sitter/pull/3896))
- Add Supertype API ([#​3938](https://redirect.github.com/tree-sitter/tree-sitter/pull/3938))
- Support passing in a Rust regex in the grammar dsl ([#​4076](https://redirect.github.com/tree-sitter/tree-sitter/pull/4076))
- Allow parser balancing to be cancellable ([#​4122](https://redirect.github.com/tree-sitter/tree-sitter/pull/4122))
- Remove `lazy_static` in favor of `LazyLock` ([#​4130](https://redirect.github.com/tree-sitter/tree-sitter/pull/4130))
- Add and apply eslint config ([#​4121](https://redirect.github.com/tree-sitter/tree-sitter/pull/4121))
- Begin autogenerating `web-tree-sitter.d.ts` ([#​4121](https://redirect.github.com/tree-sitter/tree-sitter/pull/4121))
- Publish both CJS and ESM files ([#​4121](https://redirect.github.com/tree-sitter/tree-sitter/pull/4121))
- Add a `patternIndex` field to `QueryCapture` ([#​4141](https://redirect.github.com/tree-sitter/tree-sitter/pull/4141))
- Improve `PredicateStep` types ([#​4141](https://redirect.github.com/tree-sitter/tree-sitter/pull/4141))
- Add the semantic version to TSLanguage, and expose an API for retrieving it ([#​4135](https://redirect.github.com/tree-sitter/tree-sitter/pull/4135))
- Add error information in the progress callback ([#​3987](https://redirect.github.com/tree-sitter/tree-sitter/pull/3987))
- **bindings**: Auto-detect scanners ([#​3809](https://redirect.github.com/tree-sitter/tree-sitter/pull/3809))
- **bindings**: Drop language name from node ([#​3184](https://redirect.github.com/tree-sitter/tree-sitter/pull/3184))
- **bindings**: Update some binding files ([#​3952](https://redirect.github.com/tree-sitter/tree-sitter/pull/3952))
- **bindings**: Drop python 3.9 support ([#​3799](https://redirect.github.com/tree-sitter/tree-sitter/pull/3799))
- **bindings**: Support free-threaded python build ([#​3799](https://redirect.github.com/tree-sitter/tree-sitter/pull/3799))
- **bindings**: Add opt-in zig bindings ([#​4144](https://redirect.github.com/tree-sitter/tree-sitter/pull/4144))
- **bindings**: Use `cc` 1.2 for Rust ([#​4156](https://redirect.github.com/tree-sitter/tree-sitter/pull/4156))
- **cli**: Verify assertions for every carat in tests, not just the first one ([#​3927](https://redirect.github.com/tree-sitter/tree-sitter/pull/3927))
- **cli**: Add nushell completions ([#​4000](https://redirect.github.com/tree-sitter/tree-sitter/pull/4000))
- **cli**: Don't validate email addresses in `init` command ([#​3999](https://redirect.github.com/tree-sitter/tree-sitter/pull/3999))
- **cli**: Show parse times in testing output ([#​3939](https://redirect.github.com/tree-sitter/tree-sitter/pull/3939))
- **cli**: Display parse and edit times separately for `parse --time` ([#​4016](https://redirect.github.com/tree-sitter/tree-sitter/pull/4016))
- **cli**: Make input handling agnostic ([#​4054](https://redirect.github.com/tree-sitter/tree-sitter/pull/4054))
- **cli**: Rework parse to use new input handler ([#​4054](https://redirect.github.com/tree-sitter/tree-sitter/pull/4054))
- **cli**: Rework query to use new input handler ([#​4054](https://redirect.github.com/tree-sitter/tree-sitter/pull/4054))
- **cli**: Rework highlight to use new input handler ([#​4054](https://redirect.github.com/tree-sitter/tree-sitter/pull/4054))
- **cli**: Rework tags to use new input handler ([#​4054](https://redirect.github.com/tree-sitter/tree-sitter/pull/4054))
- **cli**: Add json summary of parsing ([#​4048](https://redirect.github.com/tree-sitter/tree-sitter/pull/4048))
- **cli**: Allow `test` subcommand to include/exclude by corpus test file names ([#​4095](https://redirect.github.com/tree-sitter/tree-sitter/pull/4095))
- **cli**: Improve readability of parse debug output ([#​4118](https://redirect.github.com/tree-sitter/tree-sitter/pull/4118))
- **generate**: Add a comment with the tree-sitter version ([#​3825](https://redirect.github.com/tree-sitter/tree-sitter/pull/3825))
- **generate**: Add `.exp` and `.lib` files to gitignore template ([#​4079](https://redirect.github.com/tree-sitter/tree-sitter/pull/4079))
- **generate**: Explicitly disallow non-terminals in non-terminals ([#​4111](https://redirect.github.com/tree-sitter/tree-sitter/pull/4111))
- **generate**: Properly filter out unused rules ([#​4111](https://redirect.github.com/tree-sitter/tree-sitter/pull/4111))
- **generate**: Add an extra field for extra nodes in `node-types.json` ([#​4116](https://redirect.github.com/tree-sitter/tree-sitter/pull/4116))
- **generate**: Defer to ABI 14 if `tree-sitter.json` doesn't exist, rather than hard failing ([#​4156](https://redirect.github.com/tree-sitter/tree-sitter/pull/4156))
- **highlight**: Mark `TSHighlighter` fields as pub ([#​3990](https://redirect.github.com/tree-sitter/tree-sitter/pull/3990))
- **init**: Allow dashes in scopes ([#​4142](https://redirect.github.com/tree-sitter/tree-sitter/pull/4142))
- **init**: Add an optional `funding` field ([#​4142](https://redirect.github.com/tree-sitter/tree-sitter/pull/4142))
- **init**: Add a `class-name` field to grammars ([#​4142](https://redirect.github.com/tree-sitter/tree-sitter/pull/4142))
- **init**: Add a `title` field to grammars ([#​4142](https://redirect.github.com/tree-sitter/tree-sitter/pull/4142))
- **lib**: Wrap subtrees with changes in green circles ([#​3741](https://redirect.github.com/tree-sitter/tree-sitter/pull/3741))
- **lib**: Add the language name ([#​3184](https://redirect.github.com/tree-sitter/tree-sitter/pull/3184))
- **lib**: Add `ts_parser_parse_with_options` ([#​3843](https://redirect.github.com/tree-sitter/tree-sitter/pull/3843))
- **lib**: Add `ts_query_cursor_exec_with_options` ([#​3843](https://redirect.github.com/tree-sitter/tree-sitter/pull/3843))
- **lib**: Use `const` for `TSCharacterRanges` ([#​4027](https://redirect.github.com/tree-sitter/tree-sitter/pull/4027))
- **lib**: Implement `Send` + `Sync` for `WasmStore` ([#​4130](https://redirect.github.com/tree-sitter/tree-sitter/pull/4130))
- **loader**: Add `language_for_configuration` ([#​3816](https://redirect.github.com/tree-sitter/tree-sitter/pull/3816))
- **loader**: Add error message when a `tree-sitter.json` file is invalid ([#​3897](https://redirect.github.com/tree-sitter/tree-sitter/pull/3897))
- **loader**: Support multi-barreled file extensions ([#​3880](https://redirect.github.com/tree-sitter/tree-sitter/pull/3880))
- **loader**: Add a way to get the cwd's language config ([#​4054](https://redirect.github.com/tree-sitter/tree-sitter/pull/4054))
- **make,cmake**: Install queries along with parser libraries ([#​3958](https://redirect.github.com/tree-sitter/tree-sitter/pull/3958))
- **node**: Support single-file executables via bun build --compile ([#​3905](https://redirect.github.com/tree-sitter/tree-sitter/pull/3905))
- **node**: Update bindings when necessary ([#​3906](https://redirect.github.com/tree-sitter/tree-sitter/pull/3906))
- **playground**: Provide colored highlight for captures in code editor ([#​4089](https://redirect.github.com/tree-sitter/tree-sitter/pull/4089))
- **query**: Structurally verify supertype queries ([#​4110](https://redirect.github.com/tree-sitter/tree-sitter/pull/4110))
- **rust**: Add `Language::node_kind_is_supertype` ([#​3788](https://redirect.github.com/tree-sitter/tree-sitter/pull/3788))
- **rust**: Add `*_with_options` to the parser and query cursor, deprecate old functions ([#​3843](https://redirect.github.com/tree-sitter/tree-sitter/pull/3843))
- **rust**: Remove usage of deprecated functions ([#​3843](https://redirect.github.com/tree-sitter/tree-sitter/pull/3843))
- **rust**: Use `thiserror` for `generate` crate ([#​4048](https://redirect.github.com/tree-sitter/tree-sitter/pull/4048))
- **tags**: Implement `Send` + `Sync` for `TagsConfiguration` ([#​4130](https://redirect.github.com/tree-sitter/tree-sitter/pull/4130))
- **wasm**: Add Supertype API ([#​3938](https://redirect.github.com/tree-sitter/tree-sitter/pull/3938))
- **web**: Add missing API functions ([#​4074](https://redirect.github.com/tree-sitter/tree-sitter/pull/4074))
- **web**: Document the API ([#​4121](https://redirect.github.com/tree-sitter/tree-sitter/pull/4121))
- **web**: Use custom error type for query errors ([#​4141](https://redirect.github.com/tree-sitter/tree-sitter/pull/4141))
- **web**: Include C source files for debugging ([#​4171](https://redirect.github.com/tree-sitter/tree-sitter/pull/4171))
- **xtask**: Add upgrade-wasmtime command ([#​3771](https://redirect.github.com/tree-sitter/tree-sitter/pull/3771))
- **xtask**: Let upgrade-wasmtime update Cargo.lock ([#​3890](https://redirect.github.com/tree-sitter/tree-sitter/pull/3890))
- **xtask**: Check wasm exports ([#​4074](https://redirect.github.com/tree-sitter/tree-sitter/pull/4074))
- **xtask**: add `--watch` option for `build-wasm` and `check-wasm-exports` xtask commands ([#​4082](https://redirect.github.com/tree-sitter/tree-sitter/pull/4082))
- **xtask**: Add success message for wasm watchers ([#​4131](https://redirect.github.com/tree-sitter/tree-sitter/pull/4131))
##### Bug Fixes
- Return `LanguageRef` in `Parser::language` ([#​3797](https://redirect.github.com/tree-sitter/tree-sitter/pull/3797))
- Make sha generation work with submodules ([#​3828](https://redirect.github.com/tree-sitter/tree-sitter/pull/3828))
- Disallow tokens that match the empty string ([#​3864](https://redirect.github.com/tree-sitter/tree-sitter/pull/3864))
- Compiler warning ([#​3936](https://redirect.github.com/tree-sitter/tree-sitter/pull/3936))
- Clippy lint
- Clippy lints
- Minor issues with CI ([#​3971](https://redirect.github.com/tree-sitter/tree-sitter/pull/3971))
- Keep highlight names list consistent in the docs and cli ([#​2065](https://redirect.github.com/tree-sitter/tree-sitter/pull/2065))
- Re-export `StreamingIterator` and `StreamingIteratorMut` ([#​4034](https://redirect.github.com/tree-sitter/tree-sitter/pull/4034))
- Update outdated links ([#​4064](https://redirect.github.com/tree-sitter/tree-sitter/pull/4064))
platform ([#​4106](https://redirect.github.com/tree-sitter/tree-sitter/pull/4106))
- **bindings**: Update CMakeLists.txt file ([#​3869](https://redirect.github.com/tree-sitter/tree-sitter/pull/3869))
- **bindings**: Fix scanner check in binding.gyp ([#​3874](https://redirect.github.com/tree-sitter/tree-sitter/pull/3874))
- **bindings**: Include headers & queries in python sdist ([#​3952](https://redirect.github.com/tree-sitter/tree-sitter/pull/3952))
- **cli**: Do not stop printing dot graphs until edits are re-parsed ([#​3741](https://redirect.github.com/tree-sitter/tree-sitter/pull/3741))
- **cli**: Remove unnecessary referencing/dereferencing in `build_parse_table` ([#​3798](https://redirect.github.com/tree-sitter/tree-sitter/pull/3798))
- **cli**: Pass all fields to `tree-sitter.json` in `init` ([#​3856](https://redirect.github.com/tree-sitter/tree-sitter/pull/3856))
- **cli**: Use `contains` over `is` in warning ([#​3867](https://redirect.github.com/tree-sitter/tree-sitter/pull/3867))
- **cli**: Replace nerd font symbols with unicode symbols ([#​3835](https://redirect.github.com/tree-sitter/tree-sitter/pull/3835))
- **cli**: Count skipped tests correctly ([#​3835](https://redirect.github.com/tree-sitter/tree-sitter/pull/3835))
- **cli**: Correct warning message ([#​4009](https://redirect.github.com/tree-sitter/tree-sitter/pull/4009))
- **cli**: Only remove test input's trailing '\r' if running on Windows ([#​4106](https://redirect.github.com/tree-sitter/tree-sitter/pull/4106))
- **cli**: Fix error display, considering structured data returned from generate command ([#​4108](https://redirect.github.com/tree-sitter/tree-sitter/pull/4108))
- **cli**: Correct default query paths ([#​4009](https://redirect.github.com/tree-sitter/tree-sitter/pull/4009))
- **cli**: Gracefully handle OOB assertions ([#​4011](https://redirect.github.com/tree-sitter/tree-sitter/pull/4011))
- **cli**: Handle nested tags test files ([#​4010](https://redirect.github.com/tree-sitter/tree-sitter/pull/4010))
- **cli**: Use xdg config directory on macOS ([#​4026](https://redirect.github.com/tree-sitter/tree-sitter/pull/4026))
- **cli**: Correct range in cst pretty printer ([#​4057](https://redirect.github.com/tree-sitter/tree-sitter/pull/4057))
- **cli**: Remove double print of generate errors ([#​4083](https://redirect.github.com/tree-sitter/tree-sitter/pull/4083))
- **cli**: Correct test update option ([#​4109](https://redirect.github.com/tree-sitter/tree-sitter/pull/4109))
- **cli**: Improve error message for nonterminals used in token rule ([#​4115](https://redirect.github.com/tree-sitter/tree-sitter/pull/4115))
- **cli**: Minor discrepancies with pretty printer ([#​4147](https://redirect.github.com/tree-sitter/tree-sitter/pull/4147))
- **cli**: Correct traversal behavior for finding error nodes ([#​4152](https://redirect.github.com/tree-sitter/tree-sitter/pull/4152))
- **cli**: Propagate error flag in parse summary ([#​4164](https://redirect.github.com/tree-sitter/tree-sitter/pull/4164))
- **cmake**: Use current source dir for EXISTS check ([#​3907](https://redirect.github.com/tree-sitter/tree-sitter/pull/3907))
- **docs**: Update link for "Error Detection and Recovery in LR Parsers" ([#​3866](https://redirect.github.com/tree-sitter/tree-sitter/pull/3866))
- **dsl**: Fix types for RuleBuilder ([#​3812](https://redirect.github.com/tree-sitter/tree-sitter/pull/3812))
- **endian**: Support POSIX mode on Apple platforms ([#​4068](https://redirect.github.com/tree-sitter/tree-sitter/pull/4068))
- **endian**: Rely on system headers where possible ([#​4149](https://redirect.github.com/tree-sitter/tree-sitter/pull/4149))
- **generate**: Do not set the unit reduction symbol if it's in the extras array ([#​3868](https://redirect.github.com/tree-sitter/tree-sitter/pull/3868))
- **generate**: Improve display of token sets with escape characters ([#​4092](https://redirect.github.com/tree-sitter/tree-sitter/pull/4092))
- **generate**: Improve error message when a duplicate token is used as the word token ([#​4092](https://redirect.github.com/tree-sitter/tree-sitter/pull/4092))
- **init**: Use camel name from config in missing spots ([#​3790](https://redirect.github.com/tree-sitter/tree-sitter/pull/3790))
- **init**: Use current path if unspecified ([#​3795](https://redirect.github.com/tree-sitter/tree-sitter/pull/3795))
- **init**: Don't prepend the default filetype with a `.` ([#​4142](https://redirect.github.com/tree-sitter/tree-sitter/pull/4142))
- **init**: Handle parser name replacements better when a `kebab-case` name is expected ([#​4142](https://redirect.github.com/tree-sitter/tree-sitter/pull/4142))
- lib: Check point, byte ranges in `ts_query_cursor_set` ([#​3865](https://redirect.github.com/tree-sitter/tree-sitter/pull/3865))
- **lib**: check point, byte ranges in `node_descendant_for` ([#​3865](https://redirect.github.com/tree-sitter/tree-sitter/pull/3865))
- **lib**: Correct unexpected side effect in `get_column` when the lexer is at EOF ([#​3764](https://redirect.github.com/tree-sitter/tree-sitter/pull/3764))
- **lib**: Fix compilation issue on windows with `endian.h` ([#​3772](https://redirect.github.com/tree-sitter/tree-sitter/pull/3772))
- **lib**: Properly reset the lexer's start postiion ([#​3770](https://redirect.github.com/tree-sitter/tree-sitter/pull/3770))
- **lib**: Add parameter names in declarations in `subtree.h` ([#​3787](https://redirect.github.com/tree-sitter/tree-sitter/pull/3787))
- **lib**: Handle compiler warnings ([#​3781](https://redirect.github.com/tree-sitter/tree-sitter/pull/3781))
- **lib**: Simplify edge cases with zero-width tokens ([#​3836](https://redirect.github.com/tree-sitter/tree-sitter/pull/3836))
- **lib**: Correctly fetch the node name in query errors ([#​3904](https://redirect.github.com/tree-sitter/tree-sitter/pull/3904))
- **lib**: Correct next sibling of zero width node ([#​3898](https://redirect.github.com/tree-sitter/tree-sitter/pull/3898))
- **lib**: Correct escape detection for invalid anonymous nodes ([#​3945](https://redirect.github.com/tree-sitter/tree-sitter/pull/3945))
- **lib**: Use `clock_gettime` on macOS again ([#​3976](https://redirect.github.com/tree-sitter/tree-sitter/pull/3976))
- **lib**: Add saturating subtraction to prevent integer underflow ([#​4037](https://redirect.github.com/tree-sitter/tree-sitter/pull/4037))
- **lib**: Correct fix for parsing hang with ranges containing empty points ([#​4037](https://redirect.github.com/tree-sitter/tree-sitter/pull/4037))
- **lib**: Propagate `last_child` status to pattern alternatives in queries ([#​4067](https://redirect.github.com/tree-sitter/tree-sitter/pull/4067))
- **lib**: Prevent wildcards from incorrectly marking child patterns as infallible ([#​4069](https://redirect.github.com/tree-sitter/tree-sitter/pull/4069))
- **lib**: Don't consider unfinished captures definite when the following step is immediate ([#​4070](https://redirect.github.com/tree-sitter/tree-sitter/pull/4070))
- **lib**: Avoid OOB access when updating alternative steps ([#​4096](https://redirect.github.com/tree-sitter/tree-sitter/pull/4096))
- **lib**: Use inclusive range check for non-empty nodes in next sibling computation ([#​4097](https://redirect.github.com/tree-sitter/tree-sitter/pull/4097))
- **lib**: Temporarily allow lint with false positives ([#​4124](https://redirect.github.com/tree-sitter/tree-sitter/pull/4124))
- **lib**: Don't always clear the tree stack ([#​4132](https://redirect.github.com/tree-sitter/tree-sitter/pull/4132))
- **loader**: Don't print warnings if the file is not found ([#​3909](https://redirect.github.com/tree-sitter/tree-sitter/pull/3909))
- **playground**: Correct link to upstream playground ([#​4040](https://redirect.github.com/tree-sitter/tree-sitter/pull/4040))
- **playground**: Ensure local playground is initialized ([#​4040](https://redirect.github.com/tree-sitter/tree-sitter/pull/4040))
- **playground**: Add dark theme, align ui more akin to upstream playground ([#​4040](https://redirect.github.com/tree-sitter/tree-sitter/pull/4040))
- **playground**: Add back underline on tree nodes, and query error underline ([#​4040](https://redirect.github.com/tree-sitter/tree-sitter/pull/4040))
- **playground**: Restore select value's text from local storage ([#​4040](https://redirect.github.com/tree-sitter/tree-sitter/pull/4040))
- **playground**: Gracefully fallback to `JavaScript` if the select info is undefined
- **playground**: Work around lack of module support in mdbook ([#​4140](https://redirect.github.com/tree-sitter/tree-sitter/pull/4140))
- **query**: Ensure immediate matches for any node when an anchor follows a wildcard node ([#​4047](https://redirect.github.com/tree-sitter/tree-sitter/pull/4047))
- **rust**: Fix progress callback scope to prevent premature drop ([#​3863](https://redirect.github.com/tree-sitter/tree-sitter/pull/3863))
- **rust**: Adapt to a few new nightly lints ([#​4045](https://redirect.github.com/tree-sitter/tree-sitter/pull/4045))
- **rust**: Use `PathBuf` for `--query-paths` `highlight` option ([#​4071](https://redirect.github.com/tree-sitter/tree-sitter/pull/4071))
- **rust**: Adapt to a few new nightly lints ([#​4099](https://redirect.github.com/tree-sitter/tree-sitter/pull/4099))
- **templates**: Properly replace author email ([#​3742](https://redirect.github.com/tree-sitter/tree-sitter/pull/3742))
- **wasm**: Check docker presence without arguments ([#​4087](https://redirect.github.com/tree-sitter/tree-sitter/pull/4087))
- **wasm**: Allow passing in `ERROR` in `descendantsOfType` ([#​4103](https://redirect.github.com/tree-sitter/tree-sitter/pull/4103))
- **web**: Correct `getExtent` ([#​4074](https://redirect.github.com/tree-sitter/tree-sitter/pull/4074))
- **web**: Correct builds for CJS ([#​4121](https://redirect.github.com/tree-sitter/tree-sitter/pull/4121))
- **web**: Only export public types ([#​4141](https://redirect.github.com/tree-sitter/tree-sitter/pull/4141))
- **web**: Correct debug file location ([#​4157](https://redirect.github.com/tree-sitter/tree-sitter/pull/4157))
- **web**: Update `check-artifacts` script ([#​4158](https://redirect.github.com/tree-sitter/tree-sitter/pull/4158))
- **web**: Correct doc comment ([#​4166](https://redirect.github.com/tree-sitter/tree-sitter/pull/4166))
- **xtask**: Correct header path ([#​3803](https://redirect.github.com/tree-sitter/tree-sitter/pull/3803))
- **xtask**: Remove the `test_flags` arg if it's empty for cargo test ([#​3889](https://redirect.github.com/tree-sitter/tree-sitter/pull/3889))
- **xtask**: Bring back language and example filter ([#​3926](https://redirect.github.com/tree-sitter/tree-sitter/pull/3926))
- **xtask**: Add emscription version in commit msg ([#​4020](https://redirect.github.com/tree-sitter/tree-sitter/pull/4020))
- **xtask**: Adapt `check-wasm-exports` to web changes ([#​4121](https://redirect.github.com/tree-sitter/tree-sitter/pull/4121))
##### Performance
- **loader**: Improve language lookup speed ([#​3776](https://redirect.github.com/tree-sitter/tree-sitter/pull/3776))
##### Documentation
- Update changelog
- Update changelog
- Recommend `npm install` for editor integration ([#​3855](https://redirect.github.com/tree-sitter/tree-sitter/pull/3855))
- Code-format repro commands in bug report template ([#​3852](https://redirect.github.com/tree-sitter/tree-sitter/pull/3852))
- Fix missing links ([#​3857](https://redirect.github.com/tree-sitter/tree-sitter/pull/3857))
- Add missing tags description ([#​3923](https://redirect.github.com/tree-sitter/tree-sitter/pull/3923))
- Remove CHANGELOG.md ([#​3928](https://redirect.github.com/tree-sitter/tree-sitter/pull/3928))
- Add documentation for TSPoint coordinates ([#​3949](https://redirect.github.com/tree-sitter/tree-sitter/issues/3949)) ([#​3949](https://redirect.github.com/tree-sitter/tree-sitter/pull/3949))
- Fix typo ([#​4024](https://redirect.github.com/tree-sitter/tree-sitter/pull/4024))
- Clarify the start rule of a grammar ([#​4028](https://redirect.github.com/tree-sitter/tree-sitter/pull/4028))
- Migrate to mdbook ([#​4032](https://redirect.github.com/tree-sitter/tree-sitter/pull/4032))
- Fix link to `contributing.md`
- Add guide on contributing to docs ([#​4035](https://redirect.github.com/tree-sitter/tree-sitter/pull/4035))
- Move assets to correct path ([#​4040](https://redirect.github.com/tree-sitter/tree-sitter/pull/4040))
- Add favicon and logo ([#​4040](https://redirect.github.com/tree-sitter/tree-sitter/pull/4040))
- Add back detailed info about points
- Add `--test-number` entries for query, highlight, and tag subcommands ([#​4054](https://redirect.github.com/tree-sitter/tree-sitter/pull/4054))
- Clarify data returned by `QueryCaptures` during iteration ([#​4073](https://redirect.github.com/tree-sitter/tree-sitter/pull/4073))
- Add mdbook-admonish for better tooltips
- Add note on not duplicating the word token rule ([#​4092](https://redirect.github.com/tree-sitter/tree-sitter/pull/4092))
- Update playground references ([#​4093](https://redirect.github.com/tree-sitter/tree-sitter/pull/4093))
- Clarify that the optional fields are a function that take in the grammar object
- Add example usage of conflicts ([#​4098](https://redirect.github.com/tree-sitter/tree-sitter/pull/4098))
- Improve docs for contributing to docs ([#​4100](https://redirect.github.com/tree-sitter/tree-sitter/pull/4100))
- Improve docs around lexical precedence ([#​4101](https://redirect.github.com/tree-sitter/tree-sitter/pull/4101))
- Add information about the scoping of cursors ([#​4102](https://redirect.github.com/tree-sitter/tree-sitter/pull/4102))
- Fix broken link ([#​4127](https://redirect.github.com/tree-sitter/tree-sitter/pull/4127))
- Add documentation on updating and publishing grammars ([#​4135](https://redirect.github.com/tree-sitter/tree-sitter/pull/4135))
- Add guidance about node naming conventions ([#​4148](https://redirect.github.com/tree-sitter/tree-sitter/pull/4148))
- Add missing summary element ([#​4150](https://redirect.github.com/tree-sitter/tree-sitter/pull/4150))
- **lib**: Improve documentation on `ts_tree_get_changed_ranges` and `ts_query_cursor_set_{byte,point}_range` ([#​4114](https://redirect.github.com/tree-sitter/tree-sitter/pull/4114))
- **rust**: Updated README to reflect language initialization updates ([#​3757](https://redirect.github.com/tree-sitter/tree-sitter/pull/3757))
- **rust**: Document optional features ([#​3822](https://redirect.github.com/tree-sitter/tree-sitter/pull/3822))
- **rust**: Add `--locked` to installation instructions ([#​3850](https://redirect.github.com/tree-sitter/tree-sitter/pull/3850))
- **rust**: Update doc comment on node ids ([#​3364](https://redirect.github.com/tree-sitter/tree-sitter/pull/3364))
- **scanner**: Add overview to the `scan` function
- **web**: Add instructions for Vite ([#​2830](https://redirect.github.com/tree-sitter/tree-sitter/pull/2830))
- **web**: Update process on fetching WASM files ([#​4121](https://redirect.github.com/tree-sitter/tree-sitter/pull/4121))
- **web**: Update docs ([#​4121](https://redirect.github.com/tree-sitter/tree-sitter/pull/4121))
- **web**: Update README and add CONTRIBUTING docs ([#​4121](https://redirect.github.com/tree-sitter/tree-sitter/pull/4121))
- **web**: Update type definitions ([#​4141](https://redirect.github.com/tree-sitter/tree-sitter/pull/4141))
- **xtask**: Update doc to use xtask, not scripts
##### Refactor
- Reuse symbol variable in subtype map generator ([#​3942](https://redirect.github.com/tree-sitter/tree-sitter/pull/3942))
- Rewrite scripts in typescript ([#​4121](https://redirect.github.com/tree-sitter/tree-sitter/pull/4121))
- **cli**: Replace embedded xterm colors file with `ansi_colours` ([#​4151](https://redirect.github.com/tree-sitter/tree-sitter/pull/4151))
- **web**: Use fs/promises ([#​3793](https://redirect.github.com/tree-sitter/tree-sitter/pull/3793))
- **web**: Move `CaptureQuantifier` definition ([#​4141](https://redirect.github.com/tree-sitter/tree-sitter/pull/4141))
- **web**: Break apart the logic for constructing a query ([#​4141](https://redirect.github
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/nix-community/tree-sitter-nix).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS45Ny4xMCIsInVwZGF0ZWRJblZlciI6IjQxLjk3LjEwIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->
合并状态:未合并 0 条评论