Repository navigation
chore: prepare 3.0.0 rc2 - #956
piotr-iohk wants to merge 2 commits into
Conversation
|
Release validation runs for
Pending runs are not passing validation. Piotr subsequently authorized CLI archive/upload of 3.0.0 (200). The archive succeeded from the frozen release head with fresh DerivedData. Bundle ID/version/build, signature and matching dSYM UUID were verified. CLI export failed on cloud-signing access; authorized distribution via Xcode’s existing account succeeded. Xcode confirmed “Bitkit 3.0.0 (200) uploaded” and Organizer shows Uploaded to Apple. Piotr confirmed build 200 is available in TestFlight. Remaining automated checks and final-candidate QA remain open. Android counterpart: Android #1512. RC1 drafts/tags remain preserved. Profile-deletion #954 / Android #1510 are deferred to the next patch. |
[Low impact] The metadata changes appear safe to merge when the planned release checks are complete. SummaryPrepares version 3.0.0, build 200, and collects 76 changelog fragments.
Acknowledged scope from Reviews (1) · Last reviewed commit: "chore: refresh ios rc2 release preparati..." · Reviewed by Greptile |
talosmachina
left a comment
There was a problem hiding this comment.
No findings. Release preparation for 3.0.0 build 200: version bump in the six app, notification and widget configurations, 76 changelog.d/next fragments collected into a 3.0.0 section, and the 2.5.1 hotfix section carried over. Reviewed 59278ad, full tier (78 files, 76 of them one-line fragment deletions, every one checked).
What I checked, and 4 candidates I ruled out
Checked mechanically: every fragment deleted by this PR (76, against the merge base eb3156a) appears in the new CHANGELOG.md exactly once, by exact text match; the 3.0.0 section has 76 bullets with no PR number repeated, and none of them repeats a released entry; changelog.d/next is left with only .gitkeep.
Version: MARKETING_VERSION = 3.0.0 and CURRENT_PROJECT_VERSION = 200 on the six configurations that carried 2.5.0 (197); the four test-target configurations stay at 1.0 (1).
History: the only change outside the new section is the added 2.5.1 section, which matches the v2.5.1 tag's changelog word for word, and the compare links (v2.5.1...v3.0.0, Unreleased from v3.0.0).
CI: validate and Greptile green; unit-tests, integration-tests, e2e-tests and E2E Migration (iOS) were still running on this head when this was posted. The failed entries in the checks list are duplicate e2e-tests and E2E Migration (iOS) runs on this same head, cancelled in favour of the copies still running. iOS does not build on this machine, so this review is reasoned from the diff and from CI.
Ruled out
- Fragments for #948, #950 and #953 missing: all three merged to master before
59278ad; the #948 and #950 fragments are collected, and #953 is translations-only (no fragment). #954 is still open, so it is correctly absent. - #532 filed under Changed though its fragment was
532.fixed.md: deliberate, per the correction the PR body cites. - Build number out of step with Android: iOS goes 197 to 200 and the twin bitkit-android#1512 goes 190 to 193, the same +3 on the platforms' existing offset.
- Released sections edited: the diff touches no released section beyond inserting 2.5.1 above 2.5.0.
Merge confidence: 4/5, no findings and the change is metadata a test would not exercise, but CI on this head had not finished.
There was a problem hiding this comment.
Verdict: ✅ Approve
Review: diff, 78 files, full review of this PR. I found no defects.
- Talos's review at this head covers the fragment match, the six version configurations and the released history. I confirmed those and add:
scripts/collect-changelog.sh --target nextrun at master eb3156a produces the same 76 entries. The one difference is #532 under Changed, as the description says.- Build 200 follows the tagged builds 198 (v2.5.1) and 199 (v2.6.0 RC1). It is also above the 198 that the updater feed publishes, so 3.0.0 shows no update prompt.
- The 2.5.1 LDK security fix reaches this cut through #928, and the head pins LDK Node 0.7.0-rc.74.
- Every PR merged since v2.5.0 without its own fragment is CI, tests, docs, a chore or a build fix, or a fix whose fragment carries its issue number.
QA for 59278ad:
No device case: the QA notes list none, and this PR changes no app code against master eb3156a.
CI at this head when I reviewed:
- Unit tests and integration tests passed.
- E2E Migration passed the native upgrade and native restore from 2.5.0 to this build.
- Still running:
- The React Native v1.1.6 migrations did not run, which is why the run reads as failed. Preparing the restore wallet failed inside the legacy React Native app on Android, whose on-chain send never showed its swipe button, so the RN matrix was skipped. The 3.0.0 build is not involved in that step; a rerun of the failed jobs would cover the RN upgrade and restore.
- The cancelled
e2e-testsandE2E Migration (iOS)entries are duplicate runs on this head. - No run covers an upgrade from 2.5.1, the latest public release. It stays open on this PR's release checklist.
Pair PR synonymdev/bitkit-android#1512 matches at synonymdev/bitkit-android@19449fb: the same 3.0.0 cut, with build 193 taking the same +3 step from 2.5.0 (190) as 197 to 200 here, and the same deferral of the profile-deletion fix.
jvsena42
left a comment
There was a problem hiding this comment.
Approving at 59278ad. Reviewed as a release against v2.5.0, the last release tag on master's lineage. v2.5.1 is a hotfix side branch and v2.6.0 an unpublished RC1. No findings.
Checked:
- Version: all six app, widget and notification configurations read
MARKETING_VERSION = 3.0.0/CURRENT_PROJECT_VERSION = 200. That is above v2.6.0 (199), v2.5.1 (198) and v2.5.0 (197); test targets are unchanged. The updater feed publishes 2.5.1 build 198 as critical, andAppUpdateServicecompares build numbers numerically (AppUpdateService.swift:44,64-71), so build 200 gets no forced-update prompt. - Changelog: each of the 76 deleted fragments appears once with its text and number. Only
532moves to Changed, which is the #931 correction.changelog.d/nextandhotfixhold only.gitkeep. The 2.5.1 section and everything from[2.5.0]down are byte-identical to the v2.5.1 tag. Compare links arev2.5.1...v3.0.0. Every merge since v2.5.0 without its own entry is CI/test/docs/chore or covered by its issue number. #954 is correctly absent. - Dependencies since v2.5.1: bitkit-core 0.5.14 → 0.8.0-rc6, ldk-node rc.66.1 → rc.74, paykit rc51 → rc77, vss 0.5.23 (revision refresh), CodeScanner removed. The pbxproj
exactVersionrequirements match the resolved pins. The v2.5.1 security fix is carried: rc.74 pinslightning,lightning-transaction-syncandlightning-liquidity0.2.7, same as rc.66.1 (in via rc.72, listed under Security). - Release config:
DEBUGstays on Debug only. Mainnet endpoints are production (api1.blocktank.to,bitkit.to,rgs.blocktank.to,homegate.pubky.app), the USDT URLs point athttps://bitkit.to/v1/usdt/*, and the Trezor bridge/emulator paths are gated onisDebug || isE2E. - Twin parity with synonymdev/bitkit-android#1512: same 3.0.0 date, same bitkit-core, ldk-node, paykit and vss pins, same compare base, and #954 / #1510 deferred on both. Changelog differences are platform-specific entries.
CI at 59278ad: unit, integration, e2e (local), E2E Staging and E2E Migration (native 2.5.0 → 200 upgrade and restore, RN v1.1.6 upgrade and restore) are green. Translations validation is green. The cancelled rows are duplicate runs superseded by the passing copies.
Device gate: 59278ad — no device check needed (versions, changelog and fragment deletions only; CI is the runtime evidence); perf: not relevant; l10n: no UI text changed.

This PR prepares Bitkit 3.0.0 RC2, the final release candidate, at version 3.0.0 (build 200). Refreshed through master
eb3156abcdc1b33e093b0d4bf1b98c9b526ca64c, including USDT feedback #948, backup consistency #950 and additional translations #953. Supersedes #925.Twin: Android #1512. The release head is
59278ad871381f8ac4b9d4d0f70953643d59243e, taggedv3.0.0. Piotr subsequently authorized the CLI archive and TestFlight upload. The production archive succeeded from this frozen revision with fresh DerivedData. Version/build, app signature and matching dSYM UUID were verified. CLI export failed because its credentials lack cloud-signing access and no local distribution identity exists; upload succeeded through Xcode Organizer using the existing account session. Xcode confirmed “Bitkit 3.0.0 (200) uploaded” and Organizer shows Uploaded to Apple. Piotr confirmed build 200 is available in TestFlight. Automated checks and final-candidate QA remain open.Description
v2.6.0tags and release branches unchanged. Keep this PR open during QA; merge only after the 3.0.0 store release.Design
N/A — no UI changes.
Preview
N/A
QA Notes
Journeys
The reviewed journeys from #948 are included unchanged. No new journey is introduced by release metadata/changelog consolidation.
Manual Tests
No final production-candidate QA is claimed. Earlier PR-level device checks, including backup validation and Piotr's German/Arabic translation checks, remain supporting evidence. The observed regtest reinstall/PIN state issue remains a separate unresolved QA finding; production impact is unconfirmed.
Automated Checks
eb3156abexactly; only release metadata, consolidated changelog and consumed fragments differ.Store notes: v3.0.0 iOS, shared read-only with Synonym. Five-language drafts focus on Pubky profiles, Paykit and USDT.
Remaining release work
Residual latency issue #868 remains deferred to 3.0.5. RC1 artifacts/results remain historical evidence.