Releases: databento/databento-cpp
Releases · databento/databento-cpp
0.16.0
Release notes
Enhancements
- Added new publisher values for consolidated DBEQ.MAX
- Added constructor to
WithTsOutthat updateslengthto 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_policytoUpgradeso by default the primary record types
can always be used - Renamed
dummyfield inImbalanceMsgandStatMsgtoreserved
Bug fixes
- Fixed handling of
ts_outwhen decoding DBNv1 and upgrading to version 2 - Fixed missing logic to upgrade
ErrorMsgV1andSystemMsgV1when decoding DBN with
VersionUpgradePolicy::Upgrade - Added missing
StatType::Vwapvariant used in the ICE datasets - Added missing
ToStringandoperator<<handling forStatType::ClosePriceand
StatType::NetChange - Fixed potential for invalid reads when decoding C strings in
DbnDecoder
0.15.0
Release notes
Breaking changes
- Increased size of
SystemMsgandErrorMsgto provide better messages from Live
gateway- Increased length of
errandmsgfields for more detailed messages - Added
is_lastfield toErrorMsgto indicate the last error in a chain - Added
codefield toSystemMsgandErrorMsg, although currently unused - Added new
is_lastparameter 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
ErrorMsgV1andSystemMsgV1
- Increased length of
0.14.1
Release notes
Enhancements
- Added
PitSymbolMaphelper 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_lenfield toMetadatato indicate the length of fixed symbol
strings - Added
stype_inandstype_outfields toSymbolMappingMsgto provide more context
with live symbology updates - Added
IndexTsmethods to every record type which returns the primary timestamp - Added
VersionUpgradePolicyenum to allow specifying how to handle decoding records
from prior DBN versions - Added
InstrumentDefMsgV2andSymbolMappingMsgV2type aliases - Added
kDbnVersionconstant for current DBN version - Added
kSymbolCstrLen,kSymbolCstrLenV1, andkSymbolCstrLenV2constants 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
kMaxRecordLenconstant for the the length of the largest record type - Added ability to convert
FlagSetto underlying representation
Breaking changes
- The old
InstrumentDefMsgis nowInstrumentDefMsgV1incompat.hpp - The old
SymbolMappingMsgis nowSymbolMappingMsgV1incompat.hpp - Converted the following enums to enum classes to allow safely adding new variants:
SecurityUpdateActionandSType - Renamed
dummytoreservedinInstrumentDefMsg - Removed
reserved2,reserved3,reserved4, andreserved5fromInstrumentDefMsg - Moved position of
strike_pricewithinInstrumentDefMsg - Removed deprecated
SecurityUpdateAction::Invalidvariant
0.13.1
Release notes
Enhancements
- Added new publisher values in preparation for DBEQ.PLUS
- Added
ToIso8601forUnixNanosfor converting to human-readable ISO8601 datetime
string - Added
kUndefTimestampandkUndefStatQuantityconstants - Added flag
kTobfor top-of-book messages
0.13.0
Release notes
Enhancements
- Added
pretty_pxoption forBatchSubmitJob, which formats prices to the correct
scale using the fixed-precision scalar 1e-9 (available for CSV and JSON text
encodings) - Added
pretty_tsoption forBatchSubmitJob, which formats timestamps as ISO 8601
strings (available for CSV and JSON text encodings) - Added
map_symbolsoption toBatchSubmitJob, which appends appends the raw symbol
to every record (available for CSV and JSON text encodings) reducing the need to look
at thesymbology.jsonfile - Added
split_symbolsoption forBatchSubmitJob, which will split files by raw symbol - Added
encodingoption toBatchSubmitJobto allow requesting non-DBN encoded
data through the client - Added
map_symbols,pretty_px, andpretty_tstoBatchJobresponse - Added
ARCX.PILLAR.ARCXpublisher - Added
ClosePriceandNetChangeStatTypes used in theOPRA.PILLARdataset
Breaking changes
- Remove
default_valueparameter fromHistorical::SymbologyResolve
0.12.0
Release notes
Enhancements
- Added the
Publisher,Venue, andDatasetenums - Added
Publishergetters toRecordandRecordHeaderto convert the
publisher_idto its enum
0.11.0
Release notes
Enhancements
- Added
raw_instrument_idto definition schema - Added
operator==andoperator!=implementations forDatasetConditionDetailand
DatasetRange
Breaking changes
- Changed
MetadataListPublishersto return avector<PublisherDetail> MetadataListFields:- Changed return type to
vector<FieldDetail> - Made
encodingandschemaparameters required - Removed
datasetparameter
- Changed return type to
MetadataListUnitPrices:- Changed return type to
vector<UnitPricesForMode> - Made
datasetparameter required - Removed
modeandschemaparameters
- Changed return type to
Bug fixes
- Fixed installation of
nlohmann_jsonwhen using bundled version - Added missing
operator!=implementations forMetadata,MappingInterval, and
SymbolMapping
0.10.0
Release notes
Enhancements
- Added preliminary support for Windows
- Added
LiveThreaded::BlockForStopto make it easier to wait for one or more records
before closing the session - Changed
TimeseriesGetRangeto request a Zstd-compressed result for more efficient
data transfer - Switched
BatchSubmitJobto use form data to avoid query param length limit - Switched
SymbologyResolveto use POST request with form data to avoid query param
length limit
Breaking changes
- Changed size-related fields and
limitparameters to usestd::uint64_tfor consistency
across architectures
Bug fixes
- Removed usage of non-portable
__PRETTY_FUNCTION__
0.9.1
Release notes
Enhancements
- Added constants for dataset codes for Databento Equity Basic and OPRA Pillar
- Added
const char*getters to records for fixed-lengthchararrays - Added
RTypegetter toRecord
Bug fixes
- Batch live subscriptions to avoid hitting max message length
- Fix bug in Zstd decompression
- Fix
Historical::BatchDownloadtruncating file before writing each chunk