Skip to content

build(deps): bump github.com/odvcencio/gotreesitter from 0.16.0 to 0.20.5 - #42

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/go_modules/github.com/odvcencio/gotreesitter-0.20.5
Closed

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/go_modules/github.com/odvcencio/gotreesitter-0.20.5

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jun 26, 2026

Copy link
Copy Markdown
Contributor

Bumps github.com/odvcencio/gotreesitter from 0.16.0 to 0.20.5.

Release notes

Sourced from github.com/odvcencio/gotreesitter's releases.

v0.20.3

Patch release on the 0.20 line: parser error-recovery fixes (two community PRs from @​richardwooding) plus a Go normalization safety fix.

Fixed

  • C# namespace-internal-error recovery (#115). C# files whose namespace body does not parse cleanly no longer collapse into a single top-level ERROR node with zero recoverable declarations. Namespace recovery now falls back to a best-effort namespace_declaration built from the existing sub-parse, surfacing the type declarations (and the members that parsed). Brace matching during recovery is now trivia-aware, so braces inside char literals, strings, and comments no longer truncate a recovered declaration's span.
  • Swift comparison-in-condition recovery (#118). Swift functions whose if/while condition contains a comparison operator (< / > / ==, etc.) no longer collapse into an ERROR tree with no recoverable function_declaration. The body brace was being consumed as a trailing closure of the condition's last operand; recovery now re-parses the affected conditions with synthetic parentheses and maps the result back to byte-faithful original coordinates.
  • Go selector-chain normalization. normalizeGoDotLeafChildren now walks dotted-selector chains with an iterative DFS instead of recursion, removing a stack-depth risk on very long selector chains.

Changed

  • Removed dead unexported code (#117).

Known issues

  • #111 (JavaScript standalone block followed by a simple assignment — {a}b=c — collapsing to a root ERROR) remains open. A banked, skipped regression test ships with this release. The root cause is the JSX-attribute-continuation ASI heuristic in the JS scanner suppressing automatic-semicolon insertion for }identifier=…; the fix is targeted for the C-oracle-verified parity line rather than a point patch.

CI is green on the release commit (build, parity-cgo, freshness).

gotreesitter v0.20.2

Patch release for the post-v0.20 parser reliability train.

Fixed:

  • #98 / #106: bound C# namespace recovery sub-parses and propagate timeout/cancellation into recovery parses.
  • #99 / #107: recover Swift top-level declarations after license headers, including import Foundation followed by declarations.
  • #100 / #109: stop inferred Go tags from capturing return types as definition.function.
  • #101, #102, #103, #108: align JavaScript/TypeScript optional-chain, TypeScript dynamic import, and Python case-pattern/block-start normalization with C tree-sitter shapes.

Testing:

  • #104 adds a multi-language structural corpus parity gate for Go, Java, JavaScript, Python, and TypeScript.
  • The merged fix PRs passed focused Docker parity/unit gates plus CI build, freshness, cgo parity smoke, and perf-regression checks.

Note: #105 remains open for the broader forest/ergonomics branch; it is not part of this release.

v0.20.0-rc3 — GLR fork reduction: C to parity

Third release candidate on the 0.20 line. Parser-core GLR performance wins bring C to/below parity with tree-sitter C on real corpus, plus parser correctness fixes and markdown grammargen advances. All changes byte-for-byte C-parity-verified; CI green (build, parity-cgo, perf-regression).

Performance — GLR fork reduction (#96)

Extended the RepetitionShiftConflictChoice resolver to collapse spurious reduce/shift forks where tree-sitter C resolves deterministically (verified per state against C's parser.c — the reduce is a zero-progress dead-end, no conflicts: entanglement).

  • C: translation_unit_repeat1 (top-level list) + preproc_if_repeat1 (preprocessor body) collapse — large__cluster.c 20,866 → 1,099 GLR forks (−95%), ~−30% parse wall, bringing C to/below parity.
  • Rust: macro token-tree (delim_token_tree_repeat1) continuation-token fork reduction.
  • Token source: O(1) valid-external-symbol fast path mirroring C's external_lex_state indexing.
  • Consolidated ring A/B (real corpus, n=8): geomean −6.62% — C −30%, java −11%, go −10%, no language regressed.

Fixed

  • Race in deferred parent-link wiring (#95)
  • Kotlin object declaration misparse (#94)
  • grammargen: html_block type 6/7 blank-line termination; link_reference_definition soft-break de-merge

... (truncated)

Changelog

Sourced from github.com/odvcencio/gotreesitter's changelog.

[0.20.5] - 2026-06-24

Changed

  • grammargen no longer imports the grammars registry. The grammar.js importer (ImportGrammarJS) previously pulled in grammars for the embedded JavaScript language, which transitively bundled all ~200 grammar blobs (~22MB) into every consumer that merely defined a grammar via the DSL — including taproot and all downstream DSLs. The JS language is now injected via SetJSGrammarProvider; blank-import grammargen/grammarjs (or cmds that need -js) to register it. Net effect: grammargen, taproot, and anything that only defines/loads a grammar are now grammar-registry-free.

[0.20.4] - 2026-06-24

Added

  • taproot/walk: a grammar-free core of the taproot harness. It loads a tree-sitter Language from a pre-generated blob (LanguageFromBlob) and navigates the CST (Walker, ParseFromBlob, ParseWithLanguage) depending only on the gotreesitter runtime — not grammargen or the grammars registry. DSLs that embed a generated grammar blob can now parse/highlight without linking the ~200-grammar registry (~22 MB). The grammargen-backed build-from-DSL fallbacks remain in taproot, which re-exports walk.Walker so existing taproot.Walker/Parse callers are unaffected.

[0.20.3] - 2026-06-23

Fixed

  • C# files whose namespace body does not parse cleanly no longer collapse into a single top-level ERROR node with zero recoverable declarations. Namespace recovery now falls back to a best-effort namespace_declaration built from the existing sub-parse, surfacing the type declarations (and the members that parsed) instead of discarding the whole file. C# brace matching used during recovery is now trivia-aware, so braces inside char literals, strings and comments no longer truncate a recovered declaration's span (#115).
  • Swift functions whose if/while condition contains a comparison operator (< / > / ==, etc.) no longer collapse into an ERROR tree with no recoverable function_declaration. The body brace was being consumed as a trailing closure of the condition's last operand; recovery now re-parses the affected conditions with synthetic parentheses to remove the ambiguity and maps the result back to byte-faithful original coordinates (#118).
  • Go: normalizeGoDotLeafChildren now walks dotted-selector chains with an iterative DFS instead of recursion, removing a stack-depth risk on very long selector chains.

Changed

  • Removed dead unexported code (#117).

... (truncated)

Commits
  • ae51d1e change(grammargen): drop grammars-registry dep via injected JS provider
  • ba74552 add(taproot): grammar-free taproot/walk core (no grammargen/grammars)
  • beb6825 update(changelog): Update changelog for 0.20.3 release
  • 1d5af97 fix: iterative DFS in normalizeGoDotLeafChildren
  • 8d67462 chore: remove dead unexported code (#117)
  • ac3acbf Merge pull request #119 from richardwooding/fix/swift-comparison-in-condition
  • 7f655e6 fix(swift): nest block comments and tidy span reassertion in condition recovery
  • 3cb42cb fix(swift): recover functions when a comparison operator appears in an if/whi...
  • aeccf2c Merge pull request #116 from richardwooding/fix/csharp-namespace-internal-err...
  • d2622b7 fix(csharp): treat @$"..." as verbatim in recovery brace matching
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [github.com/odvcencio/gotreesitter](https://github.com/odvcencio/gotreesitter) from 0.16.0 to 0.20.5.
- [Release notes](https://github.com/odvcencio/gotreesitter/releases)
- [Changelog](https://github.com/odvcencio/gotreesitter/blob/main/CHANGELOG.md)
- [Commits](odvcencio/gotreesitter@v0.16.0...v0.20.5)

---
updated-dependencies:
- dependency-name: github.com/odvcencio/gotreesitter
  dependency-version: 0.20.5
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file go Pull requests that update go code labels Jun 26, 2026
@dependabot @github

dependabot Bot commented on behalf of github Jul 3, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by #43.

@dependabot dependabot Bot closed this Jul 3, 2026
@dependabot
dependabot Bot deleted the dependabot/go_modules/github.com/odvcencio/gotreesitter-0.20.5 branch July 3, 2026 06:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file go Pull requests that update go code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants