Skip to content

Releases: kettle-rb/bash-merge

v2.0.6

19 Feb 11:55
v2.0.6
2bf0904

Choose a tag to compare

2.0.6 - 2026-02-19

  • TAG: v2.0.6
  • COVERAGE: 96.10% -- 518/539 lines in 11 files
  • BRANCH COVERAGE: 74.72% -- 133/178 branches in 11 files
  • 96.33% documented

Added

  • AGENTS.md

Changed

Official Discord 👉️ Live Chat on Discord

Many paths lead to being a sponsor or a backer of this project. Are you on such a path?

OpenCollective Backers OpenCollective Sponsors Sponsor Me on Github Liberapay Goal Progress Donate on PayPal

Buy me a coffee Donate on Polar Donate to my FLOSS efforts at ko-fi.com Donate to my FLOSS efforts using Patreon

v2.0.5

01 Feb 09:32
v2.0.5
0b1e240

Choose a tag to compare

2.0.5 - 2026-02-01

  • TAG: v2.0.5
  • COVERAGE: 96.10% -- 518/539 lines in 11 files
  • BRANCH COVERAGE: 74.72% -- 133/178 branches in 11 files
  • 96.33% documented

Added

  • ConflictResolver now applies per-node-type preferences via node_typing.

Changed

  • tree_haver v5.0.3
  • ast-merge v4.0.5

Official Discord 👉️ Live Chat on Discord

Many paths lead to being a sponsor or a backer of this project. Are you on such a path?

OpenCollective Backers OpenCollective Sponsors Sponsor Me on Github Liberapay Goal Progress Donate on PayPal

Buy me a coffee Donate on Polar Donate to my FLOSS efforts at ko-fi.com Donate to my FLOSS efforts using Patreon

v2.0.4

20 Jan 07:34
v2.0.4
4d081f7

Choose a tag to compare

2.0.4 - 2026-01-20

  • TAG: v2.0.4
  • COVERAGE: 100.00% -- 25/25 lines in 1 files
  • BRANCH COVERAGE: 100.00% -- 4/4 branches in 1 files
  • 96.33% documented

Changed

Official Discord 👉️ Live Chat on Discord

Many paths lead to being a sponsor or a backer of this project. Are you on such a path?

OpenCollective Backers OpenCollective Sponsors Sponsor Me on Github Liberapay Goal Progress Donate on PayPal

Buy me a coffee Donate on Polar Donate to my FLOSS efforts at ko-fi.com Donate to my FLOSS efforts using Patreon

v2.0.3

12 Jan 13:13
v2.0.3
2c59db7

Choose a tag to compare

2.0.3 - 2026-01-11

  • TAG: v2.0.3
  • COVERAGE: 96.16% -- 501/521 lines in 11 files
  • BRANCH COVERAGE: 76.22% -- 125/164 branches in 11 files
  • 96.33% documented

Changed

  • ast-merge v4.0.2
  • tree_haver v5.0.1

Official Discord 👉️ Live Chat on Discord

Many paths lead to being a sponsor or a backer of this project. Are you on such a path?

OpenCollective Backers OpenCollective Sponsors Sponsor Me on Github Liberapay Goal Progress Donate on PayPal

Buy me a coffee Donate on Polar Donate to my FLOSS efforts at ko-fi.com Donate to my FLOSS efforts using Patreon

v2.0.2

10 Jan 01:12
v2.0.2
4003d69

Choose a tag to compare

2.0.2 - 2026-01-09

  • TAG: v2.0.2
  • COVERAGE: 96.34% -- 500/519 lines in 11 files
  • BRANCH COVERAGE: 76.54% -- 124/162 branches in 11 files
  • 96.33% documented

Changed

  • tree_haver v4.0.5
    • FFI Backend improvements
    • Error handling improvements
  • Improved GHA workflows & rake tasks
  • Simplified dependency_tags.rb: Removed redundant debug code
    • Removed BASH_MERGE_DEBUG env var handling (use TREE_HAVER_DEBUG instead)
    • tree_haver's debug output now respects blocked backends via compute_blocked_backends
    • Avoids accidentally loading MRI backend during FFI-only test runs

Official Discord 👉️ Live Chat on Discord

Many paths lead to being a sponsor or a backer of this project. Are you on such a path?

OpenCollective Backers OpenCollective Sponsors Sponsor Me on Github Liberapay Goal Progress Donate on PayPal

Buy me a coffee Donate on Polar Donate to my FLOSS efforts at ko-fi.com Donate to my FLOSS efforts using Patreon

v2.0.1

09 Jan 10:14
v2.0.1
28195a2

Choose a tag to compare

2.0.1 - 2026-01-09

  • TAG: v2.0.1
  • COVERAGE: 96.34% -- 500/519 lines in 11 files
  • BRANCH COVERAGE: 76.54% -- 124/162 branches in 11 files
  • 96.33% documented

