Releases: databento/databento-rs
Releases · databento/databento-rs
0.27.1
Release notes
Enhancements
- Added
range_by_schemafield toDatasetRangestruct
Bug fixes
- Changed type of
last_modified_dateinDatasetConditionDetailto
Option<time::Date>to support missing dates
0.27.0
Release notes
Enhancements
- Made the buffer size used by the live client when reading from the TCP socket
configurable through theLiveBuilder::buffer_size()method - Added support for using
rustlswithout pulling in OpenSSL.reqwestwith OpenSSL is
still the default - Upgraded DBN version to 0.36.0:
- Added support for width, fill, and padding when formatting
pretty::Ts - Added support for sign, precision, width, fill, and padding when formatting
pretty::Px - Optimized pretty formatting of prices and timestamps
- Added support for width, fill, and padding when formatting
Breaking changes
- Changed type of
split_durationtoOption<SplitDuration>to support setting no
split duration - Breaking changes from DBN:
- Moved core async decoding and encoding functionality to new traits to
match the sync interface and present a standardized interface- Decoding:
AsyncDecodeRecordRefandAsyncDecodeRecord - Encoding:
AsyncEncodeRecord,AsyncEncodeRecordRef, and
AsyncEncodeRecordTextExt
- Decoding:
- Moved core async decoding and encoding functionality to new traits to
Deprecations
- Deprecated
LiveClient::connectandLiveClient::connect_with_addrmethods in favor
of using the builder so additional optional parameters can be added without a breaking
change
Bug fixes
- Fixed bug with deserializing
nullsplit_durationin historical
batch().list_jobs()
0.26.2
Release notes
Enhancements
- Improved performance of live client by removing redundant state
- Upgraded DBN version to 0.35.1
Bug fixes
- Fixed handling of
VersionUpgradePolicyintimeseries().get_range()and
get_range_to_file() - Bug fixes from DBN:
- Fixed behavior where encoding metadata could lower the
version - Changed
DbnFsm::data()to exclude all processed data - Fixed
Metadata::upgrade()behavior withUpgradeToV2
- Fixed behavior where encoding metadata could lower the
0.26.1
Release notes
Bug fixes
- Fixed handling of
VersionUpgradePolicyin live client - Fixed default upgrade policies to
UpgradeToV3to match announcement for
version 0.26.0
0.26.0
Release notes
This version marks the release of DBN version 3 (DBNv3), which is the new default.
API methods and decoders support decoding all versions of DBN, but now default to
upgrading data to version 3.
Enhancements - Added From<DatasetRange> conversion for DateTimeRange
- Added
is_lastfield to live subscription requests which will be used to improve the
handling of split subscription requests - Upgraded DBN version to 0.35.0:
- Version 1 and 2 structs can be converted to version 3 structs with the
Fromtrait - Implemented conversion from
RecordReftoIoSlicefor use with
Write::write_vectored
- Version 1 and 2 structs can be converted to version 3 structs with the
Breaking changes
- Breaking changes from DBN:
- Definition schema:
- Updated
InstrumentDefMsgwith newleg_fields to support multi-leg strategy
definitions. - Expanded
assetto 11 bytes andASSET_CSTR_LENto match - Expanded
raw_instrument_idto 64 bits to support more venues. Like other 64-bit
integer fields, its value will now be quoted in JSON - Removed
trading_reference_date,trading_reference_price, and
settl_price_typefields which will be normalized in the statistics schema - Removed
md_security_trading_statusbetter served by the status schema
- Updated
- Statistics schema:
- Updated
StatMsghas an expanded 64-bitquantityfield. Like other 64-bit
integer fields, its value will now be quoted in JSON - The previous
StatMsghas been moved tov2::StatMsgorStatMsgV2
- Updated
- Changed the default
VersionUpgradePolicytoUpgradeToV3 - Updated the minimum supported
tokioversion to 1.38, which was released one year ago
- Definition schema:
0.25.0
Release notes
Enhancements
- Increased live subscription symbol chunking size
- Upgraded DBN version to 0.34.0:
- Added a
v3::StatMsgrecord with an expanded 64-bitquantityfield - Added
with_compression_levelmethods toDynWriter,AsyncDynWriter, and
AsyncDynBufWriter - Added
DBN_VERSIONconstants to each version module:v1,v2, andv3 - Added
UNDEF_STAT_QUANTITYconstants to each version module - Added statistics compatibility trait
StatRecfor generalizing across different
versions of the statistics record - Added
AsRef<[u8]>implementations forRecordEnumandRecordRefEnum - Added new off-market publishers for Eurex, and European Energy Exchange (EEX)
- Added a
Breaking changes
- From DBN:
- Made
Recorda subtrait ofAsRef<[u8]>as all records should be convertible to
bytes
- Made
Release notes
This version marks the release of DBN version 3 (DBNv3), which is the new default.
API methods and decoders support decoding all versions of DBN, but now default to
upgrading data to version 3.
Enhancements - Added From<DatasetRange> conversion for DateTimeRange
- Added
is_lastfield to live subscription requests which will be used to improve the
handling of split subscription requests - Upgraded DBN version to 0.35.0:
- Version 1 and 2 structs can be converted to version 3 structs with the
Fromtrait - Implemented conversion from
RecordReftoIoSlicefor use with
Write::write_vectored
- Version 1 and 2 structs can be converted to version 3 structs with the
Breaking changes
- Breaking changes from DBN:
- Definition schema:
- Updated
InstrumentDefMsgwith newleg_fields to support multi-leg strategy
definitions. - Expanded
assetto 11 bytes andASSET_CSTR_LENto match - Expanded
raw_instrument_idto 64 bits to support more venues. Like other 64-bit
integer fields, its value will now be quoted in JSON - Removed
trading_reference_date,trading_reference_price, and
settl_price_typefields which will be normalized in the statistics schema - Removed
md_security_trading_statusbetter served by the status schema
- Updated
- Statistics schema:
- Updated
StatMsghas an expanded 64-bitquantityfield. Like other 64-bit
integer fields, its value will now be quoted in JSON - The previous
StatMsghas been moved tov2::StatMsgorStatMsgV2
- Updated
- Changed the default
VersionUpgradePolicytoUpgradeToV3 - Updated the minimum supported
tokioversion to 1.38, which was released one year ago
- Definition schema:
0.24.0
Release notes
Enhancements
- Upgraded DBN version to 0.33.0:
- Added
SystemCodeandErrorCodeenums to indicate types of system and error
messages - Added
code()methods toSystemMsgandErrorMsgto retrieve the enum value if
one exists and equivalent properties in Python - Converting a
v1::SystemMsgto av2::SystemMsgnow sets tocodeto the
heartbeat value - Added
ASSET_CSTR_LENconstants for the size ofassetfield inInstrumentDefMsg
in different DBN versions - Added
encode_record_with_sym()method toAsyncJsonEncoderwhich encodes a
record along with its text symbol to match the sync encoder
- Added
Breaking changes
- Breaking changes from DBN:
- Added
codeparameter toSystemCode::new()andErrorMsg::new() - Updated the
rtype_dispatchandschema_dispatchmacro invocations to look more
like function invocation - Increased the size of
assetfield inv3::InstrumentDefMsgfrom 7 to 11. The
InstrumentDefMsgV3message size remains 520 bytes.
- Added
0.23.0
Release notes
Enhancements
- Added
subscriptionstoLiveClientDebugimplementation - Upgraded DBN version to 0.32.0:
- Added
SystemCodeandErrorCodeenums to indicate types of system and error
messages - Added
code()methods toSystemMsgandErrorMsgto retrieve the enum value if
one exists and equivalent properties in Python - Converting a
v1::SystemMsgto av2::SystemMsgnow sets tocodeto the heartbeat
value - Added
OrdandPartialOrdimplementations for all enums andFlagSetto allow
for use in ordered containers likeBTreeMap - Added
decode_records()method toAsyncDbnDecoderandAsyncDbnRecordDecoder
which is similar to the sync decoder methods of the same name - Upgraded
pyo3version to 0.24.1 - Upgraded
timeversion to 0.3.41
- Added
Breaking changes
- Added new
idfield to liveSubscription, which will be used for improved error
messages - Added new
idparameter tolive::protocol::SubRequest::new()method - Breaking changes from DBN:
- Added
codeparameter toSystemCode::new()andErrorMsg::new() - Updated the
rtype_dispatchandschema_dispatchmacro invocations to look more like
function invocation - Removed deprecated
datasetmodule. The top-levelDatasetenum and itsconstas_str()
method provide the same functionality for all datasets - Removed deprecated
SymbolIndex::get_for_rec_ref()method
- Added
0.22.0
Release notes
- Added an implementation
From<Date>forDateRangeandDateTimeRangeto make it
simpler to request a single full day's worth of data - Added conversions between
DateRangeandDateTimeRange - Added conversions from
timeseries::GetRangeParams,timeseries::GetRangeToFileParams,
anddbn::Metadatatosymbology::ResolveParams - Upgraded DBN version to 0.31.0:
- Added support for mapping symbols from instrument definitions to
PitSymbolMap
with a newon_instrument_def()method - Added instrument definition compatibility trait
InstrumentDefRecfor generalizing
across different versions of the instrument definition record - Added
OrdandPartialOrdimplementations for all enums andFlagSetto allow
for use in ordered containers likeBTreeMap - Added
decode_records()method toAsyncDbnDecoderandAsyncDbnRecordDecoder
which is similar to the sync decoder methods of the same name - Removed deprecated
datasetmodule. The top-levelDatasetenum and itsconstas_str()
method provide the same functionality for all datasets - Removed deprecated
SymbolIndex::get_for_rec_ref()method
- Added support for mapping symbols from instrument definitions to
0.21.0
Release notes
Enhancements
- Improved error when calling
LiveClient::next_record()on an instance that hasn't
been started - Improved error when calling
LiveClient::start()on an instance that has already
been started - Upgraded DBN version to 0.29.0: