diff --git a/CHANGELOG.md b/CHANGELOG.md index 8f0ef69..ec34052 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## 0.49.0 - 2026-02-24 + +### Enhancements +- Added `SkippedRecordsAfterSlowReading` to the `ErrorCode` enum for gateway errors + originating from slow client catch-up + ## 0.48.0 - 2026-02-18 ### Enhancements diff --git a/CMakeLists.txt b/CMakeLists.txt index 86bb584..2c37458 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,7 +6,7 @@ cmake_minimum_required(VERSION 3.24..4.2) project( databento - VERSION 0.48.0 + VERSION 0.49.0 LANGUAGES CXX DESCRIPTION "Official Databento client library" ) diff --git a/include/databento/enums.hpp b/include/databento/enums.hpp index e04ed9d..5283dc4 100644 --- a/include/databento/enums.hpp +++ b/include/databento/enums.hpp @@ -632,6 +632,9 @@ enum ErrorCode : std::uint8_t { InvalidSubscription = 5, // An error occurred in the gateway. InternalError = 6, + // A slow client was detected and records were skipped by the gateway to allow + // catching up. + SkippedRecordsAfterSlowReading = 7, // No error code was specified or this record was upgraded from a version 1 struct // where the code field didn't exist. Unset = 255, diff --git a/pkg/PKGBUILD b/pkg/PKGBUILD index 00b5057..e21489e 100644 --- a/pkg/PKGBUILD +++ b/pkg/PKGBUILD @@ -1,7 +1,7 @@ # Maintainer: Databento _pkgname=databento-cpp pkgname=databento-cpp-git -pkgver=0.48.0 +pkgver=0.49.0 pkgrel=1 pkgdesc="Official C++ client for Databento" arch=('any') diff --git a/src/enums.cpp b/src/enums.cpp index c05f00c..8fd3148 100644 --- a/src/enums.cpp +++ b/src/enums.cpp @@ -802,6 +802,9 @@ const char* ToString(ErrorCode error_code) { case ErrorCode::InternalError: { return "internal_error"; } + case ErrorCode::SkippedRecordsAfterSlowReading: { + return "skipped_records_after_slow_reading"; + } case ErrorCode::Unset: { return "unset"; } @@ -1256,6 +1259,9 @@ ErrorCode FromString(const std::string& str) { if (str == "internal_error") { return ErrorCode::InternalError; } + if (str == "skipped_records_after_slow_reading") { + return ErrorCode::SkippedRecordsAfterSlowReading; + } if (str == "unset") { return ErrorCode::Unset; }