Added

  • FFI backend isolation for test suite
    • Added bin/rspec-ffi script to run FFI specs in isolation (before MRI backend loads)
    • Added spec/spec_ffi_helper.rb for FFI-specific test configuration
    • Updated Rakefile with ffi_specs and remaining_specs tasks
    • The :test task now runs FFI specs first, then remaining specs
  • Emitter-based output

Changed

  • ast-merge v3.1.0, adds Ast::Merge::EmitterBase
  • tree_haver v4.0.4, adds error handling for FFI backend
  • major spec refactor

Official Discord 👉️ Live Chat on Discord

Many paths lead to being a sponsor or a backer of this project. Are you on such a path?

OpenCollective Backers OpenCollective Sponsors Sponsor Me on Github Liberapay Goal Progress Donate on PayPal

Buy me a coffee Donate on Polar Donate to my FLOSS efforts at ko-fi.com Donate to my FLOSS efforts using Patreon

v2.0.0

06 Jan 08:34
v2.0.0
52553ef

Choose a tag to compare

2.0.0 - 2026-01-06

  • TAG: v2.0.0
  • COVERAGE: 100.00% -- 109/109 lines in 2 files
  • BRANCH COVERAGE: 100.00% -- 28/28 branches in 2 files
  • 96.46% documented

Changed

  • ast-merge v3.0.0 compatibility (breaking changes)

Official Discord 👉️ Live Chat on Discord

Many paths lead to being a sponsor or a backer of this project. Are you on such a path?

OpenCollective Backers OpenCollective Sponsors Sponsor Me on Github Liberapay Goal Progress Donate on PayPal

Buy me a coffee Donate on Polar Donate to my FLOSS efforts at ko-fi.com Donate to my FLOSS efforts using Patreon

v1.0.2

02 Jan 12:58
v1.0.2
489b9f3

Choose a tag to compare

1.0.2 - 2026-01-02

  • TAG: v1.0.2
  • COVERAGE: 100.00% -- 109/109 lines in 2 files
  • BRANCH COVERAGE: 100.00% -- 28/28 branches in 2 files
  • 96.46% documented

Removed

  • Load-time grammar registration - TreeHaver's parser_for now handles grammar discovery
    and registration automatically. Removed manual GrammarFinder calls and warnings from
    lib/bash/merge.rb.

Official Discord 👉️ Live Chat on Discord

Many paths lead to being a sponsor or a backer of this project. Are you on such a path?

OpenCollective Backers OpenCollective Sponsors Sponsor Me on Github Liberapay Goal Progress Donate on PayPal

Buy me a coffee Donate on Polar Donate to my FLOSS efforts at ko-fi.com Donate to my FLOSS efforts using Patreon

v1.0.1

02 Jan 06:47
v1.0.1
b288e26

Choose a tag to compare

1.0.1 - 2026-01-01

  • TAG: v1.0.1
  • COVERAGE: 100.00% -- 109/109 lines in 2 files
  • BRANCH COVERAGE: 100.00% -- 28/28 branches in 2 files
  • 96.46% documented

Changed

  • NodeWrapper: Now inherits from Ast::Merge::NodeWrapperBase
    • Removes ~100 lines of duplicated code (initialization, line extraction, basic methods)
    • Keeps only Bash-specific type predicates and signature computation
    • Adds #node_wrapper? method for distinguishing from NodeTyping::Wrapper
  • FileAnalysis error handling: Now rescues TreeHaver::Error instead of TreeHaver::NotAvailable
    • TreeHaver::Error inherits from Exception, not StandardError
    • TreeHaver::NotAvailable is a subclass of TreeHaver::Error, so it's also caught
    • Fixes parse error handling on alternative Ruby engines

Official Discord 👉️ Live Chat on Discord

Many paths lead to being a sponsor or a backer of this project. Are you on such a path?

OpenCollective Backers OpenCollective Sponsors Sponsor Me on Github Liberapay Goal Progress Donate on PayPal

Buy me a coffee Donate on Polar Donate to my FLOSS efforts at ko-fi.com Donate to my FLOSS efforts using Patreon

v1.0.0

01 Jan 12:51
v1.0.0
cea8072

Choose a tag to compare

1.0.0 - 2026-01-01

  • TAG: v1.0.0
  • COVERAGE: 100.00% -- 109/109 lines in 2 files
  • BRANCH COVERAGE: 100.00% -- 28/28 branches in 2 files
  • 96.90% documented

Added

  • Initial release

Security

Official Discord 👉️ Live Chat on Discord

Many paths lead to being a sponsor or a backer of this project. Are you on such a path?

OpenCollective Backers OpenCollective Sponsors Sponsor Me on Github Liberapay Goal Progress Donate on PayPal

Buy me a coffee Donate on Polar Donate to my FLOSS efforts at ko-fi.com Donate to my FLOSS efforts using Patreon