Skip to content

chore(release): v4.2.1 — fix Python SDK wheel build#80

Merged
ZhiXiao-Lin merged 1 commit into
mainfrom
chore/release-4.2.1
Jun 23, 2026
Merged

chore(release): v4.2.1 — fix Python SDK wheel build#80
ZhiXiao-Lin merged 1 commit into
mainfrom
chore/release-4.2.1

Conversation

@ZhiXiao-Lin

Copy link
Copy Markdown
Contributor

Completes the 4.2.0 release. crates.io + npm published fine, but the Python SDK wheel build failed (so PyPI + GitHub Release were skipped):

error[E0063]: missing field `allow_manual_delegation` in initializer of `AutoDelegationConfig`
💥 maturin failed

Cause: PR #76 added allow_manual_delegation to AutoDelegationConfig, but the Python SDK's PyAutoDelegationConfig → AutoDelegationConfig conversion uses a struct literal that didn't include it. Core CI never caught this — the SDKs are excluded from the core workspace and only built at release time (maturin). (The Node SDK was fine: it builds via Default::default() + field assignment.)

Fix: the Python conversion now uses ..Default::default() for fields it doesn't expose, so future core fields can't break the wheel build. Verified the Python SDK compiles (cargo build --manifest-path sdk/python/Cargo.toml).

Version bumped 4.2.0 → 4.2.1 across the CI-enforced surface + CHANGELOG. Tagging v4.2.1 re-runs the full release (crates.io + npm + PyPI + GitHub Release) to complete delivery across all channels.

Follow-up (not in this PR): add an SDK build step to core CI so SDK-breaking core changes are caught before release.

The 4.2.0 release published to crates.io and npm but the Python SDK wheel build
failed (so PyPI + GitHub Release were skipped):

  error[E0063]: missing field `allow_manual_delegation` in initializer of
  `AutoDelegationConfig`

The `PyAutoDelegationConfig -> AutoDelegationConfig` conversion used a struct
literal that didn't include the `allow_manual_delegation` field added to the
core config. Core CI never caught it because the SDKs are excluded from the core
workspace and only built at release time (maturin). The Node SDK was fine — it
builds the config via `Default::default()` + field assignment.

Fix: the Python conversion now uses `..Default::default()` for fields it does
not expose, so new core fields can't break the wheel build again. Verified the
Python SDK compiles. Version bumped 4.2.0 -> 4.2.1 to complete the release
across all channels.
@ZhiXiao-Lin ZhiXiao-Lin merged commit 47347a4 into main Jun 23, 2026
1 check passed
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.

2 participants