tree-sitter/tree-sitter (tree-sitter/tree-sitter)
### [`v0.23.0`](https://redirect.github.com/tree-sitter/tree-sitter/releases/tag/v0.23.0)
[Compare Source](https://redirect.github.com/tree-sitter/tree-sitter/compare/v0.22.6...v0.23.0)
##### \[0.23.0] - 2024-08-26
##### Breaking
- Introduce tree-sitter-language crate for grammar crates to depend on ([#3069](https://redirect.github.com/tree-sitter/tree-sitter/pull/3069))
- Revert interning of a sequence or choice of a single rule ([#3548](https://redirect.github.com/tree-sitter/tree-sitter/pull/3548))
- **bindings**: Use capsules in python ([#3384](https://redirect.github.com/tree-sitter/tree-sitter/pull/3384))
- **dsl**: Support other JS runtimes ([#3355](https://redirect.github.com/tree-sitter/tree-sitter/pull/3355))
##### Features
- Add `fuzz` subcommand ([#3385](https://redirect.github.com/tree-sitter/tree-sitter/pull/3385))
- Allow external scanners to use the logger ([#3204](https://redirect.github.com/tree-sitter/tree-sitter/pull/3204))
- **bindings**: Add query constants to python
- **bindings**: Add node, python, swift tests ([#3178](https://redirect.github.com/tree-sitter/tree-sitter/pull/3178))
- **bindings**: Update npm scripts ([#3210](https://redirect.github.com/tree-sitter/tree-sitter/pull/3210))
- **cli**: Bump unicode data to v15.1.0
- **cli**: Add debug build flag ([#3279](https://redirect.github.com/tree-sitter/tree-sitter/pull/3279))
- **cli**: Attach helpful context when `grammar.json` cannot be found ([#3405](https://redirect.github.com/tree-sitter/tree-sitter/pull/3405))
- **cli**: Add `--show-fields` flag to `test` command ([#3502](https://redirect.github.com/tree-sitter/tree-sitter/pull/3502))
- **lib**: Add `ts_query_end_byte_for_pattern` ([#3451](https://redirect.github.com/tree-sitter/tree-sitter/pull/3451))
- **lib**: Support no_std
- **zig**: Update outdated path syntax ([#3383](https://redirect.github.com/tree-sitter/tree-sitter/pull/3383))
##### Bug Fixes
- Always reset to the first language when iterating over language attributes ([#3375](https://redirect.github.com/tree-sitter/tree-sitter/pull/3375))
- Better error when a supertype rule is invalid ([#3400](https://redirect.github.com/tree-sitter/tree-sitter/pull/3400))
- Intern a sequence or choice of a single element the same as the element itself
- Do not "absorb" rules that consist of a single terminal if the rule is hidden ([#2577](https://redirect.github.com/tree-sitter/tree-sitter/pull/2577))
- **bindings**: Update go bindings ([#3544](https://redirect.github.com/tree-sitter/tree-sitter/pull/3544))
- **cli**: Installation via authenticated proxy ([#3414](https://redirect.github.com/tree-sitter/tree-sitter/pull/3414))
- **cli**: Dedup `preceding_auxiliary_symbols` ([#3550](https://redirect.github.com/tree-sitter/tree-sitter/pull/3550))
- **dsl**: Improve error message when a rule function returns undefined ([#3452](https://redirect.github.com/tree-sitter/tree-sitter/pull/3452))
- **generate**: Rename `cargo.toml` template ([#3532](https://redirect.github.com/tree-sitter/tree-sitter/pull/3532))
- **go**: Update parser name in binding files, add to docs ([#3547](https://redirect.github.com/tree-sitter/tree-sitter/pull/3547))
- **lib**: A null clock must have `tv_nsec` be 0 as well ([#3372](https://redirect.github.com/tree-sitter/tree-sitter/pull/3372))
- **lib**: Restrict pattern_map optimization when a wildcard step has an immediate first child ([#3440](https://redirect.github.com/tree-sitter/tree-sitter/pull/3440))
- **lib**: An empty root node should not precede an empty range ([#3450](https://redirect.github.com/tree-sitter/tree-sitter/pull/3450))
- **lib**: Fix api header C++ interop ([#3534](https://redirect.github.com/tree-sitter/tree-sitter/pull/3534))
- **make**: Fail properly on Windows ([#3418](https://redirect.github.com/tree-sitter/tree-sitter/pull/3418))
- **rust**: Fetch `CARGO_MANIFEST_DIR` at runtime in build script ([#3352](https://redirect.github.com/tree-sitter/tree-sitter/pull/3352))
- **rust**: Fix new clippy warnings ([#3491](https://redirect.github.com/tree-sitter/tree-sitter/pull/3491))
- **test**: Multi-grammar corpus tests are now in the repo root ([#3342](https://redirect.github.com/tree-sitter/tree-sitter/pull/3342))
- **wasm**: Update test
##### Performance
- Hoist out common subexpressions in satisfies_text_predicates ([#3397](https://redirect.github.com/tree-sitter/tree-sitter/pull/3397))
##### Documentation
- Update changelog
- Remove duplicate pr # in changelog
- Add note for bullet
- Fix syntax highlighting unit testing example ([#3434](https://redirect.github.com/tree-sitter/tree-sitter/pull/3434))
- Add tsserver annotation to example ([#3460](https://redirect.github.com/tree-sitter/tree-sitter/pull/3460))
- Fix tree cursor documentation ([#3324](https://redirect.github.com/tree-sitter/tree-sitter/pull/3324))
- Document rust library features ([#3395](https://redirect.github.com/tree-sitter/tree-sitter/pull/3395))
- Clean up binding & parser lists ([#3443](https://redirect.github.com/tree-sitter/tree-sitter/pull/3443))
##### Refactor
- Remove ansi_term dependency ([#3387](https://redirect.github.com/tree-sitter/tree-sitter/pull/3387))
- Remove difference dependency ([#3388](https://redirect.github.com/tree-sitter/tree-sitter/pull/3388))
- **scripts**: Clean up bash scripts ([#3231](https://redirect.github.com/tree-sitter/tree-sitter/pull/3231))
##### Testing
- Modernize scanner files ([#3340](https://redirect.github.com/tree-sitter/tree-sitter/pull/3340))
##### Build System and CI
- **deps**: bump wasmtime, cc, and wasmparser ([#3529](https://redirect.github.com/tree-sitter/tree-sitter/pull/3529)
- **bindings**: Use language version in soname ([#3308](https://redirect.github.com/tree-sitter/tree-sitter/pull/3308))
- **lib**: Include the minor in the soname
- **loader**: Make dependencies optional ([#1638](https://redirect.github.com/tree-sitter/tree-sitter/pull/1638))
- **swift**: Declare header search path ([#3474](https://redirect.github.com/tree-sitter/tree-sitter/pull/3474))
- **wasm**: Don't minify JS ([#3380](https://redirect.github.com/tree-sitter/tree-sitter/pull/3380))
- **wasm**: Bump emscripten to 3.1.64 ([#3497](https://redirect.github.com/tree-sitter/tree-sitter/pull/3497))
- **wasm**: Support big endian machines ([#3492](https://redirect.github.com/tree-sitter/tree-sitter/pull/3492))
- **zig**: Git ignore updated Zig cache directory ([#3408](https://redirect.github.com/tree-sitter/tree-sitter/pull/3408))
##### Other
- Swap `sprintf()` for `snprintf()` ([#3430](https://redirect.github.com/tree-sitter/tree-sitter/pull/3430))
- Add `.build` to gitignore ([#3498](https://redirect.github.com/tree-sitter/tree-sitter/pull/3498))
- Reset language when resetting wasm store ([#3495](https://redirect.github.com/tree-sitter/tree-sitter/pull/3495))
- Clone wasm store engine ([#3542](https://redirect.github.com/tree-sitter/tree-sitter/pull/3542))
- **bindings**: Fix indent & line endings ([#3284](https://redirect.github.com/tree-sitter/tree-sitter/pull/3284))
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.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
v0.22.6
->v0.23.0
Release Notes
tree-sitter/tree-sitter (tree-sitter/tree-sitter)
### [`v0.23.0`](https://redirect.github.com/tree-sitter/tree-sitter/releases/tag/v0.23.0) [Compare Source](https://redirect.github.com/tree-sitter/tree-sitter/compare/v0.22.6...v0.23.0) ##### \[0.23.0] - 2024-08-26 ##### Breaking - Introduce tree-sitter-language crate for grammar crates to depend on ([#3069](https://redirect.github.com/tree-sitter/tree-sitter/pull/3069)) - Revert interning of a sequence or choice of a single rule ([#3548](https://redirect.github.com/tree-sitter/tree-sitter/pull/3548)) - **bindings**: Use capsules in python ([#3384](https://redirect.github.com/tree-sitter/tree-sitter/pull/3384)) - **dsl**: Support other JS runtimes ([#3355](https://redirect.github.com/tree-sitter/tree-sitter/pull/3355)) ##### Features - Add `fuzz` subcommand ([#3385](https://redirect.github.com/tree-sitter/tree-sitter/pull/3385)) - Allow external scanners to use the logger ([#3204](https://redirect.github.com/tree-sitter/tree-sitter/pull/3204)) - **bindings**: Add query constants to python - **bindings**: Add node, python, swift tests ([#3178](https://redirect.github.com/tree-sitter/tree-sitter/pull/3178)) - **bindings**: Update npm scripts ([#3210](https://redirect.github.com/tree-sitter/tree-sitter/pull/3210)) - **cli**: Bump unicode data to v15.1.0 - **cli**: Add debug build flag ([#3279](https://redirect.github.com/tree-sitter/tree-sitter/pull/3279)) - **cli**: Attach helpful context when `grammar.json` cannot be found ([#3405](https://redirect.github.com/tree-sitter/tree-sitter/pull/3405)) - **cli**: Add `--show-fields` flag to `test` command ([#3502](https://redirect.github.com/tree-sitter/tree-sitter/pull/3502)) - **lib**: Add `ts_query_end_byte_for_pattern` ([#3451](https://redirect.github.com/tree-sitter/tree-sitter/pull/3451)) - **lib**: Support no_std - **zig**: Update outdated path syntax ([#3383](https://redirect.github.com/tree-sitter/tree-sitter/pull/3383)) ##### Bug Fixes - Always reset to the first language when iterating over language attributes ([#3375](https://redirect.github.com/tree-sitter/tree-sitter/pull/3375)) - Better error when a supertype rule is invalid ([#3400](https://redirect.github.com/tree-sitter/tree-sitter/pull/3400)) - Intern a sequence or choice of a single element the same as the element itself - Do not "absorb" rules that consist of a single terminal if the rule is hidden ([#2577](https://redirect.github.com/tree-sitter/tree-sitter/pull/2577)) - **bindings**: Update go bindings ([#3544](https://redirect.github.com/tree-sitter/tree-sitter/pull/3544)) - **cli**: Installation via authenticated proxy ([#3414](https://redirect.github.com/tree-sitter/tree-sitter/pull/3414)) - **cli**: Dedup `preceding_auxiliary_symbols` ([#3550](https://redirect.github.com/tree-sitter/tree-sitter/pull/3550)) - **dsl**: Improve error message when a rule function returns undefined ([#3452](https://redirect.github.com/tree-sitter/tree-sitter/pull/3452)) - **generate**: Rename `cargo.toml` template ([#3532](https://redirect.github.com/tree-sitter/tree-sitter/pull/3532)) - **go**: Update parser name in binding files, add to docs ([#3547](https://redirect.github.com/tree-sitter/tree-sitter/pull/3547)) - **lib**: A null clock must have `tv_nsec` be 0 as well ([#3372](https://redirect.github.com/tree-sitter/tree-sitter/pull/3372)) - **lib**: Restrict pattern_map optimization when a wildcard step has an immediate first child ([#3440](https://redirect.github.com/tree-sitter/tree-sitter/pull/3440)) - **lib**: An empty root node should not precede an empty range ([#3450](https://redirect.github.com/tree-sitter/tree-sitter/pull/3450)) - **lib**: Fix api header C++ interop ([#3534](https://redirect.github.com/tree-sitter/tree-sitter/pull/3534)) - **make**: Fail properly on Windows ([#3418](https://redirect.github.com/tree-sitter/tree-sitter/pull/3418)) - **rust**: Fetch `CARGO_MANIFEST_DIR` at runtime in build script ([#3352](https://redirect.github.com/tree-sitter/tree-sitter/pull/3352)) - **rust**: Fix new clippy warnings ([#3491](https://redirect.github.com/tree-sitter/tree-sitter/pull/3491)) - **test**: Multi-grammar corpus tests are now in the repo root ([#3342](https://redirect.github.com/tree-sitter/tree-sitter/pull/3342)) - **wasm**: Update test ##### Performance - Hoist out common subexpressions in satisfies_text_predicates ([#3397](https://redirect.github.com/tree-sitter/tree-sitter/pull/3397)) ##### Documentation - Update changelog - Remove duplicate pr # in changelog - Add note for bullet - Fix syntax highlighting unit testing example ([#3434](https://redirect.github.com/tree-sitter/tree-sitter/pull/3434)) - Add tsserver annotation to example ([#3460](https://redirect.github.com/tree-sitter/tree-sitter/pull/3460)) - Fix tree cursor documentation ([#3324](https://redirect.github.com/tree-sitter/tree-sitter/pull/3324)) - Document rust library features ([#3395](https://redirect.github.com/tree-sitter/tree-sitter/pull/3395)) - Clean up binding & parser lists ([#3443](https://redirect.github.com/tree-sitter/tree-sitter/pull/3443)) ##### Refactor - Remove ansi_term dependency ([#3387](https://redirect.github.com/tree-sitter/tree-sitter/pull/3387)) - Remove difference dependency ([#3388](https://redirect.github.com/tree-sitter/tree-sitter/pull/3388)) - **scripts**: Clean up bash scripts ([#3231](https://redirect.github.com/tree-sitter/tree-sitter/pull/3231)) ##### Testing - Modernize scanner files ([#3340](https://redirect.github.com/tree-sitter/tree-sitter/pull/3340)) ##### Build System and CI - **deps**: bump wasmtime, cc, and wasmparser ([#3529](https://redirect.github.com/tree-sitter/tree-sitter/pull/3529) - **bindings**: Use language version in soname ([#3308](https://redirect.github.com/tree-sitter/tree-sitter/pull/3308)) - **lib**: Include the minor in the soname - **loader**: Make dependencies optional ([#1638](https://redirect.github.com/tree-sitter/tree-sitter/pull/1638)) - **swift**: Declare header search path ([#3474](https://redirect.github.com/tree-sitter/tree-sitter/pull/3474)) - **wasm**: Don't minify JS ([#3380](https://redirect.github.com/tree-sitter/tree-sitter/pull/3380)) - **wasm**: Bump emscripten to 3.1.64 ([#3497](https://redirect.github.com/tree-sitter/tree-sitter/pull/3497)) - **wasm**: Support big endian machines ([#3492](https://redirect.github.com/tree-sitter/tree-sitter/pull/3492)) - **zig**: Git ignore updated Zig cache directory ([#3408](https://redirect.github.com/tree-sitter/tree-sitter/pull/3408)) ##### Other - Swap `sprintf()` for `snprintf()` ([#3430](https://redirect.github.com/tree-sitter/tree-sitter/pull/3430)) - Add `.build` to gitignore ([#3498](https://redirect.github.com/tree-sitter/tree-sitter/pull/3498)) - Reset language when resetting wasm store ([#3495](https://redirect.github.com/tree-sitter/tree-sitter/pull/3495)) - Clone wasm store engine ([#3542](https://redirect.github.com/tree-sitter/tree-sitter/pull/3542)) - **bindings**: Fix indent & line endings ([#3284](https://redirect.github.com/tree-sitter/tree-sitter/pull/3284))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.
This PR was generated by Mend Renovate. View the repository job log.