prism-merge 1.1.5 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 34ca6071c4cec046f0e1b8b16298c1f11ac5164271ef37a51119d975e699aac6
4
- data.tar.gz: 8dcef50c1a8cd597cf471d148a15e2fec5412c6ecdcc20ba6788ea979ff23233
3
+ metadata.gz: 1425ee625e5f45061e5faa4d942371f94498082aa00660a4e8b42d50c49b1368
4
+ data.tar.gz: 45b4f7343c85a8b87b95929c4a17da4db132cb69dfdcfdf3a4078e2ea88f1838
5
5
  SHA512:
6
- metadata.gz: d1faf2b8c9c7ee00902e65e6d559c931f934293764fcc8b85501b419cf2e2144e9f141d0feba0d4427018cc1f470ed5861ee9a1b06b5f2d0609a5ee39dceb94e
7
- data.tar.gz: 67fa40303034e480ce93b5ad4286d5061fbc77afa418364f2689f7667b08779a5394a898bf6df80ee00f165a8ef2ec95818759036b27eb10b5722a5d1fb39f50
6
+ metadata.gz: 45baf957dc196b7f81084a98ae8c52a3d9121e40d8b39355320825cf02b033b2381ae30ce54b439519808fc3dc859ba653e29b2042770497cbef5b53dd796a7c
7
+ data.tar.gz: cb6bab2681c92c7900265fbc5fe136dc712bfe1d20cade3aa3145962f7966c4db66aa5d3f34b19887aa707ad362429edae8e7bdb5d371de46acd6ee3221f39c6
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -30,6 +30,64 @@ Please file a bug if you notice a violation of semantic versioning.
30
30
 
31
31
  ### Security
32
32
 
33
+ ## [2.0.0] - 2026-02-19
34
+
35
+ - TAG: [v2.0.0][2.0.0t]
36
+ - COVERAGE: 97.26% -- 780/802 lines in 12 files
37
+ - BRANCH COVERAGE: 82.07% -- 412/502 branches in 12 files
38
+ - 93.59% documented
39
+
40
+ ### Added
41
+
42
+ - Many new features inherited from `ast-merge`, and updated behaviors.
43
+ - **FileAnalysis**: Added `#errors` method for compatibility with SmartMergerBase
44
+ - Returns `@parse_result.errors` for consistency with other FileAnalysis classes
45
+ - Enables SmartMergerBase to properly create parse errors when `valid?` is false
46
+ - AGENTS.md
47
+
48
+ ### Changed
49
+
50
+ - appraisal2 v3.0.6
51
+ - kettle-test v1.0.10
52
+ - stone_checksums v1.0.3
53
+ - ast-merge v4.0.6
54
+ - tree_haver v5.0.5
55
+ - tree_stump v0.2.0
56
+ - fork no longer required, updates all applied upstream
57
+ - **SmartMerger**: Added `**options` for forward compatibility
58
+ - Now passes `node_typing` explicitly to `SmartMergerBase` instead of storing locally
59
+ - Accepts additional options that may be added to base class in future
60
+ - **FileAnalysis**: Added `**options` for forward compatibility
61
+ - Accepts additional options that may be added in future
62
+ - Consistent with other `*-merge` gems' FileAnalysis classes
63
+ - **MergeResult**: Added `**options` for forward compatibility
64
+ - **ParseError**: Updated constructor to accept base class signature
65
+ - Now accepts optional `message`, `errors:`, `content:`, and `parse_result:` keywords
66
+ - Compatible with `Ast::Merge::ParseError` signature while preserving `parse_result` attribute
67
+ - Enables SmartMergerBase to create parse errors without Prism-specific knowledge
68
+ - Updated documentation on hostile takeover of RubyGems
69
+ - https://dev.to/galtzo/hostile-takeover-of-rubygems-my-thoughts-5hlo
70
+ - **BREAKING**: Error classes now inherit from `Ast::Merge` base classes:
71
+ - `Prism::Merge::Error` now inherits from `Ast::Merge::Error` (was `StandardError`)
72
+ - `Prism::Merge::ParseError` now inherits from `Ast::Merge::ParseError` (was `Prism::Merge::Error`)
73
+ - `ParseError#errors` attribute added (array of error objects from `parse_result.errors`)
74
+ - Code using `e.parse_result.errors` should now use `e.errors` directly
75
+ - `parse_result` attribute is still available for Prism-specific access
76
+
77
+ ## [1.1.6] - 2025-12-05
78
+
79
+ - TAG: [v1.1.6][1.1.6t]
80
+ - COVERAGE: 98.31% -- 929/945 lines in 9 files
81
+ - BRANCH COVERAGE: 87.08% -- 391/449 branches in 9 files
82
+ - 100.00% documented
83
+
84
+ ### Fixed
85
+
86
+ - **Fixed duplicate content when freeze blocks precede nodes with leading comments**: When a freeze block appeared before a node that had leading comments attached from earlier in the file, the merge would output duplicate content. Fixed by:
87
+ - Filtering out comments inside freeze blocks from being attached as leading comments to subsequent nodes
88
+ - Not including leading comments in anchor ranges when other nodes exist between the comments and the node
89
+ - Extending `extract_node_body` to include content after the last statement up to the closing line, ensuring freeze blocks at the end of block bodies are preserved
90
+
33
91
  ## [1.1.5] - 2025-12-04
34
92
 
35
93
  - TAG: [v1.1.5][1.1.5t]
@@ -223,7 +281,11 @@ Please file a bug if you notice a violation of semantic versioning.
223
281
 
224
282
  - Initial release
225
283
 
226
- [Unreleased]: https://github.com/kettle-rb/prism-merge/compare/v1.1.5...HEAD
284
+ [Unreleased]: https://github.com/kettle-rb/prism-merge/compare/v2.0.0...HEAD
285
+ [2.0.0]: https://github.com/kettle-rb/prism-merge/compare/v1.1.6...v2.0.0
286
+ [2.0.0t]: https://github.com/kettle-rb/prism-merge/releases/tag/v2.0.0
287
+ [1.1.6]: https://github.com/kettle-rb/prism-merge/compare/v1.1.5...v1.1.6
288
+ [1.1.6t]: https://github.com/kettle-rb/prism-merge/releases/tag/v1.1.6
227
289
  [1.1.5]: https://github.com/kettle-rb/prism-merge/compare/v1.1.4...v1.1.5
228
290
  [1.1.5t]: https://github.com/kettle-rb/prism-merge/releases/tag/v1.1.5
229
291
  [1.1.4]: https://github.com/kettle-rb/prism-merge/compare/v1.1.3...v1.1.4