Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
3 changes: 3 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -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<T, Error>`. Preserve typed, non-throwing
boundaries when validating input or transport state.
- Glaze reads and writes every JSON payload. Glaze reflection needs types
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -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)
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
```
Expand Down
Loading