| Age | Commit message (Expand) | Author |
| 2026-08-23 | selftest: leave no scratch directory behind after payout-ledger | bitflash-maintainer |
| 2026-08-23 | selftest: cover the payout ledger properties this series fixes | bitflash-maintainer |
| 2026-08-23 | payout: flush the ledger to the device before the rename that publishes it | bitflash-maintainer |
| 2026-08-23 | payout: keep one retry clock, the one that is used, and persist it | bitflash-maintainer |
| 2026-08-23 | payout: do not write off a debt the wallet is only temporarily unable to pay | bitflash-maintainer |
| 2026-08-23 | payout: recognise a payment a pre-upgrade build already made | bitflash-maintainer |
| 2026-08-23 | payout: one in-flight record per payment, and give it a real identity | bitflash-maintainer |
| 2026-08-23 | payout: stop grandfathered zero-hash rounds answering for each other | bitflash-maintainer |
| 2026-08-23 | payout: serialise ledger file writes and order them by snapshot version | bitflash-maintainer |
| 2026-08-23 | Merge upstream v1.2.18 into the fork | bitflash-maintainer |
| 2026-08-23 | net: start every peer's stall clock stopped, not at whatever was in memory | bitflash-maintainer |
| 2026-08-23 | mine: one pool session in participant mode, not one per core | bitflash-maintainer |
| 2026-08-23 | net: stop serving the 2009 marketplace to anonymous peers | bitflash-maintainer |
| 2026-08-23 | size thread pools by the cores we are allowed, not the ones the host has | bitflash-maintainer |
| 2026-08-23 | net: do not consume a header until the body is there, and cap what one can claim | bitflash-maintainer |
| 2026-08-23 | consensus: cap block size at 1 MB, and stop assembling blocks we would reject | bitflash-maintainer |
| 2026-08-23 | net: one dead descriptor must not cost every peer its turn | bitflash-maintainer |
| 2026-08-23 | net: time the stall, not the wait, before dropping an unreadable peer | bitflash-maintainer |
| 2026-08-23 | net: give up waiting for a message body that is never going to arrive | bitflash-maintainer |
| 2026-08-23 | net: stop closing a descriptor number that now belongs to somebody else | bitflash-maintainer |
| 2026-08-23 | pool: refuse jobs when no peer has reported a height for 20 minutes | bitflash-maintainer |
| 2026-08-23 | pool: gate jobs on peer height, not tip age | bitflash-maintainer |
| 2026-08-23 | payout: make in-flight payments survive a restart | bitflash-maintainer |
| 2026-08-23 | payout: zero-initialise blockHash; nostr: drop four dead relays | bitflash-maintainer |
| 2026-08-23 | payout: key obligations on block hash, and wait for coin instead of expiring | bitflash-maintainer |
| 2026-08-23 | payout: say what actually failed instead of blaming transaction size | bitflash-maintainer |
| 2026-08-23 | pool: wait to be paired before wrapping the rendezvous socket | bitflash-maintainer |
| 2026-08-23 | nostr: verify relay certificates -- wss:// was fully MITM-able | bitflash-maintainer |
| 2026-08-23 | participant: honor explicit /hashthreads=1 (floor of 2 only in auto mode) | bitflash-maintainer |
| 2026-08-23 | operator: /noannounce flag -- serve miners without publishing pool announcements | bitflash-maintainer |
| 2026-08-23 | payout: retry failed SendMoney for 24h, not 30min | bitflash-maintainer |
| 2026-08-23 | nostr: make /rvrelay a true pin -- never merge discovered relays | bitflash-maintainer |
| 2026-08-23 | pool: sync-gate job creation, retry failed payouts; widen nostr relay set | bitflash-maintainer |
| 2026-08-12 | release: v1.2.18 (Tor/SOCKS5 outbound privacy, poll() socket handler, new app... | bitflash |
| 2026-08-12 | build: fix leftover merge markers in makefile.mingw (drop FD_SETSIZE, keep BI... | bitflash |
| 2026-08-12 | test merge | bitflash |
| 2026-08-11 | net: replace peer select loop with poll | Nsable-sh |
| 2026-08-11 | net: warn when Tor mode overrides SOCKS | Nsable-sh |
| 2026-08-11 | net: add Tor mode for outbound discovery | Nsable-sh |
| 2026-08-11 | net: harden SOCKS5 proxy parsing and tests | Nsable-sh |
| 2026-08-11 | net: add optional SOCKS5 outbound proxy | Nsable-sh |
| 2026-08-11 | money: ParseMoney accepts full 8 decimals (0.5, 0.00000001) | Bitflash |
| 2026-08-11 | wallet: SLIP-0044 4346950 is official, drop 'provisional' naming | Bitflash |
| 2026-08-07 | shutdown: flush wallet.dat on Windows headless stop | Bitflash |
| 2026-08-07 | pool: publish round proof ledger | Nsable-sh |
| 2026-08-07 | bignum: shift setint64 in unsigned space to avoid signed overflow UB | Bitflash |
| 2026-08-07 | pool: add local Stratum bridge | Nsable-sh |
| 2026-08-07 | pool: write dashboard status JSON | Nsable-sh |
| 2026-08-07 | test: cover pool Stratum share accounting | Nsable-sh |
| 2026-08-07 | pool: make payout ledger crash-safe | Nsable-sh |
| 2026-08-07 | randomx: serialize cache initialization (#4) | Nsable-sh |
| 2026-08-07 | fuzz: add script parser harness (#5) | Nsable-sh |
| 2026-08-07 | net: disable legacy order messages (#3) | Nsable-sh |
| 2026-08-07 | wallet: cleanse unlocked secrets before clearing them (#2) | Nsable-sh |
| 2026-08-07 | nostr: verify relay TLS and lock peer counts (#1) | Nsable-sh |
| 2026-08-04 | fuzz: add P2P message parser harness (#142) | mtg0001 |
| 2026-08-04 | rpc: build the pool block template the way the solo miner does (#141) | Bitflash |
| 2026-08-04 | gui: say why the wallet would not open, where the user can see it (#136) | Bitflash |
| 2026-08-04 | wallet encryption: the stack from #130–#133, with the two blockers fixed (#... | Bitflash |
| 2026-08-03 | gui: name the icon resource GLFW_ICON so the window actually wears it (#126) | Bitflash |
| 2026-08-03 | Activate BIP44 wallet derivation (#124) | mtg0001 |
| 2026-08-03 | wallet: wire -sendto into main(), where it never was (#119) | Bitflash |
| 2026-08-03 | Add wallet recovery balance audit (#117) | mtg0001 |
| 2026-08-03 | gui: read the Finish condition once, before the button that clears it (#118) | Bitflash |
| 2026-08-02 | wallet: one quiet batch is not far enough to stop a restore (#115) | Bitflash |
| 2026-08-02 | net: back to one accept thread until every relay takes more than one (#114) | Bitflash |
| 2026-08-02 | rendezvous: let a node park more than one registration (#113) | Bitflash |
| 2026-08-02 | Add consensus block size limit (#111, from #110) | Bitflash |
| 2026-08-02 | Keep HD change recoverable and bound message stalls (#109) | mtg0001 |
| 2026-08-01 | docs: bring the README up to the wallet that exists, and make -help print (#106) | Bitflash |
| 2026-08-01 | wallet: reserve index 0 before deriving it, and name the address the phrase d... | Bitflash |
| 2026-08-01 | Keep new phrase addresses recoverable (#102) | mtg0001 |
| 2026-08-01 | net: stop closing a peer's socket twice (#103) | Bitflash |
| 2026-08-01 | diag: catch a handle handed out while a site still claims it (#101) | Bitflash |
| 2026-08-01 | diag: count the socket leak the way that is true, and say what it found (#100) | Bitflash |
| 2026-08-01 | build: list every header, so editing one rebuilds what includes it (#99) | Bitflash |
| 2026-08-01 | diag: say why a close failed, and total what the program thinks it holds (#98) | Bitflash |
| 2026-08-01 | wallet: create and restore a recovery phrase (#96) | Bitflash |
| 2026-08-01 | wallet: derive the key pool from a seed, so a phrase could bring it back (#93) | Bitflash |
| 2026-08-01 | Avoid MSYS2 self-test argument conversion (#94) | mtg0001 |
| 2026-08-01 | diag: make the self-test report where the person running it can see (#92) | Bitflash |
| 2026-08-01 | Add wallet keypool self-test (#91) | mtg0001 |
| 2026-08-01 | wallet: walk the chain for coins a key owns but the wallet never saw (#88) | Bitflash |
| 2026-08-01 | wallet: keep the default backup out of the directory it protects (#90) | Bitflash |
| 2026-08-01 | Add wallet safety backup panel (#89) | mtg0001 |
| 2026-08-01 | mine: do not trust a stored generate flag with no mining mode beside it (#87) | Bitflash |
| 2026-08-01 | diag: count sockets by where they were created, and whether the close took (#86) | Bitflash |
| 2026-08-01 | wallet: generate keys ahead of use so a backup outlives the next block (#85) | Bitflash |
| 2026-08-01 | mine: remember whether this node was mining, with the command line winning (#84) | Bitflash |
| 2026-08-01 | diag: let the node say what is wrong with it (#81) | Bitflash |
| 2026-08-01 | Add BIP39 and BIP32 foundation tests (#83) | mtg0001 |
| 2026-07-31 | net: a node could only ever watch 63 peers (#78) | Bitflash |
| 2026-07-31 | wallet: stop paying the recipient the transaction fee on a fee retry (#74) | Bitflash |
| 2026-07-31 | db: close Berkeley DB cursors instead of leaving them to the handle (#71) | Bitflash |
| 2026-07-31 | net: bound what a peer can make the node allocate (#73) | mtg0001 |
| 2026-07-31 | net: bound orphan blocks and stop asking a peer the same question twice (#70) | Bitflash |
| 2026-07-31 | mine: do not submit a solution for a parent that is no longer the tip (#69) | Bitflash |
| 2026-07-31 | gui: stop stacking every orphan the node ever produced on top of the list (#67) | Bitflash |
| 2026-07-31 | randomx: allocate the dataset once, not once per miner thread (#68) | Bitflash |
| 2026-07-31 | nostr: back off from a relay that is down, and replace one that is (#64) | Bitflash |