prism-merge 1.1.6 → 2.0.1

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: 421f226a53add89905b9160c76fd3f18130bb7ab65a9b2da410e29237d0ee0d9
4
- data.tar.gz: 35a0b3a827749be34717d4e9c58842ae589fc8a0028c50175465fd99504f0bc7
3
+ metadata.gz: d39e0e854397866379ca524e10088fdaa4d31029358962472fec0c174e0780c4
4
+ data.tar.gz: 2805f8137670b5660f510cc6ca119447ac3e90967da0b0b09cc5cd7ca621fd51
5
5
  SHA512:
6
- metadata.gz: 31948037aa1cf05744a46649d0bddc73ed2920714c1c08d6f00c0bb337da25e479c77f80594b1a9ee0e2f32d16b58dcbd41c3dc1449408170d90095ef579081b
7
- data.tar.gz: 8bdcc61811f3b70e338c3a34a1e2953b5eb81dd8186180c47d277dffe6cc5f944504ac2833c5d1f431593e9f221c726ed977b6120d43db7a744c6c1e07be06bf
6
+ metadata.gz: dcc00673756cdb1619b0189b1dfb0a8048b7035c4eee228b46cf9ccc5d215211bb7d39a9721a40027e63f8507b75646643240ddab107004658f0686a9395f30d
7
+ data.tar.gz: 4c7e388e010b061286dc2e45cc90b482cec283893b9d3862f5153faaebc8b6250207b7952f8ee6463f1e012803e9774f77a4d4f1800c76e4d51697963b977e76
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -30,6 +30,84 @@ Please file a bug if you notice a violation of semantic versioning.
30
30
 
31
31
  ### Security
32
32
 
33
+ ## [2.0.1] - 2026-02-22
34
+
35
+ - TAG: [v2.0.1][2.0.1t]
36
+ - COVERAGE: 98.80% -- 820/830 lines in 12 files
37
+ - BRANCH COVERAGE: 85.55% -- 450/526 branches in 12 files
38
+ - 93.51% documented
39
+
40
+ ### Added
41
+
42
+ - `SmartMerger#emit_dest_prefix_lines` preserves magic comments (e.g., `# frozen_string_literal: true`)
43
+ and blank lines that appear before the first AST node in the destination file
44
+ - `SmartMerger#emit_dest_gap_lines` preserves blank lines between consecutive top-level blocks
45
+ in the destination, preventing them from being silently stripped during merge
46
+
47
+ ### Changed
48
+
49
+ - `SmartMerger#merge_with_debug` now uses `merge_result` (returns `MergeResult` object)
50
+ instead of `merge` (returns `String`), so `statistics` and `decision_summary` are accessible
51
+ - `SmartMerger#build_result` now passes `template_analysis` and `dest_analysis` to
52
+ `MergeResult.new` for consistency with `SmartMergerBase` API
53
+
54
+ ### Removed
55
+
56
+ - Removed redundant `attr_reader :node_typing` from `SmartMerger` — already provided
57
+ by `SmartMergerBase`
58
+
59
+ ### Fixed
60
+
61
+ - Inter-node blank line stripping: blank lines between top-level blocks (e.g., between
62
+ `appraise` blocks in Appraisals, between `gem` calls in Gemfiles) are now preserved
63
+ from the destination source during merge
64
+ - Prefix line stripping: magic comments and blank lines before the first AST statement
65
+ (e.g., `# frozen_string_literal: true` in Appraisal.root.gemfile) are now preserved
66
+
67
+ ## [2.0.0] - 2026-02-19
68
+
69
+ - TAG: [v2.0.0][2.0.0t]
70
+ - COVERAGE: 97.26% -- 780/802 lines in 12 files
71
+ - BRANCH COVERAGE: 82.07% -- 412/502 branches in 12 files
72
+ - 93.59% documented
73
+
74
+ ### Added
75
+
76
+ - Many new features inherited from `ast-merge`, and updated behaviors.
77
+ - **FileAnalysis**: Added `#errors` method for compatibility with SmartMergerBase
78
+ - Returns `@parse_result.errors` for consistency with other FileAnalysis classes
79
+ - Enables SmartMergerBase to properly create parse errors when `valid?` is false
80
+ - AGENTS.md
81
+
82
+ ### Changed
83
+
84
+ - appraisal2 v3.0.6
85
+ - kettle-test v1.0.10
86
+ - stone_checksums v1.0.3
87
+ - ast-merge v4.0.6
88
+ - tree_haver v5.0.5
89
+ - tree_stump v0.2.0
90
+ - fork no longer required, updates all applied upstream
91
+ - **SmartMerger**: Added `**options` for forward compatibility
92
+ - Now passes `node_typing` explicitly to `SmartMergerBase` instead of storing locally
93
+ - Accepts additional options that may be added to base class in future
94
+ - **FileAnalysis**: Added `**options` for forward compatibility
95
+ - Accepts additional options that may be added in future
96
+ - Consistent with other `*-merge` gems' FileAnalysis classes
97
+ - **MergeResult**: Added `**options` for forward compatibility
98
+ - **ParseError**: Updated constructor to accept base class signature
99
+ - Now accepts optional `message`, `errors:`, `content:`, and `parse_result:` keywords
100
+ - Compatible with `Ast::Merge::ParseError` signature while preserving `parse_result` attribute
101
+ - Enables SmartMergerBase to create parse errors without Prism-specific knowledge
102
+ - Updated documentation on hostile takeover of RubyGems
103
+ - https://dev.to/galtzo/hostile-takeover-of-rubygems-my-thoughts-5hlo
104
+ - **BREAKING**: Error classes now inherit from `Ast::Merge` base classes:
105
+ - `Prism::Merge::Error` now inherits from `Ast::Merge::Error` (was `StandardError`)
106
+ - `Prism::Merge::ParseError` now inherits from `Ast::Merge::ParseError` (was `Prism::Merge::Error`)
107
+ - `ParseError#errors` attribute added (array of error objects from `parse_result.errors`)
108
+ - Code using `e.parse_result.errors` should now use `e.errors` directly
109
+ - `parse_result` attribute is still available for Prism-specific access
110
+
33
111
  ## [1.1.6] - 2025-12-05
