Skip to content

Changelog

Every fix and update to the NexusPool core, with its date.

v0.8.26.12
  • A solved block can no longer be lost because a rig rolled version bits the pool did not allot it. Some firmware sends back the whole version field instead of only the portion it was given. The pool used to turn those submissions away before ever checking whether one had solved a block, so a genuine winner from such a rig would have been thrown away in silence. Those submissions are now rebuilt exactly as the rig hashed them and put through the block check like any other, but only after the pool confirms the resulting header is one the network would accept. A header that fails that confirmation is still refused rather than sent on, because publishing an invalid block would be worse than the problem being fixed. Such a submission still earns no share credit, exactly as before. The only change is that it can now win, and rigs that stay within their allotment, which is every rig this pool has seen, are unaffected.
  • Submissions the pool cannot read are now counted instead of vanishing. A malformed submission has always been answered with an error on the wire, but it left no trace in your statistics or in the operator's, so a misconfigured rig could mine into nothing and neither side could tell why from the pool's own numbers. Those now appear as rejected shares like any other rejection. The reply sent to the rig is byte for byte what it was, and nothing is credited that was not credited before. This only makes an invisible failure visible.
  • The Litecoin and Dogecoin connection endpoint now enforces the same per-address connection limits that the Bitcoin and Bitcoin Cash endpoints already had. It had been running with those limits switched off, which meant a single source could open unlimited connections and spend the pool's time answering them. Connected miners sit far below the limit and are unaffected. No effect on mining, share accounting, or payouts.
  • Your dashboard now warns you when a rig reports its voltage regulator running hot. The pool already received that reading and displayed it, but never compared it against anything, and on this class of hardware the regulator reaches its limit before the chip does. Watching chip temperature alone can miss it entirely. Rigs that do not report a regulator temperature are unaffected, and the pool still only advises: it never changes a rig's settings. Also corrected: the efficiency comparison against other rigs of the same model could flag a perfectly healthy rig when only two of that model were present, since two rigs have no meaningful middle to compare against. It now requires at least three. Display and advice only; no effect on mining, share accounting, or payouts.
  • Two Stratum V2 messages the pool declines to send are no longer dropped in silence. If an outgoing frame exceeded the size ceiling, or its header could not be serialized, the pool returned without sending and without a word, so from either end that was indistinguishable from the pool simply having nothing to say. Both now record the message type, its size and the connection before refusing. Neither is reachable by the traffic the pool builds today, which is precisely why they are worth recording: if either ever appears, it is news rather than noise. Both checks still run before any encryption, so a refusal never consumes an encryption counter and never leaves a connection out of step. No effect on mining, share accounting, or payouts.
  • A rig asking for a protocol or a version the pool does not serve now receives the specific error the standard defines, naming the reason, instead of a success reply it cannot act on. Before, such a connection was told everything was fine and then found that nothing worked, which left it retrying against a pool that looked healthy from the outside. This reaches only connections that were already going to fail; every rig currently mining negotiates normally and is untouched. No effect on mining, share accounting, or payouts.
v0.8.26.5
  • New: a redesigned Worker Statistics and Pool Statistics experience for Bitcoin, organized around three time horizons: what's happening on the current block, rolling short-term windows, and your all-time record. Two new tools live inside it: an expected-time-to-block estimate built from your fleet's real measured hashrate and the network's current difficulty, and a 1-to-100 score showing how close your best-ever share came to solving a block, tracked per Bitcoin address, so it survives any single rig going offline. Pool Statistics gains its own leaderboards (top hashrates, best share, mining software, and a privacy-preserving geographic view), a live view of the most recent Bitcoin blocks, and a running Blocks Found count. Fully responsive across screen sizes. Display only; no effect on mining, share accounting, or payouts.
  • The redesigned dashboard is now available for Bitcoin Cash too, carrying that chain's own visual identity throughout.
  • Fixed: a brief connectivity hiccup while viewing your dashboard could make it silently fall back to the previous, older layout until your next successful refresh, instead of simply retrying and staying put. A failed check now only changes what's shown when there's genuinely nothing to display yet; once your data is on screen, it stays there. Display only; no effect on mining, share accounting, or payouts.
  • Fixed: the Sign Out button didn't fully end a session; a subsequent page load could silently restore it. Signing out now clears your session completely.
  • Stratum V2 extranonce uniqueness: two miners connecting over separate Stratum V2 connections could, in a narrow case, be handed the identical extranonce prefix and unknowingly search the same nonce range. Prefixes are now drawn from a single pool-wide sequence instead of one counter per connection, so every connected miner searches a distinct range. No effect on share accounting or payouts.
  • Block-submission integrity, rebuilt: the pool's internal check that a solved block matches what it committed to now recomputes the block's actual merkle root and compares it directly, instead of only counting transactions. This closes a narrow case where a body with the right transaction count but wrong contents could have passed unnoticed. And if that check ever does disagree with the pool's own block assembly, the block is no longer discarded on the spot: the pool logs the anomaly loudly and submits it anyway, leaving the Bitcoin network itself the final say on validity. No effect on mining, share accounting, or payouts under normal operation; this closes an edge case that has never fired in production.
  • Stratum V2 startup safety: the pool now checks its own certificate's validity window before opening its encrypted listener, and refuses to start rather than silently accept connections it can no longer authenticate correctly. This closes off a failure mode that would otherwise look healthy from the outside while every V2 miner failed to connect.
  • Security hardening: the pool now limits how many Stratum V2 connections may be mid-handshake at once, rejecting new ones past that limit before any cryptographic work is spent on them, protection against a connection flood or a fleet-wide reconnect storm exhausting the pool's resources. Ordinary reconnects sit far below the limit and are unaffected.
  • Reliability: if the pool's stratum port ever fails to open, for example because something else already holds it, the pool now logs exactly why instead of exiting without a trace, cutting diagnosis time for any future incident of this kind.
  • Block-submission integrity now covers every chain the pool serves, Bitcoin included: before a solved block reaches the network, the pool recomputes that block's actual merkle root from its own contents and compares it against the header it already committed to. If the two ever disagree, the pool logs the anomaly loudly and submits the block anyway: the network itself stays the only authority on whether a block is valid, and a false alarm from our own check must never be the reason a block is lost. No effect on mining, share accounting, or payouts.
  • Stratum V2 connection setup: a client asking for a protocol or a version the pool does not serve used to receive a success it could not act on, and would then wait for work that was never coming. It now receives the specific error the standard defines, so a misconfigured client fails immediately and says why. Every current mining client negotiates inside the supported range and is unaffected.
  • Stratum V2 protocol isolation: a message belonging to a protocol extension the pool has not negotiated is no longer executed as the core message that happens to share its number; it is refused and recorded instead. Unrecognized message types are now recorded as well, rather than dropped without a trace, so a client-side protocol mismatch can be diagnosed from the pool's side instead of looking like unexplained silence on both.
  • Job integrity: if the pool ever cannot express a job exactly, a merkle path or a coinbase larger than the protocol message is able to carry, it now refuses to send that job at all. Previously the oversized part was quietly trimmed, which would have left the miner hashing against a job that could never match the pool's own. Refusing is the safe outcome, and it is recorded rather than silent. Work in normal operation sits far inside these limits.
  • Block retention: the pool keeps a margin of recent work in memory so that a block solved against slightly older work can still be assembled and submitted. That margin used to be only a convention in the code; it is now enforced when the pool is built, so a future change cannot narrow it and quietly reintroduce a path where a solved block could not be rebuilt.
v0.8.26
  • Litecoin with Dogecoin merged mining, working end to end for real rigs. Point a miner at the pool with the two-address username, your Litecoin payout address and your Dogecoin payout address together, and it now mines from the very first share, over both classic (V1) and modern, encrypted (V2) connections. Before, a valid submission from a rig using this format could be turned away before it was ever graded; the pool now accepts it and checks that one hash against both chains at once, so the same work can win a Litecoin block, a Dogecoin block, both, or neither, at no extra hashrate and 0% fee. Each chain's reward is paid on-chain straight to the address you gave for it; no effect on how a won block is found or paid.
  • Dogecoin merged mining is now visible inside the Litecoin dashboard and landing: pool-wide and per-address Dogecoin blocks found, the merged-mining proposition, and the Dogecoin block reward, with no separate site to visit. While the pool's Dogecoin node is still catching up to the network, the pages say so plainly instead of showing an ambiguous zero, and Litecoin mining is unaffected the whole time. Display and accounting only; no effect on mining or payouts, and Bitcoin and Bitcoin Cash are unchanged.
  • A distinct visual identity for the Bitcoin Cash landing page, carried through the entire page rather than just the top: the pool's live network, its miners and peers on the map, now anchors the page itself, with hashrate, workers online, and connection status read straight off it, and the difficulty comparison, the miner connection guide, and a one-line Glass Ledger pitch all carry the same look through to the page's own background. Presentation only; no effect on mining, share accounting, or payouts, and other chains' pages are unchanged.
v0.7.26.20
  • Cold-start resilience: the pool's internal health monitor no longer restarts the pool when the Bitcoin node is merely slow to answer during startup. The monitor budgets how long one pass of the pool's chain loop may take, but that budget only accounted for part of the work, and one of the node queries in that pass had no time limit of its own. After a machine reboot, with the node still loading and catching up, a single slow query could outlast the entire budget and the monitor would restart a pool that was working correctly. Every step in that pass is now individually time-limited and the budget accounts for all of them, so a slow query costs one retry instead of a restart. A genuinely stuck pool is still detected and restarted exactly as before. No effect on mining, share accounting, or payouts.
  • Stratum V2 block integrity: a block solved over a Stratum V2 connection is now assembled from the exact work assignment the winning rig was mining, instead of from the pool's most recent one. In a narrow timing window, when the pool refreshed its work between handing a rig its job and that rig solving it, the two could disagree and the network would reject the finished block. That window is now closed. If the originating work assignment is no longer held, the pool declines to submit rather than risk sending an inconsistent block, and says so in its log. Classic (V1) connections were never affected. No effect on share accounting or payouts.
  • Rig identity on chains beyond Bitcoin: a Stratum V2 rig's protocol and hardware/firmware identity now shows correctly in Worker Statistics and is correctly counted in that chain's Pool Statistics, instead of appearing as unknown. Bitcoin was unaffected throughout. Display only; no effect on mining, share accounting, or payouts.
  • Glass Ledger, every chain: signed receipts are now correctly served for every chain the pool supports. A configuration gap had left them empty on chains beyond Bitcoin even though the pool was sealing them normally the whole time. No effect on mining or payouts.
  • Payout Preflight accuracy on chains beyond Bitcoin: the preview coinbase now carries that exact chain's own identifying tag, matching byte-for-byte what the pool actually mines. Previously it silently reused Bitcoin's tag. Bitcoin's preflight is unaffected. A public, read-only tool; no effect on mining, share accounting, or payouts.
  • Chain-consistent pages: the Terms of Use, the FAQ, and how the site appears when shared or found in search now consistently name the chain they're for throughout, instead of a page for a chain beyond Bitcoin sometimes still reading as if it were Bitcoin. Presentation only.
  • The BTC/BCH switcher at the top of the site no longer shifts position when moving between chains.
  • Configuration hardening: a chain with no live market-price feed of its own can no longer end up displaying another chain's price or market data. It now always shows no price data in that case, matching the existing rule of never showing borrowed numbers. No effect on mining, share accounting, or payouts.
