Skip to content

Releases: databento/databento-cpp

0.39.1

22 Jul 19:02
72f1bb6
Compare
Choose a tag to compare

Release notes

Bug fixes

  • Fixed potential corrupted data in DbnFileStore::Replay

0.39.0

15 Jul 15:52
cb63347
Compare
Choose a tag to compare

Release notes

Breaking changes

  • Renamed the following Venue, Dataset, and Publishers:
    • XEER to XEEE
    • XEER.EOBI to XEEE.EOBI
    • XEER.EOBI.XEER to XEEE.EOBI.XEEE
    • XEER.EOBI.XOFF to XEEE.EOBI.XOFF

Bug fixes

  • Fixed potential corrupted records when upgrading DBN versions in live clients
  • Removed unused Intraday variant from DatasetCondition enum

0.38.2

01 Jul 22:29
b7061b1
Compare
Choose a tag to compare

Release notes

Enhancements

  • Added LogPlatformInfo() function which logs the client version, compiler, and
    operating system info to aid troubleshooting
  • Added compiler and operating system info to the user agent to aid troubleshooting
  • Standardized client info sent by live clients to match historical
  • Added methods to the client builders to extend the user agents with a custom string

Bug fixes

  • Fixed missing implementation for LiveBuilder::SetBufferSize()
  • Fixed checking of warnings from server in Historical API in TimeseriesGetRange() and
    TimeseriesGetRangeToFile()

0.38.1

25 Jun 15:58
356d1ed
Compare
Choose a tag to compare

Release notes

Enhancements

  • Added range_by_schema field to DatasetRange struct
  • Changed historical TimeseriesGetRange and TimeseriesGetRangeToFile methods to use
    a POST request to allow for requesting supported maximum of 2000 symbols
  • Added logging around Historical::BatchDownload
  • Changed the following Venue, Publisher, and Dataset descriptions:
    • "ICE Futures Europe (Financials)" renamed to "ICE Europe Financials"
    • "ICE Futures Europe (Commodities)" renamed to "ICE Europe Commodities"

Bug fixes

  • Fixed handling of null last_modified_date in MetadataGetDatasetCondition
    response
  • Fixed default ShouldLog implementation

0.38.0

10 Jun 21:06
44748d7
Compare
Choose a tag to compare

Release notes

Enhancements

  • Made the buffer size used by the live clients when reading from the TCP socket
    configurable through the LiveBuilder::SetBufferSize() method
  • Added log level prefix to ConsoleLogReceiver output
  • Added iomanip compatibility: fill, precision, and width to pretty::Px (formerly
    FixPx)
  • Added new pretty::Ts helper type for human-readable formatting of UnixNanos

Breaking changes

  • Live client instances can only be created through the LiveBuilder class
  • Changed HeartbeatInterval() getters on LiveBlocking and LiveThreaded to return
    an std::optional
  • Added new optional ShouldLog virtual method to ILogReceiver to
    filter the levels of log messages that will be sent to the receiver

Deprecations

  • Deprecated FixPx in favor of pretty::Px which has consistent naming with the API
    and the Python and Rust client libraries

Bug fixes

  • Ensure CPPHTTPLIB_OPENSSL_SUPPORT is defined at all locations where cpp-httplib
    is included

0.37.1

03 Jun 21:50
5ef8fea
Compare
Choose a tag to compare

Release notes

Bug fixes

  • Fixed issue where not all data was processed in Historical::TimeseriesGetRange()
  • Fixed issue with pointer arithmetic in Buffer::Write()
  • Fixed issue where more data than necessary was copied in Buffer::Shift()

0.37.0

03 Jun 15:42
10f05e0
Compare
Choose a tag to compare

Release notes

Breaking changes

  • Changed the type of the output_dir parameter in HistoricalClient::BatchDownload()
    to a std::filesystem::path and the return type to std::filesystem::path
  • Changed the type of the file_path parameter in
    HistoricalClient::TimeseriesGetRangeToFile() to a std::filesystem::path
  • Changed the type of the file_path parameter in the DbnFileStore, InFileStream,
    and OutFileStream constructors to a std::filesystem::path
  • Made stype_in and schema optionals in Metadata to align with how
    Metadata is represented in other languages and removed the boolean
    has_mixed_stype_in and has_mixed_schema fields

Bug fixes

  • Fixed behavior where encoding metadata could lower the version

0.36.0

28 May 15:48
84a307e
Compare
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 DbnDecoder support decoding all versions of DBN, but now default to
upgrading data to version 3.

Enhancements

  • Added UpgradeToV3 variant to VersionUpgradePolicy enum
  • Version 1 and 2 structs can be converted to version 3 structs with templated Upgrade
    method
  • Metadata will now always be encoded with a length divisible by 8 bytes for better
    alignment
  • Added is_last field to live subscription requests which will be used to improve the
    handling of split subscription requests

Breaking changes

  • Release of DBN version 3:
    • Definition schema:
      • Updated InstrumentDefMsg with new leg_ fields to support multi-leg strategy
        definitions.
      • 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
      • Updated asset to 11 bytes and kAssetCstrLen to match
    • Statistics schema:
      • Updated StatMsg has an expanded 64-bit quantity field. kUndefStatQuantity
        has been updated to match
      • The previous StatMsg has been moved to v2::StatMsg or StatMsgV2

Bug fixes

  • Fixed "Zstd error decompressing: Operation made no progress over multiple calls, due
    to output buffer being full" error with TimeseriesGetRange
  • Fixed missing implementation of HistoricalBuilder::SetLogReceiver

0.35.1

20 May 21:48
1cf6409
Compare
Choose a tag to compare

Release notes

Bug fixes

  • Added missing operator<< and ToString implementations for Cmbp1Msg

0.35.0

13 May 19:05
98aef5d
Compare
Choose a tag to compare

Release notes

Enhancements

  • Added a v3::StatMsg record with an expanded 64-bit quantity field
  • Added kDbnVersion constants to each version namespace: v1, v2, and v3
  • Added kUndefStatQuantity constants to each version namespace
  • Added new off-market publishers for Eurex, and European Energy Exchange (EEX)
  • Increased live subscription symbol chunking size