Skip to content

v1.2.9 — Block History Alignment & Miner View Hardening

Choose a tag to compare

@TH3BAT TH3BAT released this 03 Apr 03:29
· 24 commits to main since this release
401ce4a

What’s New

This release improves miner history correctness under RPC hiccups and strengthens the Last 20 Miners view by binding stored miner labels directly to block heights.

Fixes

Preserve block history alignment on RPC failure during miner fetch

  • Handle fetch_full_block_data_by_height errors without early return
  • Insert explicit RPC Err entries when miner data cannot be retrieved
  • Prevent Last 20 Miners view from drifting under RPC timeouts
  • Maintain one history slot per observed block height

Refactors

Bind block history to block height and remove derived height logic

  • Store block height alongside miner label in BLOCK_HISTORY
  • Remove last_block-based height reconstruction from Last 20 Miners view
  • Simplify last_n_with_heights() to return stored (height, miner) pairs
  • Preserve alignment under RPC timeouts and missed block transitions
  • Keep explicit RPC Err entries tied to actual observed block heights

Dependencies

  • tokio 1.50.0
  • futures 0.3.32
  • once_cell 1.21.4
  • regex 1.12.3
  • chrono 0.4.44

Also Included from v1.2.8 — Logging & Difficulty UI Cleanup

Improvements

Hardened logging order and clarity

  • Moved the log mutex to cover timestamp generation and file open/write
  • Ensures consistent ordering when multiple async tasks log concurrently
  • Added timezone offset to log timestamps (for example -0600, +0000) to avoid ambiguity during OS timezone transitions

Fixed epoch difficulty arrow visibility

  • Aligned epoch difficulty direction arrow gating with estimate logic
  • Replaced confirmation-based gating with blocks_into_epoch
  • Ensures the arrow appears consistently once the estimate is shown

Notes

This release focuses on small but important correctness, observability, and UI consistency improvements ahead of the v1.3 roadmap work. No changes to consensus logic or core data collection behavior.