Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.1.1 - 2026-01-23
Added
- Optional
outputparameter toIps::Patcher.applymethod for specifying custom output file path
0.1.0 - 2026-01-20
Added
- Initial release of ips-patcher gem
Ips::Patcher.applymethod for applying IPS patches to ROM files- Support for standard IPS records (byte replacement at specific offsets)
- Support for RLE (Run-Length Encoding) records for efficient byte filling
- Automatic output filename generation (inserts
.patchedbefore file extension) - Non-destructive patching (original ROM file remains unchanged)
- Comprehensive error handling with
Ips::Patcher::Errorexception class - Binary reader and writer utilities for IPS format parsing
- Pure Ruby implementation with no external dependencies
- Full test coverage with RSpec
- YARD documentation support
Features
- Validates IPS patch file format (checks for "PATCH" header)
- Processes patch records sequentially until "EOF" marker
- Handles both standard and RLE-compressed patch records
- Creates new patched ROM file without modifying the original