Releases: databento/databento-cpp
Releases · databento/databento-cpp
0.19.0
Release notes
Enhancements
- Added configurable
heartbeat_interval
parameter for live clients that determines the
timeout before heartbeatSystemMsg
records will be sent. It can be configured via
theSetHeartbeatInterval
method of theLiveBuilder
- Added
SetAddress
method toLiveBuilder
for configuring a custom gateway address
without using the constructor directly - Added new
UncrossingPrice
StatType
variant - Added new publisher values for
XNAS.BASIC
- Added
SetDataset(Dataset)
overload toLiveBuilder
- Added new off-market publisher values for
IFEU.IMPACT
andNDEX.IMPACT
Breaking changes
- Added
heartbeat_interval
parameter to theLive
constructors - Removed
start_date
andend_date
fields fromDatasetRange
struct
in favor ofstart
andend
- Removed live
Subscribe
method overloads withuse_snapshot
parameter in favor of separateSubscribeWithSnapshot
method
Bug fixes
- Fixed overloading of live
Subscribe
methods - Fixed live subscribing with default-constructed
UnixNanos
- Fixed descriptions for
FINN
andFINY
publishers.
0.18.1
Release notes
Enhancements
- Added live
Subscribe
function overload withuse_snapshot
parameter - Added
GetIf
method toRecord
that allowsif
chaining for handling multiple
record types - Added record type checking to
Record::Get
method to catch programming errors
and prevent reading invalid data
Bug fixes
- Added missing symbol chunking for live
Subscribe
overloads withconst std::string&
start
parameter
0.18.0
Release notes
Breaking changes
- Changed
FlagSet
to be more class-like:- Added predicate methods and setters for each bit flag
- Improved string formatting
- Removed bitwise operators. Bitwise operations can be performed by first casting to a
std::uint8_t
or calling theRaw()
method
- Changed format of
display_factor
andprice_ratio
to a fixed-precision decimal for
InstrumentDefMsg
andInstrumentDefMsgV1
to match existing values and DBN crate - Changed format of
unit_of_measure_qty
to a fixed-precision decimal for
InstrumentDefMsgV1
to matchInstrumentDefMsg
0.17.1
0.17.0
Release notes
Enhancements
- Added
StatusMsg
record, andStatusAction
,StatusReason
,TradingEvent
, and
TriState
enums - Added
CbboMsg
record and correspondingConsolidatedBidAskPair
structure - Added new enum values for
Schema
andRType
corresponding to new schemas
cbbo
,cbbo-1s
,cbbo-1m
,tcbbo
,bbo-1s
,bbo-1m
- Added
Volatility
andDelta
StatType
variants - Added
Undefined
andTimeProRata
MatchAlgorithm
variants - Changed format of
unit_of_measure_qty
to a fixed-precision decimal - Added logic to skip
find_package
call ifnlohmann_json
andhttplib
targets
already exist (credit: @akovachev) - Added specific instructions for installing dependencies on Ubuntu and macOS (credit: @camrongodbout)
Breaking changes
- Renamed publishers from deprecated datasets to their respective sources (
XNAS.NLS
andXNYS.TRADES
respectively)
Deprecations
- Deprecated dataset values
FINN.NLS
andFINY.TRADES
Bug fixes
- Fixed out-of-order initialization in
DbnDecoder
(credit: @Hailios) - Renamed
MatchAlgorithm::EurodollarOptions
toMatchAlgorithm::EurodollarFutures
0.16.0
Release notes
Enhancements
- Added new publisher values for consolidated DBEQ.MAX
- Added constructor to
WithTsOut
that updateslength
to the correct value to account
for the extra 8 bytes - Upgrade default cpp-httplib version to 0.14.3 (last to still support OpenSSL 1.1)
- Upgrade default nlohmann_json version to 3.11.3
Breaking changes
- Changed default
upgrade_policy
toUpgrade
so by default the primary record types
can always be used - Renamed
dummy
field inImbalanceMsg
andStatMsg
toreserved
Bug fixes
- Fixed handling of
ts_out
when decoding DBNv1 and upgrading to version 2 - Fixed missing logic to upgrade
ErrorMsgV1
andSystemMsgV1
when decoding DBN with
VersionUpgradePolicy::Upgrade
- Added missing
StatType::Vwap
variant used in the ICE datasets - Added missing
ToString
andoperator<<
handling forStatType::ClosePrice
and
StatType::NetChange
- Fixed potential for invalid reads when decoding C strings in
DbnDecoder
0.15.0
Release notes
Breaking changes
- Increased size of
SystemMsg
andErrorMsg
to provide better messages from Live
gateway- Increased length of
err
andmsg
fields for more detailed messages - Added
is_last
field toErrorMsg
to indicate the last error in a chain - Added
code
field toSystemMsg
andErrorMsg
, although currently unused - Added new
is_last
parameter toErrorMsg::new
- Decoding these is backwards-compatible and records with longer messages won't be
sent during the DBN version 2 migration period - Renamed previous records to
ErrorMsgV1
andSystemMsgV1
- Increased length of
0.14.1
Release notes
Enhancements
- Added
PitSymbolMap
helper for keeping track of symbology mappings in Live - Added new publisher value for OPRA MIAX Sapphire
Bug fixes
- Fixed misaligned read undefined behavior when decoding records
0.14.0
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
- Added support for DBN encoding version 2 (DBNv2), affecting
SymbolMappingMsg
,
InstrumentDefMsg
, andMetadata
- Version 1 structs can be converted to version 2 structs with the
ToV2()
method
- Version 1 structs can be converted to version 2 structs with the
- Added
symbol_cstr_len
field toMetadata
to indicate the length of fixed symbol
strings - Added
stype_in
andstype_out
fields toSymbolMappingMsg
to provide more context
with live symbology updates - Added
IndexTs
methods to every record type which returns the primary timestamp - Added
VersionUpgradePolicy
enum to allow specifying how to handle decoding records
from prior DBN versions - Added
InstrumentDefMsgV2
andSymbolMappingMsgV2
type aliases - Added
kDbnVersion
constant for current DBN version - Added
kSymbolCstrLen
,kSymbolCstrLenV1
, andkSymbolCstrLenV2
constants for the
length of fixed-length symbol strings in different DBN versions - Added new publisher values in preparation for IFEU.IMPACT and NDEX.IMPACT datasets
- Added new publisher values for consolidated DBEQ.BASIC and DBEQ.PLUS
- Added
kMaxRecordLen
constant for the the length of the largest record type - Added ability to convert
FlagSet
to underlying representation
Breaking changes
- The old
InstrumentDefMsg
is nowInstrumentDefMsgV1
incompat.hpp
- The old
SymbolMappingMsg
is nowSymbolMappingMsgV1
incompat.hpp
- Converted the following enums to enum classes to allow safely adding new variants:
SecurityUpdateAction
andSType
- Renamed
dummy
toreserved
inInstrumentDefMsg
- Removed
reserved2
,reserved3
,reserved4
, andreserved5
fromInstrumentDefMsg
- Moved position of
strike_price
withinInstrumentDefMsg
- Removed deprecated
SecurityUpdateAction::Invalid
variant
0.13.1
Release notes
Enhancements
- Added new publisher values in preparation for DBEQ.PLUS
- Added
ToIso8601
forUnixNanos
for converting to human-readable ISO8601 datetime
string - Added
kUndefTimestamp
andkUndefStatQuantity
constants - Added flag
kTob
for top-of-book messages