You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1043 lines
42 KiB
1043 lines
42 KiB
# Release 3.2.2 - (July 2nd, 2018)
|
|
|
|
* Fix DNS resolution on Windows
|
|
* Fix websocket bug in daemon
|
|
|
|
|
|
# Release 3.2.1 - (July 1st, 2018)
|
|
|
|
* fix Windows binaries: due to build process changes, the locale files
|
|
were not included; the language could not be changed from English
|
|
* fix Linux distributables: wordlists were not included (#4475)
|
|
|
|
|
|
# Release 3.2.0 - Satoshi's Vision (June 30, 2018)
|
|
|
|
* If present, libsecp256k1 is used to speed up elliptic curve
|
|
operations. The library is bundled in the Windows, MacOS, and
|
|
Android binaries. On Linux, it needs to be installed separately.
|
|
* Two-factor authentication is available on Android. Note that this
|
|
will only provide additional security if one time passwords are
|
|
generated on a separate device.
|
|
* Semi-automated crash reporting is implemented for Android.
|
|
* Transactions that are dropped from the mempool are kept in the
|
|
wallet as 'local', and can be rebroadcast. Previously these
|
|
transactions were deleted from the wallet.
|
|
* The scriptSig and witness part of transaction inputs are no longer
|
|
parsed, unless actually needed. The wallet will no longer display
|
|
'from' addresses corresponding to transaction inputs, except for
|
|
its own inputs.
|
|
* The partial transaction format has been incompatibly changed. This
|
|
was needed as for partial transactions the scriptSig/witness has to
|
|
be parsed, but for signed transactions we did not want to do the
|
|
parsing. Users should make sure that all instances of Electrum
|
|
they use to co-sign or offline sign, are updated together.
|
|
* Signing of partial transactions created with online imported
|
|
addresses wallets now supports significantly more
|
|
setups. Previously only online p2pkh address + offline WIF was
|
|
supported. Now the following setups are all supported:
|
|
- online {p2pkh, p2wpkh-p2sh, p2wpkh} address + offline WIF,
|
|
- online {p2pkh, p2wpkh-p2sh, p2wpkh} address + offline seed/xprv,
|
|
- online {p2sh, p2wsh-p2sh, p2wsh}-multisig address + offline seeds/xprvs
|
|
(potentially distributed among several different machines)
|
|
Note that for the online address + offline HD secret case, you need
|
|
the offline wallet to recognize the address (i.e. within gap
|
|
limit). Having an xpub on the online machine is still the
|
|
recommended setup, as this allows the online machine to generate
|
|
new addresses on demand.
|
|
* Segwit multisig for bip39 and hardware wallets is now enabled.
|
|
(both p2wsh-p2sh and native p2wsh)
|
|
* Ledger: offline signing for segwit inputs (#3302) This has already
|
|
worked for Trezor and Digital Bitbox. Offline segwit signing can be
|
|
combined with online imported addresses wallets.
|
|
* Added Revealer plugin. ( https://revealer.cc ) Revealer is a seed
|
|
phrase back-up solution. It allows you to create a cold, analog,
|
|
multi-factor backup of your wallet seeds, or of any arbitrary
|
|
secret. The Revealer utilizes a transparent plastic visual one time
|
|
pad.
|
|
* Fractional fee rates: the Qt GUI now displays fee rates with 0.1
|
|
sat/byte precision, and also allows this same resolution in the
|
|
Send tab.
|
|
* Hardware wallets: a "show address" button is now displayed in the
|
|
Receive tab of the Qt GUI. (#4316)
|
|
* Trezor One: implemented advanced/matrix recovery (#4329)
|
|
* Qt/Kivy: added "sat" as optional base unit.
|
|
* Kivy GUI: significant performance improvements when displaying
|
|
history and address list of large wallets; and transaction dialog
|
|
of large transactions.
|
|
* Windows: use dnspython to resolve dns instead of socket.getaddrinfo
|
|
(#4422)
|
|
* Importing minikeys: use uncompressed pubkey instead of compressed
|
|
(#4384)
|
|
* SPV proofs: check inner nodes not to be valid transactions (#4436)
|
|
* Qt GUI: there is now an optional "dark" theme (#4461)
|
|
* Several other minor bugfixes and usability improvements.
|
|
|
|
|
|
# Release 3.1.3 - (April 16, 2018)
|
|
|
|
* Qt GUI: seed word auto-complete during restore
|
|
* Android: fix some crashes
|
|
* performance improvements (wallet, and Qt GUI)
|
|
* hardware wallets: show debug message during device scan
|
|
* Digital Bitbox: enabled BIP84 (p2wpkh) wallet creation
|
|
* add regtest support (via --regtest flag)
|
|
* other minor bugfixes and usability improvements
|
|
|
|
# Release 3.1.2 - (March 28, 2018)
|
|
|
|
* Kivy/android: request PIN on startup
|
|
* Improve OSX build process
|
|
* Fix various bugs with hardware wallets
|
|
* Other minor bugfixes
|
|
|
|
# Release 3.1.1 - (March 12, 2018)
|
|
|
|
* fix #4031: Trezor T support
|
|
* partial fix #4060: proxy and hardware wallet can't be used together
|
|
* fix #4039: can't set address labels
|
|
* fix crash related to coinbase transactions
|
|
* MacOS: use internal graphics card
|
|
* fix openalias related crashes
|
|
* speed-up capital gains calculations
|
|
* hw wallet encryption: re-prompt for passphrase if incorrect
|
|
* other minor fixes.
|
|
|
|
|
|
|
|
# Release 3.1.0 - (March 5, 2018)
|
|
|
|
* Memory-pool based fee estimation. Dynamic fees can target a desired
|
|
depth in the memory pool. This feature is optional, and ETA-based
|
|
estimates from Bitcoin Core are still available. Note that miners
|
|
could exploit this feature, if they conspired and filled the memory
|
|
pool with expensive transactions that never get mined. However,
|
|
since the Electrum client already trusts an Electrum server with
|
|
fee estimates, activating this feature does not introduce any new
|
|
vulnerability. In addition, the client uses a hard threshold to
|
|
protect itself from servers sending excessive fee estimates. In
|
|
practice, ETA-based estimates have resulted in sticky fees, and
|
|
caused many users to overpay for transactions. Advanced users tend
|
|
to visit (and trust) websites that display memory-pool data in
|
|
order to set their fees.
|
|
* Capital gains: For each outgoing transaction, the difference
|
|
between the acquisition and liquidation prices of outgoing coins is
|
|
displayed in the wallet history. By default, historical exchange
|
|
rates are used to compute acquisition and liquidation prices. These
|
|
values can also be entered manually, in order to match the actual
|
|
price realized by the user. The order of liquidation of coins is
|
|
the natural order defined by the blockchain; this results in
|
|
capital gain values that are invariant to changes in the set of
|
|
addresses that are in the wallet. Any other ordering strategy (such
|
|
as FIFO, LIFO) would result in capital gain values that depend on
|
|
the presence of other addresses in the wallet.
|
|
* Local transactions: Transactions can be saved in the wallet without
|
|
being broadcast. The inputs of local transactions are considered as
|
|
spent, and their change outputs can be re-used in subsequent
|
|
transactions. This can be combined with cold storage, in order to
|
|
create several transactions before broadcasting them. Outgoing
|
|
transactions that have been removed from the memory pool are also
|
|
saved in the wallet, and can be broadcast again.
|
|
* Checkpoints: The initial download of a headers file was replaced
|
|
with hardcoded checkpoints. The wallet uses one checkpoint per
|
|
retargeting period. The headers for a retargeting period are
|
|
downloaded only if transactions need to be verified in this period.
|
|
* The 'privacy' and 'priority' coin selection policies have been
|
|
merged into one. Previously, the 'privacy' policy has been unusable
|
|
because it was was not prioritizing confirmed coins. The new policy
|
|
is similar to 'privacy', except that it de-prioritizes addresses
|
|
that have unconfirmed coins.
|
|
* The 'Send' tab of the Qt GUI displays how transaction fees are
|
|
computed from transaction size.
|
|
* The wallet history can be filtered by time interval.
|
|
* Replace-by-fee is enabled by default. Note that this might cause
|
|
some issues with wallets that do not display RBF transactions until
|
|
they are confirmed.
|
|
* Watching-only wallets and hardware wallets can be encrypted.
|
|
* Semi-automated crash reporting
|
|
* The SSL checkbox option was removed from the GUI.
|
|
* The Trezor T hardware wallet is now supported.
|
|
* BIP84: native segwit p2wpkh scripts for bip39 seeds and hardware
|
|
wallets can now be created when specifying a BIP84 derivation
|
|
path. This is usable with Trezor and Ledger.
|
|
* Windows: the binaries now include ZBar, and QR code scanning should work.
|
|
* The Wallet Import Format (WIF) for private keys that was extended in 3.0
|
|
is changed. Keys in the previous format can be imported, compatibility
|
|
is maintained. Newly exported keys will be serialized as
|
|
"script_type:original_wif_format_key".
|
|
* BIP32 master keys for testnet once again have different version bytes than
|
|
on mainnet. For the mainnet prefixes {x,y,Y,z,Z}|{pub,prv}, the
|
|
corresponding testnet prefixes are {t,u,U,v,V}|{pub,prv}.
|
|
More details and exact version bytes are specified at:
|
|
https://github.com/spesmilo/electrum-docs/blob/master/xpub_version_bytes.rst
|
|
Note that due to this change, testnet wallet files created with previous
|
|
versions of Electrum must be considered broken, and they need to be
|
|
recreated from seed words.
|
|
* A new version of the Electrum protocol is required by the client
|
|
(version 1.2). Servers using older versions of the protocol will
|
|
not be displayed in the GUI.
|
|
|
|
|
|
# Release 3.0.6 :
|
|
* Fix transaction parsing bug #3788
|
|
|
|
# Release 3.0.5 : (Security update)
|
|
|
|
This is a follow-up to the 3.0.4 release, which did not completely fix
|
|
issue #3374. Users should upgrade to 3.0.5.
|
|
|
|
* The JSONRPC interface is password protected
|
|
* JSONRPC commands are disabled if the GUI is running, except 'ping',
|
|
which is used to determine if a GUI is already running
|
|
|
|
|
|
# Release 3.0.4 : (Security update)
|
|
|
|
* Fix a vulnerability caused by Cross-Origin Resource Sharing (CORS)
|
|
in the JSONRPC interface. Previous versions of Electrum are
|
|
vulnerable to port scanning and deanonimization attacks from
|
|
malicious websites. Wallets that are not password-protected are
|
|
vulnerable to theft.
|
|
* Bundle QR scanner with Android app
|
|
* Minor bug fixes
|
|
|
|
# Release 3.0.3
|
|
* Qt GUI: sweeping now uses the Send tab, allowing fees to be set
|
|
* Windows: if using the installer binary, there is now a separate shortcut
|
|
for "Electrum Testnet"
|
|
* Digital Bitbox: added suport for p2sh-segwit
|
|
* OS notifications for incoming transactions
|
|
* better transaction size estimation:
|
|
- fees for segwit txns were somewhat underestimated (#3347)
|
|
- some multisig txns were underestimated
|
|
- handle uncompressed pubkeys
|
|
* fix #3321: testnet for Windows binaries
|
|
* fix #3264: Ledger/dbb signing on some platforms
|
|
* fix #3407: KeepKey sending to p2sh output
|
|
* other minor fixes and usability improvements
|
|
|
|
# Release 3.0.2
|
|
* Android: replace requests tab with address tab, with access to
|
|
private keys
|
|
* sweeping minikeys: search for both compressed and uncompressed
|
|
pubkeys
|
|
* fix wizard crash when attempting to reset Google Authenticator
|
|
* fix #3248: fix Ledger+segwit signing
|
|
* fix #3262: fix SSL payment request signing
|
|
* other minor fixes.
|
|
|
|
# Release 3.0.1
|
|
* minor bug and usability fixes
|
|
|
|
# Release 3.0 - Uncanny Valley (November 1st, 2017)
|
|
|
|
* The project was migrated to Python3 and Qt5. Python2 is no longer
|
|
supported. If you cloned the source repository, you will need to
|
|
run "python3 setup.py install" in order to install the new
|
|
dependencies.
|
|
|
|
* Segwit support:
|
|
|
|
- Native segwit scripts are supported using a new type of
|
|
seed. The version number for segwit seeds is 0x100. The install
|
|
wizard will not create segwit seeds by default; users must
|
|
opt-in with the segwit option.
|
|
|
|
- Native segwit scripts are represented using bech32 addresses,
|
|
following BIP173. Please note that BIP173 is still in draft
|
|
status, and that other wallets/websites may not support
|
|
it. Thus, you should keep a non-segwit wallet in order to be
|
|
able to receive bitcoins during the transition period. If BIP173
|
|
ends up being rejected or substantially modified, your wallet
|
|
may have to be restored from seed. This will not affect funds
|
|
sent to bech32 addresses, and it will not affect the capacity of
|
|
Electrum to spend these funds.
|
|
|
|
- Segwit scripts embedded in p2sh are supported with hardware
|
|
wallets or bip39 seeds. To create a segwit-in-p2sh wallet,
|
|
trezor/ledger users will need to enter a BIP49 derivation path.
|
|
|
|
- The BIP32 master keys of segwit wallets are serialized using new
|
|
version numbers. The new version numbers encode the script type,
|
|
and they result in the following prefixes:
|
|
|
|
* xpub/xprv : p2pkh or p2sh
|
|
* ypub/yprv : p2wpkh-in-p2sh
|
|
* Ypub/Yprv : p2wsh-in-p2sh
|
|
* zpub/zprv : p2wpkh
|
|
* Zpub/Zprv : p2wsh
|
|
|
|
These values are identical for mainnet and testnet; tpub/tprv
|
|
prefixes are no longer used in testnet wallets.
|
|
|
|
- The Wallet Import Format (WIF) is similarly extended for segwit
|
|
scripts. After a base58-encoded key is decoded to binary, its
|
|
first byte encodes the script type:
|
|
|
|
* 128 + 0: p2pkh
|
|
* 128 + 1: p2wpkh
|
|
* 128 + 2: p2wpkh-in-p2sh
|
|
* 128 + 5: p2sh
|
|
* 128 + 6: p2wsh
|
|
* 128 + 7: p2wsh-in-p2sh
|
|
|
|
The distinction between p2sh and p2pkh in private key means that
|
|
it is not possible to import a p2sh private key and associate it
|
|
to a p2pkh address.
|
|
|
|
* A new version of the Electrum protocol is required by the client
|
|
(version 1.1). Servers using older versions of the protocol will
|
|
not be displayed in the GUI.
|
|
|
|
* By default, transactions are time-locked to the height of the
|
|
current block. Other values of locktime may be passed using the
|
|
command line.
|
|
|
|
|
|
# Release 2.9.3
|
|
* fix configuration file issue #2719
|
|
* fix ledger signing of non-RBF transactions
|
|
* disable 'spend confirmed only' option by default
|
|
|
|
# Release 2.9.2
|
|
* force headers download if headers file is corrupted
|
|
* add websocket to windows builds
|
|
|
|
# Release 2.9.1
|
|
* fix initial headers download
|
|
* validate contacts on import
|
|
* command-line option for locktime
|
|
|
|
# Release 2.9 - Independence (July 27th, 2017)
|
|
* Multiple Chain Validation: Electrum will download and validate
|
|
block headers sent by servers that may follow different branches
|
|
of a fork in the Bitcoin blockchain. Instead of a linear sequence,
|
|
block headers are organized in a tree structure. Branching points
|
|
are located efficiently using binary search. The purpose of MCV is
|
|
to detect and handle blockchain forks that are invisible to the
|
|
classical SPV model.
|
|
* The desired branch of a blockchain fork can be selected using the
|
|
network dialog. Branches are identified by the hash and height of
|
|
the diverging block. Coin splitting is possible using RBF
|
|
transaction (a tutorial will be added).
|
|
* Multibit support: If the user enters a BIP39 seed (or uses a
|
|
hardware wallet), the full derivation path is configurable in the
|
|
install wizard.
|
|
* Option to send only confirmed coins
|
|
* Qt GUI:
|
|
- Network dialog uses tabs and gets updated by network events.
|
|
- The gui tabs use icons
|
|
* Kivy GUI:
|
|
- separation between network dialog and wallet settings dialog.
|
|
- option for manual server entry
|
|
- proxy configuration
|
|
* Daemon: The wallet password can be passed as parameter to the
|
|
JSONRPC API.
|
|
* Various other bugfixes and improvements.
|
|
|
|
|
|
# Release 2.8.3
|
|
* Fix crash on reading older wallet formats.
|
|
* TrustedCoin: remove pay-per-tx option
|
|
|
|
# Release 2.8.2
|
|
* show paid invoices in history tab
|
|
* improve CPFP dialog
|
|
* fixes for trezor, keepkey
|
|
* other minor bugfixes
|
|
|
|
# Release 2.8.1
|
|
* fix Digital Bitbox plugin
|
|
* fix daemon jsonrpc
|
|
* fix trustedcoin wallet creation
|
|
* other minor bugfixes
|
|
|
|
# Release 2.8.0 (March 9, 2017)
|
|
* Wallet file encryption using ECIES: A keypair is derived from the
|
|
wallet password. Once the wallet is decrypted, only the public key
|
|
is retained in memory, in order to save the encrypted file.
|
|
* The daemon requires wallets to be explicitly loaded before
|
|
commands can use them. Wallets can be loaded using: 'electrum
|
|
daemon load_wallet [-w path]'. This command will require a
|
|
password if the wallet is encrypted.
|
|
* Invoices and contacts are stored in the wallet file and are no
|
|
longer shared between wallets. Previously created invoices and
|
|
contacts files may be imported from the menu.
|
|
* Fees improvements:
|
|
- Dynamic fees are enabled by default.
|
|
- Child Pays For Parent (CPFP) dialog in the GUI.
|
|
- RBF is automatically proposed for low fee transactions.
|
|
* Support for Segregated Witness (testnet only).
|
|
* Support for Digital Bitbox hardware wallet.
|
|
* The GUI shows a blue icon when connected using a proxy.
|
|
|
|
# Release 2.7.18
|
|
* enforce https on exchange rate APIs
|
|
* use hardcoded list of exchanges
|
|
* move 'Freeze' menu to Coins (utxo) tab
|
|
* various bugfixes
|
|
|
|
# Release 2.7.17
|
|
* fix a few minor regressions in the Qt GUI
|
|
|
|
# Release 2.7.16
|
|
* add Testnet support (fix #541)
|
|
* allow daemon to be launched in the foreground (fix #1873)
|
|
* Qt: use separate tabs for addresses and UTXOs
|
|
* Qt: update fee slider with a network callback
|
|
* Ledger: new ui and mobile 2fa validation (neocogent)
|
|
|
|
# Release 2.7.15
|
|
* Use fee slider for both static and dynamic fees.
|
|
* Add fee slider to RBF dialog (fix #2083).
|
|
* Simplify fee preferences.
|
|
* Critical: Fix password update issue (#2097). This bug prevents
|
|
password updates in multisig and 2FA wallets. It may also cause
|
|
wallet corruption if the wallet contains several master private
|
|
keys (such as 2FA wallets that have been restored from
|
|
seed). Affected wallets will need to be restored again.
|
|
|
|
# Release 2.7.14
|
|
* Merge exchange_rate plugin with main code
|
|
* Faster synchronization and transaction creation
|
|
* Fix bugs #2096, #2016
|
|
|
|
# Release 2.7.13
|
|
* fix message signing with imported keys
|
|
* add size to transaction details window
|
|
* move plot plugin to main code
|
|
* minor bugfixes
|
|
|
|
# Release 2.7.12
|
|
various bugfixes
|
|
|
|
# Release 2.7.11
|
|
* fix offline signing (issue #195)
|
|
* fix android crashes caused by threads
|
|
|
|
# Release 2.7.10
|
|
* various fixes for hardware wallets
|
|
* improve fee bumping
|
|
* separate sign and broadcast buttons in Qt tx dialog
|
|
* allow spaces in private keys
|
|
|
|
# Release 2.7.9
|
|
* Fix a bug with the ordering of pubkeys in recent multisig wallets.
|
|
Affected wallets will regenerate their public keys when opened for
|
|
the first time. This bug does not affect address generation.
|
|
* Fix hardware wallet issues #1975, #1976
|
|
|
|
# Release 2.7.8
|
|
* Fix a bug with fee bumping
|
|
* Fix crash when parsing request (issue #1969)
|
|
|
|
# Release 2.7.7
|
|
* Fix utf8 encoding bug with old wallet seeds (issue #1967)
|
|
* Fix delete request from menu (isue #1968)
|
|
|
|
# Release 2.7.6
|
|
* Fixes a critical bug with imported private keys (issue #1966). Keys
|
|
imported in Electrum 2.7.x were not encrypted, even if the wallet
|
|
had a password. If you imported private keys using Electrum 2.7.x,
|
|
you will need to import those keys again. If you imported keys in
|
|
2.6 and converted with 2.7.x, you don't need to do anything, but
|
|
you still need to upgrade in order to be able to spend.
|
|
* Wizard: Hide seed options in a popup dialog.
|
|
|
|
# Release 2.7.5
|
|
* Add number of confirmations to request status. (issue #1757)
|
|
* In the GUI, refer to passphrase as 'seed extension'.
|
|
* Fix bug with utf8 encoded passphrases.
|
|
* Kivy wizard: add a dialog for seed options.
|
|
* Kivy wizard: add current word to suggestions, because some users
|
|
don't see the space key.
|
|
|
|
# Release 2.7.4
|
|
* Fix private key import in wizard
|
|
* Fix Ledger display (issue #1961)
|
|
* Fix old watching-only wallets (issue #1959)
|
|
* Fix Android compatibility (issue #1947)
|
|
|
|
# Release 2.7.3
|
|
* fix Trezor and Keepkey support in Windows builds
|
|
* fix sweep private key dialog
|
|
* minor fixes: #1958, #1959
|
|
|
|
# Release 2.7.2
|
|
* fix bug in password update (issue #1954)
|
|
* fix fee slider (issue #1953)
|
|
|
|
# Release 2.7.1
|
|
* fix wizard crash with old seeds
|
|
* fix issue #1948: fee slider
|
|
|
|
# Release 2.7.0 (Oct 2 2016)
|
|
|
|
* The wallet file format has been upgraded. This upgrade is not
|
|
backward compatible, which means that a wallet upgraded to the 2.7
|
|
format will not be readable by earlier versions of
|
|
Electrum. Multiple accounts inside the same wallet are not
|
|
supported in the new format; the Qt GUI will propose to split any
|
|
wallet that has several accounts. Make sure that you have saved
|
|
your seed phrase before you upgrade Electrum.
|
|
* This version introduces a separation between wallets types and
|
|
keystores types. 'Wallet type' defines the type of Bitcoin contract
|
|
used in the wallet, while 'keystore type' refers to the method used
|
|
to store private keys. Therefore, so-called 'hardware wallets' will
|
|
be referred to as 'hardware keystores'.
|
|
* Hardware keystores:
|
|
- The Ledger Nano S is supported.
|
|
- Hardware keystores can be used as cosigners in multi-signature
|
|
wallets.
|
|
- Multiple hardware cosigners can be used in the same multisig
|
|
wallet. One icon per keystore is displayed in the satus bar. Each
|
|
connected device will co-sign the transaction.
|
|
* Replace-By-Fee: RBF transactions are supported in both Qt and
|
|
Android. A warning is displayed in the history for transactions
|
|
that are replaceable, have unconfirmed parents, or that have very
|
|
low fees.
|
|
* Dynamic fees: Dynamic fees are enabled by default. A slider allows
|
|
the user to select the expected confirmation time of their
|
|
transaction. The expected confirmation times of incoming
|
|
transactions is also displayed in the history.
|
|
* The install wizards of Qt and Kivy have been unified.
|
|
* Qt GUI (Desktop):
|
|
- A fee slider is visible in the in send tab
|
|
- The Address tab is hidden by default, can be shown with Ctrl-A
|
|
- UTXOs are displayed in the Address tab
|
|
* Kivy GUI (Android):
|
|
- The GUI displays the complete transaction history.
|
|
- Multisig wallets are supported.
|
|
- Wallets can be created and deleted in the GUI.
|
|
* Seed phrases can be extended with a user-chosen passphrase. The
|
|
length of seed phrases is standardized to 12 words, using 132 bits
|
|
of entropy (including 2FA seeds). In the wizard, the type of the
|
|
seed is displayed in the seed input dialog.
|
|
* TrustedCoin users can request a reset of their Google Authenticator
|
|
account, if they still have their seed.
|
|
|
|
|
|
# Release 2.6.4 (bugfixes)
|
|
* fix coinchooser bug (#1703)
|
|
* fix daemon JSONRPC (#1731)
|
|
* fix command-line broadcast (#1728)
|
|
* QT: add colors to labels
|
|
|
|
# Release 2.6.3 (bugfixes)
|
|
* fix command line parsing of transactions
|
|
* fix signtransaction --privkey (#1715)
|
|
|
|
# Release 2.6.2 (bugfixes)
|
|
* fix Trustedcoin restore from seed (bug #1704)
|
|
* small improvements to kivy GUI
|
|
|
|
# Release 2.6.1 (bugfixes)
|
|
* fix broadcast command (bug #1688)
|
|
* fix tx dialog (bug #1690)
|
|
* kivy: support old-type seed phrases in wizard
|
|
|
|
# Release 2.6
|
|
* The source code is relicensed under the MIT Licence
|
|
* First official release of the Kivy GUI, with android APK
|
|
* The old 'android' and 'gtk' GUIs are deprecated
|
|
* Separation between plugins and GUIs
|
|
* The command line uses jsonrpc to communicate with the daemon
|
|
* New command: 'notify <address> <url>'
|
|
* Alternative coin selection policy, designed to help preserve user
|
|
privacy. Enable it by setting the Coin Selection preference to
|
|
Privacy.
|
|
* The install wizard has been rewritten and improved
|
|
* Support minikeys as used in Casascius coins for private key import
|
|
and sweeping
|
|
* Much improved support for TREZOR and KeepKey devices:
|
|
- full device information display
|
|
- initialize a new or wiped device in 4 ways:
|
|
1) device generates a new wallet
|
|
2) you enter a seed
|
|
3) you enter a BIP39 mnemonic to generate the seed
|
|
4) you enter a master private key
|
|
- KeepKey secure seed recovery (KeepKey only)
|
|
- change / set / disable PIN
|
|
- set homescreen (TREZOR only)
|
|
- set a session timeout. Once a session has timed out, further use
|
|
of the device requires your PIN and passhphrase to be re-entered
|
|
- enable / disable passphrases
|
|
- device wipe
|
|
- multiple device support
|
|
|
|
# Release 2.5.4
|
|
* increase MIN_RELAY_TX_FEE to avoid dust transactions
|
|
|
|
# Release 2.5.3 (bugfixes)
|
|
* installwizard: do not allow direct copy-paste of the seed
|
|
* installwizard: fix bug #1531 (starting offline)
|
|
|
|
# Release 2.5.2 (bugfixes)
|
|
* fix bug #1513 (client tries to broadcast transaction while not connected)
|
|
* fix synchronization bug (#1520)
|
|
* fix command line bug (#1494)
|
|
* fixes for exchange rate plugin
|
|
|
|
# Release 2.5.1 (bugfixes)
|
|
* signatures in transactions were still using the old class
|
|
* make sure that setup.py uses python2
|
|
* fix wizard crash with trustedcoin plugin
|
|
* fix socket infinite loop
|
|
* fix history bug #1479
|
|
|
|
# Release 2.5
|
|
* Low-S values are used in signatures (BIP 62).
|
|
* The Kivy GUI has been merged into master.
|
|
* The Qt GUI supports multiple windows in the same process. When a
|
|
new Electrum instance is started, it checks for an already running
|
|
Electrum process, and connects to it.
|
|
* The network layer uses select(), so all server communication is
|
|
handled by a single thread. Moreover, the synchronizer, verifier,
|
|
and exchange rate plugin now run as separate jobs within the
|
|
networking thread instead of as their own threads.
|
|
* Plugins are revamped, particularly the exchange rate plugin.
|
|
|
|
# Release 2.4.4
|
|
* Fix bug with TrustedCoin plugin
|
|
|
|
# Release 2.4.3
|
|
* Support for KeepKey hardware wallet
|
|
* Simplified Chinese wordlist
|
|
* Minor bugfixes and GUI tweaks
|
|
|
|
# Release 2.4.2
|
|
* Command line can read arguments from stdin (pipe)
|
|
* Speedup fee computation for large transactions
|
|
* Various bugfixes
|
|
|
|
# Release 2.4.1
|
|
* Use ssl.PROTOCOL_TLSv1
|
|
* Fix DNSSEC issues with ECDSA signatures
|
|
* Replace TLSLite dependency with minimal RSA implementation
|
|
* Dynamic Fees: using estimatefee value returned by server
|
|
* Various GUI improvements
|
|
|
|
# Release 2.4
|
|
* Payment to DNS names storing a Bitcoin addresses (OpenAlias) is
|
|
supported directly, without activating a plugin. The verification
|
|
uses DNSSEC.
|
|
* The DNSSEC verification code was rewritten. The previous code,
|
|
which was part of the OpenAlias plugin, is vulnerable and should
|
|
not be trusted (Electrum 2.0 to 2.3).
|
|
* Payment requests can be signed using Bitcoin addresses stored
|
|
in DNS (OpenAlias). The identity of the requestor is verified using
|
|
DNSSEC.
|
|
* Payment requests signed with OpenAlias keys can be shared as
|
|
bitcoin: URIs, if they are simple (a single address-type
|
|
output). The BIP21 URI scheme is extended with 'name', 'sig',
|
|
'time', 'exp'.
|
|
* Arbitrary m-of-n multisig wallets are supported (n<=15).
|
|
* Multisig transactions can be signed with TREZOR. When you create
|
|
the multisig wallet, just enter the xpub of your existing TREZOR
|
|
wallet.
|
|
* Transaction fees set manually in the GUI are retained, including
|
|
when the user uses the '!' shortcut.
|
|
* New 'email' plugin, that enables sending and receiving payment
|
|
requests by email.
|
|
* The daemon supports Websocket notifications of payments.
|
|
|
|
# Release 2.3.3
|
|
* fix proxy settings (issue #1309)
|
|
* improvements to the transaction dialog:
|
|
- request password after showing transaction
|
|
- show change addresses in yellow color
|
|
|
|
# Release 2.3.2
|
|
* minor bugfixes
|
|
* updated ledger plugin
|
|
* sort inputs/outputs lexicographically (BIP-LI01)
|
|
|
|
# Release 2.3.1
|
|
* patch a bug with payment requests
|
|
|
|
# Release 2.3
|
|
* Improved logic for the network layer.
|
|
* More efficient coin selection. Spend oldest coins first, and
|
|
minimize the number of transaction inputs.
|
|
* Plugins are loaded independently of the GUI. As a result, Openalias,
|
|
TrustedCoin and TREZOR wallets can be used with the command
|
|
line. Example: 'electrum payto <openalias> <amount>'
|
|
* The command line has been refactored:
|
|
- Arguments are parsed with argparse.
|
|
- The inline help includes a description of options.
|
|
- Some commands have been renamed. Notably, 'mktx' and 'payto' have
|
|
been merged into a single command, with a --broadcast option.
|
|
Type 'electrum --help' for a complete overview.
|
|
* The command line accepts the '!' syntax to send the maximum
|
|
amount available. It can be combined with the '--from' option.
|
|
Example: 'payto <destination> ! --from <from_address>'
|
|
* The command line also accepts a '?' shortcut for private keys
|
|
arguments, that triggers a prompt.
|
|
* Payment requests can be managed with the command line, using the
|
|
following commands: 'addrequest', 'rmrequest', 'listrequests'.
|
|
Payment requests can be signed with a SSL certificate, and published
|
|
as bip70 files in a public web directory. To see the relevant
|
|
configuration variables, type 'electrum addrequest --help'
|
|
* Commands can be called with jsonrpc, using the 'jsonrpc' gui. The
|
|
jsonrpc interface may be called by php.
|
|
|
|
# Release 2.2
|
|
* Show amounts (thousands separators and decimal point)
|
|
according to locale in GUI
|
|
* Show unmatured coins in balance
|
|
* Fix exchange rates plugin
|
|
* Network layer: refactoring and fixes
|
|
|
|
# Release 2.1.1
|
|
* patch a bug that prevents new wallet creation.
|
|
* fix connection issue on osx binaries
|
|
|
|
# Release 2.1
|
|
* Faster startup, thanks to the following optimizations:
|
|
1. Transaction input/outputs are cached in the wallet file
|
|
2. Fast X509 certificate parser, not using pyasn1 anymore.
|
|
3. The Label Sync plugin only requests modified labels.
|
|
* The 'Invoices' and 'Send' tabs have been merged.
|
|
* Contacts are stored in a separate file, shared between wallets.
|
|
* A Search Box is available in the GUI (Ctrl-S)
|
|
* Payment requests have an expiration date and can be exported to
|
|
BIP70 files.
|
|
* file: scheme support in BIP72 URIs: "bitcoin:?r=file:///..."
|
|
* Own addresses are shown in green in the Transaction dialog.
|
|
* Address History dialog.
|
|
* The OpenAlias plugin was improved.
|
|
* Various bug fixes and GUI improvements.
|
|
* A new LabelSync backend is being used an import of the old
|
|
database was made but since the release came later it's
|
|
recommended that you do a full push when you upgrade.
|
|
|
|
# Release 2.0.4 - Minor GUI improvements
|
|
* The password dialog will ask for password again if the user enters
|
|
a wrong password
|
|
* The Master Public Key dialog displays which keys belong to the
|
|
wallet, and which are cosigners
|
|
* The transaction dialog will ask to save unsaved transaction
|
|
received from cosigner pool, when user clicks on 'Close'
|
|
* The multisig restore dialog accepts xprv keys.
|
|
* The network daemon must be started explicitly before using commands
|
|
that require a connection
|
|
Example:
|
|
electrum daemon start
|
|
electrum getaddressunspent <addr>
|
|
electrum daemon status
|
|
electrum daemon stop
|
|
If a daemon is running, the GUI will use it.
|
|
|
|
# Release 2.0.3 - bugfixes and minor GUI improvements
|
|
* Do not use daemon threads (fix #960)
|
|
* Add a zoom button to receive tab
|
|
* Add exchange rate conversion to receive tab
|
|
* Use Tor's default port number in default proxy config
|
|
|
|
# Release 2.0.2 - bugfixes
|
|
* Fix transaction sweep (#1066)
|
|
* Fix thread timing bug (#1054)
|
|
|
|
# Release 2.0.1 - bugfixes
|
|
* Fix critical bug in TREZOR address derivation: passphrases were not
|
|
NFKD normalized. TREZOR users who created a wallet protected by a
|
|
passphrase containing utf-8 characters with diacritics are
|
|
affected. These users will have to open their wallet with version
|
|
2.0 and to move their funds to a new wallet.
|
|
* Use a file socket for the daemon (fixes network dialog issues)
|
|
* Fix crash caused by QR scanner icon when zbar not installed.
|
|
* Fix CosignerPool plugin
|
|
* Label Sync plugin: Fix label sharing between multisig wallets
|
|
|
|
|
|
# Release 2.0
|
|
|
|
* Before you upgrade, make sure you have saved your wallet seed on
|
|
paper.
|
|
|
|
* Documentation is now hosted on a wiki: http://electrum.orain.org
|
|
|
|
* New seed derivation method (not compatible with BIP39). The seed
|
|
phrase includes a version number, that refers to the wallet
|
|
structure. The version number also serves as a checksum, and it
|
|
will prevent the import of seeds from incompatible wallets. Old
|
|
Electrum seeds are still supported.
|
|
|
|
* New address derivation (BIP32). Standard wallets are single account
|
|
and use a gap limit of 20.
|
|
|
|
* Support for Multisig wallets using parallel BIP32 derivations and
|
|
P2SH addresses ("2 of 2", "2 of 3").
|
|
|
|
* Compact serialization format for unsigned or partially signed
|
|
transactions, that includes the BIP32 master public key and
|
|
derivation needed to sign inputs. Serialized transactions can be
|
|
sent to cosigners or to cold storage using QR codes (using Andreas
|
|
Schildbach's base 43 idea).
|
|
|
|
* Support for BIP70 payment requests:
|
|
- Verification of the chain of signatures uses tlslite.
|
|
- In the GUI, payment requests are shown in the 'Invoices' tab.
|
|
|
|
* Support for hardware wallets: TREZOR (SatoshiLabs) and Btchip (Ledger).
|
|
|
|
* Two-factor authentication service by TrustedCoin. This service uses
|
|
"2 of 3" multisig wallets and Google Authenticator. Note that
|
|
wallets protected by this service can be deterministically restored
|
|
from seed, without Trustedcoin's server.
|
|
|
|
* Cosigner Pool plugin: encrypted communication channel for multisig
|
|
wallets, to send and receive partially signed transactions.
|
|
|
|
* Audio Modem plugin: send and receive transactions by sound.
|
|
|
|
* OpenAlias plugin: send bitcoins to aliases verified using DNSSEC.
|
|
|
|
* New 'Receive' tab in the GUI:
|
|
- create and manage payment requests, with QR Codes
|
|
- the former 'Receive' tab was renamed to 'Addresses'
|
|
- the former Point of Sale plugin is replaced by a resizeable
|
|
window that pops up if you click on the QR code
|
|
|
|
* The 'Send' tab in the Qt GUI supports transactions with multiple
|
|
outputs, and raw hexadecimal scripts.
|
|
|
|
* The GUI can connect to the Electrum daemon: "electrum -d" will
|
|
start the daemon if it is not already running, and the GUI will
|
|
connect to it. The daemon can serve several clients. It times out
|
|
if no client uses if for more than 5 minutes.
|
|
|
|
* The install wizard can be used to import addresses or private
|
|
keys. A watching-only wallet is created by entering a list of
|
|
addresses in the wizard dialog.
|
|
|
|
* New file format: Wallets files are saved as JSON. Note that new
|
|
wallet files cannot be read by older versions of Electrum. Old
|
|
wallet files will be converted to the new format; this operation
|
|
may take some time, because public keys will be derived for each
|
|
address of your wallet.
|
|
|
|
* The client accepts servers with a CA-signed SSL certificate.
|
|
|
|
* ECIES encrypt/decrypt methods, availabe in the GUI and using
|
|
the command line:
|
|
encrypt <pubkey> <message>
|
|
decrypt <pubkey> <message>
|
|
|
|
* The Android GUI has received various updates and it is much more
|
|
stable. Another script was added to Android, called Authenticator,
|
|
that works completely offline: it reads an unsigned transaction
|
|
shown as QR code, signs it and shows the result as a QR code.
|
|
|
|
|
|
# Release 1.9.8
|
|
|
|
* Electrum servers were upgraded to version 0.9. The new server stores
|
|
a Patrica tree of all UTXOs, an idea proposed by Alan Reiner in the
|
|
bitcointalk forum. This property allows the client to directly
|
|
request the balance of any address. The new commands are:
|
|
1. getaddressbalance <address>
|
|
2. getaddressunspent <address>
|
|
3. getutxoaddress <txid> <pos>
|
|
|
|
* Command-line commands that require a connection to the network spawn
|
|
a daemon, that remains connected and handles subsequent
|
|
commands. The daemon terminates itself if it remains unused for more
|
|
than one minute. The purpose of this is to make scripting more
|
|
efficient. For example, a bash script using many electrum commands
|
|
will open only one connection.
|
|
|
|
# Release 1.9.7
|
|
* Fix for offline signing
|
|
* Various bugfixes
|
|
* GUI usability improvements
|
|
* Coinbase Buyback plugin
|
|
|
|
# Release 1.9.6
|
|
* During wallet creation, do not write seed to disk until it is encrypted.
|
|
* Confirmation dialog if the transaction fee is higher than 1mBTC.
|
|
* bugfixes
|
|
|
|
# Release 1.9.5
|
|
|
|
* Coin control: select addresses to send from
|
|
* Put addresses that have been used in a minimized section (Qt GUI)
|
|
* Allow non ascii chars in passwords
|
|
|
|
|
|
# Release 1.9.4
|
|
bugfixes: offline transactions
|
|
|
|
# Release 1.9.3
|
|
bugfixes: connection problems, transactions staying unverified
|
|
|
|
# Release 1.9.2
|
|
* fix a syntax error
|
|
|
|
# Release 1.9.1
|
|
* fix regression with --offline mode
|
|
* fix regression with --portable mode: use a dedicated directory
|
|
|
|
# Release 1.9
|
|
|
|
* The client connects to multiple servers in order to retrieve block headers and find the longest chain
|
|
* SSL certificate validation (to prevent MITM)
|
|
* Deterministic signatures (RFC 6979)
|
|
* Menu to create/restore/open wallets
|
|
* Create transactions with multiple outputs from CSV (comma separated values)
|
|
* New text gui: stdio
|
|
* Plugins are no longer tied to the qt GUI, they can reach all GUIs
|
|
* Proxy bugs have been fixed
|
|
|
|
|
|
# Release 1.8.1
|
|
|
|
* Notification option when receiving new tranactions
|
|
* Confirm dialogue before sending large amounts
|
|
* Alternative datafile location for non-windows systems
|
|
* Fix offline wallet creation
|
|
* Remove enforced tx fee
|
|
* Tray icon improvements
|
|
* Various bugfixes
|
|
|
|
|
|
# Release 1.8
|
|
|
|
* Menubar in classic gui
|
|
* Updated the QR Code plugin to enable offline/online wallets to transmit unsigned/signed transactions via QR code.
|
|
* Fixed bug where never-confirmed transactions prevented further spending
|
|
|
|
|
|
# Release 1.7.4
|
|
|
|
* Increase default fee
|
|
* fix create and restore in command line
|
|
* fix verify message in the gui
|
|
|
|
|
|
# Release 1.7.3:
|
|
|
|
* Classic GUI can display amounts in mBTC
|
|
* Account selector in the classic GUI
|
|
* Changed the way the portable flag uses without supplying a -w argument
|
|
* Classic GUI asks users to enter their seed on wallet creation
|
|
|
|
|
|
# Release 1.7.2:
|
|
|
|
* Transactions that are in the same block are displayed in chronological order in the history.
|
|
* The client computes transaction priority and rejects zero-fee transactions that need a fee.
|
|
* The default fee was lowered to 200 uBTC per kb.
|
|
* Due to an internal format change, your history may be pruned when
|
|
you open your wallet for the first time after upgrading to 1.7.2. If
|
|
this is the case, please visit a full server to restore your full
|
|
history. You will only need to do that once.
|
|
|
|
|
|
# Release 1.7.1: bugfixes.
|
|
|
|
|
|
# Release 1.7
|
|
|
|
* The Classic GUI can be extended with plugins. Developers who want to
|
|
add new features or third-party services to Electrum are invited to
|
|
write plugins. Some previously existing and non-essential features of
|
|
Electrum (point-of-sale mode, qrcode scanner) were removed from the
|
|
core and are now available as plugins.
|
|
|
|
* The wallet waits for 2 confirmations before creating new
|
|
addresses. This makes recovery from seed more robust. Note that it
|
|
might create unwanted gaps if you use Electrum 1.7 together with older
|
|
versions of Electrum.
|
|
|
|
* An interactive Python console replaces the 'Wall' tab. The provided
|
|
python environment gives users access to the wallet and gui. Most
|
|
electrum commands are available as python function in the
|
|
console. Custom scripts an be loaded with a "run(filename)"
|
|
command. Tab-completions are available.
|
|
|
|
* The location of the Electrum folder in Windows changed from
|
|
LOCALAPPDATA to APPDATA. Discussion on this topic can be found here:
|
|
https://bitcointalk.org/index.php?topic=144575.0
|
|
|
|
* Private keys can be exported from within the classic GUI:
|
|
For a single address, use the address menu (right-click).
|
|
To export the keys of your entire wallet, use the settings dialog (import/export tab).
|
|
|
|
* It is possible to create, sign and redeem multisig transaction using the
|
|
command line interface. This is made possible by the following new commands:
|
|
dumpprivkey, listunspent, createmultisig, createrawtransaction, decoderawtransaction, signrawtransaction
|
|
The syntax of these commands is similar to their bitcoind counterpart.
|
|
For an example, see Gavin's tutorial: https://gist.github.com/gavinandresen/3966071
|
|
|
|
* Offline wallets now work in a way similar to Armory:
|
|
1. user creates an unsigned transaction using the online (watching-only) wallet.
|
|
2. unsigned transaction is copied to the offline computer, and signed by the offline wallet.
|
|
3. signed transaction is copied to the online computer, broadcasted by the online client.
|
|
4. All these steps can be done via the command line interface or the classic GUI.
|
|
|
|
* Many command line commands have been renamed in order to make the syntax consistent with bitcoind.
|
|
|
|
# Release 1.6.2
|
|
|
|
== Classic GUI
|
|
* Added new version notification
|
|
|
|
# Release 1.6.1 (11-01-2013)
|
|
|
|
== Core
|
|
* It is now possible to restore a wallet from MPK (this will create a watching-only wallet)
|
|
* A switch button allows to easily switch between Lite and Classic GUI.
|
|
|
|
== Classic GUI
|
|
* Seed and MPK help dialogs were rewritten
|
|
* Point of Sale: requested amounts can be expressed in other currencies and are converted to bitcoin.
|
|
|
|
== Lite GUI
|
|
* The receiving button was removed in favor of a menu item to keep it consistent with the history toggle.
|
|
|
|
# Release 1.6.0 (07-01-2013)
|
|
|
|
== Core
|
|
* (Feature) Add support for importing, signing and verifiying compressed keys
|
|
* (Feature) Auto reconnect to random server on disconnect
|
|
* (Feature) Ultimate fallback to HTTP port 80 if TCP doesn't work on any server
|
|
* (Bug) Under rare circumstances changing password with incorrect password could damage wallet
|
|
|
|
== Lite GUI
|
|
* (Chore) Use blockchain.info for exchange rate data
|
|
* (Feature) added currency conversion for BRL, CNY, RUB
|
|
* (Feature) Saraha theme
|
|
* (Feature) csv import/export for transactions including labels
|
|
|
|
== Classic GUI
|
|
* (Chore) pruning servers now called "p", full servers "f" to avoid confusion with terms
|
|
* (Feature) Debits in history shown in red
|
|
* (Feature) csv import/export for transactions including labels
|
|
|
|
# Release 1.5.8 (02-01-2013)
|
|
|
|
== Core
|
|
* (Bug) Fix pending address balance on received coins for pruning servers
|
|
* (Bug) Fix history command line option to show output again (regression by SPV)
|
|
* (Chore) Add timeout to blockchain headers file download by HTTP
|
|
* (Feature) new option: -L, --language: default language used in GUI.
|
|
|
|
== Lite GUI
|
|
* (Bug) Sending to auto-completed contacts works again
|
|
* (Chore) Added version number to title bar
|
|
|
|
== Classic GUI
|
|
* (Feature) Language selector in options.
|
|
|
|
# Release 1.5.7 (18-12-2012)
|
|
|
|
== Core
|
|
* The blockchain headers file is no longer included in the packages, it is downloaded on startup.
|
|
* New command line option: -P or --portable, for portable wallets. With this flag, all preferences are saved to the wallet file, and the blockchain headers file is in the same directory as the wallet
|
|
|
|
== Lite GUI
|
|
* (Feature) Added the ability to export your transactions to a CSV file.
|
|
* (Feature) Added a label dialog after sending a transaction.
|
|
* (Feature) Reworked receiving addresses; instead of a random selection from one of your receiving addresses a new widget will show listing unused addresses.
|
|
* (Chore) Removed server selection. With all the new server options a simple menu item does not suffice anymore.
|
|
|