Skip to content

Releases: joaquinbejar/deribit-base

v0.2.6

10 Sep 10:40
f8fc6c3

Choose a tag to compare

Bumped version to `0.2.6` in `Cargo.toml` and made `OptionInstrumentP…

v0.2.5

10 Sep 07:54
893a3f4

Choose a tag to compare

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 public call and put fields.
    • Spread: Provides structured representation of spread strategies.
    • BasicGreeks: Defines foundational Greeks for risk analysis.
    • BasicOptionData: Holds fundamental option details.
  • Coverage Reporting:
    • Added coverage-json target in Makefile to generate JSON coverage reports.

Enhancements

  • Replaced custom JSON formatting macros with DebugPretty and DisplaySimple traits from the pretty_simple_display crate.
  • Standardized formatting across the codebase:
    • Consistent spacing and alignment of method chains.
    • Removed redundant clone() calls in favor of direct assignments.
  • Exported OptionInstrumentPair via prelude.rs for easier integration.

Bug Fixes

  • None in this release.

Documentation Updates

  • Added detailed documentation for:
    • Spread
    • BasicGreeks
    • BasicOptionData
  • 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 DebugPretty and DisplaySimple traits.
  • No breaking API changes apart from this macro removal.

v0.2.4

09 Sep 17:37
9d0ae5e

Choose a tag to compare

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 TickerData structure 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 TickerData model and serialization rules, ensuring consistent test coverage and correctness.

Breaking Changes

  • Some fields in TickerData that 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 null or missing values for these fields.

Documentation Updates

  • Inline documentation for TickerData has 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

09 Sep 17:28
a1f98f3

Choose a tag to compare

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 dedicated Greeks struct to represent key option metrics (Delta, Gamma, Theta, Vega, Rho).
    • Integrated into TickerData and TickerStats as optional fields.
    • Fully supported with serialization and deserialization.
    • Added comprehensive test coverage for correct data handling.

Enhancements

  • TickerStats Improvements:

    • Made the volume field non-optional, simplifying data handling and ensuring consistency across all tickers.
    • Updated corresponding tests to reflect the new behavior.
  • 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 volume handling in TickerStats.
  • Improved serialization/deserialization tests for extended TickerData and TickerStats structures.

Breaking Changes

  • TickerStats.volume is now non-optional.
    • Any previous code handling volume as Option<T> must be updated to handle it as a required field.
    • This change ensures that market data always contains a valid volume value.

Documentation Updates

  • Added inline documentation for the new Greeks struct and its integration into TickerData and TickerStats.
  • 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 TickerStats no longer expects volume to be Option. Update your data parsing and test cases accordingly.
    • No migration steps are required for optional Greeks fields; they will serialize/deserialize gracefully.

v0.2.1

09 Sep 16:38
ea01b4b

Choose a tag to compare

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

  • OptionInstrument Struct: Added to options.rs, combining instrument details with associated ticker data for more comprehensive option handling.

Enhancements

  • Updated Instrument to include an optional price_index field, improving compatibility with various data sources and pricing models.
  • Exported OptionInstrument in prelude.rs for easier access across the project.

Documentation Updates

  • Updated README.md and README.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 OptionInstrument without modifications.

Release Links

v0.2.0

19 Aug 08:29
f3f4feb

Choose a tag to compare

Updated `deribit-base` dependency version in `README.md` and `lib.rs`…

v0.1.1

22 Jul 17:44
6c4a241

Choose a tag to compare

Updated `README`, added `CHANGELOG`, and enhanced documentation acros…