Skip to content

Releases: databento/databento-rs

0.11.0

04 Jun 16:42
c8e3a0c
Compare
Choose a tag to compare

Release notes

Enhancements

  • Added configurable heartbeat_interval parameter for live client that determines the
    timeout before heartbeat SystemMsg records will be sent. It can be configured via
    the heartbeat_interval and heartbeat_interval_s methods of the
    live::ClientBuilder
  • Added addr function to live::ClientBuilder for configuring a custom gateway
    address without using LiveClient::connect_with_addr directly
  • Upgraded DBN version to 0.18.1

Breaking changes

  • Added heartbeat_interval parameter to LiveClient::connect and
    LiveClient::connect_with_addr
  • Removed deprecated start_date and end_date fields from DatasetRange struct

0.10.0

21 May 23:45
98208bb
Compare
Choose a tag to compare

Release notes

Enhancements

  • Added use_snapshot attribute to Subscription, defaults to false
  • Upgraded reqwest version to 0.12

Breaking changes

  • Upgraded DBN version to 0.18.0
    • Changed type of flags in MboMsg, TradeMsg, Mbp1Msg, Mbp10Msg, and CbboMsg
      from u8 to a new FlagSet type with predicate methods for the various bit flags
      as well as setters. The u8 value can still be obtained by calling the raw() method.
      • Improved Debug formatting
    • Switched DecodeStream from streaming_iterator crate to fallible_streaming_iterator
      to allow better notification of errors
    • Changed default value for stype_in and stype_out in SymbolMappingMsg to
      u8::MAX to match C++ client and to reflect an unknown value. This also changes the
      value of these fields when upgrading a SymbolMappingMsgV1 to DBNv2

0.9.1

15 May 23:00
e848e77
Compare
Choose a tag to compare

Release notes

Bug fixes

  • Fixed build when only live feature is enabled

0.9.0

15 May 00:42
6e55fba
Compare
Choose a tag to compare

Release notes

Enhancements

  • Added start and end fields to the DatasetRange struct which provide time resolution and an exclusive end date
  • Upgraded DBN version to 0.17.1

Deprecations

  • The start_date and end_date fields of the DatasetRange struct are deprecated and will be removed in a future release

0.8.0

01 Apr 23:24
16511b8
Compare
Choose a tag to compare

Release notes

Enhancements

  • Upgraded DBN version to 0.17.0
    • Added new record types and schema variants for consolidated BBO and subsampled BBO
    • Added Volatility and Delta StatType variants

0.7.1

05 Mar 17:46
b256dc6
Compare
Choose a tag to compare

Release notes

Enhancements

  • Improve error handling when a historical HTTP error response is not in the
    expected JSON format

0.7.0

01 Mar 21:36
48ce485
Compare
Choose a tag to compare

Release notes

Enhancements

  • Document cancellation safety of LiveClient methods (credit: @yongqli)
  • Document live::Subscription::start is based on ts_event
  • Allow constructing a DateRange and DateTimeRange with an end based on a
    time::Duration
  • Implemented Debug for LiveClient, LiveClientBuilder, HistoricalClient,
    HistoricalClientBuilder, BatchClient, MetadataClient, SymbologyClient, and
    TimeseriesClient
  • Derived Clone for LiveClientBuilder and HistoricalClientBuilder
  • Added ApiKey type for safely deriving Debug for types containing an API key

Breaking changes

  • Changed default upgrade_policy in LiveBuilder and GetRangeParams to Upgrade so
    by default the primary record types can always be used
  • Simplified DateRange and DateTimeRange by removing FwdFill variant that didn't
    work correctly
  • Upgraded DBN version to 0.16.0
    • Updated StatusMsg in preparation for status schema release
    • Fixed handling of ts_out when upgrading DBNv1 records to version 2
    • Fixed handling of ErrorMsgV1 and SystemMsgV1 in rtype dispatch macros

0.6.0

16 Jan 21:37
5d410ed
Compare
Choose a tag to compare

Release notes

Enhancements

  • Relaxed version requirements for tokio, tokio-util, and thiserror

Breaking changes

  • Updated DBN version to 0.15.0
    • Added support for larger SystemMsg and ErrorMsg records
    • Improved Debug implementations for records and RecordRef
    • Improved panic messages for RecordRef::get
  • Upgraded typed-builder to 0.18

Bug fixes

  • Fixed documentation for end in DateRange::Closed and DateTimeRange::Closed

0.5.0

23 Nov 09:59
875e12a
Compare
Choose a tag to compare

Release notes

This release adds support for DBN v2.

DBN v2 delivers improvements to the Metadata header symbology, new stype_in and stype_out
fields for SymbolMappingMsg, and extends the symbol field length for SymbolMappingMsg and
InstrumentDefMsg. The entire change notes are available here.
Users who wish to convert DBN v1 files to v2 can use the dbn-cli tool available in the databento-dbn crate.
On a future date, the Databento live and historical APIs will stop serving DBN v1.

This release is fully compatible with both DBN v1 and v2, and so should be seamless for most users.

Enhancements

  • Made LiveClient::next_record, dbn::decode::AsyncDbnDecoder::decode_record and
    decode_record_ref, and dbn::decode::AsyncRecordDecoder::decode and decode_ref
    cancel safe. This makes them safe to use within a
    tokio::select! statement
  • Improved error reporting for HistoricalClient when receiving an error from
    Databento's API
  • Improved error messages around API keys
  • Improved performance of CSV and JSON encoding
  • Added support for emitting warnings from historical API response headers, such as for
    future deprecations
  • Added symbol_map method to the Resolution struct returned by symbology::resolve
    that returns a TsSymbolMap
  • Added PartialEq and Eq implementations for parameter builder classes
  • Added upgrade_policy setter to the LiveClient builder and a getter to the
    LiveClient
  • Added upgrade_policy optional setter to the timeseries::GetRangeParams builder

Breaking changes

  • Upgraded dbn to 0.14.2. There are several breaking changes in this release as we
    begin migrating to DBN encoding version 2 (DBNv2) in order to support the ICE
    exchange:
    • Renamed dbn::InstrumentDefMsg to dbn::compat::InstrumentDefMsgV1 and added a
      new dbn::InstrumentDefMsg with a longer raw_symbol field
    • Renamed dbn::SymbolMappingMsg to dbn::compat::SymbolMappingMsgV1 and added a
      new dbn::SymbolMappingMsg with longer symbol fields and new stype_in and
      stype_out fields
    • Added symbol_cstr_len field to dbn::Metadata
  • Made Error non-exhaustive, meaning it no longer be exhaustively matched against, and
    new variants can be added in the future without a breaking change
  • Added an upgrade_policy parameter to LiveClient::connect and connect_with_addr.
    The builder provides a more stable API since new parameters are usually introduced as
    optional

Deprecations

  • Deprecated live::SymbolMap in favor of databento::dbn::PitSymbolMap

0.4.2

23 Oct 16:39
01a7e2f
Compare
Choose a tag to compare

Release notes

Enhancemets

  • Upgraded dbn to 0.13.0 for improvements to symbology helpers
  • Upgraded tokio to 1.33
  • Upgraded typed-builder to 0.17
Deprecations
  • Deprecated live::SymbolMap in favor of databento::dbn::PitSymbolMap

Bug fixes

  • Fixed panic in LiveClient when gateway returned an auth response without the
    success key

Release notes

This release adds support for DBN v2.

DBN v2 delivers improvements to the Metadata header symbology, new stype_in and stype_out
fields for SymbolMappingMsg, and extends the symbol field length for SymbolMappingMsg and
InstrumentDefMsg. The entire change notes are available here.
Users who wish to convert DBN v1 files to v2 can use the dbn-cli tool available in the databento-dbn crate.
On a future date, the Databento live and historical APIs will stop serving DBN v1.

This release is fully compatible with both DBN v1 and v2, and so should be seamless for most users.

Enhancements

  • Made LiveClient::next_record, dbn::decode::AsyncDbnDecoder::decode_record and
    decode_record_ref, and dbn::decode::AsyncRecordDecoder::decode and decode_ref
    cancel safe. This makes them safe to use within a
    tokio::select! statement
  • Improved error reporting for HistoricalClient when receiving an error from
    Databento's API
  • Improved error messages around API keys
  • Improved performance of CSV and JSON encoding
  • Added support for emitting warnings from historical API response headers, such as for
    future deprecations
  • Added symbol_map method to the Resolution struct returned by symbology::resolve
    that returns a TsSymbolMap
  • Added PartialEq and Eq implementations for parameter builder classes
  • Added upgrade_policy setter to the LiveClient builder and a getter to the
    LiveClient
  • Added upgrade_policy optional setter to the timeseries::GetRangeParams builder

Breaking changes

  • Upgraded dbn to 0.14.2. There are several breaking changes in this release as we
    begin migrating to DBN encoding version 2 (DBNv2) in order to support the ICE
    exchange:
    • Renamed dbn::InstrumentDefMsg to dbn::compat::InstrumentDefMsgV1 and added a
      new dbn::InstrumentDefMsg with a longer raw_symbol field
    • Renamed dbn::SymbolMappingMsg to dbn::compat::SymbolMappingMsgV1 and added a
      new dbn::SymbolMappingMsg with longer symbol fields and new stype_in and
      stype_out fields
    • Added symbol_cstr_len field to dbn::Metadata
  • Made Error non-exhaustive, meaning it no longer be exhaustively matched against, and
    new variants can be added in the future without a breaking change
  • Added an upgrade_policy parameter to LiveClient::connect and connect_with_addr.
    The builder provides a more stable API since new parameters are usually introduced as
    optional

Deprecations

  • Deprecated live::SymbolMap in favor of databento::dbn::PitSymbolMap