You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
The key has expired.
Release notes
Enhancements
This version begins the transition to DBN version 2 (DBNv2). In this version, the
decoders support decoding both versions of DBN and the DBN encoders default to
keeping version of the input. However, in a future version, decoders will by default
convert DBNv1 to DBNv2 and support will be dropped for encoding DBNv1.
Affects SymbolMappingMsg, InstrumentDefMsg, and Metadata. All other record
types and market data schemas are unchanged
Version 1 structs can be converted to version 2 structs with the From trait
Added symbol_cstr_len field to Metadata to indicate the length of fixed symbol
strings
Added stype_in and stype_out fields to SymbolMappingMsg to provide more context
with live symbology updates
Added smart wrapping to dbn CLI help output
Updated rtype_dispatch family of macros to check record length to handle both
versions of records. This is temporary during the transition period
Added VersionUpgradePolicy enum and associated methods to the decoders to
allow specifying how to handle decoding records from prior DBN versions
Added Metadata::upgrade() method to update Metadata from a prior DBN version to
the latest version
Added -u/--upgrade flags to dbn CLI that when passed upgrades DBN data from
previous versions. By default data is decoded as-is
Made AsyncDbnDecoder::decode_record, AsyncDbnDecoder::decode_record_ref, dbn::AsyncRecordDecoder::decode, and dbn::AsyncRecordDecoder::decode_ref
cancellation safe. This makes them safe to use within a tokio::select!(https://docs.rs/tokio/latest/tokio/macro.select.html) statement
Added documention around cancellation safety for async APIs
Improved error messages for conversion errors
Added TOB flag to denote top-of-book messages
Added new publisher values in preparation for IFEU.IMPACT and NDEX.IMPACT datasets
Added new publisher values for consolidated DBEQ.BASIC and DBEQ.PLUS
Added MAX_RECORD_LEN constant for the length of the largest record type
Exposed record flag constants in databento_dbn with F_ prefix
Added export to Python for RType
Breaking changes
The old InstrumentDefMsg is now compat::InstrumentDefMsgV1
compat::InstrumentDefMsgV2 is now an alias for InstrumentDefMsg
The old SymbolMappingMsg is now compat::SymbolMappingMsgV1
compat::SymbolMappingMsgV2 is now an alias for SymbolMappingMsg
Changed SYMBOL_CSTR_LEN constant to 71. Previous value is now in compat::SYMBOL_CSTR_V1
Changed DBN_VERSION constant to 2
security_update_action was converted to a raw c_char to safely support adding
variants in the future
Renamed _dummy in InstrumentDefMsg to _reserved
Removed _reserved2, _reserved3, and _reserved5 from InstrumentDefMsg
Removed _dummy from SymbolMappingMsg
Moved position of strike_price within InstrumentDefMsg but left text serialization
order unchanged
Made Error non-exhaustive, meaning it can no longer be exhaustively matched against.
This allows adding additional error variants in the future without a breaking change
Added upgrade_policy parameter to RecordDecoder::with_version constructor to
control whether records of previous versions will be upgraded
Added upgrade_policy parameter to DynDecoder constructors to control whether
records of previous versions will be upgraded
Renamed symbol_map parameter for Python Transcoder to symbol_interval_map to
better reflect the date intervals it contains
Deprecations
Deprecated unused write_dbn_file function from Python interface. Please use Transcoder instead
Bug fixes
Fixed typo in Python type definition for InstrumentDefMsg.pretty_high_limit_price
Fixed type signature for Metadata.stype_in and Metadata.stype_out Python methods