Skip to content

Releases: databento/databento-rs

0.27.1

25 Jun 15:53
07d87c1

Choose a tag to compare

Release notes

Enhancements

  • Added range_by_schema field to DatasetRange struct

Bug fixes

  • Changed type of last_modified_date in DatasetConditionDetail to
    Option<time::Date> to support missing dates

0.27.0

10 Jun 20:54
7c059b5

Choose a tag to compare

Release notes

Enhancements

  • Made the buffer size used by the live client when reading from the TCP socket
    configurable through the LiveBuilder::buffer_size() method
  • Added support for using rustls without pulling in OpenSSL. reqwest with 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

Breaking changes

  • Changed type of split_duration to Option<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: AsyncDecodeRecordRef and AsyncDecodeRecord
      • Encoding: AsyncEncodeRecord, AsyncEncodeRecordRef, and
        AsyncEncodeRecordTextExt

Deprecations

  • Deprecated LiveClient::connect and LiveClient::connect_with_addr methods in favor
    of using the builder so additional optional parameters can be added without a breaking
    change

Bug fixes

  • Fixed bug with deserializing null split_duration in historical
    batch().list_jobs()

0.26.2

03 Jun 21:32
c778b93

Choose a tag to compare

Release notes

Enhancements

  • Improved performance of live client by removing redundant state
  • Upgraded DBN version to 0.35.1

Bug fixes

  • Fixed handling of VersionUpgradePolicy in timeseries().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 with UpgradeToV2

0.26.1

30 May 18:58
e586307

Choose a tag to compare

Release notes

Bug fixes

  • Fixed handling of VersionUpgradePolicy in live client
  • Fixed default upgrade policies to UpgradeToV3 to match announcement for
    version 0.26.0

0.26.0

28 May 18:53
d8b0200

Choose a tag to compare

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_last field 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 From trait
    • Implemented conversion from RecordRef to IoSlice for use with
      Write::write_vectored

Breaking changes

  • Breaking changes from DBN:
    • Definition schema:
      • Updated InstrumentDefMsg with new leg_ fields to support multi-leg strategy
        definitions.
      • Expanded asset to 11 bytes and ASSET_CSTR_LEN to match
      • Expanded raw_instrument_id to 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_type fields which will be normalized in the statistics schema
      • Removed md_security_trading_status better served by the status schema
    • Statistics schema:
      • Updated StatMsg has an expanded 64-bit quantity field. Like other 64-bit
        integer fields, its value will now be quoted in JSON
      • The previous StatMsg has been moved to v2::StatMsg or StatMsgV2
    • Changed the default VersionUpgradePolicy to UpgradeToV3
    • Updated the minimum supported tokio version to 1.38, which was released one year ago

0.25.0

13 May 19:32
7ca0f86

Choose a tag to compare

Release notes

Enhancements

  • Increased live subscription symbol chunking size
  • Upgraded DBN version to 0.34.0:
    • Added a v3::StatMsg record with an expanded 64-bit quantity field
    • Added with_compression_level methods to DynWriter, AsyncDynWriter, and
      AsyncDynBufWriter
    • Added DBN_VERSION constants to each version module: v1, v2, and v3
    • Added UNDEF_STAT_QUANTITY constants to each version module
    • Added statistics compatibility trait StatRec for generalizing across different
      versions of the statistics record
    • Added AsRef<[u8]> implementations for RecordEnum and RecordRefEnum
    • Added new off-market publishers for Eurex, and European Energy Exchange (EEX)

Breaking changes

  • From DBN:
    • Made Record a subtrait of AsRef<[u8]> as all records should be convertible to
      bytes

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_last field 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 From trait
    • Implemented conversion from RecordRef to IoSlice for use with
      Write::write_vectored

Breaking changes

  • Breaking changes from DBN:
    • Definition schema:
      • Updated InstrumentDefMsg with new leg_ fields to support multi-leg strategy
        definitions.
      • Expanded asset to 11 bytes and ASSET_CSTR_LEN to match
      • Expanded raw_instrument_id to 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_type fields which will be normalized in the statistics schema
      • Removed md_security_trading_status better served by the status schema
    • Statistics schema:
      • Updated StatMsg has an expanded 64-bit quantity field. Like other 64-bit
        integer fields, its value will now be quoted in JSON
      • The previous StatMsg has been moved to v2::StatMsg or StatMsgV2
    • Changed the default VersionUpgradePolicy to UpgradeToV3
    • Updated the minimum supported tokio version to 1.38, which was released one year ago

