prism-merge v1.1.4 released!
1.1.4 - 2025-12-04
- TAG: v1.1.4
- COVERAGE: 98.26% – 902/918 lines in 9 files
- BRANCH COVERAGE: 87.59% – 381/435 branches in 9 files
- 100.00% documented
Added
- Custom signature generator fallthrough support: Custom signature generators can now return a
Prism::NodeorFreezeNodeto fall through to the default signature computation. This allows custom generators to only override specific node types while delegating others to the built-in logic. Previously, returningnilwas the only way to skip custom handling, but that prevented proper matching for unhandled node types. - Variable assignment node signatures: Added signature support for all variable write node types:
LocalVariableWriteNode→[:local_var, name]InstanceVariableWriteNode→[:ivar, name]ClassVariableWriteNode→[:cvar, name]GlobalVariableWriteNode→[:gvar, name]MultiWriteNode→[:multi_write, [target_names]]
Removed
- Removed pre-prism code in
ConflictResolverthat compared template node line numbers against destination freeze block line numbers (cross-file line comparison makes no sense)
Fixed
- Fixed template-only nodes not being added when destination has freeze blocks: When
add_template_only_nodes: true, template nodes with no matching signature in destination were incorrectly skipped if the destination contained freeze blocks. The bug was caused by comparing template node line numbers against destination freeze block line numbers, which is a meaningless cross-file comparison. Template-only nodes are now correctly added regardless of freeze block presence.
Many paths lead to being a sponsor or a backer of this project. Are you on such a path?