What's Changed
- fix(sync): keep median timestamp windows in height order by @SWvheerden in #8195
- fix(grpc): harden auth scheme logging, credential validation, covenants, and conversions (#8021) by @Brayaniglesias08 in #8169
- fix(sync): horizon sync resume and peer handling improvements by @SWvheerden in #8201
- fix(grpc,deps): pin liblmdb-sys by rev, upgrade rcgen to 0.14, and drop argon2 rc pin (#8022) by @Brayaniglesias08 in #8183
- fix(chain-storage): read the landed key when picking a validator node activation epoch by @SWvheerden in #8203
- fix(wallet): batch scrape_wallet transactions by TRANSACTION_INPUTS_LIMIT by @Brayaniglesias08 in #8189
- fix(header-sync): do not record out-of-sequence headers as bad blocks by @SWvheerden in #8204
- fix(mempool): keep height-expired spends out of block templates by @SWvheerden in #8244
- fix(chain-storage): stop the consistency check reporting healthy databases as corrupt by @SWvheerden in #8245
- fix(chain-storage): keep orphan chain tips consistent and bound the RandomX keys gossip can select by @SWvheerden in #8246
- fix(base-node): derive the pruning target from validated headers by @SWvheerden in #8257
- fix(base-node): only disable block acceptance after a peer has proven a stronger chain by @SWvheerden in #8258
- fix(common): harden config override loading, DNS server list parsing, and ApplicationType::from_str by @ket4min-susan in #8225
- fix(comms): apply the RPC client read deadline once per request by @SWvheerden in #8261
- fix(chain-storage): make a rewind past the pruning horizon an atomic reset to genesis by @SWvheerden in #8260
- fix(utilities): minotari_app_utilities hardening batch (#8041) by @Vallejo1921 in #8149
- fix(build): emit check-cfg and warn on default testnet (#8023) by @Vallejo1921 in #8150
- fix(validation): reject headers whose kernel MMR size does not grow by @SWvheerden in #8262
- fix(chain-storage): only reset a pruned node for a chain stronger than everything it holds by @SWvheerden in #8263
- fix(mempool): remove the unused get_state method from the peer mempool RPC by @SWvheerden in #8265
- fix(common-types): split SeedWords::from_str on any whitespace by @sdbondi in #8310
- fix(metrics): reuse HTTP client, check push status codes, and set Prometheus Content-Type by @ket4min-susan in #8232
- fix(comms-dht): bound Join gossip and OnConnect peer sync admission by @SWvheerden in #8266
- fix(chain-storage): inspect seeked cursor key in get_next_activation_epoch by @sonson0910 in #8197
- fix(base-node): cache per-algorithm targets for the new-block difficulty check and bound the walk by @SWvheerden in #8318
- fix(deps): update libz-sys to 1.1.31 to mitigate RUSTSEC-2026-0418 (#8202) by @Vallejo1921 in #8255
- fix(comms): log unsupported messaging protocol negotiation at debug by @SWvheerden in #8321
- fix(libtor): preserve case-sensitivity of log destination path (#6888) by @Vallejo1921 in #8256
- fix(validation): check chain-linked timelocks at the height the body is mined at by @SWvheerden in #8319
- fix(base-node): wait for several peers before declaring initial sync by @SWvheerden in #8320
- fix(comms-dht): fix flood-ban counting, peer log spam, config docs and GetPeers clients by @SWvheerden in #8322
- fix(validation): tighten kernel burn commitment checks by @SWvheerden in #8323
- fix(mmr): validate leaf position and bounds in MerkleProof::verify and fix leaf index lookups by @cyczzhao-lab in #8294
- fix(header-sync): refresh cached chain metadata after a rewind by @SWvheerden in #8329
New Contributors
- @ket4min-susan made their first contribution in #8225
- @sonson0910 made their first contribution in #8197
- @cyczzhao-lab made their first contribution in #8294
Full Changelog: v6.3.0-pre.2...v6.3.0-pre.4