|
| 1 | +# Changelog |
| 2 | + |
| 3 | +All notable changes to this project will be documented in this file. |
| 4 | + |
| 5 | +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), |
| 6 | +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). |
| 7 | + |
| 8 | +## [Unreleased] |
| 9 | + |
| 10 | +### Added |
| 11 | +- Initial project structure and core dependencies |
| 12 | +- Comprehensive error handling system with `HyperliquidBacktestError` |
| 13 | +- Core data structures: `HyperliquidData`, `HyperliquidBacktest`, `HyperliquidCommission` |
| 14 | +- Data conversion functionality between Hyperliquid API and rs-backtester formats |
| 15 | +- Funding rate utilities and calculations |
| 16 | +- Hyperliquid data fetcher with async API integration |
| 17 | +- Enhanced commission structure with maker/taker fee distinction |
| 18 | +- Enhanced backtesting engine with funding payment calculations |
| 19 | +- Strategy extensions including funding arbitrage and enhanced SMA crossover |
| 20 | +- Enhanced reporting and metrics with funding-specific analytics |
| 21 | +- CSV export functionality with funding rate data |
| 22 | +- Comprehensive examples and documentation |
| 23 | +- Unit, integration, and performance test suites |
| 24 | +- Structured logging and debugging support |
| 25 | +- Migration guide from rs-backtester |
| 26 | + |
| 27 | +### Changed |
| 28 | +- N/A (initial release) |
| 29 | + |
| 30 | +### Deprecated |
| 31 | +- N/A (initial release) |
| 32 | + |
| 33 | +### Removed |
| 34 | +- N/A (initial release) |
| 35 | + |
| 36 | +### Fixed |
| 37 | +- N/A (initial release) |
| 38 | + |
| 39 | +### Security |
| 40 | +- N/A (initial release) |
| 41 | + |
| 42 | +## [0.1.0] - 2024-01-XX |
| 43 | + |
| 44 | +### Added |
| 45 | +- Initial release of hyperliquid-backtest |
| 46 | +- Core backtesting functionality with Hyperliquid data integration |
| 47 | +- Funding rate support and perpetual futures mechanics |
| 48 | +- Async data fetching from Hyperliquid API |
| 49 | +- Enhanced reporting with funding-specific metrics |
| 50 | +- Built-in strategies: funding arbitrage and enhanced SMA crossover |
| 51 | +- Comprehensive error handling and type safety |
| 52 | +- Structured logging and debugging support |
| 53 | +- Migration compatibility with rs-backtester |
| 54 | +- Extensive documentation and examples |
| 55 | + |
| 56 | +### Technical Details |
| 57 | +- Minimum Rust version: 1.70 |
| 58 | +- Dependencies: tokio, chrono, serde, thiserror, csv, hyperliquid-rust-sdk, rs-backtester |
| 59 | +- API stability: Pre-1.0 development phase with semantic versioning |
| 60 | +- Test coverage: >90% with unit, integration, and performance tests |
| 61 | +- Documentation: Complete API documentation with examples |
| 62 | + |
| 63 | +### Breaking Changes |
| 64 | +- N/A (initial release) |
| 65 | + |
| 66 | +### Migration Guide |
| 67 | +- See [Migration Guide](https://docs.rs/hyperliquid-backtest/latest/hyperliquid_backtester/migration/index.html) for upgrading from rs-backtester |
| 68 | + |
| 69 | +--- |
| 70 | + |
| 71 | +## Release Process |
| 72 | + |
| 73 | +### Version Numbering |
| 74 | +- **Major** (X.0.0): Breaking API changes, significant architectural changes |
| 75 | +- **Minor** (0.X.0): New features, backward compatible additions |
| 76 | +- **Patch** (0.0.X): Bug fixes, documentation updates, performance improvements |
| 77 | + |
| 78 | +### Pre-1.0 Development |
| 79 | +During the pre-1.0 phase (current), minor versions may include breaking changes. |
| 80 | +All breaking changes will be clearly documented in this changelog with migration instructions. |
| 81 | + |
| 82 | +### Post-1.0 Stability |
| 83 | +After reaching 1.0.0, the public API will be stable within major versions: |
| 84 | +- Public items in the `prelude` module are guaranteed stable |
| 85 | +- Core data structures maintain backward compatibility |
| 86 | +- Error types may add variants but not remove them |
| 87 | +- Strategy interfaces remain stable for implementors |
| 88 | + |
| 89 | +### Release Checklist |
| 90 | +- [ ] Update version in Cargo.toml |
| 91 | +- [ ] Update CHANGELOG.md with release notes |
| 92 | +- [ ] Run full test suite: `cargo test --all-features` |
| 93 | +- [ ] Run clippy: `cargo clippy -- -D warnings` |
| 94 | +- [ ] Run rustfmt: `cargo fmt --check` |
| 95 | +- [ ] Update documentation: `cargo doc --no-deps` |
| 96 | +- [ ] Test examples: `cargo run --example basic_backtest` |
| 97 | +- [ ] Create git tag: `git tag v0.1.0` |
| 98 | +- [ ] Publish to crates.io: `cargo publish` |
| 99 | +- [ ] Update GitHub release with changelog |
0 commit comments