Skip to content

Releases: databento/dbn

0.25.0

17 Dec 20:05
8d0ed98
Compare
Choose a tag to compare

Release notes

Breaking changes

  • Renamed VersionUpgradePolicy::Upgrade to UpgradeToV2 in preparation for a future
    DBN version 3

Enhancements

  • Added v1 and v2 modules to allow unambiguously referring to the record types for
    a given DBN version regardless of whether the record type has changed. Previously
    versioned aliases only existed for record types that have changed between DBN versions
    • Added identical namespaces to databento_dbn Python package
  • Changed dataset() method on MetadataBuilder to accept an impl ToString so now
    Dataset and &str can be passed directly
  • Added type aliases for TBBOMsg, BBO1SMsg, BBO1MMsg, TCBBOMsg, CBBO1SMsg,
    CBBO1MMsg in Python

Deprecations

  • Deprecated dataset module. The top-level Dataset enum and its const as_str()
    method provide the same functionality for all datasets. This module will be removed in
    a future version

0.24.0

10 Dec 19:43
2311d97
Compare
Choose a tag to compare

Release notes

Enhancements

  • Upgraded async-compression version to 0.4.18
  • Upgraded proc-macro2 version to 1.0.92

Breaking changes

  • Changed async DBN decoding to return Ok(None) when an incomplete record remains in
    the stream. This matches the existing behavior of sync DBN decoding

Bug fixes

  • Added handling for UNDEF_TIMESTAMP in pretty_ timestamp getters for Python. They
    now return None in the case of UNDEF_TIMESTAMP

0.23.1

12 Nov 21:22
e5f7c41
Compare
Choose a tag to compare

Release notes

Enhancements

  • Added floating-point getters for price fields
  • Added new IntelligentCross venues ASPN, ASMT, and ASPI
  • Upgraded thiserror version to 2.0
  • Upgraded pyo3 version to 0.22.6

Bug fixes

  • Fixed pretty_activation getter in databento_dbn returning expiration instead
    of activation
  • Fixed some pretty_ getters in databento_dbn didn't correctly handle UNDEF_PRICE

0.23.0

22 Oct 20:40
20379b8
Compare
Choose a tag to compare

Release notes

Enhancements

  • Added new None Action variant that will be gradually rolled out
    to historical and live GLBX.MDP3 data
  • Added consistent escaping of non-printable and non-ASCII values when text encoding
    c_char fields
  • Implemented Default for Action and Side
  • Added support for Python 3.13 to databento_dbn
  • Implemented missing Serialize for (with serde feature enabled) for Venue,
    Dataset, Publisher, Compression, SType, Schema, and Encoding

0.22.1

08 Oct 17:44
832b63f
Compare
Choose a tag to compare

Release notes

Enhancements

  • Removed support for Python 3.8 in databento-dbn due to end of life

Bug fixes

  • Fixed buffer overrun in c_chars_to_str on non-null terminated input

0.22.0

01 Oct 21:59
f90df0a
Compare
Choose a tag to compare

Release notes

Enhancements

  • Added Python type stubs for Record __init__ methods

Breaking changes

  • Combine _reserved3 and _reserved4 fields in CbboMsg
  • Changed setters for char Record fields to accept a single-character strings
  • Changed rtype and length to no longer be settable from Python. Users should
    use the Record type __init__ methods to initialize records

Bug fixes

  • Added missing Python type stub for CMBP_1 variant in Schema

0.21.0

24 Sep 18:43
d1aa0f7
Compare
Choose a tag to compare

Release notes

Enhancements

  • Added --omit-header option to dbn CLI to skip encoding the header row when
    encoding CSVs
  • Added Python setter for ts_event on all records
  • Upgraded pyo3 version to 0.22.3
  • Added new consolidated publishers for XNAS.BASIC and DBEQ.MAX

Breaking changes

  • Changed handling of write_header parameter for CsvEncoder and DynEncoder. It
    now determines whether a header is written automatically in general, not only during
    instantiation of the encoder. This makes it possible to use encode_records and
    encode_decoded without writing a header
  • CsvEncoder::new creates an encoder that will always try to write a header. Use the builder with
    write_header(false) to create an encoder that won't write a header row
  • schema is now always optional for the CsvEncoder builder and no longer returns a Result
  • Changed the layout of CbboMsg to better match BboMsg
  • Renamed Schema::Cbbo to Schema::Cmbp1

Bug fixes

  • Removed debug_assert! on rtype in RecordRef::get_unchecked that was too strict.
    The method is already marked unsafe and it's okay to interpret one record type as another type
    as long as latter type's size is not greater than the former's

0.20.1

27 Aug 16:49
1f40e11
Compare
Choose a tag to compare

Release notes

Enhancements

  • Added DynAsyncBufWriter for buffering compressed or uncompressed async output
  • Added new publisher values for XCIS.BBOTRADES and XNYS.BBOTRADES

Bug fixes

  • Added missing Python type stub for pretty_ts_ref in StatMsg

0.20.0

30 Jul 18:34
d9fad40
Compare
Choose a tag to compare

Release notes

Enhancements

  • Added new SType variants for reference data: Isin, UsCode, BbgCompId, BbgCompTicker, Figi, FigiTicker
  • Added new publisher value for DBEQ.SUMMARY

Breaking changes

  • Renamed SType::Nasdaq variant to SType::NasdaqSymbol
  • Renamed SType::Cms variant to SType::CmsSymbol

0.19.2

24 Jul 02:50
9f13282
Compare
Choose a tag to compare

Release notes

Bug fixes

  • Fixed issue where AsyncDynReader would only decode the first frame of multi-frame
    Zstandard files