File tree-sitter.changes of Package tree-sitter
-------------------------------------------------------------------
Tue Dec 09 05:03:17 UTC 2025 - Scott Bradnick <scott.bradnick@suse.com>
- Updating to somajor 0_26
- Update to version 0.26.1:
* release 0.26.1
* build(deps): bump wasmparser from 0.242.0 to 0.243.0 in the cargo group
* fix(rust): specify workspace dependency of `tree-sitter-language` crate as "0.1"
* docs(cli): list Java & Zig binding files
* feat(bindings): add Java bindings
* ci(release): enable trusted publishing & attestations
* feat(bindings): add byproducts to cmake
* fix(loader)!: correct arguments passed to `select_language`
* build(deps): bump the npm group across 1 directory with 7 updates
* build(deps): cargo update
* build(deps): bump glob from 10.4.5 to 10.5.0 in /lib/binding_web
* build(deps): bump vite from 7.1.5 to 7.1.11 in /lib/binding_web
* build(deps): bump js-yaml from 4.1.0 to 4.1.1 in /crates/cli/eslint
* build(deps): bump js-yaml from 4.1.0 to 4.1.1 in /lib/binding_web
* fix(cli): improve error reporting for invalid range arguments to `query` command
* Clean up node range tracking in query_cursor__advance
* Add containing range APIs to query cursor
* cli: Do not validate UTF-8 boundaries when query results are not being tested
* build(deps): bump the cargo group with 2 updates
* feat(xtask): bring wasi-sdk treatment up to par with the loader
* fix(loader): write Wasm lib directly to lib dir
* fix(cli): correct query match limit warning condition
* fix(cli): return error if `--wasm` flag is passed when the wasm feature is disabled
* fix(node): bump tree-sitter dep to 0.25 in bindings
* fix(query): prevent infinite loop with `+` and `?` quantifiers
* build(deps): bump wasi-sdk to v29
* docs: remove manual bindings update steps for scanner
* build(deps): bump the cargo group with 4 updates
* ci: bump actions/checkout from 5 to 6 in the actions group
* fix(docs): final updates before 0.26.1
* feat(cli): update zig bindings with `version` command
* refactor(cli): clean up version updating code
* fix(docs): list dependencies on external tooling for `version` command
* feat(cli): don't bail after first version update fails
* fix(generate): add node_modules to quickjs resolver
* docs: fix typo in the page about ABI version
* Apply suggestions from code review
* Integrate rewording suggestions
* docs: New page about ABI versions for parser users
* fix(docs): update cli docs to reflect changes to various subcommand arguments
* Move PathsJSON method, reformat
* feat(bindings): expose the queries dynamically
* build(deps): bump the cargo group with 2 updates
* fix(loader): set correct runtime host for cc while cross-compiling
* bulild(deps): cargo update
* refactor(generate)!: include path when available in IO errors
* refactor(config)!: transition from anyhow to thiserror
* fix(generate): remove leftover imports of anyhow
* refactor(loader)!: transition from anyhow to thiserror
* fix(docs): don't show mdbook help popup when using query editor
* fix(dsl): add `ReservedRule` to `Rule` type definition
* build(deps): bump the cargo group with 3 updates
* fix(cli)!: deprecate `--build` flag for `generate` command
* build(deps): bump the cargo group across 1 directory with 6 updates
* fix(generate): don't short-circuit within `extend_sorted`
* feat(xtask): generate JSON schema for cli `TestSummary`
* fix(cli): mark `report_states_for_rule` and `json`/`json_summary` flags for `generate` command as conflicting
* fix(cli): correct behavior of parse `--stat` and `--json-summary` flags
* test: add coverage for new test aggregation method
* refactor(cli)!: deprecate `json` flags in favor of `json-summary`
* feat(test): display test results in JSON format
* refactor(test): generalize printing of test diff keys and diffs
* refactor(test): clean up test filtering logic
* fix(ci): correct mdbook release url
* ci(docs): pin mdbook to latest release
* fix(docs): remove multilingual config field
* fix(cli): remove `--emit=lib` generate option
* perf: reduce needless allocations
* fix(test): correct language typo in test name
* build(deps): bump rquickjs to v0.10.0
* ci(dependabot): only update patch releases for cargo
* build(deps): cargo update
* ci: bump the actions group across 1 directory with 3 updates
* fix(xtask): require `version` argument for `bump-version` command
* fix(rust): apply `Self` usage in struct definition lint
* fix(rust): minor cleanup in generate code
* ci: use macos-15-intel runner
* build(deps): bump the cargo group across 1 directory with 4 updates
* refactor(generate): make `AliasMap` use `BTreeMap` over `HashMap`
* fix(generate): ensure deterministic iteration order for symbol aliases while constructing node-types.json
* fix(generate): correct display of precedence for `--report-states-for-rule`
* fix(generate): Add missing fields to `NodeInfoJson` sorting
* fix(cli): don't load languages for `build` command
* chore: add schema for node-types.json
* Fix typo
* fix(cli): prevent crash when parsing stdin
* build(deps): bump the cargo group with 2 updates
* ci: split cross compilation and emscripten tag read
* fix(loader): allow parallel compilation on windows
* fix(bindings): fix root detection on windows
* style(cli): appease clippy
* style(loader): appease clippy
* build(deps): bump the cargo group with 7 updates
* ci(dependabot): update package.json as well
* ci(dependabot): enable cooldown period
* feat(lib)!: disallow whitespace in supertype syntax
* fix(lib): validate subtypes in supertype queries
* fix(lib): allow anonymous nodes in the supertype query syntax
* fix(test): trim trailing carriage return unconditionally in test contents
* feat(bindings): generate zig fingerprint
* fix(docs): update more broken links
* feat: add option to disable parse state optimizations
* fix(generate): return error when generated grammar's state count exceeds the maximum allowed value.
* feat(cli): include filenames in parsing xml output
* Revert "0.26.0"
* docs: update highlight crate link
* chore: remove CARGO_WORKSPACE_DIR var
* feat(rust): add `new_raw` to create a raw, unchecked query pointer
* fix(lib): account for unreachable patterns with children
* flake: remove cross, add llvm-cov support
* test: clean up async boundary test
* test(rust): prefer `assert`s to `panic`s
* refactor(rust): avoid panics where possible
* test: clean up parser hang test
* build(deps): bump the npm group across 1 directory with 6 updates
* build: bump tree-sitter-language to 0.1.5
* build: define _DARWIN_C_SOURCE
* Fix issues preventing releases from successfully publishing (#4867)
* fix(rust): pass correct fd to C lib's ts_tree_print_dot_graph
* chore: rebuild wasm stdlib
* chore: upgrade emscripten to 4.0.15
* docs: correct new generate flag: "stage"->"emit"
* fix(generate): fix builds outside of crate workspace
* docs: update options for generate command
* refactor(loader): use the logger
* refactor(config): use the logger
* refactor(generate): use the logger
* refactor(cli): use the logger
* feat(bindings): update Zig bindings to use `Language.fromRaw`
* refactor!: rename `stage` flag to `emit`
* fix(loader): install arm64 wasi-sdk on arm64 windows
* feat(loader): respect NM env var
* ci: cross-compile without cross-rs
* feat(playground): add export flag
* docs(cli): add docs on new `version` features
* feat(rust): add `reborrow` method to `ParseOptions`
* feat(web)!: add API for editing points and ranges
* feat: add API for editing points and ranges
* build: add static and shared targets to Makefile
* 0.26.0
* refactor: deduplicate allocation code in tests
* fix(wasm): fix alias map size computation
* fix(bindings): fix ESM errors in Node bindings
* ci: build wasm32
* feat: support compiling to wasm32-unknown-unknown
* refactor: remove url dependency
* test: add safety checks to ensure langauge version constants are kept in sync
* ci: fix cache paths
* Revert "feat(generate): allow more characters for keywords"
* build(rust): remove unused dependencies
* fix(generate): remove warning message for CJS grammars
* feat(generate): don't embed tree-sitter CLI version in parser
* fix(generate): assert there is a Nfa last state before retrieving it
* fix(test): include failing test's path in error message
* fix(rust): appease clippy
* build(generate): remove `tree-sitter` dependency
* feat(generate): allow more characters for keywords
* fix(init): add missing quote in replacement
* feat: migrate to ESM
* docs: document the native js runtime
* feat: remove the need of an external JS runtime for processing grammars
* build(deps): bump the cargo group with 7 updates
* build(deps): bump the npm group across 1 directory with 4 updates
* feat(bindings): use CapsuleType in Python stub
* docs: correct explanation about `@ignore` capture
* docs: clarify that only the whitespace character class is simplfied
* docs: document the `@ignore` capture in tags
* docs: add more information on supertype nodes for grammars and queries
* docs: explain extras in a bit more detail
* fix(lib/wasm): return NULL for 0-sized allocations
* build(lib): regenerate wasm stdlib
* fix(lib/wasm): keep track of freed blocks that are not the last allocated pointer
* fix(xtask): make building the wasm stdlib work again
* fix(lib): improve wasm scanner serialization error handling
* fix(playground): check that `languageVersion` exists for compat
* build(web): fix cjs build
* feat(web)!: remove deprecated functions
* feat(rust)!: remove deprecated functions
* feat(lib)!: remove deprecated functions
* build(nix): build cli with all features
* fix(playground): add missing `<html>` tag
* chore: copy license to all packages
* build(cmake)!: move CMakeLists.txt to the source root
* build(cmake): change include directory scope to public
* feat(rust)!: use ops::ControlFlow as parse and query progress return value
* build(deps): bump vite from 7.1.3 to 7.1.5 in /lib/binding_web
* docs(playground): show toast when tree is copied
* docs(playground): add version information in playground
* refactor(xtask): don't use docker to run wasi-sdk's clang
* fix(web): correct metadata function
* refactor: rework nix flake
* feat(xtask): update nix
* feat(xtask): bump versions in package-lock.json
* build: add package-lock.json for npm cli package
* build(deps): bump the npm group across 1 directory with 6 updates
* ci: bump the actions group with 2 updates
* build(deps): bump the cargo group with 3 updates
* feat(generate): place file APIs behind a feature flag
* build(nix): add cross and typescript to dev shell
* chore: update flake
* build(nix): use fenix for rust toolchain
* feat(nix): add cross compilation support
* refactor(nix): remove openssl dependency
* ci: remove separate step for generate fixtures
* fix(xtask): run all tests with the `--all` flag
* fix(lib): don't run code snippet as a doctest
* fix(rust): do not interpret readme doc comments as doc tests
* fix(generate): use correct state id when adding terminal states to non terminal extras
* ci: switch to arm runner
* fix(generate): return error when single state transitions have indirectly recursive cycles.
* fix(test): improve readability of corpus error message mismatch
* fix(xtask): reset fixtures when checking out new version
* build: bump emscripten to 4.0.12
* test(fixtures): bump javascript grammar to 0.25.0
* perf(xtask); check out the tag directly for fixtures
* ci: use armv7hf
* ci: pass in matrix target to xtask commands
* fix(loader): correct logic when downloading wasi-sdk
* refactor(xtask): use the git binary to perform git operations
* refactor(loader): use the tar binary to extract the wasi sdk
* refactor(loader): use the curl binary instead of `ureq` to download wasi-sdk
* fix(xtask): update paths in bump-version
* feat(loader): allow specifying the wasi sdk path
* build(web): mark `@types/emscripten` as a dev dep
* refactor(web): clean up preserving sourcemap logic, don't copy lib files
* fix(xtask): restore stripped `sourcesContent` when building the wasm module
* feat: add nix flake
* feat: use `compileStreaming` when loading wasm parsers
* feat(c): rename DecodeFunction to TSDecodeFunction
* fixup: remove permission check
* ci(spam): fix permission check
* fix(playground): account for missing button
* fix(cli): canonicalize `--lib-path` arguments
* feat(test): pin fixture grammars to specific commits
* feat(xtask): automate edits to emscripten generated d.ts
* feat(web)!: use bigint for timeouts
* fix(xtask): add heap symbols to emscripten exported methods
* chore(web): remove source files from package
* build(deps): bump wasmparser from 0.224.1 to 0.229.0 in the cargo group
* refactor(web): use nullish coalescing operator
* build(deps): bump the npm group across 1 directory with 9 updates
* fix(npm): add directory to repository fields
* ci(dependabot): update npm dependencies
* chore: remove emscripten xtask & workflow
* fix(web): correct type errors, improve build
* fix(cli): fix DSL type declarations
* build(zig): support wasmtime in more archs
* fix(rust): make some methods `const`
* build(rust)!: bump MSRV to 1.84.0
* build(deps): bump wasmtime-c-api to v33.0.2
* fix(xtask): commit Cargo.lock in upgrade_wasmtime
* fix(web): update `.d.ts` files
* fix(generate): warn users when extra rule can lead to parser hang
* feat(web): inline C source code in source map
* fix(bindings): properly detect MSVC compiler
* ci: add a spam closing workflow
* feat(ci): build libraries on windows x64 with mingw
* build(zig): support wasmtime for ARM64 Windows (MSVC)
* fix(lib): allow error nodes to match when they are child nodes
* ci: bump actions/upload-pages-artifact from 3 to 4 in the actions group
* fix(lib): check if an `ERROR` node is named before assuming it's the builtin error node
* style(zig): reformat files
* build(zig): use ArrayListUnmanaged
* build(zig): don't link wasmtime in static build
* build(zig): expose wasmtimeDep function
* docs: clarify definition of newline
* docs: clarify that a reserved rule must exist in the grammar
* fix(cli): show rule names for rules with metadata
* fix(bindings): improve zig dependency fetching logic
* fix(bindings): add tree-sitter as npm dev dependency
* fix(rust): EqCapture accepted cases where number of captured nodes differed by one
* build(deps): bump the cargo group with 8 updates
* fix(wasm): delete `var_i32_type` after initializing global stack pointer value
* feat(playground): add a button to copy the tree
* refactor(playground): move style to head
* fix(cli): correct resource paths
* feat(cli): Version updates (#4179)
* feat(lib): add lldb pretty-printers for some C lib types
* fix(c): add Haiku support to endian.h
* build(zig)!: upgrade build.zig to zig 0.15
* docs: change WASM/wasm to Wasm
* build(deps): bump the cargo group with 5 updates
* fix(playground): scroll with vanilla JS
* docs: replace `TSInput` by `TSInputEdit` in "Advanced Parsing"
* docs(web): fix deno import example
* fix(bindings): make npm repository field an object
* fix(bindings): don't ignore lockfiles
* ci: bump the actions group with 2 updates
* build(deps): bump the cargo group with 4 updates
* fix(cli): escape delimiters '"' and '`' in cst node text
* fix(cli): remove trailing whitespace in cst print
* fix(docs): correct awkward wording in `fail-fast` listing
* refactor(test): replace long tuples with structs
* feat(test): allow cst as expected output of test case
* fix(rust): adapt to new nightly iterator lints
* feat(cli): rebuild parsers by default when `--grammar-path` is passed.
* feat(cli): add `--rebuild` flag to `query`, `highlight`, and `tags` commands
* fix(rust): make `String` clones more explicit
* fix(rust): remove redundant `String` clones
* fix(bindings): fix clean makefile target
* fix(bindings): update zig template files (#4637)
* fix(cli): drop homepage link from config
* refactor(cli): conditional assignment consistency
* refactor(cli): drop unused function
* fix(bindings): use custom class name
* fix(ci): ignore mismatched_lifetime_syntaxes lint when building wasmtime
* fix(rust): ignore new mismatched-lifetime-syntaxes lint
* build(deps): bump the cargo group with 5 updates
* fix(docs): add information on missing cli command options
* feat(cli): include language name in `dump-languages` output
* refactor(loader): replace `replace_dashes_with_underscores` with rust std lib
* feat(cli): allow users to specify dynamic libraries directly for parse, query, test, and fuzz subcommands
* fix(rust)!: take `u32` for index parameter to `Node::{child, named_child}`
* fix(docs): indicate CJS env var export is different on Windows platforms
* fix(rust): correct indices for `Node::utf16_text`
* build(deps): bump the cargo group with 2 updates
* fix(cli): improve error message when language in list can't be found (#4643)
* fix(cli): add `reserved` type declarations and schema
* feat(bindings): generate in 2 steps via make/cmake (#4646)
* fix(query): prevent cycles when analyzing hidden children
* fix(cli): eliminate leak of version string
* fix(docs): update cli path for install commands
* feat(generate): Support for --stage=json/parser/lib
* refactor: Expose node_types_json without generating C code
* feat: Only evaluate grammar.js to grammar.json
* feat(bindings): improve python binding test
* fix(bindings): improve python platform detection
* fix(bindings): only include top level LICENSE file
* fix(bindings): use parser title in lib.rs description
* feat(rust): Add direct links to documentation
* fix(rust): prevent overflow in error message calculation
* Revert "feat(generate): warn about unreachable variables (#4567)"
* feat(generate): warn about unreachable variables (#4567)
* docs(license): update year
* fix(rust): address nightly clippy lint `useless_if_let_seq`
* feat(cargo): update etcetera to 0.10
* perf(generate): reserve more `Vec` capacities
* fix(build.zig): remove deprecated `addStaticLibrary()`
* build(deps): bump the cargo group with 3 updates
* fix(lib): add wasm32 support to portable/endian.h (#4607)
* chore(web): fix indentation in type files
* build(bindings): update Makefile
* build(make): cleanup include dir on uninstall
* build(make): invoke `ln` in the link directory
* ci: don't build the C library with MinGW
* build(make): fix MinGW builds
* docs: update bindings list
* perf: reorder conditional operands
* fix(generate): propagate node types error
* perf: reorder expensive conditional operand
* chore(rust): remove empty `grammar_files` file
* fix(test): unwrap result of `get_node_types` in `test_node_types_deeper_extras` test
* fix(generate): use topological sort for subtype map
* perf: More efficient computation of used symbols
* perf: reserve `Vec` capacities where appropriate
* chore: remove redundant words in comment
* build(deps): bump the cargo group across 1 directory with 3 updates
* Fix 'extra' field generation for node-types.json
* Add test demonstrating failure to populate 'extra'
* fix(xtask): run generate crate unit tests
* fix(ci): run generate crate unit tests
* fix(rust): ignore new nightly lint, correct order of lint list
* fix(docs): don't show mdbook help popup when using code editor
* ci(nvim-ts): update paths to refactor
* fix(cli): require correct setuptools version
* fix(generate): only display conflicting symbol name in non-terminal word token error message if available
* fix(rust): remove unused `Command` import
* build(deps): bump brace-expansion in /crates/cli/eslint
* build(deps): bump the cargo group with 4 updates
* build(deps): bump esbuild and tsx in /lib/binding_web
* fix(playground): initialize tree nodes with a 'plain' class
* feat(cli): support selecting bindings in init cmd
* fix(web): fix typing for Parser.init
* Fix type definitions in `exports`…
* chore: use issue types in templates
* docs: fix CLI link in readme (#4514)
* build(rust): use $CARGO_PKG_RUST_VERSION when generating bindings (#4512)
* fix(loader): fix no-default-features build (#4505)
* build(deps): bump the cargo group with 8 updates
* fix(xtask): limit `test` command to a single thread on windows (#4489)
* fix(bindings): update swift & node dependencies (#4432)
* Reorganize rust crates into a flat `crates` directory, simplify some CI steps (#4496)
* fix(test): remove period in `test_flatten_grammar_with_recursive_inline_variable`
* fix(query)!: assert that predicates end in `!` or `?`
* fix(cli): use a generic `Into<Path>` over single type for path arguments
* fix(query): correct expected and actual capture names in query assertions error message
* feat(cli): add `grammar-path` to `init`, `test`, `version`, `fuzz`, `query`, `highlight` and `tags` subcommands
* docs(highlight): update README with the new way to load languages
* docs: fix indentation & formatting
* fix(highlight): account for carriage return at EOF and chunk ends
* fix(lib): replace raw array accesses with `array_get`
* fix(generate): re-enable default url features
* Fully fix field underflow in go_to_previous_sibling (#4483)
* build(deps): bump the cargo group with 5 updates
* docs: update broken link in the playground page
* fix(build): pkgconfig and use of GNUInstallDirs (#4319)
* Revert "feat: add build sha to parser.c header comment" (#4475)
* Ignore lock files in grammar repos
* docs: mention ~ and $HOME for parser-directories
* Fix hang in npm install script
* Fix crash w/ goto_previous_sibling when parent node has leading extra child (#4472)
* fix: wasi has endian.h
* build(deps): bump cc from 1.2.22 to 1.2.23 in the cargo group
* illumos has endian.h
* build(deps): bump the cargo group with 6 updates
* fix(lib): return early for empty predicate step slice
* build(deps): bump the cargo group with 2 updates
* fix(query): correct `last_child_step_index` in cases where a new step wasn't created.
* fix(rust): address new clippy lint
* fix(rust): ignore obfuscated_if_else lint
* build(deps): bump vite from 6.3.2 to 6.3.4 in /lib/binding_web
* fix(lib): do not access the alias sequence for the `end` subtree in `ts_subtree_summarize_children`
* build(deps): bump the cargo group with 3 updates
* fix(generate): mark url as a Windows-only dependency
* docs(rust): remove adding `cc` as a build dependency for consumers
* fix(parse): explicitly move temporaries in the logger callback
* fix(xtask): properly trim emscripten version at the source (#4402)
* Fix wasm build issues introduced by switching to wasi-sdk (#4407)
* cli: Compile parsers to wasm using `wasi-sdk`, not emscripten (#4393)
* Add zed config file (enable all cargo features for rust-analyzer)
* docs: fix typo
* build(deps): bump the cargo group with 2 updates
* perf(highlight): use `BTreeMap` over `IndexMap` for highlight configs
* fix(ci): increase timeouts for flaky tests
* style(cli): formatting
* build(deps): bump vite from 6.1.0 to 6.2.6 in /lib/binding_web
* feat(web): export wasm files to better support bundling use cases
* docs(cli): improve documentation for the `edits` argument when parsing code
* fix(web): replace dynamic require with import
* docs(rust): improve bindings' crate doc
* fix(web): correct childWithDescendant() functionality
* fix(ci): trigger build_wasm workflow when xtask is modified
* fix(xtask): trim `EMSCRIPTEN_TAG` arg to docker command in `build-wasm` command
* build(deps): bump the cargo group with 4 updates
* fix(bindings): report wasm store error in rust bindings `set_language`
* fix(lib): reset parser options after use
* Make highlighting more deterministic when themes are ambiguous
* fix(rust): clarify error message for non-token reserved words
* Fix WASI build by not calling a non-existent function. (#4343)
* chore(generate): add `@generated` to parser.c header (#4338)
* ci: bump actions/create-github-app-token in the actions group
* build(deps): bump the cargo group across 1 directory with 5 updates
* Fix typo of "corresponds"
* docs: Fix link to named-vs-anonymous-nodes section
* fix(cli): display "N/A" in parse stats where appropriate when no parsing took place
* fix(highlight): account for multiple rows in highlight testing assertions
* fix(rust): address new nightly lint for pointer comparisons
* build(deps): update emscripten to v4.0.5
* fix(rust): use core crates for no_std
* fix(rust): address new clippy lint for pointer comparisons
* build(deps): bump the cargo group across 1 directory with 8 updates
* build.zig.zon: Fix package hashes for Zig 0.14
* chore(cli): remove deprecated `--no-bindings` flag from `generate` command
* build(deps): bump the cargo group across 1 directory with 21 updates
* refactor(web): change return types to `Node[]` in child-related methods
* fix(build): `make install` shouldn’t fail when a parser bundles no queries (#4284)
* fix(xtask): error if new version supplied to `bump-version` is less than or equal to current version
* fix(build): bump version to 0.26.0
* build(deps): bump emscripten to 4.0.4
* build(deps): bump ring from 0.17.8 to 0.17.13
* feat(lib): quote invalid nodes, fields, and captures
* fix(cli): properly escape invisible characters in parse error output
* fix(docs): update test command flag from -f to -i
* feat(build): update build.zig.zon for zig 0.14
* docs(bindings): Add "Using WASM Grammar files" section to `binding_rust` (#4235)
* fix(lib): remove duplicate TSLanguageMetadata typedef (#4268)
* fix(rust): adapt to new nightly lint
* Fix cases where error recovery could infinite loop (#4257)
* fix(generate): mark `TSCharacterRange` as `static` (#4255)
* Mark all format-like macros for Clippy
* ci: separate nightly lints to separate job
* fix(test): update expected tree-sitter-rust supertypes
* fix(rust): adapt to some new nightly lints
* typo: but is only works → but it only works (#4242)
* fix(wasm): restore passing in ERROR to `descendantsOfType` (#4226)
* Decrease the MSRV for the tree-sitter-language crate (#4221)
* Reset result_symbol field of lexer in wasm memory in between invocations (#4218)
* Ignore external tokens that are zero-length and extra (#4213)
* Fix crash when loading languages w/ old ABI via wasm (#4210)
* feat: Windows support using MinGW-w64 (#4201)
* ci: remove benchmark step
* ci: rename web files, and upload a tarball for web-tree-sitter assets
* refactor(web): rename `tree-sitter.js` to `web-tree-sitter.js`
* fix(rust): adapt to new clippy lints
* fix: add `generate` crate to workspace members
* fix(web): provide type in the exports
* build: add a comment explaining why we undef _POSIX_C_SOURCE
* build: fix compilation on NetBSD a different way
* Revert "build: do not define _POSIX_C_SOURCE on NetBSD"
* build: do not define _POSIX_C_SOURCE on NetBSD
-------------------------------------------------------------------
Tue Sep 23 06:52:29 UTC 2025 - Scott Bradnick <scott.bradnick@suse.com>
- Swapping to release tarball vs. git as pre-releases can goof things up
- Update to version 0.25.10:
* fix(lib): improve wasm scanner serialization error handling
* fix(xtask): make building the wasm stdlib work again
* fix(lib/wasm): keep track of freed blocks that are not the last allocated
pointer
* fix(wasm): fix alias map size computation
* build: update Cargo.lock
* fix: lint
* feat(test): pin fixture grammars to specific commits
* perf(xtask); check out the tag directly for fixtures
* build: define _DARWIN_C_SOURCE
* fix(rust): pass correct fd to C lib's ts_tree_print_dot_graph
* 0.25.10
-------------------------------------------------------------------
Sun Sep 07 00:43:11 UTC 2025 - Scott Bradnick <scott.bradnick@suse.com>
- Update to version 0.25.9+git20250904.e659ddd:
* build(nix): add cross and typescript to dev shell
* chore: update flake
* build(nix): use fenix for rust toolchain
* feat(nix): add cross compilation support
* refactor(nix): remove openssl dependency
* ci: remove separate step for generate fixtures
* fix(xtask): run all tests with the `--all` flag
* fix(lib): don't run code snippet as a doctest
* fix(rust): do not interpret readme doc comments as doc tests
* fix(generate): use correct state id when adding terminal states to non terminal extras
* ci: switch to arm runner
* fix(generate): return error when single state transitions have indirectly recursive cycles.
* fix(test): improve readability of corpus error message mismatch
* fix(xtask): reset fixtures when checking out new version
* build: bump emscripten to 4.0.12
* test(fixtures): bump javascript grammar to 0.25.0
* perf(xtask); check out the tag directly for fixtures
* ci: use armv7hf
* ci: pass in matrix target to xtask commands
* fix(loader): correct logic when downloading wasi-sdk
* refactor(xtask): use the git binary to perform git operations
* refactor(loader): use the tar binary to extract the wasi sdk
* refactor(loader): use the curl binary instead of `ureq` to download wasi-sdk
* fix(xtask): update paths in bump-version
* feat(loader): allow specifying the wasi sdk path
* build(web): mark `@types/emscripten` as a dev dep
* refactor(web): clean up preserving sourcemap logic, don't copy lib files
* fix(xtask): restore stripped `sourcesContent` when building the wasm module
* feat: add nix flake
* feat: use `compileStreaming` when loading wasm parsers
* feat(c): rename DecodeFunction to TSDecodeFunction
* fixup: remove permission check
* ci(spam): fix permission check
* fix(playground): account for missing button
* fix(cli): canonicalize `--lib-path` arguments
* feat(test): pin fixture grammars to specific commits
* feat(xtask): automate edits to emscripten generated d.ts
* feat(web)!: use bigint for timeouts
* fix(xtask): add heap symbols to emscripten exported methods
* chore(web): remove source files from package
* build(deps): bump wasmparser from 0.224.1 to 0.229.0 in the cargo group
* refactor(web): use nullish coalescing operator
* build(deps): bump the npm group across 1 directory with 9 updates
* fix(npm): add directory to repository fields
* ci(dependabot): update npm dependencies
* chore: remove emscripten xtask & workflow
* fix(web): correct type errors, improve build
* fix(cli): fix DSL type declarations
* build(zig): support wasmtime in more archs
* fix(rust): make some methods `const`
* build(rust)!: bump MSRV to 1.84.0
* build(deps): bump wasmtime-c-api to v33.0.2
* fix(xtask): commit Cargo.lock in upgrade_wasmtime
* fix(web): update `.d.ts` files
* fix(generate): warn users when extra rule can lead to parser hang
* feat(web): inline C source code in source map
* fix(bindings): properly detect MSVC compiler
* ci: add a spam closing workflow
* feat(ci): build libraries on windows x64 with mingw
* build(zig): support wasmtime for ARM64 Windows (MSVC)
* fix(lib): allow error nodes to match when they are child nodes
* ci: bump actions/upload-pages-artifact from 3 to 4 in the actions group
* fix(lib): check if an `ERROR` node is named before assuming it's the builtin error node
* style(zig): reformat files
* build(zig): use ArrayListUnmanaged
* build(zig): don't link wasmtime in static build
* build(zig): expose wasmtimeDep function
* docs: clarify definition of newline
* docs: clarify that a reserved rule must exist in the grammar
* fix(cli): show rule names for rules with metadata
* fix(bindings): improve zig dependency fetching logic
* fix(bindings): add tree-sitter as npm dev dependency
* fix(rust): EqCapture accepted cases where number of captured nodes differed by one
* build(deps): bump the cargo group with 8 updates
* fix(wasm): delete `var_i32_type` after initializing global stack pointer value
* feat(playground): add a button to copy the tree
* refactor(playground): move style to head
* fix(cli): correct resource paths
* feat(cli): Version updates (#4179)
* feat(lib): add lldb pretty-printers for some C lib types
* fix(c): add Haiku support to endian.h
* build(zig)!: upgrade build.zig to zig 0.15
* docs: change WASM/wasm to Wasm
* build(deps): bump the cargo group with 5 updates
* fix(playground): scroll with vanilla JS
* docs: replace `TSInput` by `TSInputEdit` in "Advanced Parsing"
* docs(web): fix deno import example
* fix(bindings): make npm repository field an object
* fix(bindings): don't ignore lockfiles
* ci: bump the actions group with 2 updates
* build(deps): bump the cargo group with 4 updates
* fix(cli): escape delimiters '"' and '`' in cst node text
* fix(cli): remove trailing whitespace in cst print
* fix(docs): correct awkward wording in `fail-fast` listing
* refactor(test): replace long tuples with structs
* feat(test): allow cst as expected output of test case
* fix(rust): adapt to new nightly iterator lints
* feat(cli): rebuild parsers by default when `--grammar-path` is passed.
* feat(cli): add `--rebuild` flag to `query`, `highlight`, and `tags` commands
* fix(rust): make `String` clones more explicit
* fix(rust): remove redundant `String` clones
* fix(bindings): fix clean makefile target
* fix(bindings): update zig template files (#4637)
* fix(cli): drop homepage link from config
* refactor(cli): conditional assignment consistency
* refactor(cli): drop unused function
* fix(bindings): use custom class name
* fix(ci): ignore mismatched_lifetime_syntaxes lint when building wasmtime
* fix(rust): ignore new mismatched-lifetime-syntaxes lint
* build(deps): bump the cargo group with 5 updates
* fix(docs): add information on missing cli command options
* feat(cli): include language name in `dump-languages` output
* refactor(loader): replace `replace_dashes_with_underscores` with rust std lib
* feat(cli): allow users to specify dynamic libraries directly for parse, query, test, and fuzz subcommands
* fix(rust)!: take `u32` for index parameter to `Node::{child, named_child}`
* fix(docs): indicate CJS env var export is different on Windows platforms
* fix(rust): correct indices for `Node::utf16_text`
* build(deps): bump the cargo group with 2 updates
* fix(cli): improve error message when language in list can't be found (#4643)
* fix(cli): add `reserved` type declarations and schema
* feat(bindings): generate in 2 steps via make/cmake (#4646)
* fix(query): prevent cycles when analyzing hidden children
* fix(cli): eliminate leak of version string
* fix(docs): update cli path for install commands
* feat(generate): Support for --stage=json/parser/lib
* refactor: Expose node_types_json without generating C code
* feat: Only evaluate grammar.js to grammar.json
* feat(bindings): improve python binding test
* fix(bindings): improve python platform detection
* fix(bindings): only include top level LICENSE file
* fix(bindings): use parser title in lib.rs description
* feat(rust): Add direct links to documentation
* fix(rust): prevent overflow in error message calculation
* Revert "feat(generate): warn about unreachable variables (#4567)"
* feat(generate): warn about unreachable variables (#4567)
* docs(license): update year
* fix(rust): address nightly clippy lint `useless_if_let_seq`
* feat(cargo): update etcetera to 0.10
* perf(generate): reserve more `Vec` capacities
* fix(build.zig): remove deprecated `addStaticLibrary()`
* build(deps): bump the cargo group with 3 updates
* fix(lib): add wasm32 support to portable/endian.h (#4607)
* chore(web): fix indentation in type files
* build(bindings): update Makefile
* build(make): cleanup include dir on uninstall
* build(make): invoke `ln` in the link directory
* ci: don't build the C library with MinGW
* build(make): fix MinGW builds
* docs: update bindings list
-------------------------------------------------------------------
Sun Jul 13 18:56:30 UTC 2025 - Scott Bradnick <scott.bradnick@suse.com>
- Update to version 0.25.8+git20250713.854f527:
* perf: reorder conditional operands
* fix(generate): propagate node types error
-------------------------------------------------------------------
Sat Jul 12 20:31:21 UTC 2025 - Scott Bradnick <scott.bradnick@suse.com>
- Update to version 0.25.7+git20250712.5ed2c77:
* perf: reorder expensive conditional operand
* chore(rust): remove empty `grammar_files` file
* fix(test): unwrap result of `get_node_types` in `test_node_types_deeper_extras` test
* fix(generate): use topological sort for subtype map
* perf: More efficient computation of used symbols
* perf: reserve `Vec` capacities where appropriate
* chore: remove redundant words in comment
* build(deps): bump the cargo group across 1 directory with 3 updates
* Fix 'extra' field generation for node-types.json
* Add test demonstrating failure to populate 'extra'
* fix(xtask): run generate crate unit tests
* fix(ci): run generate crate unit tests
* fix(rust): ignore new nightly lint, correct order of lint list
* fix(docs): don't show mdbook help popup when using code editor
* ci(nvim-ts): update paths to refactor
* fix(cli): require correct setuptools version
* fix(generate): only display conflicting symbol name in non-terminal word token error message if available
* fix(rust): remove unused `Command` import
* build(deps): bump brace-expansion in /crates/cli/eslint
* build(deps): bump the cargo group with 4 updates
* build(deps): bump esbuild and tsx in /lib/binding_web
* fix(playground): initialize tree nodes with a 'plain' class
* feat(cli): support selecting bindings in init cmd
* fix(web): fix typing for Parser.init
* Fix type definitions in `exports`…
* chore: use issue types in templates
* docs: fix CLI link in readme (#4514)
* build(rust): use $CARGO_PKG_RUST_VERSION when generating bindings (#4512)
* fix(loader): fix no-default-features build (#4505)
* build(deps): bump the cargo group with 8 updates
* fix(xtask): limit `test` command to a single thread on windows (#4489)
* fix(bindings): update swift & node dependencies (#4432)
* Reorganize rust crates into a flat `crates` directory, simplify some CI steps (#4496)
* fix(test): remove period in `test_flatten_grammar_with_recursive_inline_variable`
* fix(query)!: assert that predicates end in `!` or `?`
* fix(cli): use a generic `Into<Path>` over single type for path arguments
* fix(query): correct expected and actual capture names in query assertions error message
* feat(cli): add `grammar-path` to `init`, `test`, `version`, `fuzz`, `query`, `highlight` and `tags` subcommands
* docs(highlight): update README with the new way to load languages
* docs: fix indentation & formatting
* fix(highlight): account for carriage return at EOF and chunk ends
* fix(lib): replace raw array accesses with `array_get`
-------------------------------------------------------------------
Wed Jun 04 16:36:30 UTC 2025 - Scott Bradnick <scott.bradnick@suse.com>
- Update to version 0.25.6+git20250604.50622f7:
* fix(generate): re-enable default url features
* Fully fix field underflow in go_to_previous_sibling (#4483)
* build(deps): bump the cargo group with 5 updates
* docs: update broken link in the playground page
* fix(build): pkgconfig and use of GNUInstallDirs (#4319)
* Revert "feat: add build sha to parser.c header comment" (#4475)
* Ignore lock files in grammar repos
* docs: mention ~ and $HOME for parser-directories
-------------------------------------------------------------------
Wed May 28 02:17:27 UTC 2025 - Scott Bradnick <scott.bradnick@suse.com>
- Update to version 0.25.5+git20250527.b8ba76b:
* Fix hang in npm install script
* Fix crash w/ goto_previous_sibling when parent node has leading extra child (#4472)
* fix: wasi has endian.h
* build(deps): bump cc from 1.2.22 to 1.2.23 in the cargo group
* illumos has endian.h
* build(deps): bump the cargo group with 6 updates
-------------------------------------------------------------------
Mon May 12 14:16:11 UTC 2025 - Scott Bradnick <scott.bradnick@suse.com>
- Update to version 0.25.4+git20250511.31b9717:
* fix(lib): return early for empty predicate step slice
* build(deps): bump the cargo group with 2 updates
* fix(query): correct `last_child_step_index` in cases where a new step wasn't created.
* fix(rust): address new clippy lint
* fix(rust): ignore obfuscated_if_else lint
* build(deps): bump vite from 6.3.2 to 6.3.4 in /lib/binding_web
* fix(lib): do not access the alias sequence for the `end` subtree in `ts_subtree_summarize_children`
* build(deps): bump the cargo group with 3 updates
* fix(generate): mark url as a Windows-only dependency
* docs(rust): remove adding `cc` as a build dependency for consumers
* fix(parse): explicitly move temporaries in the logger callback
* fix(xtask): properly trim emscripten version at the source (#4402)
* Fix wasm build issues introduced by switching to wasi-sdk (#4407)
* cli: Compile parsers to wasm using `wasi-sdk`, not emscripten (#4393)
* Add zed config file (enable all cargo features for rust-analyzer)
* docs: fix typo
* build(deps): bump the cargo group with 2 updates
* perf(highlight): use `BTreeMap` over `IndexMap` for highlight configs
* fix(ci): increase timeouts for flaky tests
* style(cli): formatting
* build(deps): bump vite from 6.1.0 to 6.2.6 in /lib/binding_web
* feat(web): export wasm files to better support bundling use cases
* docs(cli): improve documentation for the `edits` argument when parsing code
* fix(web): replace dynamic require with import
* docs(rust): improve bindings' crate doc
* fix(web): correct childWithDescendant() functionality
* fix(ci): trigger build_wasm workflow when xtask is modified
* fix(xtask): trim `EMSCRIPTEN_TAG` arg to docker command in `build-wasm` command
* build(deps): bump the cargo group with 4 updates
* fix(bindings): report wasm store error in rust bindings `set_language`
* fix(lib): reset parser options after use
-------------------------------------------------------------------
Sun Apr 13 02:25:09 UTC 2025 - Scott Bradnick <scott.bradnick@suse.com>
- Update to version 0.25.3+git20250410.b341073:
* Make highlighting more deterministic when themes are ambiguous
* fix(rust): clarify error message for non-token reserved words
* Fix WASI build by not calling a non-existent function. (#4343)
* chore(generate): add `@generated` to parser.c header (#4338)
* ci: bump actions/create-github-app-token in the actions group
* build(deps): bump the cargo group across 1 directory with 5 updates
* Fix typo of "corresponds"
* docs: Fix link to named-vs-anonymous-nodes section
* fix(cli): display "N/A" in parse stats where appropriate when no parsing took place
* fix(highlight): account for multiple rows in highlight testing assertions
* fix(rust): address new nightly lint for pointer comparisons
* build(deps): update emscripten to v4.0.5
* fix(rust): use core crates for no_std
* fix(rust): address new clippy lint for pointer comparisons
* build(deps): bump the cargo group across 1 directory with 8 updates
* build.zig.zon: Fix package hashes for Zig 0.14
* chore(cli): remove deprecated `--no-bindings` flag from `generate` command
* build(deps): bump the cargo group across 1 directory with 21 updates
* refactor(web): change return types to `Node[]` in child-related methods
* fix(build): `make install` shouldn’t fail when a parser bundles no queries (#4284)
* fix(xtask): error if new version supplied to `bump-version` is less than or equal to current version
* fix(build): bump version to 0.26.0
* build(deps): bump emscripten to 4.0.4
* build(deps): bump ring from 0.17.8 to 0.17.13
* feat(lib): quote invalid nodes, fields, and captures
* fix(cli): properly escape invisible characters in parse error output
* fix(docs): update test command flag from -f to -i
* feat(build): update build.zig.zon for zig 0.14
* docs(bindings): Add "Using WASM Grammar files" section to `binding_rust` (#4235)
* fix(lib): remove duplicate TSLanguageMetadata typedef (#4268)
* fix(rust): adapt to new nightly lint
-------------------------------------------------------------------
Sat Apr 12 10:32:50 UTC 2025 - Michal Vyskocil <michal.vyskocil@gmail.com>
- update to 0.25.3:
Full changelog: https://github.com/tree-sitter/tree-sitter/releases/tag/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.
- update to 0.25.2:
Full changelog: https://github.com/tree-sitter/tree-sitter/releases/tag/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.
* Fixed incorrect tokenization when using WASM-compiled languages, if the
language's external scanner did not assign to result_symbol
* Fixed an infinite loop that could occur if external scanners returned
empty extra tokens
-------------------------------------------------------------------
Wed Mar 05 06:17:08 UTC 2025 - scott.bradnick@suse.com
- Update to version 0.25.3+git20250304.066fd77:
* Fix cases where error recovery could infinite loop (#4257)
* fix(generate): mark `TSCharacterRange` as `static` (#4255)
* Mark all format-like macros for Clippy
* ci: separate nightly lints to separate job
* fix(test): update expected tree-sitter-rust supertypes
* fix(rust): adapt to some new nightly lints
* typo: but is only works → but it only works (#4242)
* fix(wasm): restore passing in ERROR to `descendantsOfType` (#4226)
-------------------------------------------------------------------
Tue Feb 18 17:03:15 UTC 2025 - scott.bradnick@suse.com
- Update to version 0.25.2+git20250217.b26b7f8:
* Decrease the MSRV for the tree-sitter-language crate (#4221)
* Reset result_symbol field of lexer in wasm memory in between invocations (#4218)
* Ignore external tokens that are zero-length and extra (#4213)
* Fix crash when loading languages w/ old ABI via wasm (#4210)
* feat: Windows support using MinGW-w64 (#4201)
* ci: remove benchmark step
* ci: rename web files, and upload a tarball for web-tree-sitter assets
* refactor(web): rename `tree-sitter.js` to `web-tree-sitter.js`
* fix(rust): adapt to new clippy lints
* fix: add `generate` crate to workspace members
* fix(web): provide type in the exports
-------------------------------------------------------------------
Tue Feb 04 17:30:30 UTC 2025 - scott.bradnick@suse.com
- Update to version 0.25.1+git20250202.14647b2:
* build: add a comment explaining why we undef _POSIX_C_SOURCE
* build: fix compilation on NetBSD a different way
* Revert "build: do not define _POSIX_C_SOURCE on NetBSD"
* build: do not define _POSIX_C_SOURCE on NetBSD
* build: bump version to 0.25.1
* docs: correct build steps for WASM files
* style(rust): correct doc comments
* fix(bindings): correct Zig bindings to expose a `language` function
* fix(lib): prevent finished_tree assertion failure
* ci: use `ubuntu-22.04` for x64 builds
* feat(cli): specify abi version via env var
* build: update authors
* feat(web): include C source files for debugging
* build(web): relocate source files in WASM sourcemap
* build(web): bump deps
* chore: adapt to latest clippy lints
-------------------------------------------------------------------
Mon Feb 3 14:43:37 UTC 2025 - Richard Rahl <rrahl0@opensuse.org>
- update to 0.25.1:
* cli: Specify abi version via env var
* bindings: Correct Zig bindings to expose a language function
* lib: Prevent finished_tree assertion failure
* Correct build steps for WASM files
* rust: Correct doc comments
-------------------------------------------------------------------
Sat Feb 1 15:06:02 UTC 2025 - Richard Rahl <rrahl0@opensuse.org>
- update to 0.25.0:
Full changelog: https://github.com/tree-sitter/tree-sitter/releases/tag/v0.25.0
Notices:
* web-tree-sitter was rewritten in TypeScript
* Parsing and Querying should be cancelled using the "progress callback",
rather than setting a timeout or a cancellation flag
* MISSING nodes can now be queried
* The ts_node_child_containing_descendant function was removed; use
ts_node_child_with_descendant
* TSInput now includes a (mandatory) new field DecodeFunction
Breaking:
* Properly handle UTF-16 endianness encoding
* Bump internal abi to 15
* Update playground with new web bindings
* bindings: Update swift bindings
* cli: Remove migration code for tree-sitter.json
* generate: Use regex_syntax::Hir for expanding regexes
* lib: Remove ts_node_child_containing_descendant
* lib: Add the ability to specify a custom decode function
* web: Rewrite the library in TypeScript
* web: Use the WASM module in the bindings, and not the other way around
* web: Rename pattern to patternIndex in QueryMatch
* web: Deprecate Language.query in favor of new Query
- increase minimum rust version
-------------------------------------------------------------------
Fri Jan 31 15:48:14 UTC 2025 - scott.bradnick@suse.com
- Swapping over to GitHub source, neovim HEAD requires it
- Updating to somajor 0_25
- Update to version 0.25.0+git20250131.51acdf9:
* feat(bindings)!: update swift bindings
* chore(bindings): include license file in crate
* chore(web): update type definitions
* fix(web): correct doc comment
* build(cli): explicitly include files
* fix(cli): propagate error flag in parse summary
* fix(web): update `check-artifacts` script
* build: bump dependencies
* build: bump `tree-sitter-language` to 0.1.4
* ci(release): correct build steps for web-tree-sitter
-------------------------------------------------------------------
Fri Jan 17 03:31:29 UTC 2025 - Richard Rahl <rrahl0@opensuse.org>
- update to 0.24.7:
* lib: Use inclusive range check for non-empty nodes in next sibling
computation
-------------------------------------------------------------------
Tue Dec 31 09:37:57 UTC 2024 - Richard Rahl <rrahl0@opensuse.org>
- update to 0.24.6:
* playground: backport new playground
-------------------------------------------------------------------
Fri Dec 13 05:01:22 UTC 2024 - Richard Rahl <rrahl0@opensuse.org>
- update to 0.24.5:
* fix(lib): correct next sibling of zero width node
* fix(lib): use clock_gettime on macOS again
* feat: move scripts to xtasks
* build: configure clippy lints at the workspace level
* chore: remove unnecessary fuzz and profile helpers
* build: tune compiler warnings
* fix: compiler warning
* build: treat incompatible pointer warning as error
* fix(lib): handle compiler warnings
* build(cmake): link wasmtime dependencies
* fix: sync cmake with master
-------------------------------------------------------------------
Mon Nov 11 00:46:35 UTC 2024 - Richard Rahl <rrahl0@opensuse.org>
- update to 0.24.4:
* loader: Add language_for_configuration
* loader: Add error message when a tree-sitter.json file is invalid
* node: Support single-file executables via bun build --compile
* node: Update bindings when necessary
* Return LanguageRef in Parser::language
* bindings: Update CMakeLists.txt file
* cli: Pass all fields to tree-sitter.json in init
* cli: Use contains over is in warning
* cmake: Use current source dir for EXISTS check
* generate: Do not set the unit reduction symbol if it's in the extras array
* init: Use current path if unspecified
* init: Use camel name from config in missing spots
* lib: Simplify edge cases with zero-width tokens
* lib: Correctly fetch the node name in query errors
* loader: Don't print warnings if the file is not found
* loader: Improve language lookup speed
* bindings: Rename cmake test target
* Memory errors in wasm_store
-------------------------------------------------------------------
Thu Oct 10 10:32:11 UTC 2024 - Richard Rahl <rrahl0@opensuse.org>
- update to 0.24.3:
* build: fix incorrect variable checks
* fix(lib): correct unexpected side effect in get_column when the
lexer is at EOF
* build(deps): bump wasmtime to v25.0.2
-------------------------------------------------------------------
Sun Oct 6 03:45:19 UTC 2024 - Richard Rahl <rrahl0@opensuse.org>
- update to 0.24.2:
* Drop legacy binding updates
* templates: Properly replace author email
* templates: Update npm packages
* bindings: Improve cmake file
* cmake: Support amalgamated build
* cmake: Correct library scopes
* make: Fix tree-sitter.pc generation
-------------------------------------------------------------------
Fri Oct 4 06:39:38 UTC 2024 - Richard Rahl <rrahl0@opensuse.org>
- update to 0.24.1:
* fix(generate): move generated header files into the generate crate
- update do 0.24.0:
* docs: add Kotlin to the playground
* fix(generate): remove necessary files from gitignore template
* feat(generate): bump tree-sitter dev dependency to 0.23
* fix(cli): remove conflicting short flags in the fuzz subcommand
* feat(bindings): bump go-tree-sitter version
* docs(changelog): add 0.23.0 release notes
* feat: add an API to time out query executions
* fix(generate): disallow inline variables referencing themselves
* fix(rust): add missing TSNode functions
* fix(lib): correct extra node creation from non-zero root-alias cursors
* fix(test): exit with an error if a test marked with :error has no error
* fix(test): retain attributes when running test -u
* feat(language): derive Clone and Copy on LanguageFn
* fix(lib): backtrack to the last relevant iterator if no child was found
* fix(generate): add tree-sitter to the dev-dependencies of the Cargo.toml
* fix(binding_web): correct edit signature
* build(lib): build using cmake
* fix(cli): keep skipped tests unchanged in the test/corpus
* feat!: remove C++ support for external scanners
* chore: clippy lints
* feat!: remove the build-wasm subcommand
* fix(generate): do not generate large character sets for unused variables
* fix(binding_web): remove nonexistent function definition
* feat: add field_name_for_named_child
* fix(cli): remove duplicate short options from fuzz command
* fix: correct comment quote
* fix(generate): remove excludes in Package.swift
* chore(bindings): update rust lib docs
* build(deps): bump the cargo group across 1 directory with 11 updates
* fix(docs): fix highlight readme example using compatible versions
* fix(lib): peek at the next sibling when iterating to find the child
* build(make): support darwin cross-compile
* fix(wasm): use / paths for workdir
* fix: properly handle utf8 code points for highlight and tag assertions
* feat: add root field in node-types.json
* fix(fuzz): skip tests marked with :skip & don't report errors on them
* feat: add eslint configuration package
* chore: remove compile_flags.txt
* style(tests): do not use .as_bytes().len() on strings
* feat: provide a rebuild flag to force rebuild parsers
* feat(test): test all queries
* fix(test): correctly handle assertions on empty lines
* feat: add shell completions
* refactor(cli): break out subcommand logic into separate functions
* fix: do not generate spurious files if the grammar path is not the detected
* fix: disallow empty string literals in rules
* feat(cli): add a no-ranges flag to the parse command
* fix(lib): correct descendant-for-range behavior with zero-width tokens
* fix(lib): silence warnings with -Wpedantic
* style(lib): add parameter names in declarations that are missing them
* feat!: move generation of grammar files to an init command
* chore: clippy fixes
* feat: move generate logic to its own crate
* feat(generate): add a no-op --no-bindings flag
* Update cli/src/main.rs
* refactor: improve the grammar schema
* chore: update generate crate paths
* build: bump deps
* feat(init): add an update flag
* feat!: implement StreamingIterator instead of Iterator for `Query…`
* fix(lib)!: child_containing_descendant now returns direct children
* feat: add --overview-only to test subcommand
* fix: correct test name parsing when the prior test has equal signs
* fix: handle more cases of editing subtrees that depend on column values
* fix: exclude APIs that dup given file descriptors from WASI builds
* feat: move tree-sitter configuration to dedicated file
* fix(cli): generate the parser version from the config as well
* fix: deprecate child_containing_descendant
* fix(bindings): use RUST_BINDING_VERSION in Cargo.toml template
* fix(bindings): lower go version to 1.22
* build(bindings): add CMakeLists.txt file
* feat(api): expose function to check if symbol represents a supertype
* fix(init): fix some schema issues
* fix(init): don't prompt to reconfigure
* fix(init): do not migrate package.json on error
* fix(build): correct wasm root path lookup
* fix(generate): remove unused rules
* fix(generate): add *.scm section to .editorconfig template
* fix(generate): filter out unused rules in other spots
* build(cmake): link wasmtime dependencies
* fix(lib): ensure an unfinished state was found before removing it
* fix(build): force rebuild parsers when build is invoked
* build(xtask): bump cmake version in bump-version
* build(xtask): only consider major and minor versions when validating
* build(xtask): ignore the language crate
* build: bump language to 0.1.1
-------------------------------------------------------------------
Tue Oct 1 06:51:32 UTC 2024 - Richard Rahl <rrahl0@opensuse.org>
- update to 0.23.1:
* fix(generate): remove necessary files from gitignore template
* fix(cli): remove conflicting short flags in the fuzz subcommand
* feat(generate): bump tree-sitter dev dependency to 0.23
* feat(bindings): bump go-tree-sitter version
* fix(lib): correct extra node creation from non-zero root-alias cursors
* fix(rust): add missing TSNode functions
* fix(test): exit with an error if a test marked with :error has no error
* fix(test): retain attributes when running test -u
* fix(generate): disallow inline variables referencing themselves
* feat(language): derive Clone and Copy on LanguageFn
* fix(lib): backtrack to the last relevant iterator if no child was found
* fix(generate): add tree-sitter to the dev-dependencies of the Cargo.toml
* fix(binding_web): correct edit signature
* fix(cli): keep skipped tests unchanged in the test/corpus
* fix(generate): do not generate large character sets for unused variables
* fix(binding_web): remove nonexistent function definition
* fix(cli): remove duplicate short options from fuzz command
* fix(generate): remove excludes in Package.swift
* chore(bindings): update rust lib docs
* fix: correct comment quote
* build(make): support darwin cross-compile
* fix(lib): peek at the next sibling when iterating to find the child
* fix(docs): fix highlight readme example using compatible versions
* build(deps): bump the cargo group across 1 directory with 11 updates
* fix(wasm): use / paths for workdir
* fix: properly handle utf8 code points for highlight and tag assertions
* fix(fuzz): skip tests marked with :skip & don't report errors on them
* fix: do not generate spurious files if the grammar path is not the default path
* fix: disallow empty string literals in rules
* fix(lib): correct descendant-for-range behavior with zero-width tokens
* fix: correct test name parsing when the prior test has equal signs
* fix: handle more cases of editing subtrees that depend on column values
* fix: exclude APIs that dup given file descriptors from WASI builds
-------------------------------------------------------------------
Mon Aug 26 16:33:54 UTC 2024 - Richard Rahl <rrahl0@opensuse.org>
- update to 0.23.0:
* test: modernize scanner files
* fix: always reset to the first language when iterating over language
* feat(zig): update outdated path syntax
* feat(bindings): add query constants to python
* style(bindings): fix indent & line endings
* feat(dsl)!: support other JS runtimes
* feat(bindings): add node, python, swift tests
* introduce tree-sitter-language crate for grammar crates to depend on
* refactor: remove ansi_term dependency
* refactor: remove difference dependency
* feat: add fuzz subcommand
* fix(wasm): update test
* feat(lib): add ts_query_end_byte_for_pattern
* fix(rust): fix new clippy warnings
* feat(lib): support no_std
* Reset language when resetting wasm store
* docs: clean up binding & parser lists
* clone wasm store engine
* fix(cli): dedup preceding_auxiliary_symbols
- use of ldconfig_scriptlets, and removal of the duplicate setting of buildflags
-------------------------------------------------------------------
Fri Jun 21 20:32:46 UTC 2024 - Richard Rahl <rrahl0@disroot.org>
- update to version 0.22.6:
* Improve handling of serialization buffer overflows
* Reverse iteration through node parents
* cli: Support NO_COLOR
* cli: Add test listing and allow users to parse a specific test number
* grammar: Add "inherits" field if available
* Correctly load field data from wasm languages
* Improve error message when the tree-sitter field is malformed
* Don't error out on package.json lookup errors if --no-bindings is passed
* cli: Keep default cc flags in build
* cli: Properly account for multi-grammar repos when using docker to build a wasm parser
* generate: Don't check arbitrarily named dirs
* generate: Take AsRef<Path> for the path parameter to avoid clones
* highlight: Correct signature of ts_highlighter_add_language
* lib: Do not return field names for extras
* lib: Advance the lookahead end byte by 4 when there's an invalid code point
* rust: Update README example
* rust: Use unix + wasi cfg instead of not windows for fd
* wasm: Correct childrenFromFieldXXX method signatures
* xtask: Always bump every crate in tandem
* zig: Make usable as a zig dependency
* Documentation: Mention build command variables
- update to version 0.22.5:
* Avoid generating unused character set constants
* rust: Compilation on wasm32-wasi
- update to version 0.22.4:
* Fix sorting of transitions within a lex state
* Include 2-character ranges in array-based state transitions
- update to version 0.22.3:
* Add strncat to wasm stdlib
* Generate simpler code for matching large character sets
* When loading languages via WASM, gracefully handle memory errors and leaks in external scanners
* bindings: Add utf-8 flag to python & node
* bindings: Generate parser.c if missing
* bindings: Remove required platforms for swift
* cli: Fix mismatched parenthesis when accounting for &&
* lib: Do not consider childless nodes for ts_node_parent
* lib: Properly account for aliased root nodes and root nodes with
children in ts_subtree_string
* lib: Account for the root node of a tree cursor being an alias
* lib: Use correct format specifier in log message
* parser: Fix variadic macro
* render: Proper function prototypes
* Add a semicolon after SKIP macros
* Add back build-wasm temporarily
* Add lifetime to matches function
* Default output directory for build --wasm should use current_dir
* Fix sorting of wasm stdlib symbols
* Insert "tree-sitter" section in current directory's package.json if it exists
* Tie the lifetime of the cursor to the query in QueryCursor::captures()
* Wrong flag check in build.rs
* cli: Reduced the compile time of generated parsers by generating C code with fewer conditionals
* parser: Make REDUCE macro non-variadic
* js: Misc fixes & tidying
* rust: Misc fixes & tidying
-------------------------------------------------------------------
Mon Mar 25 21:58:38 UTC 2024 - Björn Bidar <bjorn.bidar@thaodan.de>
- Add workaround to packaging macros for RPM being to old on current Leap
- Add workaround for Python below 3.9 on Leap
-------------------------------------------------------------------
Fri Mar 22 19:35:31 UTC 2024 - Björn Bidar <bjorn.bidar@thaodan.de>
- Add packaging macros for tree-sitter grammar
- Add missing dependency for tree-sitter generate
-------------------------------------------------------------------
Tue Mar 19 07:17:25 UTC 2024 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
- Update to version 0.22.2:
* fix(lib): allow hiding symbols
* feat(lib): implement Display for Node
* test: fix header writes
* chore: turbofish styling
* feat(cli)!: add a separate build command to compile parsers
* ci: simplify workflows
* docs(license): update year
* fix(lib): avoid possible UB of calling memset on a null ptr when 0 is passed into `array_grow_by`
* fix(lib): makefile installation
- Update _service file
* replace obsoleted mode "disabled" with "manual"
* use download_files instead of performing scm
-------------------------------------------------------------------
Thu Apr 6 19:36:21 UTC 2023 - Andreas Schneider <asn@cryptomilk.org>
- Build AVX2 enabled hwcaps library for x86_64-v3
- Add baselibs.conf for proper generation of libraries.
-------------------------------------------------------------------
Wed Apr 5 18:02:16 UTC 2023 - Matej Cepl <mcepl@suse.com>
- Update to version 0.20.8:
- 0.20.8 - recovered
- cicd: fix bug in release workflow
- Bumps [webbrowser](https://github.com/amodm/webbrowser-rs)
from 0.5.5 to 0.8.3.
- cli: Bump tree-sitter dependency to 0.20.10
- Update python error corpus to reflect grammar changes
- Improve the performance of running a query in a small range
of a large file
- Add API for checking if a pattern in a query is non-local
- Fix bug in maintenance of query cursor's tree depth
- Restructure query_cursor_advance to explicitly control which
hidden nodes it descends into
- Extract 'internal' versions of tree cursor movement fns that
allow visiting hidden nodes
- Group analysis state sets into QueryAnalysis struct
- Precompute the set of repetition symbols that can match
rootless patterns
- Add --row-range, --quiet, and --time flags to query
subcommand
- Fix CLI build on windows
- Clear the parse stack when terminating parsing early due to
error cost
- This fixes a bug where the parse tree would not be rebalanced
if this code path was taken.
- Add --dot flag to parse subcommand, for printing tree as DOT
graph
- Derive Hash for Language
- docs: apply `scheme` marker for all query syntax snippets
- fix: possible rollover of nanoseconds in clock.h
- cli: make error message more specific for building in
`docker`
- cli: Improve init-config with respect to TREE_SITTER_DIR
- docs: merge of all binding and grammar link PRs
- Exclude huge generated files from `git diff` output
- loader: use portable way of path joining
- loader: add TREE_SITTER_LIBDIR; cli: add --libdir to
`tree-sitter generate`
- cli: add -b, --build flags for `tree-sitter generate`
- Remove unused no-minimize arg for the generate command
- cli: Fix build.rs in case of the current branch ref was
packed
- Support SHA lookup in .git/packed-refs
- fix: possible rollover of nanoseconds in clock.h
- Fix permanent rebuild triggering in a git worktree due to
wrong git branch file path
- fix(cli): Racing on playground webserver port binding
- Fix test output formatting for rules starting with M/U
- Allow web-tree-sitter to work with Emscripten 3
- Add __cxa_atexit to exports
- Add `memset` to exports
- Add 'stringToUTF16' and 'AsciiToString' to exported method
- Configure compiled WASM grammars to not catch rejections
- Add Erlang to list of Available Parsers
- Fix test output formatting for rules starting with M/U
- Previously the rule names could not begin with an uppercase
M or U because the test output formatter assumed that they
represent special tokens: MISSING or UEXPECTED.
- Allow retrieving a tree's list of included ranges, fix some
included range bugs
- Add tests that randomly edit files with disjoint included
ranges
- Fix suppression of empty tokens during error handling at
included range boundaries
- Fix parse error when reusing a node at the end of an included
range
- fix(cli): Racing on playground webserver port binding
- Add doc comments for tree included ranges getter
- Fix adjustment of trees' included ranges on edits
- Add D grammar - it is quite complete for D 2.100.
- Add Erlang to list of Available Parsers
- Add twig parser in documentation
- Fix integer size of subtree's child count field
- Explain in the docs that npm install supports limited
platforms
- Removed upstreamed patch CVE-2022-45299-update-webbrowser.patch
-------------------------------------------------------------------
Wed Mar 1 13:55:27 UTC 2023 - Matej Cepl <mcepl@suse.com>
- VERSION string used in generating *.pc file
(among other things) has been hardcoded to 0.6.3
(gh#tree-sitter/tree-sitter#1608), we should at least fix it
using sed.
-------------------------------------------------------------------
Wed Jan 18 10:05:05 UTC 2023 - Matej Cepl <mcepl@suse.com>
- Add CVE-2022-45299-update-webbrowser.patch (copied from
gh#tree-sitter/tree-sitter#2042) to use more recent version
of webbrowser-rs, which has been fixed against CVE-2022-45299
(bsc#1207196).
-------------------------------------------------------------------
Sat Sep 24 09:49:29 UTC 2022 - socvirnyl.estela@gmail.com
- Update to version 0.20.7:
* 0.20.7
* Bump library versions
* Build core wasm library with C++ exceptions disabled
* Generate parsers with ABI version 14 by default
* Tolerate tree edits whose old range extends beyond the end of the tree
* Added documentation on web-tree-sitter edge cases
* Add ts_tree_root_node_with_offset API
* Fix typos
* Update section-2-using-parsers.md
* Add link to Racket language parser
-------------------------------------------------------------------
Sun Jun 19 09:12:46 UTC 2022 - socvirnyl.estela@gmail.com
- Update to version 0.20.6:
* 0.20.6
* libs: 0.20.6
* Properly incorporate lookahead bytes when recovering via missing token
* Improve randomized testing setup
* Run cargo test directly on CI
* Set CLI as default workspace member
* Don't generate primary states array if it will be unused due to abi version setting
* tags: 0.20.2
* 0.20.5
* libs: 0.20.5
-------------------------------------------------------------------
Tue Feb 22 16:46:36 UTC 2022 - Matej Cepl <mcepl@suse.com>
- Update to 0.20.4:
- Always generate parser.h, regardless of chosen ABI version
- add test for removals in eager query matches
- remove non-local query matches for locals
- remove unfinished queries from 'ts_query_cursor_remove_match'
- prevent future matches for '#is-not? local' patterns
- Represent quantifiers using bytes instead of ints
- Prefix globally visible TSquantifier values
- Rewrite quantifier oeprations
- Add pointer indirection to AnalysisStateSet
- Fixed rust build, updated docs
- get_column now counts codepoints
- Add realloc to wasm exports
- Add link to Protocol Buffers grammar
- Convert more fixture grammars from JSON to JS
- Simplify allocation-recording in test suite using new
ts_set_allocator API
- Address feedback
- Make SubtreeInlineData work on Big-Endian
- Replace allocator struct with function pointers
- cli: Fix parsing of test files with newlines in test names
- Avoid allocator from being switched more than once
- Remove ts_allocator from api.h
- Add TSAllocator and ts_set_allocator in api.h
- Fix declaration of ts_toggle_allocation_recording
- Allow to change the allocator dynamically
- Support @module as a highlight key.
- add link to in-development Elixir parser
- Added bindings for Java and Kotlin to `index.md`
- Remove unnecessary types from binding.rs
- Always include playground.html in the CLI binary
- playground: Make query error underlines render in safari
- web: Fix script directory that's passed to locateFile
- Use serde's derive feature everywhere
- Improve query execution logging
- Rename Query::step_is_definite ->
is_pattern_guaranteed_at_step
- Add link to Lua bindings
- Convert more test grammars from JSON to JS
- Add link to swift bindings package
- Convert some of the fixture grammars from JSON to JS
- Use serde's derive feature
- Simplified corpus test output comparisons
- Add link to elisp parser
- Add tree-sitter-cuda, tree-sitter-glsl,
tree-sitter-commonlisp
- Avoid dynamic regex construction when parsing test files
- chore(cli): Rename all internal web_ui stuff to playground
- cli(query): Improve and unify query subcommand output
- binding(rust): Mark set_cancellation_flag self as mutable
- fix(wasm): Fix predicates in alternations, resolves #1392
- fix(cli): Panic on queries containing alternation with
predicates
- Add WGSL WebGPU Shading Language
- Add HCL (Terraform) and Hack to the list of supported
languages
- Add link to OCaml bindings to list and sort list
alphabetically.
- Add Objective-C language parser
- feat(rust): Add an id() method for QueryMatch
- Assign ids to query matches only when the matches are
returned
- feat(cli): add a flag to compile a parser in debug mode with
-O0 C/C++ compiler flag
- Put emscripten-version file in cli directory
- Fix 'include!' error when building the CLI outside of the
repo
- fix(lib): fix segfault on ts_query_new with incompatible
grammar version, close #1318
- Add Graphviz DOT parser
- chore(web): Add the LICENSE file to the web-tree-sitter npm
package
- chore(cli): Add the LICENSE file to the tree-sitter-cli npm
package
- Support for suffixes in test file separators Some languages
use the non-suffixed separators in their syntax Fixes #982
- Handle aliases in unicode property escapes in regexes
- Update `smallbitvec` dependency
- `Generator::add_parse_table`: Store entries in hash map
- Use `IndexMap` and `FxHash` for some hot hash maps
- fix(cli): Remove tree-sitter grammar ./... call limitation
- Always print where the playground is running
- Correct quiet description for playground
- fix(cli): allow dead code in Logger
- docs(Using parsers): Fix spelling, remove unusual keyword
- Fix highlighting typo on "creating parsers" site
- feat(cli): Make "test" output more readable
- fix(cli): Improve error messages on config.json loading,
closes #1227
- fix(parser): count rows in the debug log from 0
- Docs: document `_` wildcard node
- Add SQL parser
- feat(cli): Add a lot of help messages for CLI options
- fix(cli): fix theme key loading from config.json, closes
#1232
- fix(cli): Avoid ENOENT if config.json is not in
TREE_SITTER_DIR
- feat(cli/loader): Add TREE_SITTER_INTERNAL_BUILD C/C++
compiler definition
- feat(cli): Set TREE_SITTER_DEBUG env var on 'tree-sitter
parse -d'
- allow `~` or `$HOME` in `parser-directories`
- update set_included_ranges to modify extent if the current
position is at the very beginning of the included range
-------------------------------------------------------------------
Fri Nov 5 03:18:24 UTC 2021 - William Brown <william.brown@suse.com>
- Add cargo audit service to detect potential security issues
-------------------------------------------------------------------
Fri Jul 2 22:49:27 UTC 2021 - Matej Cepl <mcepl@suse.com>
- Update to 0.20.0.
-------------------------------------------------------------------
Tue Apr 27 06:22:19 UTC 2021 - Duncan Mac-Vicar <duncan@mac-vicar.eu>
- Update to 0.19.4.
-------------------------------------------------------------------
Thu Mar 18 13:35:15 UTC 2021 - Matej Cepl <mcepl@suse.com>
- Update to 0.19.3.
-------------------------------------------------------------------
Wed Feb 24 16:54:15 UTC 2021 - Matej Cepl <mcepl@suse.com>
- Update to 0.18.2:
There isn’t good changelog, so the best I have is
https://github.com/tree-sitter/tree-sitter/compare/0.17.3...v0.18.2
-------------------------------------------------------------------
Sun Nov 15 17:58:56 UTC 2020 - Matej Cepl <mcepl@suse.com>
- Add fix_build_aarch64.patch (gh#tree-sitter/tree-sitter#804) to fix
build on aarch64.
-------------------------------------------------------------------
Sat Nov 7 19:13:04 UTC 2020 - Matej Cepl <mcepl@suse.com>
- The initial packaging of tree-sitter 0.17.3.