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
32 changes: 32 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,38 @@

All notable changes to kalshi-sdk will be documented in this file.

## 4.2.0 — 2026-06-19

Reconciles in-place upstream spec drift detected by the nightly run (#451):
the live OpenAPI/AsyncAPI specs gained fields after 4.1.0 vendored them, under
the same `3.21.0` version string. All changes are additive — new response
fields on existing models. Also widens the `cryptography` dependency ceiling.

### Added

- **`Event.settlement_sources`** — the official settlement sources for an event
(`EventData.settlement_sources`, openapi 3.21.0). Typed
`NullableList[SettlementSource]`, so a JSON `null` coerces to `[]` while the
key-present contract holds (same nullable shape as `Series.settlement_sources`).
Note: spec-**required**, so code that constructs `Event` directly (e.g. test
mocks) must now include it.
- **WS `MarketLifecyclePayload` strike fields** — `strike_type`, `cap_strike`,
and `custom_strike` on `market_lifecycle_v2` payloads (asyncapi). All optional;
present only on `metadata_updated` frames. `strike_type` (`between` / `greater`
/ `less`) controls how `floor_strike` / `cap_strike` are interpreted;
`custom_strike` carries structured strikes.

### Changed

- **`cryptography` dependency ceiling widened `<49` → `<50`** (#448) — permits
cryptography 49.x. The SDK's RSA-PSS signing path uses only `hashes` /
`serialization` / `padding` / `rsa`, none of which 49.0.0's removals affect.
- Re-vendored `specs/openapi.yaml` (added `EventData.settlement_sources`) and
`specs/asyncapi.yaml` (added the lifecycle strike fields; refreshed WS
error-code docs). `openapi.yaml` was held at its known-good 104-operation
state: the upstream publish transiently dropped `CreateOrder` /
`BatchCreateOrders` / `AmendOrder`, an upstream glitch that was not imported.

## 4.1.0 — 2026-06-14

Spec sync from upstream OpenAPI v3.20.0 → v3.21.0 (plus AsyncAPI/perps). All
Expand Down
2 changes: 1 addition & 1 deletion kalshi/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -397,4 +397,4 @@
"Withdrawal",
]

__version__ = "4.1.0"
__version__ = "4.2.0"
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "kalshi-sdk"
version = "4.1.0"
version = "4.2.0"
description = "A professional Python SDK for the Kalshi prediction markets and Perps (margin) APIs"
readme = "README.md"
license = { text = "MIT" }
Expand Down
Loading