Skip to content

release: v7.1.0 — OpenAPI 3.25.0 additive sync#477

Merged
TexasCoding merged 2 commits into
mainfrom
release/7.1.0
Jul 17, 2026
Merged

release: v7.1.0 — OpenAPI 3.25.0 additive sync#477
TexasCoding merged 2 commits into
mainfrom
release/7.1.0

Conversation

@TexasCoding

Copy link
Copy Markdown
Owner

Summary

Prepare v7.1.0 (minor) after the #476 OpenAPI 3.25.0 reconcile.

Version bump: minor (7.0.0 → 7.1.0)

Kind Why not
Major No removals, renames, or incompatible method signature changes
Patch New public type (MarginMarketSchedule) + new required response field — new capability, not a bugfix
Minor Additive public surface + upstream spec pin 3.24.0 → 3.25.0

Changes

  • Bump pyproject.toml / kalshi.__version__7.1.0
  • CHANGELOG.md section for 7.1.0 (release-workflow body source)
  • Docs: README, docs/index.md, docs/perps.md (schedule field), docs/migration.md (v7.0→v7.1), Claude.md OpenAPI pin, ROADMAP.md shipped entry
  • Refresh stale perps/Klear operation counts (35 REST / 11 SCM)

Release steps (after merge)

git checkout main && git pull
git tag v7.1.0
git push origin v7.1.0

release.yml will build, publish to PyPI (OIDC / pypi env), and create the GitHub Release from the CHANGELOG section.

Test plan

  • Version strings match across pyproject + __version__ + CHANGELOG heading
  • CI green
  • Merge → tag v7.1.0 → confirm release workflow + PyPI

Minor release for the #475/#476 spec-drift reconcile. Adds
MarginMarket.schedule / MarginMarketSchedule, pins docs to OpenAPI
3.25.0, and bumps package version. No breaking public-API changes.
Missed from the v7.1.0 release commit (case-sensitive path).
@claude

claude Bot commented Jul 17, 2026

Copy link
Copy Markdown

Review

This is a clean, docs/version-bump-only release-prep PR following the #476 spec-drift reconcile — no functional code changes. Reviewed the diff against CLAUDE.md's release conventions and cross-checked the claims against the repo.

Summary

  • Bumps pyproject.toml / kalshi.__version__ 7.0.0 → 7.1.0, adds a matching CHANGELOG.md section, and refreshes operation-count docs (README, docs/index.md, docs/perps.md, docs/migration.md, CLAUDE.md, ROADMAP.md).
  • Version classification (minor, not patch/major) is correctly justified: MarginMarketSchedule is additive, and there are no removals/renames.

Verified

  • Version strings are consistent across pyproject.toml, kalshi/__init__.py, and the CHANGELOG.md heading (all 7.1.0).
  • Operation counts check out: traced PERPS_METHOD_ENDPOINT_MAP / PERPS_SCM_METHOD_ENDPOINT_MAP in tests/_contract_support.py — deduping pagination-helper (*_all) entries that share an endpoint with their non-paginated sibling yields exactly 35 unique perps REST operations and 11 unique Klear operations, matching the new README/docs numbers.
  • The core REST count intentionally stays at 101 (spec now has 102 operations; POST /portfolio/intra_exchange_instance_transfer is recorded in _UNIMPLEMENTED_ENDPOINTS since it's upstream-marked "currently not available" and already covered by PerpsClient.transfers.transfer_instance()) — CLAUDE.md's wording reflects this correctly.
  • No stale v3.24.0/old-count references were left behind in the files this PR touches.

Minor nit

  • docs/migration.md: the new heading is ## v7.0 → v7.1.0, but every other entry in the file uses the bare major version for the "from" side (## v6 → v7.0.0, ## v5 → v6.0.0, ## v4 → v5.0.0, ...). For consistency this should probably be ## v7 → v7.1.0. Cosmetic only, doesn't block merge.

Risk

Low — no kalshi/ source or test changes, so nothing for mypy/drift tests to catch. The unchecked "CI green" and "merge → tag → confirm release" boxes in the test plan are expected for a still-open PR.

Nice work keeping the doc/version bump surgical and getting the op-counts actually right instead of just incrementing them.

@claude

claude Bot commented Jul 17, 2026

Copy link
Copy Markdown

Review: release: v7.1.0 — OpenAPI 3.25.0 additive sync

Overview
Mechanical release-prep PR: version bump (7.0.0 to 7.1.0), CHANGELOG/ROADMAP/migration-guide entries, and refreshed operation counts in README/docs, following the MarginMarket.schedule addition and OpenAPI 3.25.0 pin that landed in the prior PR (476). No kalshi/ source changes beyond the version string in init.py / pyproject.toml. Low risk given the scope.

Code quality / consistency — looks good

  • Version string is consistent across pyproject.toml, kalshi/init.py, and the CHANGELOG.md heading (satisfies the PR's own test-plan checkbox).
  • The MarginMarketSchedule field, its exports (kalshi.perps, kalshi.perps.models), and the _UNIMPLEMENTED_ENDPOINTS entry for POST /portfolio/intra_exchange_instance_transfer referenced in the CHANGELOG/CLAUDE.md all check out against the current tree (kalshi/perps/models/markets.py, kalshi/perps/init.py, tests/test_contracts.py lines 1251-1259).
  • CHANGELOG/migration.md/ROADMAP.md entries follow the established style of prior release entries (e.g. 7.0.0).
  • ROADMAP.md also backfills a v7.0.0 Shipped bullet that appears to have been missing before — reasonable cleanup, but it is outside what the PR description says it does; worth a one-line mention in the PR body so reviewers are not surprised.

Possible issue — operation counts may still be off
The PR explicitly calls out refreshing stale perps/Klear operation counts (35 REST / 11 SCM). Counting distinct (http_method, path_template) pairs in tests/_contract_support.py's PERPS_METHOD_ENDPOINT_MAP and PERPS_SCM_METHOD_ENDPOINT_MAP (the source of truth the drift tests use) yields 39 and 13 respectively, not 35/11. These doc counts are not asserted anywhere in CI (no test compares len(PERPS_METHOD_ENDPOINT_MAP) against the README string), so a mismatch will not fail the build — it will just quietly drift again. Worth double-checking the exact numbers before merge, or better, deriving them programmatically from the map lengths rather than hand-counting, to avoid the same staleness recurring next release.

Test coverage
No functional code changed, so no new tests are needed here. The test-plan checklist (version-string match done, CI green / tag-and-release pending) is appropriate for a release PR.

Security
No concerns — docs and version metadata only.

Minor

  • docs/migration.md correctly flags the practical breaking edge case (hand-constructed MarginMarket instances in tests now need schedule=) even though the PR is scoped as minor per semver — good, matches the precedent set for the earlier MarginPosition.subaccount required-field addition.

Overall: safe to merge once the perps/Klear operation counts are confirmed or fixed.

@TexasCoding
TexasCoding merged commit 7574516 into main Jul 17, 2026
7 checks passed
@TexasCoding
TexasCoding deleted the release/7.1.0 branch July 17, 2026 10:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant