more release notes
[electrum-nvc.git] / RELEASE-NOTES
1 # Release 1.9.8
2 (This release includes features initially planned for version 2.0)
3
4 * Electrum servers were upgraded to version 0.9. The new server stores
5   a Patrica tree of all UTXOs, an idea proposed by Alan Reiner in the
6   bitcointalk forum. This property allows the client to directly
7   request the balance of any address. The new commands are:
8      1. getaddressbalance <address> 
9      2. getaddressunspent <address>
10      3. getutxoaddress <txid> <pos>
11
12 * In addition, two commands for message encryption were added:
13      1. encrypt <pubkey> <message>
14      2. decrypt <pubkey> <message>  
15
16   The encryption algorithm is ECIES, and code was was borrowed from
17   https://github.com/jackjack-jj/jeeq.  In order to know the public
18   key corresponding to a Bitcoin address in your wallet, you can use
19   the 'getpubkeys' command. The 'decrypt' command assumes that the
20   wallet has the private key corresponding to the public key passed as
21   argument.
22
23 * The encrypt and decrypt functions are available in the Qt GUI (from
24   the menubar, or right click on one of your addresses if you want to
25   use its public key).
26
27 * Command-line commands that require a connection to the network spawn
28   a daemon, that remains connected and handles subsequent
29   commands. The daemon terminates itself if it remains unused for more
30   than one minute. The purpose of this is to make scripting more
31   efficient. For example, a bash script using many electrum commands
32   will open only one connection.
33
34 # Release 1.9.7
35 * Fix for offline signing
36 * Various bugfixes
37 * GUI usability improvements
38 * Coinbase Buyback plugin
39
40 # Release 1.9.6
41 * During wallet creation, do not write seed to disk until it is encrypted.
42 * Confirmation dialog if the transaction fee is higher than 1mBTC.
43 * bugfixes
44
45 # Release 1.9.5
46
47 * Coin control: select addresses to send from
48 * Put addresses that have been used in a minimized section (Qt GUI)
49 * Allow non ascii chars in passwords
50
51
52 # Release 1.9.4
53 bugfixes: offline transactions
54
55 # Release 1.9.3
56 bugfixes: connection problems, transactions staying unverified
57
58 # Release 1.9.2
59 * fix a syntax error
60
61 # Release 1.9.1
62 * fix regression with --offline mode
63 * fix regression with --portable mode: use a dedicated directory
64
65 # Release 1.9
66
67 * The client connects to multiple servers in order to retrieve block headers and find the longest chain
68 * SSL certificate validation (to prevent MITM)
69 * Deterministic signatures (RFC 6979)
70 * Menu to create/restore/open wallets
71 * Create transactions with multiple outputs from CSV (comma separated values)
72 * New text gui: stdio
73 * Plugins are no longer tied to the qt GUI, they can reach all GUIs
74 * Proxy bugs have been fixed
75
76
77 # Release 1.8.1
78
79 * Notification option when receiving new tranactions 
80 * Confirm dialogue before sending large amounts 
81 * Alternative datafile location for non-windows systems
82 * Fix offline wallet creation
83 * Remove enforced tx fee
84 * Tray icon improvements
85 * Various bugfixes 
86
87
88 # Release 1.8
89
90 * Menubar in classic gui
91 * Updated the QR Code plugin to enable offline/online wallets to transmit unsigned/signed transactions via QR code.
92 * Fixed bug where never-confirmed transactions prevented further spending
93
94
95 # Release 1.7.4
96
97 * Increase default fee
98 * fix create and restore in command line
99 * fix verify message in the gui
100
101
102 # Release 1.7.3:
103
104 * Classic GUI can display amounts in mBTC
105 * Account selector in the classic GUI
106 * Changed the way the portable flag uses without supplying a -w argument
107 * Classic GUI asks users to enter their seed on wallet creation
108
109
110 # Release 1.7.2:  
111
112 * Transactions that are in the same block are displayed in chronological order in the history.
113 * The client computes transaction priority and rejects zero-fee transactions that need a fee.
114 * The default fee was lowered to 200 uBTC per kb.
115 * Due to an internal format change, your history may be pruned when
116   you open your wallet for the first time after upgrading to 1.7.2. If
117   this is the case, please visit a full server to restore your full
118   history. You will only need to do that once.
119
120
121 # Release 1.7.1:  bugfixes.
122
123
124 # Release 1.7
125
126 * The Classic GUI can be extended with plugins. Developers who want to
127 add new features or third-party services to Electrum are invited to
128 write plugins. Some previously existing and non-essential features of
129 Electrum (point-of-sale mode, qrcode scanner) were removed from the
130 core and are now available as plugins.
131
132 * The wallet waits for 2 confirmations before creating new
133 addresses. This makes recovery from seed more robust. Note that it
134 might create unwanted gaps if you use Electrum 1.7 together with older
135 versions of Electrum.
136
137 * An interactive Python console replaces the 'Wall' tab. The provided
138 python environment gives users access to the wallet and gui. Most
139 electrum commands are available as python function in the
140 console. Custom scripts an be loaded with a "run(filename)"
141 command. Tab-completions are available.
142
143 * The location of the Electrum folder in Windows changed from
144 LOCALAPPDATA to APPDATA. Discussion on this topic can be found here:
145 https://bitcointalk.org/index.php?topic=144575.0
146
147 * Private keys can be exported from within the classic GUI:
148   For a single address, use the address menu (right-click).
149   To export the keys of your entire wallet, use the settings dialog (import/export tab).
150
151 * It is possible to create, sign and redeem multisig transaction using the 
152 command line interface.  This is made possible by the following new commands:
153     dumpprivkey, listunspent, createmultisig, createrawtransaction, decoderawtransaction, signrawtransaction
154 The syntax of these commands is similar to their bitcoind counterpart. 
155 For an example, see Gavin's tutorial: https://gist.github.com/gavinandresen/3966071
156
157 * Offline wallets now work in a way similar to Armory: 
158   1. user creates an unsigned transaction using the online (watching-only) wallet.
159   2. unsigned transaction is copied to the offline computer, and signed by the offline wallet.
160   3. signed transaction is copied to the online computer, broadcasted by the online client.
161   4. All these steps can be done via the command line interface or the classic GUI. 
162
163 * Many command line commands have been renamed in order to make the syntax consistent with bitcoind.
164
165 # Release 1.6.2
166
167 == Classic GUI
168 * Added new version notification
169
170 # Release 1.6.1 (11-01-2013)
171
172 == Core
173 * It is now possible to restore a wallet from MPK (this will create a watching-only wallet)
174 * A switch button allows to easily switch between Lite and Classic GUI.
175
176 == Classic GUI
177 * Seed and MPK help dialogs were rewritten
178 * Point of Sale: requested amounts can be expressed in other currencies and are converted to bitcoin.
179
180 == Lite GUI
181 * The receiving button was removed in favor of a menu item to keep it consistent with the history toggle.
182
183 # Release 1.6.0 (07-01-2013)
184
185 == Core
186 * (Feature) Add support for importing, signing and verifiying compressed keys
187 * (Feature) Auto reconnect to random server on disconnect
188 * (Feature) Ultimate fallback to HTTP port 80 if TCP doesn't work on any server
189 * (Bug) Under rare circumstances changing password with incorrect password could damage wallet
190
191 == Lite GUI
192 * (Chore) Use blockchain.info for exchange rate data 
193 * (Feature) added currency conversion for BRL, CNY, RUB
194 * (Feature) Saraha theme
195 * (Feature) csv import/export for transactions including labels 
196
197 == Classic GUI
198 * (Chore) pruning servers now called "p", full servers "f" to avoid confusion with terms
199 * (Feature) Debits in history shown in red
200 * (Feature) csv import/export for transactions including labels 
201
202 # Release 1.5.8 (02-01-2013)
203
204 == Core
205 * (Bug) Fix pending address balance on received coins for pruning servers 
206 * (Bug) Fix history command line option to show output again (regression by SPV)
207 * (Chore) Add timeout to blockchain headers file download by HTTP
208 * (Feature) new option: -L, --language: default language used in GUI. 
209
210 == Lite GUI
211 * (Bug) Sending to auto-completed contacts works again
212 * (Chore) Added version number to title bar
213
214 == Classic GUI
215 * (Feature) Language selector in options.
216
217 # Release 1.5.7 (18-12-2012)
218
219 == Core
220 * The blockchain headers file is no longer included in the packages, it is downloaded on startup.
221 * 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
222
223 == Lite GUI
224 * (Feature) Added the ability to export your transactions to a CSV file.
225 * (Feature) Added a label dialog after sending a transaction.
226 * (Feature) Reworked receiving addresses; instead of a random selection from one of your receiving addresses a new widget will show listing unused addresses.
227 * (Chore)   Removed server selection. With all the new server options a simple menu item does not suffice anymore.
228