v0.5.7
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 anepic: String
field to:Position
structOptionData
structSPANMargin
default initializerRandomPositionsParams
constructor
- Metadata Map (
extra_fields
)
Introducedextra_fields: HashMap<String, Value>
onPosition
andSPANMargin
for extensible, user-defined metadata.
Enhancements
- Propagated
epic
andextra_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 (
""
forepic
, empty map forextra_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
andextra_fields
keys; older data without these fields will continue to deserialize correctly thanks to default values.
Release Links