Portfele w Bitcoin Core 24.1 przy blokowaniu czyszczą klucz główny, by nie zostawał w pamięci (#27080), a jednokrotna serializacja zapobiega uszkodzeniu peers.dat (#26909). Kolejki inv-to-send działają szybciej (#27610), a segfault REST na nieprawidłowych URI zniknął (#27468).
deriveaddresses nie wywraca się już przy indeksie 2147483647 w Bitcoin Core 23.1 (#26275), zniknął też segfault na MacOS 13 wywoływany przez niektóre powiadomienia. GUI odmawia teraz szyfrowania portfeli watch-only, a Qt5 przechodzi na 5.15.3 (#24668).
Sama flaga -persistmempool oznacza w Bitcoin Core 22.1 -persistmempool=1, podczas gdy wcześniej przez pomyłkę wyłączała zachowywanie mempoolu (#23061). Obliczanie opłat zaokrągla w górę, by nie spaść poniżej oczekiwanej stawki (#22949), a segfault portfela związany z external_spk_managers został usunięty (#23333).
Synchronizacja nagłówków zyskuje w Bitcoin Core 24.0.1 fazę presync: aby zapobiec potencjalnej odmowie usługi, węzły sprawdzają łączną pracę peera przed zapisaniem jego nagłówków, co może spowolnić pierwszą synchronizację (#25717). Nowością są też RPC sendall i opcja mempoolfullrbf, która przyjmuje zamiany bez sygnalizacji BIP125, a portfele domyślnie korzystają z opt-in RBF.
CJDNS doczekał się w Bitcoin Core 23.0 pełnej obsługi, a dawna preferencja dla peerów na porcie 8333 odchodzi (#23542). Szacowanie opłat uwzględnia teraz zamiany RBF, parametr startowy -rescan został usunięty, a binaria dla Linuksa mają eksperymentalne punkty śledzenia.
Źle zachowujące się peery figurują w logach Bitcoin Core 0.20.2 jako „discouraged”, a nie zbanowane: nadal mogą się łączyć, ale są usuwane w pierwszej kolejności, a stan ten znika po restarcie. -walletnotify znów działa dla transakcji portfela wyrzuconych z mempoolu przez konflikt z nowym blokiem, a PSBT dla wejść segwit zawierają utxo witness i non-witness.
Rozgłaszane w sieci adresy podlegają w Bitcoin Core 0.21.2 ograniczeniu tempa (#22569), a wiersz poleceń zawierający -noincludeconf=0 nie wywraca już parsera (#22002). W GUI komunikaty o błędach URI przestają powtarzać dane wpisane przez użytkownika (gui#280).
Obsługa I2P wchodzi do Bitcoin Core 22.0, a adresy Tor v2 odchodzą, bo sama sieć Tor już z nich zrezygnowała. Dochodzi mapowanie portów NAT-PMP, RPC wymagają Bech32m dla natywnych adresów witness w wersji 1 zgodnie z BIP 350, a binaria wydań pochodzą z kompilacji opartej na Guix.
Szablony bloków z Bitcoin Core 0.21.1 przez około trzy miesiące sygnalizują gotowość na taproota. Jeśli zrobi to 90% bloków w 2016-blokowym okresie przeliczania trudności, nastąpi lock-in taproota, a ta wersja zacznie egzekwować BIP 341 i 342 od bloku 709 632. Użytkownicy Windows zobaczą dodatkowy monit instalatora z powodu problemu z certyfikatem podpisywania kodu.
Sieci testowe signet (BIP325) trafiają do Bitcoin Core 0.21.0 wraz z regułami konsensusu Taproota z BIP341 i BIP342, aktywnymi na signecie, ale nie na mainnecie. Węzły zyskują też ukryte usługi Tor v3, przekazywanie wtxid z BIP339 oraz opcję udostępniania peerom filtrów kompaktowych BIP157.
Automatyczne bany ustępują w Bitcoin Core 0.20.1 mechanizmowi zniechęcania (discouragement): źle zachowujące się peery nadal mogą się łączyć, ale to one są pierwsze do usunięcia. Konfliktowe transakcje portfela znów uruchamiają -walletnotify, co popsuło się w v0.19, a PSBT dla wejść segwit zawierają teraz UTXO witness i non-witness.
Wiadomości odrzucenia BIP61 i obsługa płatności BIP70 znikają z Bitcoin Core 0.20.0, który przestaje też korzystać z OpenSSL. Eksperymentalna opcja -asmap rozkłada połączenia z peerami między systemy autonomiczne, a ustawienia rpcwhitelist mogą ograniczyć użytkownika RPC do wybranych wywołań.
Użytkownicy Tora mogą już wejść na stronę Bitcoin Core przez adres onion, o co często proszono. Ukryta usługa to dodatkowa droga obejścia cenzury i ścieżka zaufania, która nie zależy ani od urzędów certyfikacji, ani od DNS.
Dwukrotne podanie -blockfilterindex=basic nie powoduje już krytycznego błędu leveldb w Bitcoin Core 0.19.1, czyli aktualizacji serwisowej. Poprawiono też wartość origfee zwracaną przez bumpfee i dodano sprawdzanie zakresów indeksów i kwot w PSBT.
Kto pobiera 0.19.0, dostaje tak naprawdę 0.19.0.1, bo tuż po procesie rc wyszedł na wierzch problem. Nowości w tej wersji Bitcoin Core to flaga portfela avoid_reuse, która pozwala pominąć w operacji już użyte adresy, RPC getbalances mające zastąpić starsze wywołania sald oraz filtry bloków BIP158 przez -blockfilterindex.
Złośliwe proxy SOCKS mogło nadpisać stos programu w węźle Bitcoin Core, wynika z pełnego ujawnienia CVE-2017-18350. Przepełnienie bufora weszło wraz z obsługą SOCKS5 w v0.7.0rc1 i zostało po cichu usunięte w 0.15.1. Narażone były tylko węzły skonfigurowane do korzystania z takiego proxy, na systemach ze znakowym typem char.
Wersja 0.18.1 Bitcoin Core koryguje wysokość przycięcia zwracaną przez pruneblockchain, a signrawtransactionwithkey zgłasza błąd, gdy brakuje redeemScript lub witnessScript. Po stronie GUI usunięto błąd na Macu przy otwieraniu pliku konfiguracyjnego.
Górnicy wywołujący getblocktemplate bez reguły segwit dostają w Bitcoin Core 0.18.0 błąd, bo jej pominięcie obniża ich nagrody. Zaostrzono też konfigurację RPC: rpcallowip nie każe już węzłowi nasłuchiwać na wszystkich interfejsach, a znak krzyżyka w rpcpassword blokuje start.
Bitcoin Core 0.17.1 przywraca etykiety w listtransactions: parametr account, wycofany i przemianowany na dummy w 0.17.0, staje się label. Poprawki obejmują graniczny przypadek przepełnienia przy deserializacji i błąd podpisywania PSBT.
W Bitcoin Core 0.17.0 portfele można wczytywać, tworzyć i zamykać przez RPC w trakcie działania programu, a nie tylko przy starcie. Nowa flaga -avoidpartialspends wydaje razem monety wysłane na ten sam adres, kosztem możliwych wyższych opłat, a API etykiet zastępuje wycofane API kont. CVE-2018-17144 nie dotyczy tej wersji.