Skip to content

prism-merge v2.0.0

Choose a tag to compare

@pboling pboling released this 19 Feb 12:48
· 6624 commits to main since this release
v2.0.0
f3ea2ac

2.0.0 - 2026-02-19

  • TAG: v2.0.0
  • COVERAGE: 97.26% -- 780/802 lines in 12 files
  • BRANCH COVERAGE: 82.07% -- 412/502 branches in 12 files
  • 93.59% documented

Added

  • Many new features inherited from ast-merge, and updated behaviors.
  • FileAnalysis: Added #errors method for compatibility with SmartMergerBase
    • Returns @parse_result.errors for consistency with other FileAnalysis classes
    • Enables SmartMergerBase to properly create parse errors when valid? is false
  • 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
  • SmartMerger: Added **options for forward compatibility
    • Now passes node_typing explicitly to SmartMergerBase instead of storing locally
    • Accepts additional options that may be added to base class in future
  • FileAnalysis: Added **options for forward compatibility
    • Accepts additional options that may be added in future
    • Consistent with other *-merge gems' FileAnalysis classes
  • MergeResult: Added **options for forward compatibility
  • ParseError: Updated constructor to accept base class signature
    • Now accepts optional message, errors:, content:, and parse_result: keywords
    • Compatible with Ast::Merge::ParseError signature while preserving parse_result attribute
    • Enables SmartMergerBase to create parse errors without Prism-specific knowledge
  • Updated documentation on hostile takeover of RubyGems
  • BREAKING: Error classes now inherit from Ast::Merge base classes:
    • Prism::Merge::Error now inherits from Ast::Merge::Error (was StandardError)
    • Prism::Merge::ParseError now inherits from Ast::Merge::ParseError (was Prism::Merge::Error)
    • ParseError#errors attribute added (array of error objects from parse_result.errors)
    • Code using e.parse_result.errors should now use e.errors directly
    • parse_result attribute is still available for Prism-specific access

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