Skip to content
This repository was archived by the owner on Jul 19, 2026. It is now read-only.

Bump tree_haver from 3.2.3 to 3.2.4 - #4

Merged
pboling merged 1 commit into
mainfrom
dependabot/bundler/tree_haver-3.2.4
Jan 5, 2026
Merged

Bump tree_haver from 3.2.3 to 3.2.4#4
pboling merged 1 commit into
mainfrom
dependabot/bundler/tree_haver-3.2.4

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jan 5, 2026

Copy link
Copy Markdown
Contributor

Bumps tree_haver from 3.2.3 to 3.2.4.

Release notes

Sourced from tree_haver's releases.

v3.2.4

[3.2.4] - 2026-01-04

  • TAG: [v3.2.4][3.2.4t]
  • COVERAGE: 92.07% -- 2229/2421 lines in 23 files
  • BRANCH COVERAGE: 74.79% -- 786/1051 branches in 23 files
  • 90.37% documented

Added

  • External backend registration via backend_module - External gems can now register their own pure Ruby backends using the same API as built-in backends. This enables gems like rbs-merge to integrate with TreeHaver.parser_for without modifying tree_haver:
TreeHaver.register_language(
  :rbs,
  backend_module: Rbs::Merge::Backends::RbsBackend,
  backend_type: :rbs,
  gem_name: "rbs",
)
# Now TreeHaver.parser_for(:rbs) works!
  • Backends::PURE_RUBY_BACKENDS constant - Maps pure Ruby backend names to their language and module info. Used for auto-registration of built-in backends.
  • TreeHaver.register_builtin_backends! - Registers built-in pure Ruby backends (Prism, Psych, Commonmarker, Markly) in the LanguageRegistry using the same API that external backends use. Called automatically by parser_for on first use.
  • TreeHaver.ensure_builtin_backends_registered! - Idempotent helper that ensures built-in backends are registered exactly once.
  • parser_for now supports registered backend_module backends - When a language has a registered backend_module, parser_for will use it. This enables external gems to provide language support without tree-sitter grammars:
    • Checks LanguageRegistry for registered backend_module entries
    • Creates parser from the backend module's Parser and Language classes
    • Falls back to tree-sitter and Citrus if no backend_module matches
  • RBS dependency tags in DependencyTags - New RSpec tags for RBS parsing:
    • :rbs_grammar - tree-sitter-rbs grammar is available and parsing works
    • :rbs_parsing - at least one RBS parser (rbs gem OR tree-sitter-rbs) is available
    • :rbs_gem - the official rbs gem is available (MRI only)
    • Negated versions: :not_rbs_grammar, :not_rbs_parsing, :not_rbs_gem
    • New availability methods: tree_sitter_rbs_available?, rbs_gem_available?, any_rbs_backend_available?
  • Support for tree-sitter 0.26.x ABI - TreeHaver now fully supports grammars built against tree-sitter 0.26.x (LANGUAGE_VERSION 15). This required updates to vendored dependencies:
    • ruby-tree-sitter: Updated to support tree-sitter 0.26.3 C library API changes including new ts_language_abi_version() function, UTF-16 encoding split, and removal of deprecated parser timeout/cancellation APIs
    • tree_stump (Rust backend): Updated to tree-sitter Rust crate 0.26.3 with new abi_version() method, u32 child indices, and streaming iterator-based query matches
  • MRI backend now loads grammars with LANGUAGE_VERSION 15 - Previously, MRI backend

... (truncated)

Changelog

Sourced from tree_haver's changelog.

[3.2.4] - 2026-01-04

  • TAG: [v3.2.4][3.2.4t]
  • COVERAGE: 92.07% -- 2229/2421 lines in 23 files
  • BRANCH COVERAGE: 74.79% -- 786/1051 branches in 23 files
  • 90.37% documented

Added

  • External backend registration via backend_module - External gems can now register their own pure Ruby backends using the same API as built-in backends. This enables gems like rbs-merge to integrate with TreeHaver.parser_for without modifying tree_haver:
