Changelog

SemVer 2.0.0 Keep-A-Changelog 1.0.0

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning,
and yes, platform and engine support are part of the public API.
Please file a bug if you notice a violation of semantic versioning.

Unreleased

Added

Changed

Deprecated

Removed

Fixed

Security

1.0.3 - 2026-02-19

  • TAG: v1.0.3
  • COVERAGE: 97.73% – 345/353 lines in 8 files
  • BRANCH COVERAGE: 83.06% – 103/124 branches in 8 files
  • 96.83% documented

Added

  • AGENTS.md

Changed

  • appraisal2 v3.0.6
  • kettle-test v1.0.10
  • stone_checksums v1.0.3
  • ast-merge v4.0.6
  • tree_haver v5.0.5
  • tree_stump v0.2.0
    • fork no longer required, updates all applied upstream
  • Updated documentation on hostile takeover of RubyGems
    • https://dev.to/galtzo/hostile-takeover-of-rubygems-my-thoughts-5hlo

1.0.2 - 2026-02-01

  • TAG: v1.0.2
  • COVERAGE: 97.73% – 345/353 lines in 8 files
  • BRANCH COVERAGE: 83.06% – 103/124 branches in 8 files
  • 96.83% documented

Added

  • Utilizes Ast::Merge::RSpec::MergeGemRegistry when running RSpec tests

Changed

1.0.1 - 2026-01-01

  • TAG: v1.0.1
  • COVERAGE: 97.72% – 343/351 lines in 8 files
  • BRANCH COVERAGE: 83.61% – 102/122 branches in 8 files
  • 96.83% documented

Added

  • node_typing parameter for per-node-type merge preferences
    • Enables preference: { default: :destination, special_type: :template } pattern
    • Works with custom merge_types assigned via node_typing lambdas
  • match_refiner parameter for fuzzy matching support
  • regions and region_placeholder parameters for nested content merging
  • EnvLine#type method returning "env_line" for TreeHaver::Node protocol compatibility

Changed

  • SmartMerger: Added **options for forward compatibility
    • Accepts additional options that may be added to base class in future
    • Passes all options through to SmartMergerBase
  • MergeResult: Added **options for forward compatibility
  • BREAKING: SmartMerger now inherits from Ast::Merge::SmartMergerBase
    • Provides standardized options API consistent with all other *-merge gems
    • All keyword arguments are now explicit (no more positional-only arguments)
    • Gains automatic support for new SmartMergerBase features
  • Renamed EnvLine#type attribute to EnvLine#line_type to avoid conflict with TreeHaver::Node protocol

1.0.0 - 2025-12-12

  • TAG: v1.0.0
  • COVERAGE: 97.85% – 319/326 lines in 8 files
  • BRANCH COVERAGE: 82.69% – 86/104 branches in 8 files
  • 96.97% documented

Added

  • Initial release