Skip to content

chore: prepare 0.8.0-rc13 with the wake client fixes - #196

Open
coreyphillips wants to merge 1 commit into
masterfrom
chore/0.8.0-rc13
Open

coreyphillips wants to merge 1 commit into
masterfrom
chore/0.8.0-rc13

Conversation

@coreyphillips

Copy link
Copy Markdown
Collaborator

Prepares 0.8.0-rc13 so the apps can adopt the wake client with the gaps closed in #195. 0.8.0-rc12 was tagged before #195 merged, so it has the older wake API.

Description

Changes since v0.8.0-rc12:

  • Wake: a default registration timestamp is one past the last in this process when needed, so two quick registrations no longer get 409 stale_registration. WakeError::GatewayRejected gains server_time and retry_after_secs. Add wake_get_device and wake_send_test. wake_set_topics now returns WakeSubscription with unknown_topics. This breaks the wake API, which no app uses yet. (fix(wake): close the client gaps from the gateway review #195)

This PR changes only the version in Cargo.toml, Cargo.lock, Package.swift and bindings/android/gradle.properties, plus the iOS checksum in Package.swift. The regenerated Swift interface files match master.

The iOS archive was built with ./build_ios.sh on Rust 1.90.0 (the crate's rust-version, and the toolchain rc12 used). It is 88,064,800 bytes, SHA-256 228ce302b86d6c05a06e84033e8a681ff28b48af47d94d1df3c518ce8c7715b8, matching Package.swift. Android coordinates are com.synonym:bitkit-core-android:0.8.0-rc13.

Release steps after merge

  1. Merge with a merge commit while this branch is level with master, so the tagged tree matches the archive. If master moves first, rebuild.
  2. Push a signed annotated tag v0.8.0-rc13 on the merge commit.
  3. Publish the prerelease with the preserved BitkitCore.xcframework.zip. Publishing runs gradle-publish.yml, which builds and publishes the Android package and its native debug symbols.
  4. Check that the published zip's checksum matches Package.swift and that the Android package resolves before bumping app pins.

Preview

N/A, release metadata only.

QA Notes

Candidate: 44133dd on master 5d633fd. Toolchain: Rust 1.90.0, Xcode 27.1.

  • ./build_ios.sh: passed. The regenerated Swift interface files are identical to master. Both slices export wake_send_test and wake_get_device.
  • swift package compute-checksum on the archive matches Package.swift.
  • cargo test --no-fail-fast: 747 passed, 11 failed, 30 ignored. All 11 are Blocktank tests that cannot reach api.stag.blocktank.to, the same staging failures recorded for rc12. Wake: 48 passed, 2 ignored (they need a live gateway).
  • cargo clippy -- -D warnings: fails on 27 existing lib warnings. The code is identical to master apart from the version strings.

Not run here: the Android build (gradle-publish.yml builds it on publish), Python, the live gateway tests and app journeys.

Bump the version to 0.8.0-rc13 and set the checksum of the rebuilt iOS
archive, so the apps can adopt the wake API from #195.

@talosmachina talosmachina left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No findings. Bumps bitkitcore to 0.8.0-rc13 in Cargo.toml, Cargo.lock, Package.swift and bindings/android/gradle.properties, and sets the iOS archive checksum, so the release carries the wake API from #195. Reviewed 44133dd on master 5d633fd, full tier (the diff touches the Cargo manifest and lock).

What I checked, and 2 candidates I ruled out

Diff: git diff 5d633fd 44133dd is exactly the four files and five lines the body names; the branch is level with master, so the tagged tree would be master plus the version strings.
Version sync: git grep 0.8.0-rc on the head finds rc13 in Cargo.toml, Package.swift (tag) and gradle.properties, and no rc12 left anywhere. gradle-publish.yml takes the version from the release tag (-Pversion=${GITHUB_REF_NAME#v}), so the Android coordinates follow v0.8.0-rc13.
Bindings: the committed bindings/ios/bitkitcore.swift and bitkitcoreFFI.h on master already export wake_get_device and wake_send_test (from #195), consistent with the body's note that regenerating them left them unchanged.
Not built here: the code is byte-identical to master, which CI built and tested; iOS does not build on Linux.
CI at review time: Scripts/Cargo/Android manifests, SwiftPM manifest, wake-tests, paykit-route-tests and usdt-tests green. iOS Bindgen and Android Bindgen still running (21 and 58 minutes on #191).

Ruled out

  • Checksum mismatch: the archive is uploaded only at release, so 228ce302... cannot be checked against a published zip yet. Release step 4 checks it after publishing, before the app pins move.
  • CHANGELOG still under Unreleased: #191 (rc12) did not move it either, so this is the repo's release-candidate convention.

Merge confidence: 4/5, both Bindgen jobs were still running and the iOS checksum can only be confirmed against the published zip.

@coreyphillips
coreyphillips requested a review from pwltr November 9, 2026 19:20
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