prism-merge v2.0.1 released!
2.0.1 - 2026-02-22
- TAG: v2.0.1
- COVERAGE: 98.80% – 820/830 lines in 12 files
- BRANCH COVERAGE: 85.55% – 450/526 branches in 12 files
- 93.51% documented
Added
SmartMerger#emit_dest_prefix_linespreserves magic comments (e.g.,# frozen_string_literal: true) and blank lines that appear before the first AST node in the destination fileSmartMerger#emit_dest_gap_linespreserves blank lines between consecutive top-level blocks in the destination, preventing them from being silently stripped during merge
Changed
SmartMerger#merge_with_debugnow usesmerge_result(returnsMergeResultobject) instead ofmerge(returnsString), sostatisticsanddecision_summaryare accessibleSmartMerger#build_resultnow passestemplate_analysisanddest_analysistoMergeResult.newfor consistency withSmartMergerBaseAPI
Removed
- Removed redundant
attr_reader :node_typingfromSmartMerger— already provided bySmartMergerBase
Fixed
- Inter-node blank line stripping: blank lines between top-level blocks (e.g., between
appraiseblocks in Appraisals, betweengemcalls in Gemfiles) are now preserved from the destination source during merge - Prefix line stripping: magic comments and blank lines before the first AST statement
(e.g.,
# frozen_string_literal: truein Appraisal.root.gemfile) are now preserved
Many paths lead to being a sponsor or a backer of this project. Are you on such a path?