DigiByte Core v9.26.0-rc42 Release Notes
RC42 is a DigiDollar RC41 follow-up bug-fix, wallet/RPC hardening, Qt usability/visual-QA, oracle-doc, and DGBstats release candidate on the same public testnet25 chain.
Development branch: feature/digidollar-v1
Release: https://github.com/DigiByte-Core/digibyte/releases/tag/v9.26.0-rc42
Read This First
RC42 does not reset public DigiDollar testnet.
RC41 moved public testing to testnet25. RC42 keeps that same network, same genesis, same ports, same activation heights, same 35-slot oracle roster capacity, and same oracle bundle format. Operators upgrading from RC41 should upgrade binaries and keep using their existing testnet25 data unless they are intentionally starting a fresh node.
Upgrade target:
- RC41
testnet25nodes should upgrade to RC42. - Do not wipe
testnet25just because of RC42. - Do not return to
testnet24; RC42 is still the RC41 public testnet chain. - Existing oracle operators should keep their assigned RC41/testnet25 slot and key material unless separately coordinated; RC42 adds
digibyte-maxiat testnet slot 17.
What changed from RC41:
- Wallet/RPC mint and redeem relay handling was hardened.
- Fragmented UTXO mint consolidation was completed.
- DigiDollar Qt send/status/redeem/double-click workflows were fixed.
- Qt tooltip and DigiDollar modal styling were visually QAed and corrected.
- Tier-0/minimum-mint user feedback and validation were clarified.
- DGBstats oracle/testnet25 copy and fractional difficulty display were fixed.
- The local multi-oracle testnet harness was kept runnable with live price movement.
- Testnet oracle slot 17 was assigned to active operator
digibyte-maxiwithout changing the 9-signature oracle quorum.
What did not change:
- Testnet name remains
testnet25. - Testnet P2P port remains
12032. - Default testnet RPC port remains
14026. - DigiDollar testnet activation height remains
600. - Oracle testnet activation height remains
600. - Oracle epoch length remains
40blocks. - Oracle bundle format remains
v0x03. - Mainnet activation status does not change.
- DigiDollar economic rules, ERR policy, DCA policy, address formats, and wallet database format do not change.
Summary
RC42 closes the RC41 issue-validation pass.
It fixes confirmed RC41 regressions in DigiDollar wallet/RPC commit ordering, fragmented mint consolidation, Qt status refresh, locked-wallet redeem state, dark-mode/readability styling, DigiDollar transaction details, DigiDollar modal theming, minimum mint copy, tier-0 validation, and DGBstats testnet/oracle displays.
RC42 is not an economic redesign and not a new testnet reset.
One-Line Fix Summary
- Pending mint/change visibility: added regression coverage proving mint DGB change remains wallet-owned/spendable and pending DigiDollar state remains visible.
- Mint wallet relay: fixed duplicate broadcast-before-wallet-commit so RPC/Qt mints commit through the wallet relay path once and avoid
!wtx.InMempool(). - Fragmented UTXO minting: fixed auto-consolidation to run enough passes and retry minting from usable consolidation outputs.
- DigiDollar send/status refresh: moved slow refresh paths off the blocking UI path and added explicit DigiDollar update signals.
- Startup position validation: kept the expected pre-chainstate readiness warning harmless and added retry validation once chainstate is ready.
- Redeem locked-wallet state: refreshed redeem UI on wallet lock/unlock and clarified when a redeemable vault still cannot sign.
- Dark-mode tooltips: normalized native and custom tooltip rendering so dark-mode tooltips are readable across normal wallet and DigiDollar views.
- Shutdown dialog contrast: added explicit dark-mode shutdown dialog styling.
- DigiDollar Send Total DD contrast: fixed dark-mode label/value contrast for the Total DD row.
- Literal
<qt>tooltip tags: stripped Qt rich-text envelopes before custom tooltip escaping so wrapped tooltips no longer show raw tags. - Minimum mint amount copy: below-minimum mint feedback now reports the actual configured chain minimum.
- Tier-0 / 1-hour mint clarity: accepted tier 0 in wallet validation and separated lock duration from effective redeem availability in user copy.
- DGBstats testnet difficulties: fixed fractional testnet algo difficulty rendering and Core algo-name normalization.
- DGBstats oracle onboarding: updated oracle/testnet25 copy to six active exchanges, v0x03-only bundles, 60-second exchange fetch/broadcast, and assigned-slot coordination.
- DigiDollar Overview double-click: double-clicking a recent DigiDollar transaction now switches to DD Transactions and focuses the matching row.
- DigiDollar Transactions double-click: double-clicking a DD transaction now opens a DigiDollar details window like normal DGB transactions.
- DigiDollar transaction details theme: DD transaction details use green DigiDollar styling in light and dark mode instead of normal DGB blue.
- DigiDollar modal dialogs: DD coin selection, payment request, and address book dialogs now force green DigiDollar light/dark styling.
- DigiDollar Send note field: renamed the misleading local
Labelfield to localNoteand updated tooltip/copy. - Rapid batch mint state: clarified local/stempool/mempool/rejected/confirmed DigiDollar history states and added lock-tier reject context.
- Redeem wallet relay: fixed RPC redeem to commit through wallet relay once and make rapid duplicate redeems fail cleanly.
- Owner-key guard test: corrected the source guard that proves DigiDollar owner keys are stored before wallet-owned commit.
- Multi-oracle harness: kept
test_multi_oracle_testnet.shrunnable end to end while live DGB price moved. - Testnet oracle slot 17: added active operator
digibyte-maxiwith pubkey03649d750bcad5b42b3dd0f11c8d98d62ed5afd515cd986663f81c35f086e58d47; testnet active roster is now 18 keys and quorum remains 9 signatures. - RC41 ledger: documented final validation status, test evidence, visual QA evidence, and commit hashes for all 18 tracked issues.
Testnet25 Network Details
| Item | RC42 value |
|---|---|
| Testnet name | testnet25
|
| Data directory | testnet25
|
| Genesis hash | 0x901d46e44cd40764de5ce383717b0d6afd96190e2c6b931a4737ebc8cda96df4
|
| Merkle root | 0xd3ba96686218ada443cc6ad23563b0e6a5aa4990dc8d8e6c0c3ba5dd0ef7538b
|
| Genesis time | 2026-05-21 20:00:00 UTC
|
| Genesis nonce | 384415
|
| Network magic | fe c5 b8 e6
|
| Default P2P port | 12032
|
| Default RPC port | 14026
|
| DigiDollar activation height | 600
|
| Oracle activation height | 600
|
| Oracle epoch length | 40 blocks
|
| Oracle roster | 35 reserved slots, 18 active testnet slots in RC42 |
| Oracle quorum | 9 signatures from the configured active MuSig2 keyset |
| Oracle bundle format | v0x03 MuSig2 aggregate bundle
|
Older operator notes that mention testnet24 or P2P port 12031 are stale for RC42. Use the values above.
RC42 also activates testnet slot 17 for digibyte-maxi. This adds the slot-17 x-only key to consensus.vOraclePublicKeys, raises the testnet active key count to 18, marks the slot active in vOracleNodes, and keeps the oracle quorum at 9 signatures.
Minimum RC42 operator checklist:
- Back up wallets and oracle key material.
- Install/run RC42.
- Keep using
-testnetand the existingtestnet25datadir. - Keep P2P port
12032open and advertised. - Confirm
getblockchaininforeports the testnet25 genesis chain. - Confirm
getoraclesshows the expected 35-slot roster, with active configured operators online and reserve slots inactive. - Confirm assigned oracle slot/key material still matches the RC42/testnet25 chainparams roster.
Validation Status
Focused RC42 validation completed on May 26, 2026 from feature/digidollar-v1.
| Gate | Status |
|---|---|
Build: make -j$(nproc)
| PASS |
Unit tests: ./src/test/test_digibyte --show_progress
| PASS, 3386 test cases |
Qt tests: env QT_QPA_PLATFORM=offscreen src/qt/test/test_digibyte-qt
| PASS |
Functional tests: python3 test/functional/test_runner.py --jobs=$(nproc)
| PASS, all runnable tests passed from 371 listed jobs |
Fuzz smoke: python3 test/fuzz/test_runner.py --par 8 /tmp/digibyte-fuzz-seed
| PASS, 247 targets with one seed input per target |
Multi-oracle testnet25 script: ./test_multi_oracle_testnet.sh
| PASS end to end, 222 OK, 0 failed, warning-only live-market observations |
DGBstats tests: npm run test:run
| PASS, 23 files / 523 tests |
DGBstats build: npm run build
| PASS with pre-existing ESLint warnings |
DGBstats E2E: npm run test:e2e
| FAIL, broad pre-existing Playwright environment/data failures |
DGBstats Server tests: npm test
| PASS, 8 files / 152 tests |
Whitespace check: git diff --check
| PASS |
Important validation notes:
- The final multi-oracle run used live market data and passed all DigiDollar mint, redeem, transfer, persistence, reindex, restore, and oracle checks with 18 active local oracles and 9-of-35 consensus; live oracle consensus price during the run was about
$0.00356/DGB. - The final multi-oracle script log was
/tmp/digidollar_debug_logs/test_run_20260526_172022.log. - The functional suite reported environment-gated skips only and warned that
feature_assumeutxo.pyandfeature_assumevalid.pyare not in the configured test list. - A final tagged-head functional run with explicit
--jobs=$(nproc)passed in 190 seconds runtime / 4507 seconds accumulated runtime. - DGBstats Playwright E2E remained red independently of the RC42 fixes, with broad loading-state, mocked-data, touch-target, browser-matrix, and route-specific expectations failing in this environment.
Qt Visual QA
RC42 included automated offscreen Qt tests and X11 visual QA for the affected wallet surfaces.
Screenshots inspected after the fixes:
- Global/custom tooltip readability:
/tmp/digibyte_tooltip_qa.png - DigiDollar transaction details dark mode:
/tmp/digibyte_dd_transaction_details_dark_qa.png - DigiDollar transaction details light mode:
/tmp/digibyte_dd_transaction_details_light_qa.png - DigiDollar coin control dark mode:
/tmp/digibyte_dd_coin_control_dark_qa.png - DigiDollar coin control light mode:
/tmp/digibyte_dd_coin_control_light_qa.png - DigiDollar payment request dark mode:
/tmp/digibyte_dd_receive_request_dark_qa.png - DigiDollar payment request light mode:
/tmp/digibyte_dd_receive_request_light_qa.png - DigiDollar address book dark mode:
/tmp/digibyte_dd_address_book_dark_qa.png - DigiDollar address book light mode:
/tmp/digibyte_dd_address_book_light_qa.png
Visual QA covered dark-mode global tooltips, DigiDollar tooltips, long wrapped tooltip paths, pending transaction tooltip normalization, shutdown window contrast, DigiDollar Send Total DD contrast, locked-wallet redeem state, DD Send local Note copy, DD Overview double-click navigation, DD Transactions double-click details, and green DD-specific modal styling in dark and light mode.
Commit Summary Since RC41
ef3bb06ab6release: bump version to v9.26.0-rc42139e8ecb55test: cover DigiDollar mint change and pending statef148f5b4e6fix: commit DigiDollar mint transactions through wallet relay once33ca60e94ffix: complete fragmented UTXO mint consolidationd7097b05f6fix: commit DigiDollar redeem transactions through wallet relay once515ca6d8f4fix: refresh redeem state when wallet lock state changescb44ecde3dfix: correct DigiDollar send dark-mode total contrastf1257101d0fix: style shutdown dialog for dark mode872126c66afix: normalize Qt tooltip rendering and dark-mode contrastead2b2e3f7fix: rename DigiDollar send label field to local note95a3a1da59feat: open DigiDollar recent transaction details2d8b0808defix: keep DigiDollar send and status refresh responsiveb4152410f3fix: report DigiDollar minimum mint amount for below-min input8c82100b23fix: accept tier 0 wallet validation and clarify effective unlock402c9cdd45fix: retry DigiDollar position validation after startup readiness65f15d4775fix: clarify DigiDollar local transaction state1aa0e43334test: align DigiDollar owner key commit guard1f50d91f89docs: record RC41 issue validation results8da7c73b97fix: keep local multi-oracle testnet harness runnablea5d8dd467ffix: keep DigiDollar send total label dark64c72f2a4efix: normalize Qt tooltip renderingd0605a19effeat: open DigiDollar transaction details204fd142a2docs: update RC41 visual QA evidencea28c7e2d76fix: theme DigiDollar transaction details green8ebab1fdaedocs: record DD transaction detail theme QA87463868bbDOC Cleanup8dcf61c097fix: force DigiDollar detail dialog green theme5cfea2fea5docs: record DD detail dialog fallback QAd57b7875e8fix: theme DigiDollar modal dialogs green7319a73947docs: record DD modal visual QA14da7a8d9edoc: finalize RC42 release notes8e9b4b4c6atest: remove brittle DigiDollar RPC timing assertionf7f5e5a1eechainparams: add digibyte-maxi testnet oracle
Related DGBstats commits:
/home/jared/Code/dgbstats931984f3f48a473d1b15095d35858e150e56512efixed fractional testnet difficulty display and Core algo-name normalization./home/jared/Code/dgbstats8e68bcebc1437c0a21677dcb0c145dee194315b3updated oracle/testnet25 onboarding copy.
Notes For Testers
Please focus RC42 testing on:
- Upgrading RC41 nodes without wiping
testnet25. - Rapid mint and redeem attempts from RPC and Qt.
- Fragmented UTXO minting and consolidation.
- DigiDollar send/status refresh while the wallet is busy.
- Redeem screens when a vault is redeemable but the encrypted wallet is locked.
- Tooltips in light and dark mode across normal DGB pages and DigiDollar pages.
- DD Overview recent transaction double-click navigation.
- DD Transactions double-click details in light and dark mode.
- DigiDollar coin selection, payment request, and address book dialogs in light and dark mode.
- Tier-0 / 1-hour mint confirmation copy and effective unlock expectations.
- DGBstats testnet difficulty display and oracle/testnet25 operator copy.
Oracle operators should keep using testnet25, P2P port 12032, and their assigned RC42/testnet25 slots.
Known Risks
- RC42 does not include mainnet activation. Mainnet launch still requires the explicit release and activation decision.
- Mainnet reserve oracle slots remain placeholders until operators provide mainnet oracle keys and a later release adds those keys to chainparams.
- If fewer than 9 valid active oracle operators are online and fresh, new oracle bundles should fail closed.
- DGBstats Playwright E2E remains red independently of the RC42 fixes; the DGBstats changes in this pass are covered by passing Vitest tests and production build.
Bottom Line
RC42 is the RC41 stabilization release candidate for the same public testnet25.
It keeps the testnet and DigiDollar economics unchanged, fixes the validated RC41 wallet/RPC and Qt issues, completes the requested visual QA cleanup, updates DGBstats/operator copy, and leaves the network ready for continued testnet25 validation.