Releases: 0jonjo/calcpace
Releases · 0jonjo/calcpace
Release version v1.9.5
What's Changed
- Bump erb from 6.0.2 to 6.0.4 in the bundler group across 1 directory by @dependabot[bot] in #73
- Feat/wma age grading v1.9.5 by @0jonjo in #74
Full Changelog: v1.9.4...v1.9.5
Release version v1.9.4
What's Changed
- Bump addressable from 2.8.9 to 2.9.0 in the bundler group across 1 directory by @dependabot[bot] in #71
- feat: Add support for 100K race distance (v1.9.4) by @0jonjo in #72
Full Changelog: v1.9.3...v1.9.4
Release version v1.9.3
What's Changed
Full Changelog: v1.9.2...v1.9.3
Release version v1.9.2
Full Changelog: v1.9.1...v1.9.2
Release version v1.9.1
What's Changed
- Bump mcp from 0.8.0 to 0.9.2 in the bundler group across 1 directory by @dependabot[bot] in #68
- chore: bump version to 1.9.1 by @0jonjo in #69
Full Changelog: v1.9.0...v1.9.1
Release version v1.9.0
What's Changed
- Bump json from 2.19.0 to 2.19.2 in the bundler group across 1 directory by @dependabot[bot] in #66
- feat: add CameronPredictor module (v1.9.0) by @0jonjo in #67
Full Changelog: v1.8.2...v1.9.0
Release version v1.8.2
What's Changed
Full Changelog: v1.8.1...v1.8.2
v1.8.1
What's Changed
Added
- SimpleCov integration for code coverage measurement
- RuboCop lint job to CI pipeline
- YARD documentation for all previously undocumented public methods in
Calculator(checked_velocity,clock_velocity,checked_pace,clock_pace,time,checked_time,clock_time,distance,checked_distance)
Changed
- Minimum required Ruby version bumped from 2.7 to 3.2
- CI matrix updated: removed EOL Ruby versions (2.7, 3.0, 3.1), added Ruby 4.0
- CI lint job uses
.ruby-versionfile instead of a hardcoded version - Bundler updated to 4.0.6
Rakefile.rbrenamed toRakefile(standard convention)PaceConverterconstantsMI_TO_KMandKM_TO_MIconsolidated intoConverter::Distance- Negative and positive split calculations refactored to share common logic
- Test files refactored to inherit from shared
CalcpaceTestbase class
Full Changelog: v1.8.0...v1.8.1
v1.8.0
What's Changed
- Pace conversion module for converting running pace between kilometers and miles
convert_pacemethod with support for both symbol and string format conversionspace_km_to_miconvenience method for kilometers to miles conversionpace_mi_to_kmconvenience method for miles to kilometers conversion- Support for both numeric (seconds) and string (MM:SS) input formats
- Race splits calculator for pacing strategies
race_splitsmethod to calculate cumulative split times for races- Support for even pace, negative splits (progressive), and positive splits (conservative) strategies
- Flexible split distances: standard race distances ('5k', '1mile') or custom distances (numeric km)
- Works with all standard race distances including marathon, half marathon, 10K, 5K, and mile races
- Race time predictor using Riegel formula
predict_timeandpredict_time_clockmethods to predict race times at different distancespredict_paceandpredict_pace_clockmethods to calculate predicted pace for target racesequivalent_performancemethod to compare performances across different race distances- Based on proven Riegel formula: T2 = T1 × (D2/D1)^1.06
- Detailed explanation of the formula and its applications in README
- Additional race distances for international races
1mile- 1.60934 kilometers5mile- 8.04672 kilometers10mile- 16.0934 kilometers
- Comprehensive test suites
- 30+ test cases for pace conversions
- 30+ test cases for race splits covering all strategies and edge cases
- 35+ test cases for race predictions covering various scenarios
- Expanded
RACE_DISTANCESto include popular US/UK race distances - Updated README with pace conversion, race splits, and race prediction examples
- Improved documentation with practical examples, use cases, and formula explanations
- Comprehensive code review: documentation, testing, error handling, and new features by @Copilot in #62
- Release/v1.8.0 by @0jonjo in #63
Full Changelog: v1.7.0...v1.8.0
v1.7.0
Full Changelog: v1.6.0...v1.7.0
New Features
Race Pace Calculator
Calculate finish times and required paces for standard distances (5K, 10K, half-marathon, marathon)
Error Handling
- Added
UnsupportedUnitErrorfor invalid unit conversions - Enhanced error messages with contextual information
- Improved
Converter#constantwith nested rescue for better diagnostics - Added type validation in
check_timemethod