0.24.0

22 Apr 21:19
ffc83f1

Choose a tag to compare

Release notes

Enhancements

  • Upgraded DBN version to 0.33.0:
    • Added SystemCode and ErrorCode enums to indicate types of system and error
      messages
    • Added code() methods to SystemMsg and ErrorMsg to retrieve the enum value if
      one exists and equivalent properties in Python
    • Converting a v1::SystemMsg to a v2::SystemMsg now sets to code to the
      heartbeat value
    • Added ASSET_CSTR_LEN constants for the size of asset field in InstrumentDefMsg
      in different DBN versions
    • Added encode_record_with_sym() method to AsyncJsonEncoder which encodes a
      record along with its text symbol to match the sync encoder

Breaking changes

  • Breaking changes from DBN:
    • Added code parameter to SystemCode::new() and ErrorMsg::new()
    • Updated the rtype_dispatch and schema_dispatch macro invocations to look more
      like function invocation
    • Increased the size of asset field in v3::InstrumentDefMsg from 7 to 11. The
      InstrumentDefMsgV3 message size remains 520 bytes.

0.23.0

15 Apr 15:09
c003079

Choose a tag to compare

Release notes

Enhancements

  • Added subscriptions to LiveClient Debug implementation
  • Upgraded DBN version to 0.32.0:
    • Added SystemCode and ErrorCode enums to indicate types of system and error
      messages
    • Added code() methods to SystemMsg and ErrorMsg to retrieve the enum value if
      one exists and equivalent properties in Python
    • Converting a v1::SystemMsg to a v2::SystemMsg now sets to code to the heartbeat
      value
    • Added Ord and PartialOrd implementations for all enums and FlagSet to allow
      for use in ordered containers like BTreeMap
    • Added decode_records() method to AsyncDbnDecoder and AsyncDbnRecordDecoder
      which is similar to the sync decoder methods of the same name
    • Upgraded pyo3 version to 0.24.1
    • Upgraded time version to 0.3.41

Breaking changes

  • Added new id field to live Subscription, which will be used for improved error
    messages
  • Added new id parameter to live::protocol::SubRequest::new() method
  • Breaking changes from DBN:
    • Added code parameter to SystemCode::new() and ErrorMsg::new()
    • Updated the rtype_dispatch and schema_dispatch macro invocations to look more like
      function invocation
    • Removed deprecated dataset module. The top-level Dataset enum and its const as_str()
      method provide the same functionality for all datasets
    • Removed deprecated SymbolIndex::get_for_rec_ref() method

0.22.0

02 Apr 16:04
d8f8321

Choose a tag to compare

Release notes

  • Added an implementation From<Date> for DateRange and DateTimeRange to make it
    simpler to request a single full day's worth of data
  • Added conversions between DateRange and DateTimeRange
  • Added conversions from timeseries::GetRangeParams, timeseries::GetRangeToFileParams,
    and dbn::Metadata to symbology::ResolveParams
  • Upgraded DBN version to 0.31.0:
    • Added support for mapping symbols from instrument definitions to PitSymbolMap
      with a new on_instrument_def() method
    • Added instrument definition compatibility trait InstrumentDefRec for generalizing
      across different versions of the instrument definition record
    • Added Ord and PartialOrd implementations for all enums and FlagSet to allow
      for use in ordered containers like BTreeMap
    • Added decode_records() method to AsyncDbnDecoder and AsyncDbnRecordDecoder
      which is similar to the sync decoder methods of the same name
    • Removed deprecated dataset module. The top-level Dataset enum and its const as_str()
      method provide the same functionality for all datasets
    • Removed deprecated SymbolIndex::get_for_rec_ref() method

0.21.0

18 Mar 21:38
b5f9858

Choose a tag to compare

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: