Кошельки в Bitcoin Core 24.1 стирают мастер-ключ при блокировке, и он не остаётся в памяти (#27080), а повреждению peers.dat препятствует однократная сериализация (#26909). Очереди inv-to-send работают быстрее (#27610), исчез и segfault REST на невалидных URI (#27468).
На индексе 2147483647 команда deriveaddresses в Bitcoin Core 23.1 больше не падает (#26275), исчез и segfault на MacOS 13, который вызывали некоторые уведомления. GUI теперь отказывается шифровать кошельки только для наблюдения, а Qt5 обновлён до 5.15.3 (#24668).
Флаг -persistmempool без значения в Bitcoin Core 22.1 означает -persistmempool=1, тогда как раньше он по ошибке отключал сохранение мемпула (#23061). Расчёт комиссии теперь округляет вверх, чтобы не опускаться ниже ожидаемой ставки (#22949), а segfault кошелька, связанный с external_spk_managers, исправлен (#23333).
Синхронизация заголовков в Bitcoin Core 24.0.1 получила фазу presync: чтобы предотвратить возможный отказ в обслуживании, узлы проверяют накопленную работу пира до сохранения его заголовков, и первая синхронизация может замедлиться (#25717). Также появились RPC sendall и опция mempoolfullrbf, принимающая замены без сигнала BIP125, а кошельки теперь по умолчанию используют opt-in RBF.
Поддержка CJDNS в Bitcoin Core 23.0 стала полной, а прежнее предпочтение пиров на порту 8333 исчезло (#23542). Оценка комиссии теперь учитывает замены RBF, параметр запуска -rescan удалён, а бинарники для Linux содержат экспериментальные точки трассировки.
Нарушающие правила пиры в логах Bitcoin Core 0.20.2 значатся как «discouraged», а не забаненные: подключаться они могут, но вытесняются первыми, и статус сбрасывается при перезапуске. -walletnotify снова срабатывает на транзакции кошелька, выпавшие из мемпула из-за конфликта с новым блоком, а PSBT для segwit-входов содержат и witness, и non-witness UTXO.
Bitcoin Core 0.21.2 ограничивает частоту адресов, которые распространяют пиры (#22569), а командная строка с -noincludeconf=0 больше не обрушивает парсер (#22002). Сообщения об ошибках URI в GUI перестали повторять ввод пользователя (gui#280).
В Bitcoin Core 22.0 появилась поддержка I2P и исчезли адреса Tor v2, от которых отказалась сама сеть Tor. Добавлен проброс портов через NAT-PMP, RPC требуют Bech32m для адресов нативного witness версии 1 по BIP 350, а бинарники релиза теперь собираются через Guix.
Шаблоны блоков из Bitcoin Core 0.21.1 около трёх месяцев сигнализируют о готовности к Taproot. Если сигнал дадут 90% блоков за период пересчёта сложности в 2016 блоков, Taproot закрепится, и эта версия начнёт применять BIP 341 и 342 с блока 709 632. Пользователи Windows увидят лишний запрос при установке из-за проблемы с сертификатом подписи кода.
Тестовые сети signet (BIP325) появились в Bitcoin Core 0.21.0, там же лежат правила консенсуса Taproot из BIP341 и BIP342: в signet они действуют, в основной сети нет. Узлы получили скрытые сервисы Tor v3, ретрансляцию по wtxid (BIP339) и возможность отдавать пирам компактные фильтры BIP157.
Автоматические баны в Bitcoin Core 0.20.1 уступили место фильтру discouragement: нарушающие правила пиры могут подключаться, но вытесняются в первую очередь. -walletnotify снова срабатывает на конфликтующие транзакции кошелька после поломки в v0.19, а PSBT для segwit-входов теперь содержат и witness, и non-witness UTXO.
Из Bitcoin Core 0.20.0 убраны сообщения reject по BIP61 и поддержка платежей BIP70, а от OpenSSL версия отказалась совсем. Экспериментальная опция -asmap распределяет соединения с пирами по автономным системам, а настройки rpcwhitelist позволяют ограничить пользователя RPC выбранными вызовами.
Сайт Bitcoin Core теперь открывается в Tor по onion-адресу: об этом часто просили пользователи. Скрытый сервис даёт ещё один способ обойти цензуру и путь доверия, который не зависит ни от удостоверяющих центров, ни от DNS.
Двойной параметр -blockfilterindex=basic больше не вызывает фатальную ошибку leveldb в поддерживающем обновлении Bitcoin Core 0.19.1. Также исправлено значение origfee, которое возвращает bumpfee, и добавлены проверки границ для индексов и сумм в PSBT.
Скачивая 0.19.0, пользователи на самом деле получают 0.19.0.1: сразу после процесса rc обнаружилась проблема. Новое в этой версии Bitcoin Core: флаг кошелька avoid_reuse, исключающий из операции уже использованные адреса, RPC getbalances на замену старым вызовам баланса и фильтры блоков BIP158 через -blockfilterindex.
Вредоносный SOCKS-прокси мог перезаписать стек программы узла Bitcoin Core, говорится в полном раскрытии CVE-2017-18350. Переполнение буфера появилось вместе с поддержкой SOCKS5 в v0.7.0rc1 и было без огласки исправлено в 0.15.1; под угрозой были только узлы, настроенные на такой прокси, в системах со знаковым типом char.
Версия 0.18.1 Bitcoin Core исправляет высоту обрезки, которую возвращает pruneblockchain, а signrawtransactionwithkey теперь сообщает об ошибке, если нет redeemScript или witnessScript. В GUI устранён баг на Mac с открытием файла конфигурации.
Майнеры, вызывающие getblocktemplate без правила segwit, теперь получают в Bitcoin Core 0.18.0 ошибку: без него их доход снижается. Настройка RPC тоже строже: rpcallowip больше не заставляет узел слушать все интерфейсы, а символ решётки в rpcpassword останавливает запуск.
Метки снова есть в выводе listtransactions в Bitcoin Core 0.17.1: параметр account, устаревший и переименованный в dummy в 0.17.0, стал label. Исправлены также крайний случай с переполнением при десериализации и ошибка подписи PSBT.
Кошельки в Bitcoin Core 0.17.0 можно загружать, создавать и выгружать на лету через RPC, а не только при запуске. Новый флаг -avoidpartialspends тратит монеты, пришедшие на один адрес, вместе, что может обойтись дороже по комиссии, а API меток заменил устаревший API аккаунтов. CVE-2018-17144 на эту версию не влияет.