v0.7.26.15
  • Block-template integrity: before building work for miners, the pool now independently double-checks the difficulty target it's about to hand out against the network's own. Before, a mismatch here would only surface after the fact, once a finished block was rejected. Now the pool catches it up front and refuses that piece of work outright rather than build on it, automatically serving the last known-good work while it retries; a miner never sees a gap. No effect on mining, share accounting, or how a won block is found and kept.
  • Accounting durability: the pool's internal record-keeping, shares, blocks, and other accounting, now survives a sustained storage hiccup without losing anything. Writes that can't land immediately are queued to a recovery file and replayed automatically the moment storage recovers, with nothing ever counted twice. No effect on mining or payouts; this is entirely about the pool's own bookkeeping staying accurate under fault conditions that are otherwise invisible day to day.
  • Block-broadcast robustness: when a found block is broadcast to multiple nodes at once, one slow or unresponsive node can no longer hold back the others from hearing about it quickly. Each node gets its own bounded window to respond, so a healthy node's acceptance is never delayed by a stuck one. No effect on mining, share accounting, or payouts.
  • Reconnection efficiency: a brief node-connection blip no longer causes the pool to redo work it already had in hand. A repeated notification from a reconnecting node is now recognized and skipped instead of triggering a redundant rebuild. No effect on mining, share accounting, or payouts.
  • Latency telemetry: the pool now measures, in microseconds, how long it takes from seeing a new block to handing a miner fresh work, tracked separately for classic (V1) and modern (V2) connections. Diagnostic only; no effect on mining, share accounting, or payouts.
  • Miner identity display: a rig connected over the newer Stratum V2 protocol now shows its real hardware/firmware next to the protocol badge, instead of the badge's own label standing in for the rig's identity. Fixes the Pool page's Connected Miners table and each worker's Miner Type field; a rig that doesn't announce any identity now shows a plain "SV2 miner" label rather than repeating the protocol name. Classic (V1) connections are unaffected. Display only; no effect on mining, share accounting, or payouts.
  • Block-assembly hardening: an internal consistency check in how the pool assembles a block was tightened. Routine maintenance with no observable change in production; no effect on mining, share accounting, or payouts.
  • Notification-channel accuracy: the pool no longer rebuilds its block-notification listener after an ordinary quiet stretch between blocks. A healthy listener was occasionally, and wrongly, treated as stalled and torn down for no reason. It's now rebuilt only when it has genuinely stopped delivering. The pool also no longer prepares a new work assignment twice for the same block on the rare occasion its two internal block-arrival signals both notice it a moment apart; each new block now updates fleet-wide work exactly once. No effect on mining, share accounting, or payouts.
  • Encrypted stratum, beyond Bitcoin: Stratum V2's encrypted, authenticated connections, already available for Bitcoin, are now supported on the pool's other chains as well, each with its own independent authority key, and an optional encrypted transport is available for classic (V1) connections too. No effect on mining, share accounting, or payouts on any chain.
  • Second block-assembly safeguard: beyond the existing template-integrity check (above), the pool now also independently re-verifies a solved block's internal structure the instant before submitting it, on every chain the pool supports. In the extremely unlikely event that check ever disagreed, the pool refuses that submission and keeps mining rather than risk losing a win. No effect on mining, share accounting, or payouts; this has never fired outside of deliberately adversarial testing.
  • Network-response hardening: the pool's handling of certain node-response formats used by some of its chains is now more robust against malformed or unusually large data, found and closed through automated adversarial testing of the affected code paths before it could ever be reached in production. No effect on mining, share accounting, or payouts.
  • Multi-chain dashboard: the pool's live statistics view, hashrate, shares, workers, blocks found, network status, and per-address lookup, is now available as a fully separate, isolated instance for each chain the pool supports beyond Bitcoin. Each chain's view shows only its own data; Bitcoin-specific market/price/mempool context is simply not shown where it has no equivalent, rather than appearing empty or borrowed from another chain. No effect on mining, share accounting, or payouts on any chain.
  • Unified dashboard, one click between chains: every chain's dashboard now lives under a single site instead of a separate one per chain, with a small switcher in the navigation bar to move between them. Each chain still shows only its own data, its own connection details, and its own authority key, exactly as before. Presentation only; no effect on mining, share accounting, or payouts on any chain.
v0.7.26.13
  • Stratum V2 interoperability: the coinbase the pool hands a translator proxy is now laid out so the proxy's optional payout-verification step can read it. Before, the pool placed its short identifying tag at the very start of the coinbase's tail section; a proxy that verifies the pool really pays the miner, by decoding the outputs straight from that tail, misread the tag and dropped the pool on every job. The tag now sits before the miner's extranonce, so the tail begins exactly where such a verifier expects (at the input sequence). This is purely a reordering of the coinbase's free-form data: the block, the merkle root, share validation, and the address paid are byte-for-byte identical, so mining, standard V1/V2 miners, block finding, and payouts are completely unaffected.
  • Home & site polish: the top bar now reads the live Bitcoin price and Moscow Time, the sats-per-dollar clock, in place of numbers already shown in the hero and footer, and the NexusPool logo now takes you home from anywhere. The connections globe on the home page shows data flowing in real time and pulses whenever the pool does real work, while the two globe panels that lived on your dashboard moved to the Pool page, just below Blocks Found. "Look up your fleet" was rebuilt to stand out as the way in, and the FAQ picked up entries on the technology behind the pool and on Payout Preflight. Presentation only; no effect on mining, share accounting, or won blocks.
  • Changelog paging: this history now opens to the six most recent updates, with older ones a page-step away instead of listed all at once. Newer/Older links and a page indicator move through it, and a link to any page opens straight to it. Presentation only; no effect on mining, share accounting, or won blocks.

Page 3 of 8 · v0.8.26.12 – v0.7.26.13

Changelog: earlier releases, page 3 of 8 · NexusPool