34
112
 
35
113
  - TAG: [v1.1.6][1.1.6t]
@@ -237,7 +315,11 @@ Please file a bug if you notice a violation of semantic versioning.
237
315
 
238
316
  - Initial release
239
317
 
240
- [Unreleased]: https://github.com/kettle-rb/prism-merge/compare/v1.1.6...HEAD
318
+ [Unreleased]: https://github.com/kettle-rb/prism-merge/compare/v2.0.1...HEAD
319
+ [2.0.1]: https://github.com/kettle-rb/prism-merge/compare/v2.0.0...v2.0.1
320
+ [2.0.1t]: https://github.com/kettle-rb/prism-merge/releases/tag/v2.0.1
321
+ [2.0.0]: https://github.com/kettle-rb/prism-merge/compare/v1.1.6...v2.0.0
322
+ [2.0.0t]: https://github.com/kettle-rb/prism-merge/releases/tag/v2.0.0
241
323
  [1.1.6]: https://github.com/kettle-rb/prism-merge/compare/v1.1.5...v1.1.6
242
324
  [1.1.6t]: https://github.com/kettle-rb/prism-merge/releases/tag/v1.1.6
243
325
  [1.1.5]: https://github.com/kettle-rb/prism-merge/compare/v1.1.4...v1.1.5
data/CITATION.cff CHANGED
@@ -7,8 +7,8 @@ type: software
7
7
  authors:
8
8
  - given-names: Peter Hurn
9
9
  family-names: Boling
10
- email: peter@railsbling.com
11
- affiliation: railsbling.com
10
+ email: floss@galtzo.com
11
+ affiliation: galtzo.com
12
12
  orcid: 'https://orcid.org/0009-0008-8519-441X'
13
13
  identifiers:
14
14
  - type: url