Skip to content

v0.5.7

Compare
Choose a tag to compare
@joaquinbejar joaquinbejar released this 25 Jun 07:26
· 59 commits to main since this release
1c9cc56

Release Notes: Version v0.5.7 – Market Metadata on Positions and Related Structures

Summary

This beta release extends core data structures with market metadata support. We’ve introduced two new fields—epic (market identifier) and extra_fields (generic metadata map)—across the Position, OptionData, SPANMargin, and RandomPositionsParams structs. In addition, redundant initializations have been cleaned up for a leaner codebase. All constructors, serialization logic, and tests have been updated to ensure backward compatibility.


What’s New

  • Market Identifier (epic)
    Added an epic: String field to:
    • Position struct
    • OptionData struct
    • SPANMargin default initializer
    • RandomPositionsParams constructor
  • Metadata Map (extra_fields)
    Introduced extra_fields: HashMap<String, Value> on Position and SPANMargin for extensible, user-defined metadata.

Enhancements

  • Propagated epic and extra_fields into all modules that construct or consume positions:
    • Risk scenarios
    • Chain generation
    • Strategies, benchmarks, and example scripts
  • Cleaned up code by removing redundant None initializations in:
    • legs.rs
    • others.rs

Bug Fixes

  • N/A: No functional bugs were introduced; redundant code removed to improve maintainability.

Breaking Changes

  • None. Both new fields include sensible defaults ("" for epic, empty map for extra_fields), so existing public APIs remain compatible.

Documentation Updates

  • Pending: User-facing docs and CLI help text will be updated in a follow-up PR to reflect the new metadata capabilities.

Migration Notes

  • No action required for existing code.
  • If you serialize/deserialise custom Position data, you can now include the epic and extra_fields keys; older data without these fields will continue to deserialize correctly thanks to default values.

Release Links