diff --git a/CHANGELOG.md b/CHANGELOG.md index 4a7254c..64c26ab 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,14 @@ uses [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] +## [0.6.0] - 2026-09-25 + +0.6.0 rebuilds the SDK from Kalshi's published specs. `KalshiClient` covers all +117 Predictions REST operations and `WebSocketClient` every channel, with the +specs' names and types. The WebSocket client reconnects and resubscribes on its +own, and Ed25519 keys, retries, and rate limits are new. This release breaks +the 0.5 API; "Migrating from 0.5" below lists what changed. + ### Added - An API reference built from the headers with `make docs` and published to @@ -755,7 +763,8 @@ uses [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [0.0.2] — initial public release -[Unreleased]: https://github.com/Reddimus/kalshi-cpp/compare/v0.5.2...HEAD +[Unreleased]: https://github.com/Reddimus/kalshi-cpp/compare/v0.6.0...HEAD +[0.6.0]: https://github.com/Reddimus/kalshi-cpp/compare/v0.5.2...v0.6.0 [0.5.2]: https://github.com/Reddimus/kalshi-cpp/compare/v0.5.1...v0.5.2 [0.5.1]: https://github.com/Reddimus/kalshi-cpp/compare/v0.5.0...v0.5.1 [0.5.0]: https://github.com/Reddimus/kalshi-cpp/compare/v0.4.9...v0.5.0 diff --git a/CLAUDE.md b/CLAUDE.md index f9c9e56..a044f0b 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -18,6 +18,9 @@ using an injected `HttpTransport`. - WebSocketClient callbacks run on its network thread and may call any method, including the destructor. Keep that working when changing `src/ws/websocket.cpp`; `tests/test_ws_client.cpp` covers it. +- libwebsockets 4.4+ calls `OPENSSL_cleanup()` when its last TLS context is + destroyed, which breaks all later TLS in the process. The context that + `keep_openssl_initialized()` never destroys is deliberate; keep it. - Public failures use `std::expected`. Preserve typed, non-throwing boundaries when validating input or transport state. - Glaze reads and writes every JSON payload. Glaze reflection needs types diff --git a/CMakeLists.txt b/CMakeLists.txt index 135f0da..0702884 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,7 @@ # Fetching Glaze needs CMake 3.31; an installed Glaze works with 3.21. cmake_minimum_required(VERSION 3.21...4.4) project(kalshi-cpp - VERSION 0.5.2 + VERSION 0.6.0 DESCRIPTION "C++23 client for the Kalshi Predictions API" HOMEPAGE_URL "https://github.com/Reddimus/kalshi-cpp" LANGUAGES CXX) diff --git a/README.md b/README.md index 9bf9a7d..602ac84 100644 --- a/README.md +++ b/README.md @@ -35,7 +35,7 @@ ctest --test-dir build --output-on-failure include(FetchContent) FetchContent_Declare(kalshi GIT_REPOSITORY https://github.com/Reddimus/kalshi-cpp.git - GIT_TAG v0.5.2) + GIT_TAG v0.6.0) FetchContent_MakeAvailable(kalshi) target_link_libraries(myapp PRIVATE kalshi::kalshi) ```