Releases: joaquinbejar/deribit-base
v0.2.6
v0.2.5
Release Notes: Version 0.2.5 - Enhanced Options Representation and Coverage Tools
Summary
This release expands the options modeling capabilities by introducing new core structs (OptionInstrumentPair, Spread, BasicGreeks, BasicOptionData) with serialization support and comprehensive testing. It also streamlines code formatting, improves JSON display handling with pretty_simple_display, and introduces enhanced coverage reporting.
What's New
- New Structs for Options Representation:
OptionInstrumentPair: Encapsulates paired option instruments with publiccallandputfields.Spread: Provides structured representation of spread strategies.BasicGreeks: Defines foundational Greeks for risk analysis.BasicOptionData: Holds fundamental option details.
- Coverage Reporting:
- Added
coverage-jsontarget inMakefileto generate JSON coverage reports.
- Added
Enhancements
- Replaced custom JSON formatting macros with
DebugPrettyandDisplaySimpletraits from thepretty_simple_displaycrate. - Standardized formatting across the codebase:
- Consistent spacing and alignment of method chains.
- Removed redundant
clone()calls in favor of direct assignments.
- Exported
OptionInstrumentPairviaprelude.rsfor easier integration.
Bug Fixes
- None in this release.
Documentation Updates
- Added detailed documentation for:
SpreadBasicGreeksBasicOptionData
- Expanded doc comments and usage context for
OptionInstrumentPair.
Migration Notes
- The replacement of custom JSON formatting macros requires updating any code that depended on the old macros to use the new
DebugPrettyandDisplaySimpletraits. - No breaking API changes apart from this macro removal.
v0.2.4
Release Notes: Version 0.2.4 - Data Consistency and Modernization
Summary
This release focuses on improving data consistency and modernizing the project configuration. Key updates include stricter handling of TickerData fields, enhanced serialization, and an upgrade to the Rust 2024 edition for better future compatibility.
What's New
- Updated project edition to Rust 2024, ensuring access to the latest language features and improvements.
Enhancements
- Improved
TickerDatastructure by making several fields non-optional, ensuring stronger guarantees about the availability of data. - Updated serialization behavior to reflect these changes, resulting in more predictable and reliable data output.
Bug Fixes
- Adjusted test assertions to align with the updated
TickerDatamodel and serialization rules, ensuring consistent test coverage and correctness.
Breaking Changes
- Some fields in
TickerDatathat were previously optional are now required.- Users may need to update their code and data pipelines to always provide these fields.
- Serialization/deserialization logic will no longer accept
nullor missing values for these fields.
Documentation Updates
- Inline documentation for
TickerDatahas been updated to reflect the new field requirements. - Examples and test references were revised to ensure consistency with the new data model.
Migration Notes
- Code updates required: If your code relied on optional fields in
TickerData, you must now provide values for them. - Serialization: Ensure that all serialized input data includes the required fields to prevent runtime errors.
- Upgrade to Rust 2024 edition may require aligning dependencies with edition-compatible versions, though no direct breaking changes were introduced in this release.
v0.2.3
Release Notes: Version 0.2.3 - Enhanced Market Data and Option Analytics
Summary
This release expands analytical capabilities with the introduction of an option Greeks struct, updates existing data models for improved clarity, and ensures more reliable test coverage. Additionally, the Rust edition has been updated to 2024, ensuring compatibility with the latest language improvements.
What's New
- Greeks Struct:
Introduced a dedicatedGreeksstruct to represent key option metrics (Delta, Gamma, Theta, Vega, Rho).- Integrated into
TickerDataandTickerStatsas optional fields. - Fully supported with serialization and deserialization.
- Added comprehensive test coverage for correct data handling.
- Integrated into
Enhancements
-
TickerStats Improvements:
- Made the
volumefield non-optional, simplifying data handling and ensuring consistency across all tickers. - Updated corresponding tests to reflect the new behavior.
- Made the
-
Rust Edition Update:
- Project updated to Rust 2024 edition for better performance, safety features, and future-proofing.
Bug Fixes
- Fixed inconsistencies in test assertions caused by optional
volumehandling inTickerStats. - Improved serialization/deserialization tests for extended
TickerDataandTickerStatsstructures.
Breaking Changes
TickerStats.volumeis now non-optional.- Any previous code handling
volumeasOption<T>must be updated to handle it as a required field. - This change ensures that market data always contains a valid volume value.
- Any previous code handling
Documentation Updates
- Added inline documentation for the new
Greeksstruct and its integration intoTickerDataandTickerStats. - Updated serialization examples in the docs to reflect new optional fields.
Migration Notes
- For users upgrading to v0.2.3:
- Ensure that any code consuming
TickerStatsno longer expectsvolumeto beOption. Update your data parsing and test cases accordingly. - No migration steps are required for optional
Greeksfields; they will serialize/deserialize gracefully.
- Ensure that any code consuming
v0.2.1
Release Notes: Version 0.2.1 - Expanded Instrument Support & Documentation Updates
Summary
This release introduces the new OptionInstrument struct for richer instrument representation and improves overall usability by updating documentation, contact information, and exports. It also includes refinements to the Instrument model, enhancing flexibility for different pricing scenarios.
What's New
OptionInstrumentStruct: Added tooptions.rs, combining instrument details with associated ticker data for more comprehensive option handling.
Enhancements
- Updated
Instrumentto include an optionalprice_indexfield, improving compatibility with various data sources and pricing models. - Exported
OptionInstrumentinprelude.rsfor easier access across the project.
Documentation Updates
- Updated
README.mdandREADME.tpl:- Added repository and documentation links for easier navigation.
- Updated contact information to ensure up-to-date support and communication.
Migration Notes
- No breaking changes in this release.
- Existing codebases remain compatible. Users can directly leverage the new
OptionInstrumentwithout modifications.
Release Links
v0.2.0
Updated `deribit-base` dependency version in `README.md` and `lib.rs`…
v0.1.1
Updated `README`, added `CHANGELOG`, and enhanced documentation acros…