لاک ہوتے ہی Bitcoin Core 24.1 کے والٹ ماسٹر کلید مٹا دیتے ہیں تاکہ وہ میموری میں نہ رہے (#27080)، اور ایک ہی بار serialize کرنے سے peers.dat خراب ہونے سے بچ جاتی ہے (#26909)۔ inv-to-send قطاریں تیز چلتی ہیں (#27610)، اور غلط URI پر REST کا segfault ختم ہو گیا (#27468)۔
deriveaddresses اب Bitcoin Core 23.1 میں انڈیکس 2147483647 پر کریش نہیں ہوتا (#26275)، اور MacOS 13 پر بعض نوٹیفکیشنز سے ہونے والا segfault ختم ہو گیا۔ GUI اب watch-only والٹس کو انکرپٹ کرنے سے انکار کرتا ہے، اور Qt5 ورژن 5.15.3 پر چلا گیا ہے (#24668)۔
صرف -persistmempool لکھنے کا مطلب Bitcoin Core 22.1 میں -persistmempool=1 ہے؛ پہلے یہ غلطی سے میم پول کا محفوظ ہونا بند کر دیتا تھا (#23061)۔ فیس کا حساب اب اوپر کی طرف راؤنڈ ہوتا ہے تاکہ متوقع فیس ریٹ سے نیچے نہ جائے (#22949)، اور external_spk_managers سے جڑا والٹ کا segfault ٹھیک ہو گیا (#23333)۔
ہیڈرز سنک میں Bitcoin Core 24.0.1 نے presync مرحلہ جوڑ دیا ہے: ممکنہ ڈینائل آف سروس سے بچنے کے لیے نوڈ پیئر کے ہیڈرز ذخیرہ کرنے سے پہلے اس کا مجموعی کام جانچتے ہیں، جس سے پہلی سنک سست ہو سکتی ہے (#25717)۔ نئے اضافوں میں sendall RPC اور BIP125 سگنلنگ کے بغیر ری پلیسمنٹس قبول کرنے والا mempoolfullrbf آپشن ہیں، جبکہ والٹ اب ڈیفالٹ طور پر opt-in RBF استعمال کرتے ہیں۔
CJDNS کی مکمل سپورٹ Bitcoin Core 23.0 میں آ گئی، اور پورٹ 8333 والے پیئرز کو ترجیح دینے کی پرانی روش ختم ہوئی (#23542)۔ فیس کے تخمینے میں اب RBF ری پلیسمنٹس بھی گنی جاتی ہیں، -rescan اسٹارٹ اپ پیرامیٹر ہٹا دیا گیا ہے، اور Linux بائنریز میں تجرباتی tracepoints موجود ہیں۔
غلط رویہ رکھنے والے پیئرز Bitcoin Core 0.20.2 کی لاگ میں banned کے بجائے “discouraged” دکھائی دیتے ہیں: وہ جڑ تو سکتے ہیں مگر نکالے سب سے پہلے جاتے ہیں، اور ری اسٹارٹ پر یہ حالت صاف ہو جاتی ہے۔ نئے بلاک سے ٹکراؤ پر میم پول سے گرنے والی والٹ ٹرانزیکشنز کے لیے -walletnotify پھر چلنے لگا ہے، اور segwit ان پٹس کے PSBT میں witness اور non-witness utxo دونوں ہوتے ہیں۔
پیئرز کے پھیلائے ہوئے (rumoured) ایڈریسز پر Bitcoin Core 0.21.2 میں ریٹ لمٹ لگ گئی ہے (#22569)، اور -noincludeconf=0 والی کمانڈ لائن سے اب پارسر کریش نہیں ہوتا (#22002)۔ GUI میں URI کے ایرر پیغامات صارف کا ان پٹ نہیں دہراتے (gui#280)۔
I2P کی سپورٹ Bitcoin Core 22.0 میں شامل ہو گئی، اور Tor v2 ایڈریس ختم کر دیے گئے کیونکہ خود Tor نیٹ ورک انہیں چھوڑ چکا ہے۔ NAT-PMP پورٹ میپنگ آ گئی، BIP 350 کے تحت RPCs نیٹو witness ورژن 1 ایڈریسز کے لیے Bech32m لازمی کرتے ہیں، اور ریلیز بائنریز Guix پر مبنی بلڈ سے تیار ہوتی ہیں۔
Bitcoin Core 0.21.1 کے بلاک ٹیمپلیٹس تقریباً تین مہینے تک taproot کی تیاری کا سگنل دیں گے۔ 2,016 بلاکس کے retarget پیریڈ میں 90% بلاکس نے سگنل دیا تو taproot لاک ان ہو جائے گا اور یہ ورژن بلاک 709,632 سے BIPs 341 اور 342 نافذ کرے گا۔ کوڈ سائننگ سرٹیفکیٹ کے مسئلے کی وجہ سے Windows صارفین کو انسٹال کے وقت ایک اضافی پرامپٹ نظر آئے گا۔
signet ٹیسٹ نیٹ ورکس (BIP325) Bitcoin Core 0.21.0 میں شامل ہوئے ہیں، اور BIP341 اور BIP342 سے Taproot کے کنسینسس رولز بھی، جو signet پر فعال ہیں مگر mainnet پر نہیں۔ نوڈز کو Tor v3 ہڈن سروسز، BIP339 wtxid ریلے اور پیئرز کو BIP157 compact فلٹرز فراہم کرنے کا اختیار بھی ملا ہے۔
خودکار پابندی کی جگہ Bitcoin Core 0.20.1 میں discouragement فلٹر نے لے لی ہے: غلط رویے والے پیئرز جڑ سکتے ہیں، مگر انہیں نکالنے کو ترجیح دی جاتی ہے۔ v0.19 میں خراب ہونے کے بعد متصادم والٹ ٹرانزیکشنز پر -walletnotify دوبارہ چلنے لگا ہے، اور segwit ان پٹس کے PSBT میں اب witness اور non-witness UTXO دونوں آتے ہیں۔
BIP61 کے reject پیغامات اور BIP70 پیمنٹ سپورٹ دونوں Bitcoin Core 0.20.0 سے ہٹا دیے گئے، اور اس ورژن میں OpenSSL کا استعمال بھی ختم ہے۔ تجرباتی -asmap آپشن پیئر کنکشنز کو مختلف Autonomous Systems میں پھیلاتا ہے، اور rpcwhitelist سیٹنگز سے کسی RPC صارف کو منتخب کالز تک محدود کیا جا سکتا ہے۔
بار بار کی فرمائش کے بعد Bitcoin Core کی ویب سائٹ اب Tor صارفین کو onion ایڈریس پر بھی ملے گی۔ ہڈن سروس سنسرشپ سے بچنے کا ایک اور راستہ ہے، اور اعتماد کا ایسا راستہ بھی جو نہ سرٹیفکیٹ اتھارٹیز کا محتاج ہے نہ DNS کا۔
-blockfilterindex=basic دو بار دینے سے اب مینٹیننس اپ ڈیٹ Bitcoin Core 0.19.1 میں leveldb کا مہلک ایرر نہیں آتا۔ bumpfee کی لوٹائی ہوئی origfee قدر بھی درست ہوئی، اور PSBTs میں انڈیکس اور رقوم پر حد کی جانچ شامل ہوئی ہے۔
0.19.0 ڈاؤن لوڈ کرنے والے کو دراصل 0.19.0.1 ملتا ہے، کیونکہ rc کا عمل ختم ہوتے ہی ایک مسئلہ سامنے آ گیا۔ Bitcoin Core کے اس ورژن میں نیا avoid_reuse والٹ فلیگ پہلے سے استعمال شدہ ایڈریسز کو کسی کارروائی سے باہر رکھ سکتا ہے، getbalances RPC پرانی بیلنس کالز کی جگہ لینے کے لیے ہے، اور -blockfilterindex سے BIP158 بلاک فلٹر ملتے ہیں۔
CVE-2017-18350 کے مکمل انکشاف کے مطابق بدنیت SOCKS پراکسی Bitcoin Core نوڈ کا پروگرام اسٹیک اوور رائٹ کر سکتی تھی۔ یہ بفر اوور فلو v0.7.0rc1 میں SOCKS5 سپورٹ کے ساتھ آیا اور 0.15.1 میں خاموشی سے ٹھیک ہوا؛ خطرے میں صرف وہ نوڈ تھے جو ایسی پراکسی پر سیٹ ہوں اور signed char ٹائپ والے سسٹم پر چل رہے ہوں۔
Bitcoin Core کے ورژن 0.18.1 نے pruneblockchain کی لوٹائی ہوئی prune height درست کر دی، اور redeemScript یا witnessScript غائب ہو تو signrawtransactionwithkey اب ایرر بتاتا ہے۔ GUI میں Mac پر کنفیگریشن فائل کھولنے کا بگ بھی ٹھیک ہوا۔
segwit رول کے بغیر getblocktemplate بلانے والے مائنرز کو Bitcoin Core 0.18.0 میں اب ایرر ملتا ہے، کیونکہ اسے چھوڑنے سے ان کی آمدنی گھٹ جاتی ہے۔ RPC سیٹ اپ بھی سخت ہوا: rpcallowip سے نوڈ اب ہر انٹرفیس پر نہیں سنتا، اور rpcpassword میں ہیش کا نشان ہو تو اسٹارٹ اپ رک جاتا ہے۔
listtransactions میں لیبلز Bitcoin Core 0.17.1 کے ساتھ لوٹ آئے: 0.17.0 میں متروک ہو کر dummy کہلانے والا account پیرامیٹر اب label بن گیا ہے۔ اصلاحات میں deserialization کے ایک نادر اوور فلو اور PSBT دستخط کے بگ کا حل شامل ہے۔
Bitcoin Core 0.17.0 میں والٹ اب صرف اسٹارٹ اپ پر نہیں بلکہ چلتے چلتے بھی RPC کے ذریعے لوڈ، تخلیق اور ان لوڈ ہو سکتے ہیں۔ نیا -avoidpartialspends فلیگ ایک ہی ایڈریس پر آئے کوائنز اکٹھے خرچ کرتا ہے، جس سے فیس بڑھ سکتی ہے، اور label API نے متروک account API کی جگہ لے لی ہے۔ CVE-2018-17144 اس ورژن کو متاثر نہیں کرتی۔