ChangeLog¶
Version 1.16.0 (10 Dec 2020)¶
Note: this is the first release since forking from kyuupichan/electrumx.
kyuupichan has the electrumx
name on PyPI, so we needed a new name there.
We are using the e-x name on PyPI, so you can
install this package via e.g. pip install e-x
.
security: a vulnerability has been fixed that allowed a remote attacker to crash electrumx if peer discovery was enabled (#22)
fixed some peer-discovery-related bugs (e.g. #35)
ENV: when using Bitcoin, the COIN ENV var can now be set to
Bitcoin
. For compatibility, usingBitcoinSegwit
will also keep working. (#5)session resource limits: made more useful in general. connection-time-based grouping has been removed (#70). Disconnects of over-limit sessions happen sooner (4b3f6510). Subnet sizes for IP-based grouping can now be configured (a61136c5).
protocol:
mempool.get_fee_histogram
now returns fee rates with 0.1 sat/byte resolution instead of 1 sat/byte, and the compact histogram is calculated differently. (#67)performance: bitcoind is now queried less frequently as estimatefee, relayfee, and server.banner requests are now cached (#24)
performance: json ser/deser is now abstracted away and the
ujson
andrapidjson
exras can be used for somewhat faster block processing. (#11)multiple other small performance improvements
Version 1.15.0 (27 May 2020)¶
switch to 5-byte txnums to handle larger blockchains. Upgrade DBs during restart.
accurate clearing of stale caches
coin additions / updates: NavCoin + Hush + VersusCoin + Zero (cipig), DashRegtest (colmenero), Quebecoin (morinpa), Primecoin (Sunny King), multiple (Panagiotis David), RVN (standard-error), Sumcoin
other: Jeremy Rand, Jin Eguchi, ddude, Jonathan Cross, Carsen Klock, cipig
Version 1.14.0 (19 Jan 2020)¶
require Python 3.7
support for Bitcoin SV Genesis activation
DB upgrade to allow for larger transactions. Your DB will automatically upgrade when starting, the upgrade should take approximately 15 mintues.
fix server shutdown process
fix cache race condition (issue #909)
faster initial sync
coin additions / updates: Emercoin (yakimka), Feathercoin (wellenreiter01), Peercoin (peerchemist), Namecoin (JeremyRand), Zcoin (a-bezrukov), Simplicity, Mice (ComputerCraftr), Sibcoin testnet (TriKriSta), Odin (Manbearpixel),
other: h2o10, osagga, Sombernight, breign, pedr0-fr, wingsuit
Version 1.13.0 (26 Sep 2019)¶
daemon: use a single connection for all requests rather than a connection per request. Distinguish handling of JSON and HTTP errors
recognise OP_FALSE OP_RETURN scripts as unspendable
peers - attempt to bind to correct local IP address
improve name support (domob1812)
coin additions / updates: BitZeny (y-chan), ZCoin (a-bezrukov), Emercoin (yakimka), BSV (Roger Taylor), Bellcoin (streetcrypto7), Ritocoin (traysi), BTC (Sombernight), PIVX (mrcarlanthony), Monacoin (wakiyamap)), NamecoinRegtest (JeremyRand), Axe (ddude1), Xaya (domob1812), GZRO (MrNaif2018), Ravencoin (standard-error)
other: gits7r
Version 1.12.0 (13 May 2019)¶
require aiorpcX 0.18.1. This introduces websocket support. The environment variables changed accordingly; see
SERVICES
andREPORT_SERVICES
.work around bug in recent versions of uvloop
aiorpcX upgrade fixes from Shane M
coin additions / updates: BitcoinSV, Bolivarcoin (Jose Luis Estevez), BTC Testnet (ghost43), Odin (Pixxl)
Version 1.11.0 (18 Apr 2019)¶
require aiorpcX 0.15.x
require aiohttp 3.3 or higher; earlier versions had a problematic bug
add
REQUEST_TIMEOUT
andLOG_LEVEL
environment variablesmark 4 old environment variables obsolete. ElectrumX won’t start until they are removed
getinfo local RPC cleaned up and shows more stats
miscellaneous fixes and improvements
more efficient handling of some RPC methods, particularly
blockchain.transaction.get_merkle()
coin additions / updates: BitcoinSV scaling testnet (Roger Taylor), Dash (zebra lucky),
Version 1.10.1 (13 Apr 2019)¶
introduce per-request costing. See environment variables documentation for new variables
COST_SOFT_LIMIT
,COST_HARD_LIMIT
,REQUEST_SLEEP
,INITIAL_CONCURRENT
,BANDWIDTH_UNIT_COST
. Sessions are placed in groups with which they share some of their costs. Prior cost is remembered across reconnects.require aiorpcX 0.13.5 for better concurrency handling
require clients use protocol 1.4 or higher
handle transaction.get_merkle requests more efficiently (ghost43)
Windows support (sancoder)
peers improvements (ghost43)
report mempool and block sizes in logs
electrumx_rpc: timeout raised to 30s, fix session request counts
other tweaks and improvements by Bjorge Dijkstra, ghost43, peleion,
coin additions / updates: ECA (Jenova7), ECCoin (smogm), GXX (DEVCØN), BZX (2INFINITY), DeepOnion (Liam Alford), CivX / EXOS (turcol)
Version 1.10.0 (15 Mar 2019)¶
extra countermeasures to limit BTC phishing effectiveness (ghost43)
peers: mark blacklisted peers bad; force retry blacklisted peers (ghost43)
coin additions / updates: Monacoin (wakiyamap), Sparks (Mircea Rila), ColossusXT, Polis, MNPCoin, Zcoin, GINCoin (cronos), Grosetlcoin (gruve-p), Dash (konez2k), Bitsend (David), Ravencoin (standard-error), Onixcoin (Jose Estevez), SnowGem
coin removals: Gobyte, Moneci (cronos)
minor tweaks by d42
issues fixed #660 - unclean shutdowns during initial sync
Version 1.9.5 (08 Feb 2019)¶
server blacklist logic (ecdsa)
require aiorpcX 0.10.4
remove dead wallet code
fix #727 - not listing same peer twice
Version 1.9.4 (07 Feb 2019)¶
require aiorpcX 0.10.3
fix #713
Version 1.9.3 (05 Feb 2019)¶
ignore potential sybil peers
coin additions / updates: BitcoinCashABC (cculianu), Monacoin (wakiyamap)
Version 1.9.2 (03 Feb 2019)¶
restore protocol version 1.2 and send a warning for old BTC Electrum clients that they need to upgrade. This is an attempt to protect users of old versions of Electrum from the ongoing phishing attacks
increase default MAX_SEND for AuxPow Chains. Truncate AuxPow for block heights covered by a checkpoint. (jeremyrand)
coin additions / updates: NMC (jeremyrand), Dash (zebra-lucky), PeerCoin (peerchemist), BCH testnet (Mark Lundeberg), Unitus (ChekaZ)
tighter RPC param checking (ghost43)
Version 1.9.1 (11 Jan 2019)¶
fix #684
Version 1.9.0 (10 Jan 2019)¶
minimum protocol version is now 1.4
coin additions / updates: BitcoinSV, SmartCash (rc125), NIX (phamels), Minexcoin (joesixpack), BitcoinABC (mblunderburg), Dash (zebra-lucky), BitcoinABCRegtest (ezegom), AXE (slowdive), NOR (flo071), BitcoinPlus (bushsolo), Myriadcoin (cryptapus), Trezarcoin (ChekaZ), Bitcoin Diamond (John Shine),
other minor tweaks (Michael Schmoock, Michael Taborsky)
Original author of ElectrumX:
Neil Booth kyuupichan@gmail.com https://github.com/kyuupichan
This fork maintained by:
Electrum developers electrumdev@gmail.com https://github.com/spesmilo