What's Changed
Features & Improvements
- Centralized format detection: New
format_detector.rsmodule in Rust andParseKit.detect_formatmethod in Ruby for consistent file format identification across the library - Simplified format dispatch: Refactored parser routing to reduce complexity in the core parser module
- Refactored validation helpers: Cleaner, more maintainable validation logic
- Improved Rust error handling: Refactored error handling code for better consistency and clarity
- Automated release workflow: Added GitHub Actions workflow (
release.yml) withworkflow_dispatchfor automated gem publishing SUPPORTED_FORMATSconstant: New module-level constant mapping format symbols to file extensions
Dependency Updates
calamine(Excel parsing): 0.30 -> 0.34mupdf(PDF parsing): 0.5 -> 0.6quick-xml(XML parsing): 0.38 -> 0.39zip(PPTX handling): 2.1 -> 8.0actions/cache: 3 -> 5actions/checkout: 5 -> 6
Testing
- Added comprehensive test suites for format detection, dispatch logic, error consistency, and validation helpers (+1,441 lines of specs)
- Fixed a failing spec related to the refactors
Housekeeping
- Moved repository to
scientist-labsorganization - Cleaned up dead code in parser module
- Streamlined Ruby-side documentation and class structure
Full Changelog: 0.1.0...0.1.3