TreeHaver.register_language(
  :rbs,
  backend_module: Rbs::Merge::Backends::RbsBackend,
  backend_type: :rbs,
  gem_name: "rbs",
)
# Now TreeHaver.parser_for(:rbs) works!
  • Backends::PURE_RUBY_BACKENDS constant - Maps pure Ruby backend names to their language and module info. Used for auto-registration of built-in backends.
  • TreeHaver.register_builtin_backends! - Registers built-in pure Ruby backends (Prism, Psych, Commonmarker, Markly) in the LanguageRegistry using the same API that external backends use. Called automatically by parser_for on first use.
  • TreeHaver.ensure_builtin_backends_registered! - Idempotent helper that ensures built-in backends are registered exactly once.
  • parser_for now supports registered backend_module backends - When a language has a registered backend_module, parser_for will use it. This enables external gems to provide language support without tree-sitter grammars:
    • Checks LanguageRegistry for registered backend_module entries
    • Creates parser from the backend module's Parser and Language classes
    • Falls back to tree-sitter and Citrus if no backend_module matches
  • RBS dependency tags in DependencyTags - New RSpec tags for RBS parsing:
    • :rbs_grammar - tree-sitter-rbs grammar is available and parsing works
    • :rbs_parsing - at least one RBS parser (rbs gem OR tree-sitter-rbs) is available
    • :rbs_gem - the official rbs gem is available (MRI only)
    • Negated versions: :not_rbs_grammar, :not_rbs_parsing, :not_rbs_gem
    • New availability methods: tree_sitter_rbs_available?, rbs_gem_available?, any_rbs_backend_available?
  • Support for tree-sitter 0.26.x ABI - TreeHaver now fully supports grammars built against tree-sitter 0.26.x (LANGUAGE_VERSION 15). This required updates to vendored dependencies:
    • ruby-tree-sitter: Updated to support tree-sitter 0.26.3 C library API changes including new ts_language_abi_version() function, UTF-16 encoding split, and removal of deprecated parser timeout/cancellation APIs
    • tree_stump (Rust backend): Updated to tree-sitter Rust crate 0.26.3 with new abi_version() method, u32 child indices, and streaming iterator-based query matches
  • MRI backend now loads grammars with LANGUAGE_VERSION 15 - Previously, MRI backend using ruby_tree_sitter could only load grammars with LANGUAGE_VERSION ≤ 14. Now supports

... (truncated)

Commits
  • 218f2d0 🔖 Prepare release v3.2.4
  • 06c553f ✅ Prevent order dependency in test
  • 5377cc2 🚨 Linting
  • dd5027b ✨ Plugin API for to register backends and languages
  • 0e651ec ✨ Support for jtreesitter v0.26+; Backend API validation; grammar installatio...
  • c9324ea 🔒️ Checksums for v3.2.3
  • See full diff 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 merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @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 [tree_haver](https://github.com/kettle-rb/tree_haver) from 3.2.3 to 3.2.4.
- [Release notes](https://github.com/kettle-rb/tree_haver/releases)
- [Changelog](https://github.com/kettle-rb/tree_haver/blob/main/CHANGELOG.md)
- [Commits](structuredmerge/structuredmerge-spec@v3.2.3...v3.2.4)

---
updated-dependencies:
- dependency-name: tree_haver
  dependency-version: 3.2.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file ruby Pull requests that update ruby code labels Jan 5, 2026
@github-actions
github-actions Bot requested a review from pboling January 5, 2026 05:28
@github-actions

github-actions Bot commented Jan 5, 2026

Copy link
Copy Markdown

Code Coverage

Package Line Rate Branch Rate Health
toml-merge 100% 82%
Summary 100% (78 / 78) 82% (33 / 40)

Minimum allowed line rate is 100%

@codecov-commenter

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@pboling
pboling merged commit 53b9dab into main Jan 5, 2026
9 of 22 checks passed
@pboling
pboling deleted the dependabot/bundler/tree_haver-3.2.4 branch January 5, 2026 20:38
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants