Skip to content

chore: prepare 3.0.1 release - #956

Open
piotr-iohk wants to merge 3 commits into
masterfrom
release-3.0.0
Open

piotr-iohk wants to merge 3 commits into
masterfrom
release-3.0.0

Conversation

@piotr-iohk

@piotr-iohk piotr-iohk commented Oct 16, 2026 •

Copy link
Copy Markdown
Collaborator

Prepares 3.0.1 (202) from the already-cut RC3 source, without adding newer master changes. Twin: synonymdev/bitkit-android#1512.

Description

  • Advances the marketing version from 3.0.0 to 3.0.1 and the build to 202.

  • Includes the agreed RC3 fixes: Electrum recovery, expired payment cancellation, Paykit 0.1.0, profile-deletion synchronization, Pubky sign-in recovery, restored-USDT protection and address sharing.

  • Splits the 3.0.1 fixes into their own changelog section; preserves every 3.0.0 RC2 entry and Ovi's corrections.

  • Signed preparation commit 2eceedb1cef2497533412912b582db7bbefb5dd1 is Verified on GitHub. New signed tag v3.0.1 identifies this revision.

  • Preserves v3.0.0-rc2, v3.0.0-rc3 and RC1 v2.6.0. At Piotr’s request, signed v3.0.0 now points to the exact RC2 store revision (build 200); signed v3.0.1 still points to this new candidate. The existing unpublished candidate draft is reused for 3.0.1.

  • Signed documentation follow-up dfc3849833cd9dbcb90788040cb9f1b956fdf192 fixes the 3.0.0 and 3.0.1 comparison URLs to direct two-dot comparisons. No tags or build artifacts moved; v3.0.1 still identifies built revision 2eceedb1cef2497533412912b582db7bbefb5dd1.

Design

N/A — no UI changes in this preparation.

Preview

N/A

QA Notes

Journeys

No product changes relative to RC3; merged product fixes retain their journeys.

Manual Tests

Final 3.0.1 production-build smoke QA remains required. Prior RC3 evidence is retained but is not final-build sign-off.

Automated Checks

Updated 2026-10-19 12:44 CEST. The completed runs below validate built/tagged revision 2eceedb1cef2497533412912b582db7bbefb5dd1 (3.0.1 build 202).

Migration attempt 2 passed legacy RN source-wallet preparation, RN v1.1.6 upgrade/restore and native 2.5.0 upgrade/restore. All staging shards, including nightly UI, passed. The earlier setup failure is retained in the run history.

The latest signed PR commit dfc3849833cd9dbcb90788040cb9f1b956fdf192 changes only two comparison URLs in CHANGELOG.md. Its parent is the built/tagged revision above; the full tree comparison outside CHANGELOG.md is empty. Runtime code, dependencies, version/build metadata and production binaries are unchanged. New automatic checks on this documentation-only head are separate from the completed build validation; no manual rerun or rebuild was dispatched.

Remaining release work

  • Preserve prior candidates and create signed 3.0.1 metadata/tags.
  • Complete checks on the built/tagged revision; original Android full-UI fixture failure and skips documented.
  • Verify Android 195 artifacts and upload iOS 202 to internal TestFlight.
  • Final production-build smoke QA.
  • Store submission and publication — not authorized. Existing RC2 store submissions, manual release and managed publishing remain unchanged.

Reused draft: https://github.com/synonymdev/bitkit-ios/releases/tag/untagged-7ccec721273636b1df45 No release PR merge, GitHub publication, store submission/rollout or updater change is part of this task.

@ovitrif ovitrif added this to the 3.0.0 milestone Oct 16, 2026
@piotr-iohk
piotr-iohk marked this pull request as ready for review October 16, 2026 09:15
@ovitrif
ovitrif requested review from a team, ben-kaufman and pwltr and removed request for a team October 16, 2026 09:16
@piotr-iohk
piotr-iohk requested a review from ovitrif October 16, 2026 09:16
@piotr-iohk

piotr-iohk commented Oct 16, 2026 •

Copy link
Copy Markdown
Collaborator Author

3.0.0 (RC2) — automated release gate

Rechecked 2026-10-19 12:55 CEST. SUCCESS for the completed automated workflow gates on exact store revision 59278ad871381f8ac4b9d4d0f70953643d59243e — 3.0.0 (200). Both signed v3.0.0 and preserved v3.0.0-rc2 target this commit. This is the 3.0.0 release that is planned to publish first; it is separate from the current 3.0.1 PR head.

Verified runs

Coverage and run history

Migration attempt 2 passed both legacy RN source-wallet preparations, RN v1.1.6 upgrade/restore, native 2.5.0 upgrade/restore and the final migration-result gate. The earlier failed setup attempt remains in history. Staging passed Pubky, transfer, nightly UI and multi-address.

The production archive from this frozen release revision was verified for bundle ID/version/build, signature and matching dSYM UUID, uploaded via Xcode and confirmed available in TestFlight. iOS store build remains 3.0.0 (200).

Cancelled duplicate runs, pre-undraft skipped workflows, skipped report jobs and skipped retarget helpers are not counted as passing tests; their successful replacements on this same commit are linked above. The historical ovi-reviewer check is completed/neutral, not a test-suite pass.

Release record

Preserved 3.0.0 GitHub draft · Twin release PR

RC1 drafts and v2.6.0, RC2 tags and artifacts remain preserved. Profile-deletion follow-ups are excluded from 3.0.0 and included in 3.0.1. The full 3.0.1 check summary is in the later preparation comment; its results do not substitute for these RC2 checks.

No RC2 automated workflow gate remains pending or failed after the successful replacements/reruns above. This records automation, not a new manual-QA or store-approval sign-off. Planned sequence remains coordinated 3.0.0 publication after iOS approval, then 3.0.1 submission after validation. No merge, submission, publication, branch/tag change or build was performed by this audit.

@greptile-apps

greptile-apps Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

RetriggerView in GreptileConfidence Score: 5/5

[Low impact] The metadata changes appear safe to merge when the planned release checks are complete.

Summary

Prepares version 3.0.0, build 200, and collects 76 changelog fragments.

  • Bitkit's app, widgets, and notifications use version 3.0.0, build 200.
  • The changelog collects the 3.0.0 notes and clears their consumed fragments.

Acknowledged scope from piotr-iohk: builds and candidate QA have not run; skipping CI and leaving release tags for the final cut are intentional. The remaining #868 investigation is explicitly deferred to 3.0.5.

Reviews (1) · Last reviewed commit: "chore: refresh ios rc2 release preparati..." · Reviewed by Greptile

@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. 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.

pwltr
pwltr previously approved these changes Oct 16, 2026
ovitrif
ovitrif previously approved these changes Oct 16, 2026

@ovitrif ovitrif left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

utAck

@ovi-reviewer ovi-reviewer Bot 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.

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 next run 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-tests and E2E 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.

@ovitrif

ovitrif commented Oct 16, 2026 •

Copy link
Copy Markdown
Collaborator

@piotr-iohk

jvsena42
jvsena42 previously approved these changes Oct 16, 2026

@jvsena42 jvsena42 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

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, and AppUpdateService compares 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 532 moves to Changed, which is the #931 correction. changelog.d/next and hotfix hold 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 are v2.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 exactVersion requirements match the resolved pins. The v2.5.1 security fix is carried: rc.74 pins lightning, lightning-transaction-sync and lightning-liquidity 0.2.7, same as rc.66.1 (in via rc.72, listed under Security).
  • Release config: DEBUG stays on Debug only. Mainnet endpoints are production (api1.blocktank.to, bitkit.to, rgs.blocktank.to, homegate.pubky.app), the USDT URLs point at https://bitkit.to/v1/usdt/*, and the Trezor bridge/emulator paths are gated on isDebug || 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.

ben-kaufman
ben-kaufman previously approved these changes Oct 16, 2026
@piotr-iohk
piotr-iohk dismissed stale reviews from ben-kaufman, jvsena42, ovitrif, and pwltr via 040374e October 19, 2026 05:41
@piotr-iohk piotr-iohk changed the title chore: prepare 3.0.0 rc2 chore: prepare 3.0.0 rc3 Oct 19, 2026
@piotr-iohk

piotr-iohk commented Oct 19, 2026 •

Copy link
Copy Markdown
Collaborator Author

RC3 validation runs on the signed candidate head (pending runs are not pass evidence):

iOS 3.0.0 (201) archived successfully and Xcode confirmed upload to App Store Connect on 2026-10-19 at 07:48 CEST. Processing and export compliance are complete. Build 201 is available to the existing Internal Testing (Synonym) and QA groups, with focused What to Test notes. No external beta-review submission was made. RC2 build 200 remains the App Store submission.

RC2 remains preserved under v3.0.0-rc2. No GitHub release publication or store submission/rollout is being performed.

@ovi-reviewer ovi-reviewer Bot 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.

Verdict: ✅ Approve

Review: diff 86 files. The push recreated the preparation on master 7b3f093, replacing 59278ad from my earlier review, so I reviewed it in full. I found no defects.

  • The 3.0.0 section holds all 84 consumed fragments, each once, under its own type. #532 stays under Changed, as in RC2.
  • scripts/collect-changelog.sh --target next at 7b3f093 produces the same 84 entries.
  • Every PR merged since RC2 carries the fragment for its entry, except #991, which only pins Paykit 0.1.0.
  • Everything below 3.0.0 matches the v2.5.1 tag, and the compare links read v2.5.1...v3.0.0.
  • All six app, widget and notification configurations read 3.0.0 (201), one build above RC2's 200. Test targets are unchanged.
  • project.pbxproj and Package.resolved agree on ldk-node 0.7.0-rc.76 and Paykit 0.1.0. rc.76 keeps lightning 0.2.7, so the 2.5.1 security fix still holds.

Pair PR synonymdev/bitkit-android#1512: equivalent at 6e4bc01.

  • It moves to 3.0.0 (194), the same one-build step, with the same bitkit-core, ldk-node, Paykit and vss pins.
  • The profile-deletion fix now ships on both platforms:

QA for 040374e:
No test to run: the QA notes list none, and this PR changes no app code against master 7b3f093.

CI at this head:

  • Passed:
  • The cancelled e2e-tests and E2E Migration (iOS) rows are duplicate runs on this head.
  • No run covers an upgrade from 2.5.1, the latest public release. This stays open from RC2.
🟠 RN v1.1.6 restore failed in the test, not the app

The RN v1.1.6 restore failed the same way on all three attempts.

  • After the restore, Home showed 445 846 sats and the three migrated activities, and the first check passed.
  • The test then relaunches Bitkit. The USDT intro opens over Home, so TotalBalance-primary stays hidden for the whole 180 s wait.
  • The relaunch step checks for the USDT intro once, then waits only for Background Payments and QuickPay.
  • The app did the same at RC2. In the passing RC2 run, the test logs show that check 9 s after the relaunch, when the intro was already up, and the test declined it.
  • Here the check ran 4 s after the relaunch, before the intro appeared.
  • A fix in synonymdev/bitkit-e2e-tests: after the relaunch, wait for Home or the USDT intro, as waitForWalletHome() does.



@piotr-iohk piotr-iohk changed the title chore: prepare 3.0.0 rc3 chore: prepare 3.0.1 release Oct 19, 2026
@piotr-iohk

piotr-iohk commented Oct 19, 2026 •

Copy link
Copy Markdown
Collaborator Author

3.0.1 preparation and validation

Updated 2026-10-19 12:44 CEST. Production build 202 and signed v3.0.1 remain at 2eceedb1cef2497533412912b582db7bbefb5dd1.

Completed checks on the built revision

Migration attempt 2 passed legacy RN source-wallet preparation, RN v1.1.6 upgrade/restore and native 2.5.0 upgrade/restore. All staging shards, including nightly UI, passed. The earlier setup failure is retained in the run history.

Documentation-only follow-up

Signed commit dfc3849833cd9dbcb90788040cb9f1b956fdf192 is Verified on GitHub and changes only the two release comparison URLs in CHANGELOG.md:

  • 3.0.1: v3.0.0..v3.0.1
  • 3.0.0: v2.5.1..v3.0.0

This compares the release snapshots directly, avoiding noise from their divergent preparation histories. No changelog entry text, application code, dependency, version or build setting changed. Comparison against the built tag is empty outside CHANGELOG.md. Automatic PR checks may start on the documentation-only head; the completed runtime results above belong to the actual built/tagged revision, not this new head. No manual tests or rebuild were dispatched.

Drafts and artifacts

Current 3.0.1 draft and changelog · Twin PR

All four GitHub release drafts remain unpublished. Every release tag is unchanged. Android 195 APKs/symbols/checksums and the iOS 202 TestFlight build are unchanged; no AAB is attached to the 3.0.1 Android draft. The fixed tag review findings have been answered and resolved.

Remaining release gates

  • Final production-build smoke sign-off for Android 195 / iOS 202.
  • Current-head reviewer acknowledgement and any automatic PR checks required for the eventual merge.
  • Agreed store sequence: await iOS 3.0.0 approval, publish 3.0.0 on both platforms together, then submit 3.0.1 once validation is signed off.

No branch merge, store submission/publication, GitHub release publication or updater change was performed.

@jvsena42 jvsena42 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Delta review since my approval at v3.0.0-rc2: 12 merged PRs plus the rc3 and 3.0.1 metadata commits. No HIGH/MEDIUM. One LOW (tag and changelog link) is inline.

Checked and clean:

  • Version: 3.0.1 is above every tag on both lineages (202 in all six configurations).
  • Changelog: every fragment is consumed, every user-facing PR merged since rc2 has a line, the 2.5.1 section is preserved, and nothing flag-gated is described.
  • Dependencies: pins match synonymdev/bitkit-android#1512 (bitkit-core 0.8.0-rc6, ldk-node 0.7.0-rc.76, paykit 0.1.0, vss 0.5.23). ldk-node rc.76 changes only electrum.rs: it replaces a broken client and retries a broadcast once within the deadline, and only non-final maps to Rejected. lightning 0.2.7 is kept, so the v2.5.1 fix is carried, and there's no persisted-format change.
  • Cancel-expired release (#1559/#1562 and the iOS pair): it forces a sync and refuses when the wallet knows any candidate. The approval is written before the proof is removed, and the release txid is saved before broadcast. It adds only confirmed extra coins, at a fee above every candidate's, and declining the PIN leaves the guard in place.
  • USDT replacement guard and locked-link QuickPay suppression: traced, clean.
  • Defaults: no flag defaults flipped, and no debug hosts in the delta.

Release precondition, not a finding: paykit 0.1.0 drops the 5-minute uncertain-write cooldown and relies on Homeserver 0.16.2+ with GCS to refuse late writes, without checking the server version. Confirm the production homeserver(s) run it before shipping.

Not approving yet: the migration and e2e jobs are still pending at this head. I'll approve once they're green.

Device gate: no device check needed (version and changelog only over RC3; each product PR was gated on its own PR); perf: not relevant; l10n: no UI text changed in this commit range.

iOS note: piotr's rc3 comment says RC2 build 200 remains the App Store submission. That build has none of this delta, so switch the submission to 202 or withdraw 200 before it can go out.

Comment thread CHANGELOG.md Outdated
jvsena42
jvsena42 previously approved these changes Oct 19, 2026

@jvsena42 jvsena42 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Approving at 2eceedb. CI is green at this head: unit, integration, e2e-local, and E2E Migration (2.5.0 native upgrade/restore, v1.1.6 RN upgrade/restore; the RN restore wallet prep failed once on an adb connection error and passed on re-run).

This approval stands with one LOW open: the [3.0.0] compare link and the moved v3.0.0 tag. Fix it here or in a follow-up, your choice, and reply on the thread with which.

Still to settle before shipping, not findings:

  • Switch the App Store submission from RC2 build 200 to 202, or withdraw 200.
  • Confirm the homeserver precondition for paykit 0.1.0.

Device gate: 2eceedb — no device check needed (version and changelog only over RC3; each product PR was gated on its own PR); perf: not relevant; l10n: no UI text changed in this range.

@piotr-iohk

Copy link
Copy Markdown
Collaborator Author

Release automation overview

Verified 2026-10-19 12:55 CEST against the built/tagged revisions.

3.0.0 — RC2, to publish first

3.0.1 — follow-up release

These statuses concern the actual built revisions. Any automatic checks on the later comparison-link-only commits are separate. Manual release sign-off, store approvals and publication remain separate gates.

@ovi-reviewer ovi-reviewer Bot 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.

Verdict: ✅ Approve

The PR moved to dfc3849 after this run; these results are for 2eceedb.

Review: diff, 2 files, the delta since my review at 040374e. dfc3849 arrived during this review; it changes only the two compare links and is not covered here.

Findings: none.

  • All six app, widget and notification configurations read 3.0.1 (202). Test targets are unchanged.
  • The 3.0.0 section is byte-identical to the RC2 changelog at 59278ad, including its 2026-10-16 date. 3.0.0 and 3.0.1 together hold exactly RC3's 84 entries.
  • 3.0.1 holds the eight fragments added by the PRs merged between RC2 and RC3. #991 only pins Paykit 0.1.0, so it has no entry.
  • On GitHub, v3.0.0 and v3.0.0-rc2 both point to 59278ad, and v3.0.1 to 2eceedb. Both tags and the head commit are Verified. This settles @jvsena42's tag finding, which I confirmed in its thread.

QA for 2eceedb:

Test 1: Upgrade from 2.5.1 ✅ A wallet with a Lightning channel made on 2.5.1 (198) kept its balances, history and channel after 3.0.1 (202) was installed over it.

Regtest Debug builds of v2.5.1 and 2eceedb on an iOS 26.5 simulator.

  • On 2.5.1, a new wallet received 200 000 sats, tagged upgrade251, and moved 50 000 sats to spending through a Blocktank channel. Home showed savings 147 358 and spending 50 000.
  • After 3.0.1 was installed over it, the app opened straight to the same Home, with the new USDT intro on top. Balances, both activities and the tag were unchanged.
  • App Status showed the Bitcoin node connected, the Lightning node synced, the Lightning connection open and a new full backup.
  • A 1 000-sat Lightning payment arrived over the migrated channel, raising spending to 51 000. Support showed 3.0.1 (202).
  • After a relaunch, savings 147 358, spending 51 000 and all three activities held.
upgrade-2.5.1-to-3.0.1.2x.mp4

Test 1 covers the upgrade path my earlier reviews left open. CI's migration matrix still starts from 2.5.0, and synonymdev/bitkit-e2e-tests has no archived 2.5.1 build to start from.

Not driven: the final 3.0.1 production-build smoke QA. It is the release gate on the TestFlight 202 build and runs on mainnet.

CI at this head, all passed:

  • Unit tests
  • Integration tests
  • Translations
  • Local E2E
  • Staging E2E, all four shards. The ios_nightly_ui shard's first attempt never started a test, because Appium timed out creating the session. Its second attempt passed all 28 tests.
  • E2E Migration: native 2.5.0 upgrade and restore, RN v1.1.6 upgrade and restore. The RN restore passed this time, but the relaunch check I flagged at 040374e is unchanged in synonymdev/bitkit-e2e-tests, so it can fail the same way again.

Covered: the delta 040374e..2eceedb. The changelog has no runtime effect, so no device case drives it; Test 1 shows the new version.

Pair PR synonymdev/bitkit-android#1512 matches.

  • At dba2a21 it makes the same 3.0.1 split with the same dates, and goes from 194 to 195, the same one-build step as 201 to 202 here.
  • Its fba36fd makes the same link change as dfc3849.

@ovi-reviewer ovi-reviewer Bot 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.

Verdict: ✅ Approve

Posted as a comment: not every planned case passed.

Review: diff, 1 file, the delta since my review at 2eceedb.

Findings: none.

  • v3.0.0 and v3.0.0-rc2 both point to 59278ad (RC2, build 200), so dropping -rc2 from the 3.0.1 link changes nothing. v3.0.1 points to 2eceedb (build 202).
  • 59278ad is not an ancestor of 2eceedb; the two meet at eb3156a. So v3.0.0..v3.0.1 diffs the RC2 build against 3.0.1 directly (53 files), where the old three-dot link measured from eb3156a (129 files). v2.5.1..v3.0.0 has the same shape.
  • Both links open as two-dot comparisons on GitHub. No script or workflow reads these lines, and [Unreleased] still reads v3.0.1...HEAD.

QA for dfc3849:
No device case. Outside CHANGELOG.md the tree is identical to 2eceedb, and the app target does not bundle CHANGELOG.md, so this head builds the same 3.0.1 (202) app. Test 1 (upgrade from 2.5.1) in my review at 2eceedb holds for it.

Not driven: the final 3.0.1 production-build smoke QA. It is the release gate on the TestFlight 202 build and runs on mainnet.

CI at this head:

Covered: the delta 2eceedb..dfc3849. The two link lines have no runtime effect, so no device case drives them.

Pair PR synonymdev/bitkit-android#1512 matches at fba36fd: the same two link changes, and its v3.0.0 and v3.0.0-rc2 also point to one commit, 19449fb.

@ovitrif
ovitrif requested a review from jvsena42 October 19, 2026 11:42

@ovitrif ovitrif left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

utAck

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.

7 participants