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.
1.2.0 - 2026-02-02
- Keyboard interrupt support to skip typewriter animation
interrupt: trueorinterrupt: :enter- Skip with Enter keyinterrupt: :any- Skip with any key pressinterrupt: ["q", "x", " "]- Skip with specific keys
- When interrupted, remaining text prints immediately
- Non-blocking keyboard input detection using
io/console
- Updated README with interrupt mode documentation and examples
- Adjusted RuboCop metrics configuration for interrupt logic
- Note: Undocumented keyword argument syntax (e.g.,
type_rate: 0.05) is no longer supported due to Ruby 3.0+ keyword argument separation. All documented positional argument usage remains fully compatible.
- Added
write_interruptibleandkey_matches?private methods - Uses
IO.selectfor non-blocking input polling (Ruby 3.0+ compatible) - 100% backwards compatible for all documented usage patterns
1.1.0 - 2025-01-XX
- Modernized codebase to idiomatic Ruby gem standards
- Added RuboCop linting to development workflow
- RSpec testing infrastructure
- GitHub Actions CI workflow
- Comprehensive test coverage for timing and output behavior
1.0.0 - Earlier
- Initial typewriter effect implementation
- Basic timing controls (type_rate, punc_rate)
- Line break control