Releases: databento/dbn
Releases · databento/dbn
0.19.1
Release notes
Bug fixes
- Update
rtype_dispatch
andschema_dispatch
macros forBboMsg
- Update
RecordEnum
andRecordRefEnum
forBboMsg
0.19.0
Release notes
Enhancements
- Added
BboMsg
record struct for futurebbo-1m
andbbo-1s
schemas - Upgraded
pyo3
version to 0.22.1 - Upgraded
json-writer
to 0.4
Breaking changes
- Added
Default
trait implementation forMbp1Msg
due to it no longer needing
to support multiplertype
values. Thedefault_for_schema
function has been removed - Changed
Bbo1sMsg
andBbo1mMsg
to be aliases forBboMsg
- Changed the default value of the
side
fields toSide::None
- Reordered parameters and added defaults to Python
Metadata
initializer to match
required arguments in Rust
0.18.3
Release notes
Bug fixes
- Fixed issue where DBN encoders would permit symbols in the metadata that left no space
for a null terminator - Updated metadata length calculation to respect
symbol_cstr_len
field rather than
inferring the length fromversion
0.18.2
Release notes
Enhancements
- Added new
shutdown
method to async encoders to more easily ensure the end
of output is written and I/O cleaned up. Previously this required a call to
.get_mut().shutdown().await
- Changed
AsyncDynWriter
andAsyncDbnEncoder::with_zstd
to use a zstd checksum like
the sync equivalents - Added new publisher values for
XNAS.BASIC
andXNAS.NLS
Bug fixes
- Fixed bug where DBN metadata would still be upgraded after passing
AsIs
to
DbnDecoder::set_upgrade_policy
andAsyncDbnDecoder::set_upgrade_policy
0.18.1
Release notes
Enhancements
- Added new
stat_type
for UncrossingPrice - Added new publisher values for
XNAS.BASIC
- Added new off-market publisher values for
IFEU.IMPACT
andNDEX.IMPACT
Bug fixes
- Fix descriptions for
FINN
andFINY
publishers.
0.18.0
Release notes
Enhancements
- Added links to example usage in documentation
- Added new predicate methods
InstrumentClass::is_option
,is_future
, andis_spread
to make it easier to work with multiple instrument class variants - Implemented
DecodeRecord
forDbnRecordDecoder
- Added
new_inferred
,with_buffer
,inferred_with_buffer
,from_file
,get_mut
,
andget_ref
methods toAsyncDynReader
for parity with the syncDynReader
- Improved documentation enumerating errors returned by functions
- Added new
DBNError
Python exception that's now the primary exception raised by
databento_dbn
- Improved async performance of decoding DBN files
- Added
StatMsg::ts_in_delta()
method that returns atime::Duration
for consistency
with other records with ats_in_delta
field
Breaking changes
- Changed type of
flags
inMboMsg
,TradeMsg
,Mbp1Msg
,Mbp10Msg
, andCbboMsg
fromu8
to a newFlagSet
type with predicate methods for the various bit flags
as well as setters. Theu8
value can still be obtained by calling theraw()
method.- Improved
Debug
formatting - Python and encodings are unaffected
- Improved
- Removed
write_dbn_file
function deprecated in version 0.14.0 from Python interface.
Please useTranscoder
instead - Switched
DecodeStream
fromstreaming_iterator
crate tofallible_streaming_iterator
to allow better notification of errors - Switched
EncodeDbn::encode_stream
from accepting animpl StreamingIterator
to
accepting anFallibleStreamingIterator
to allow bubbling up of decoding errors - Changed default value for
stype_in
andstype_out
inSymbolMappingMsg
to
u8::MAX
to match C++ client and to reflect an unknown value. This also changes the
value of these fields when upgrading aSymbolMappingMsgV1
to DBNv2 - Renamed
CbboMsg
toCBBOMsg
in Python for consistency with other schemas
Breaking changes
- Changed text serialization of
display_factor
to be affected bypretty_px
.
While it's not a price, it uses the same fixed-price decimal format as other prices - Changed text serialization of
unit_of_measure_qty
inInstrumentDefMsgV1
to be
affected bypretty_px
to match behavior ofInstrumentDefMsgV2
Release notes
Enhancements
- Added links to example usage in documentation
- Added new predicate methods
InstrumentClass::is_option
,is_future
, andis_spread
to make it easier to work with multiple instrument class variants - Implemented
DecodeRecord
forDbnRecordDecoder
- Added
new_inferred
,with_buffer
,inferred_with_buffer
,from_file
,get_mut
,
andget_ref
methods toAsyncDynReader
for parity with the syncDynReader
- Improved documentation enumerating errors returned by functions
- Added new
DBNError
Python exception that's now the primary exception raised by
databento_dbn
- Improved async performance of decoding DBN files
- Added
StatMsg::ts_in_delta()
method that returns atime::Duration
for consistency
with other records with ats_in_delta
field
Breaking changes
- Changed type of
flags
inMboMsg
,TradeMsg
,Mbp1Msg
,Mbp10Msg
, andCbboMsg
fromu8
to a newFlagSet
type with predicate methods for the various bit flags
as well as setters. Theu8
value can still be obtained by calling theraw()
method.- Improved
Debug
formatting - Python and encodings are unaffected
- Improved
- Removed
write_dbn_file
function deprecated in version 0.14.0 from Python interface.
Please useTranscoder
instead - Switched
DecodeStream
fromstreaming_iterator
crate tofallible_streaming_iterator
to allow better notification of errors - Switched
EncodeDbn::encode_stream
from accepting animpl StreamingIterator
to
accepting anFallibleStreamingIterator
to allow bubbling up of decoding errors - Changed default value for
stype_in
andstype_out
inSymbolMappingMsg
to
u8::MAX
to match C++ client and to reflect an unknown value. This also changes the
value of these fields when upgrading aSymbolMappingMsgV1
to DBNv2 - Renamed
CbboMsg
toCBBOMsg
in Python for consistency with other schemas
Breaking changes
- Changed text serialization of
display_factor
to be affected bypretty_px
.
While it's not a price, it uses the same fixed-price decimal format as other prices - Changed text serialization of
unit_of_measure_qty
inInstrumentDefMsgV1
to be
affected bypretty_px
to match behavior ofInstrumentDefMsgV2
0.17.1
Release notes
Bug fixes
- Added missing Python type stub for
StatusMsg
0.17.0
Release notes
Enhancements
- Added new record type
CbboMsg
, new rtypes and schema types forCbbo
,Cbbo1s
,
Cbbo1m
,Tcbbo
,Bbo1s
, andBbo1m
- Added
Volatility
andDelta
StatType
variants - Added
Undefined
andTimeProRata
MatchAlgorithm
variants - Exported more enums to Python:
Action
InstrumentClass
MatchAlgorithm
SecurityUpdateAction
Side
StatType
StatUpdateAction
StatusAction
StatusReason
TradingEvent
TriState
UserDefinedInstrument
Breaking changes
- Removed
Default
trait implementation forMbp1Msg
due to it now having multiple
permissiblertype
values. Users should usedefault_for_schema
instead - Changed the default
match_algorithm
forInstrumentDefMsg
andInstrumentDefMsgV1
fromFifo
toUndefined
- Made
Dataset
,Venue
, andPublisher
non-exhaustive to allow future additions
without breaking changes - Renamed publishers from deprecated datasets to their respective sources (
XNAS.NLS
andXNYS.TRADES
respectively)
Deprecations
- Deprecated dataset values
FINN.NLS
andFINY.TRADES
Bug fixes
- Fixed an issue where the Python
MappingIntervalDict
was not exported - Fixed Python type stubs for
VersionUpgradePolicy
andSType
0.16.0
Release notes
Enhancements
- Updated
StatusMsg
and made it public in preparation for releasing a status schema - Added
StatusAction
,StatusReason
,TradingEvent
, andTriState
enums for use in
the status schema - Added
-t
and--tsv
flags to DBN CLI to encode tab-separated values (TSV) - Added
delimiter
method to builders forDynEncoder
andCsvEncoder
to customize the
field delimiter character, allowing DBN to be encoded as tab-separated values (TSV) - Document cancellation safety for
AsyncRecordDecoder::decode_ref
(credit: @yongqli) - Added new publisher values for consolidated DBEQ.MAX
- Added C FFI conversion functions from
ErrorMsgV1
toErrorMsg
andSystemMsgV1
toSystemMsg
- Improved documentation for
side
field andSide
enum - Upgraded
async-compression
to 0.4.6 - Upgraded
strum
to 0.26
Breaking changes
- Changed default for
VersionUpgradePolicy
toUpgrade
- Changed default
upgrade_policy
forDbnDecoder
,AsyncDbnDecoder
, and Python
DBNDecoder
toUpgrade
so by default the primary record types can always be used - Changed fields of previously-hidden
StatusMsg
record type - Updated text serialization order of status schema to match other schemas
- Changed text serialization
unit_of_measure_qty
to be affected bypretty_px
. While
it's not a price, it uses the same fixed-price decimal format as other prices - Made
StatType
andVersionUpgradePolicy
non-exhaustive to allow future additions
without breaking changes - Renamed
_dummy
field inImbalanceMsg
andStatMsg
to_reserved
- Added
ts_out
parameter toRecordDecoder
andAsyncRecordDecoder
with_upgrade_policy
methods
Bug fixes
- Fixed handling of
ts_out
when upgrading DBNv1 records to version 2 - Added missing
StatType::Vwap
variant used in the ICE datasets - Fixed an issue with Python stub file distribution
- Fixed missing handling of
ErrorMsgV1
andSystemMsgV1
inrtype
dispatch macros
0.15.1
Release notes
Bug fixes
- Fixed an import error in the Python type stub file