/ doc / release-notes / release-notes-0.11.0.md
release-notes-0.11.0.md
  1  Bitcoin Core version 0.11.0 is now available from:
  2  
  3    <https://bitcoin.org/bin/bitcoin-core-0.11.0/>
  4  
  5  This is a new major version release, bringing both new features and
  6  bug fixes.
  7  
  8  Please report bugs using the issue tracker at github:
  9  
 10    <https://github.com/bitcoin/bitcoin/issues>
 11  
 12  Upgrading and downgrading
 13  =========================
 14  
 15  How to Upgrade
 16  --------------
 17  
 18  If you are running an older version, shut it down. Wait until it has completely
 19  shut down (which might take a few minutes for older versions), then run the
 20  installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on Mac) or
 21  bitcoind/bitcoin-qt (on Linux).
 22  
 23  Downgrade warning
 24  ------------------
 25  
 26  Because release 0.10.0 and later makes use of headers-first synchronization and
 27  parallel block download (see further), the block files and databases are not
 28  backwards-compatible with pre-0.10 versions of Bitcoin Core or other software:
 29  
 30  * Blocks will be stored on disk out of order (in the order they are
 31  received, really), which makes it incompatible with some tools or
 32  other programs. Reindexing using earlier versions will also not work
 33  anymore as a result of this.
 34  
 35  * The block index database will now hold headers for which no block is
 36  stored on disk, which earlier versions won't support.
 37  
 38  If you want to be able to downgrade smoothly, make a backup of your entire data
 39  directory. Without this your node will need start syncing (or importing from
 40  bootstrap.dat) anew afterwards. It is possible that the data from a completely
 41  synchronised 0.10 node may be usable in older versions as-is, but this is not
 42  supported and may break as soon as the older version attempts to reindex.
 43  
 44  This does not affect wallet forward or backward compatibility. There are no
 45  known problems when downgrading from 0.11.x to 0.10.x.
 46  
 47  Important information
 48  ======================
 49  
 50  Transaction flooding
 51  ---------------------
 52  
 53  At the time of this release, the P2P network is being flooded with low-fee
 54  transactions. This causes a ballooning of the mempool size.
 55  
 56  If this growth of the mempool causes problematic memory use on your node, it is
 57  possible to change a few configuration options to work around this. The growth
 58  of the mempool can be monitored with the RPC command `getmempoolinfo`.
 59  
 60  One is to increase the minimum transaction relay fee `minrelaytxfee`, which
 61  defaults to 0.00001. This will cause transactions with fewer BTC/kB fee to be
 62  rejected, and thus fewer transactions entering the mempool.
 63  
 64  The other is to restrict the relaying of free transactions with
 65  `limitfreerelay`. This option sets the number of kB/minute at which
 66  free transactions (with enough priority) will be accepted. It defaults to 15.
 67  Reducing this number reduces the speed at which the mempool can grow due
 68  to free transactions.
 69  
 70  For example, add the following to `bitcoin.conf`:
 71  
 72      minrelaytxfee=0.00005 
 73      limitfreerelay=5
 74  
 75  More robust solutions are being worked on for a follow-up release.
 76  
 77  Notable changes
 78  ===============
 79  
 80  Block file pruning
 81  ----------------------
 82  
 83  This release supports running a fully validating node without maintaining a copy 
 84  of the raw block and undo data on disk. To recap, there are four types of data 
 85  related to the blockchain in the bitcoin system: the raw blocks as received over 
 86  the network (blk???.dat), the undo data (rev???.dat), the block index and the 
 87  UTXO set (both LevelDB databases). The databases are built from the raw data.
 88  
 89  Block pruning allows Bitcoin Core to delete the raw block and undo data once 
 90  it's been validated and used to build the databases. At that point, the raw data 
 91  is used only to relay blocks to other nodes, to handle reorganizations, to look 
 92  up old transactions (if -txindex is enabled or via the RPC/REST interfaces), or 
 93  for rescanning the wallet. The block index continues to hold the metadata about 
 94  all blocks in the blockchain.
 95  
 96  The user specifies how much space to allot for block & undo files. The minimum 
 97  allowed is 550MB. Note that this is in addition to whatever is required for the 
 98  block index and UTXO databases. The minimum was chosen so that Bitcoin Core will 
 99  be able to maintain at least 288 blocks on disk (two days worth of blocks at 10 
100  minutes per block). In rare instances it is possible that the amount of space 
101  used will exceed the pruning target in order to keep the required last 288 
102  blocks on disk.
103  
104  Block pruning works during initial sync in the same way as during steady state, 
105  by deleting block files "as you go" whenever disk space is allocated. Thus, if 
106  the user specifies 550MB, once that level is reached the program will begin 
107  deleting the oldest block and undo files, while continuing to download the 
108  blockchain.
109  
110  For now, block pruning disables block relay.  In the future, nodes with block 
111  pruning will at a minimum relay "new" blocks, meaning blocks that extend their 
112  active chain. 
113  
114  Block pruning is currently incompatible with running a wallet due to the fact 
115  that block data is used for rescanning the wallet and importing keys or 
116  addresses (which require a rescan.) However, running the wallet with block 
117  pruning will be supported in the near future, subject to those limitations.
118  
119  Block pruning is also incompatible with -txindex and will automatically disable 
120  it.
121  
122  Once you have pruned blocks, going back to unpruned state requires 
123  re-downloading the entire blockchain. To do this, re-start the node with 
124  -reindex. Note also that any problem that would cause a user to reindex (e.g., 
125  disk corruption) will cause a pruned node to redownload the entire blockchain. 
126  Finally, note that when a pruned node reindexes, it will delete any blk???.dat 
127  and rev???.dat files in the data directory prior to restarting the download.
128  
129  To enable block pruning on the command line:
130  
131  - `-prune=N`: where N is the number of MB to allot for raw block & undo data.
132  
133  Modified RPC calls:
134  
135  - `getblockchaininfo` now includes whether we are in pruned mode or not.
136  - `getblock` will check if the block's data has been pruned and if so, return an 
137  error.
138  - `getrawtransaction` will no longer be able to locate a transaction that has a 
139  UTXO but where its block file has been pruned. 
140  
141  Pruning is disabled by default.
142  
143  Big endian support
144  --------------------
145  
146  Experimental support for big-endian CPU architectures was added in this
147  release. All little-endian specific code was replaced with endian-neutral
148  constructs. This has been tested on at least MIPS and PPC hosts. The build
149  system will automatically detect the endianness of the target.
150  
151  Memory usage optimization
152  --------------------------
153  
154  There have been many changes in this release to reduce the default memory usage
155  of a node, among which:
156  
157  - Accurate UTXO cache size accounting (#6102); this makes the option `-dbcache`
158    precise where this grossly underestimated memory usage before
159  - Reduce size of per-peer data structure (#6064 and others); this increases the
160    number of connections that can be supported with the same amount of memory
161  - Reduce the number of threads (#5964, #5679); lowers the amount of (esp.
162    virtual) memory needed
163  
164  Fee estimation changes
165  ----------------------
166  
167  This release improves the algorithm used for fee estimation.  Previously, -1
168  was returned when there was insufficient data to give an estimate.  Now, -1
169  will also be returned when there is no fee or priority high enough for the
170  desired confirmation target. In those cases, it can help to ask for an estimate
171  for a higher target number of blocks. It is not uncommon for there to be no
172  fee or priority high enough to be reliably (85%) included in the next block and
173  for this reason, the default for `-txconfirmtarget=n` has changed from 1 to 2.
174  
175  Privacy: Disable wallet transaction broadcast
176  ----------------------------------------------
177  
178  This release adds an option `-walletbroadcast=0` to prevent automatic
179  transaction broadcast and rebroadcast (#5951). This option allows separating
180  transaction submission from the node functionality.
181  
182  Making use of this, third-party scripts can be written to take care of
183  transaction (re)broadcast:
184  
185  - Send the transaction as normal, either through RPC or the GUI
186  - Retrieve the transaction data through RPC using `gettransaction` (NOT
187    `getrawtransaction`). The `hex` field of the result will contain the raw
188    hexadecimal representation of the transaction
189  - The transaction can then be broadcasted through arbitrary mechanisms
190    supported by the script
191  
192  One such application is selective Tor usage, where the node runs on the normal
193  internet but transactions are broadcasted over Tor.
194  
195  For an example script see [bitcoin-submittx](https://github.com/laanwj/bitcoin-submittx).
196  
197  Privacy: Stream isolation for Tor
198  ----------------------------------
199  
200  This release adds functionality to create a new circuit for every peer
201  connection, when the software is used with Tor. The new option,
202  `-proxyrandomize`, is on by default.
203  
204  When enabled, every outgoing connection will (potentially) go through a
205  different exit node. That significantly reduces the chance to get unlucky and
206  pick a single exit node that is either malicious, or widely banned from the P2P
207  network. This improves connection reliability as well as privacy, especially
208  for the initial connections.
209  
210  **Important note:** If a non-Tor SOCKS5 proxy is configured that supports
211  authentication, but doesn't require it, this change may cause that proxy to reject
212  connections. A user and password is sent where they weren't before. This setup
213  is exceedingly rare, but in this case `-proxyrandomize=0` can be passed to
214  disable the behavior.
215  
216  0.11.0 Change log
217  =================
218  
219  Detailed release notes follow. This overview includes changes that affect
220  behavior, not code moves, refactors and string updates. For convenience in locating
221  the code changes and accompanying discussion, both the pull request and
222  git merge commit are mentioned.
223  
224  ### RPC and REST
225  - #5461 `5f7279a` signrawtransaction: validate private key
226  - #5444 `103f66b` Add /rest/headers/<count>/<hash>.<ext>
227  - #4964 `95ecc0a` Add scriptPubKey field to validateaddress RPC call
228  - #5476 `c986972` Add time offset into getpeerinfo output
229  - #5540 `84eba47` Add unconfirmed and immature balances to getwalletinfo
230  - #5599 `40e96a3` Get rid of the internal miner's hashmeter
231  - #5711 `87ecfb0` Push down RPC locks
232  - #5754 `1c4e3f9` fix getblocktemplate lock issue
233  - #5756 `5d901d8` Fix getblocktemplate_proposals test by mining one block
234  - #5548 `d48ce48` Add /rest/chaininfos
235  - #5992 `4c4f1b4` Push down RPC reqWallet flag
236  - #6036 `585b5db` Show zero value txouts in listunspent
237  - #5199 `6364408` Add RPC call `gettxoutproof` to generate and verify merkle blocks
238  - #5418 `16341cc` Report missing inputs in sendrawtransaction
239  - #5937 `40f5e8d` show script verification errors in signrawtransaction result
240  - #5420 `1fd2d39` getutxos REST command (based on Bip64)
241  - #6193 `42746b0` [REST] remove json input for getutxos, limit to query max. 15 outpoints
242  - #6226 `5901596` json: fail read_string if string contains trailing garbage
243  
244  ### Configuration and command-line options
245  - #5636 `a353ad4` Add option `-allowselfsignedrootcertificate` to allow self signed root certs (for testing payment requests)
246  - #5900 `3e8a1f2` Add a consistency check `-checkblockindex` for the block chain data structures
247  - #5951 `7efc9cf` Make it possible to disable wallet transaction broadcast (using `-walletbroadcast=0`)
248  - #5911 `b6ea3bc` privacy: Stream isolation for Tor (on by default, use `-proxyrandomize=0` to disable)
249  - #5863 `c271304` Add autoprune functionality (`-prune=<size>`)
250  - #6153 `0bcf04f` Parameter interaction: disable upnp if -proxy set
251  - #6274 `4d9c7fe` Add option `-alerts` to opt out of alert system
252  
253  ### Block and transaction handling
254  - #5367 `dcc1304` Do all block index writes in a batch
255  - #5253 `203632d` Check against MANDATORY flags prior to accepting to mempool
256  - #5459 `4406c3e` Reject headers that build on an invalid parent
257  - #5481 `055f3ae` Apply AreSane() checks to the fees from the network
258  - #5580 `40d65eb` Preemptively catch a few potential bugs
259  - #5349 `f55c5e9` Implement test for merkle tree malleability in CPartialMerkleTree
260  - #5564 `a89b837` clarify obscure uses of EvalScript()
261  - #5521 `8e4578a` Reject non-final txs even in testnet/regtest
262  - #5707 `6af674e` Change hardcoded character constants to descriptive named constants for db keys
263  - #5286 `fcf646c` Change the default maximum OP_RETURN size to 80 bytes
264  - #5710 `175d86e` Add more information to errors in ReadBlockFromDisk
265  - #5948 `b36f1ce` Use GetAncestor to compute new target
266  - #5959 `a0bfc69` Add additional block index consistency checks
267  - #6058 `7e0e7f8` autoprune minor post-merge improvements
268  - #5159 `2cc1372` New fee estimation code
269  - #6102 `6fb90d8` Implement accurate UTXO cache size accounting
270  - #6129 `2a82298` Bug fix for clearing fCheckForPruning
271  - #5947 `e9af4e6` Alert if it is very likely we are getting a bad chain
272  - #6203 `c00ae64` Remove P2SH coinbase flag, no longer interesting
273  - #5985 `37b4e42` Fix removing of orphan transactions
274  - #6221 `6cb70ca` Prune: Support noncontiguous block files
275  - #6256 `fce474c` Use best header chain timestamps to detect partitioning
276  - #6233 `a587606` Advance pindexLastCommonBlock for blocks in chainActive
277  
278  ### P2P protocol and network code
279  - #5507 `844ace9` Prevent DOS attacks on in-flight data structures
280  - #5770 `32a8b6a` Sanitize command strings before logging them
281  - #5859 `dd4ffce` Add correct bool combiner for net signals
282  - #5876 `8e4fd0c` Add a NODE_GETUTXO service bit and document NODE_NETWORK
283  - #6028 `b9311fb` Move nLastTry from CAddress to CAddrInfo
284  - #5662 `5048465` Change download logic to allow calling getdata on inbound peers
285  - #5971 `18d2832` replace absolute sleep with conditional wait
286  - #5918 `7bf5d5e` Use equivalent PoW for non-main-chain requests
287  - #6059 `f026ab6` chainparams: use SeedSpec6's rather than CAddress's for fixed seeds
288  - #6080 `31c0bf1` Add jonasschnellis dns seeder
289  - #5976 `9f7809f` Reduce download timeouts as blocks arrive
290  - #6172 `b4bbad1` Ignore getheaders requests when not synced
291  - #5875 `304892f` Be stricter in processing unrequested blocks
292  - #6333 `41bbc85` Hardcoded seeds update June 2015
293  
294  ### Validation
295  - #5143 `48e1765` Implement BIP62 rule 6
296  - #5713 `41e6e4c` Implement BIP66
297  
298  ### Build system
299  - #5501 `c76c9d2` Add mips, mipsel and aarch64 to depends platforms
300  - #5334 `cf87536` libbitcoinconsensus: Add pkg-config support
301  - #5514 `ed11d53` Fix 'make distcheck'
302  - #5505 `a99ef7d` Build winshutdownmonitor.cpp on Windows only
303  - #5582 `e8a6639` Osx toolchain update
304  - #5684 `ab64022` osx: bump build sdk to 10.9
305  - #5695 `23ef5b7` depends: latest config.guess and config.sub
306  - #5509 `31dedb4` Fixes when compiling in c++11 mode
307  - #5819 `f8e68f7` release: use static libstdc++ and disable reduced exports by default
308  - #5510 `7c3fbc3` Big endian support
309  - #5149 `c7abfa5` Add script to verify all merge commits are signed
310  - #6082 `7abbb7e` qt: disable qt tests when one of the checks for the gui fails
311  - #6244 `0401aa2` configure: Detect (and reject) LibreSSL
312  - #6269 `95aca44` gitian: Use the new bitcoin-detached-sigs git repo for OSX signatures
313  - #6285 `ef1d506` Fix scheduler build with some boost versions.
314  - #6280 `25c2216` depends: fix Boost 1.55 build on GCC 5
315  - #6303 `b711599` gitian: add a gitian-win-signer descriptor
316  - #6246 `8ea6d37` Fix build on FreeBSD
317  - #6282 `daf956b` fix crash on shutdown when e.g. changing -txindex and abort action
318  - #6354 `bdf0d94` Gitian windows signing normalization
319  
320  ### Wallet
321  - #2340 `811c71d` Discourage fee sniping with nLockTime
322  - #5485 `d01bcc4` Enforce minRelayTxFee on wallet created tx and add a maxtxfee option
323  - #5508 `9a5cabf` Add RandAddSeedPerfmon to MakeNewKey
324  - #4805 `8204e19` Do not flush the wallet in AddToWalletIfInvolvingMe(..)
325  - #5319 `93b7544` Clean up wallet encryption code
326  - #5831 `df5c246` Subtract fee from amount
327  - #6076 `6c97fd1` wallet: fix boost::get usage with boost 1.58
328  - #5511 `23c998d` Sort pending wallet transactions before reaccepting
329  - #6126 `26e08a1` Change default nTxConfirmTarget to 2
330  - #6183 `75a4d51` Fix off-by-one error w/ nLockTime in the wallet
331  - #6276 `c9fd907` Fix getbalance * 0
332  
333  ### GUI
334  - #5219 `f3af0c8` New icons
335  - #5228 `bb3c75b` HiDPI (retina) support for splash screen
336  - #5258 `73cbf0a` The RPC Console should be a QWidget to make window more independent
337  - #5488 `851dfc7` Light blue icon color for regtest
338  - #5547 `a39aa74` New icon for the debug window
339  - #5493 `e515309` Adopt style colour for button icons
340  - #5557 `70477a0` On close of splashscreen interrupt verifyDB
341  - #5559 `83be8fd` Make the command-line-args dialog better
342  - #5144 `c5380a9` Elaborate on signverify message dialog warning
343  - #5489 `d1aa3c6` Optimize PNG files
344  - #5649 `e0cd2f5` Use text-color icons for system tray Send/Receive menu entries
345  - #5651 `848f55d` Coin Control: Use U+2248 "ALMOST EQUAL TO" rather than a simple tilde
346  - #5626 `ab0d798` Fix icon sizes and column width
347  - #5683 `c7b22aa` add new osx dmg background picture
348  - #5620 `7823598` Payment request expiration bug fix
349  - #5729 `9c4a5a5` Allow unit changes for read-only BitcoinAmountField
350  - #5753 `0f44672` Add bitcoin logo to about screen
351  - #5629 `a956586` Prevent amount overflow problem with payment requests
352  - #5830 `215475a` Don't save geometry for options and about/help window
353  - #5793 `d26f0b2` Honor current network when creating autostart link
354  - #5847 `f238add` Startup script for centos, with documentation
355  - #5915 `5bd3a92` Fix a static qt5 crash when using certain versions of libxcb
356  - #5898 `bb56781` Fix rpc console font size to flexible metrics
357  - #5467 `bc8535b` Payment request / server work - part 2
358  - #6161 `180c164` Remove movable option for toolbar
359  - #6160 `0d862c2` Overviewpage: make sure warning icons gets colored
360  
361  ### Tests
362  - #5453 `2f2d337` Add ability to run single test manually to RPC tests
363  - #5421 `886eb57` Test unexecuted OP_CODESEPARATOR
364  - #5530 `565b300` Additional rpc tests
365  - #5611 `37b185c` Fix spurious windows test failures after 012598880c
366  - #5613 `2eda47b` Fix smartfees test for change to relay policy
367  - #5612 `e3f5727` Fix zapwallettxes test
368  - #5642 `30a5b5f` Prepare paymentservertests for new unit tests
369  - #5784 `e3a3cd7` Fix usage of NegateSignatureS in script_tests
370  - #5813 `ee9f2bf` Add unit tests for next difficulty calculations
371  - #5855 `d7989c0` Travis: run unit tests in different orders
372  - #5852 `cdae53e` Reinitialize state in between individual unit tests.
373  - #5883 `164d7b6` tests: add a BasicTestingSetup and apply to all tests
374  - #5940 `446bb70` Regression test for ResendWalletTransactions
375  - #6052 `cf7adad` fix and enable bip32 unit test
376  - #6039 `734f80a` tests: Error when setgenerate is used on regtest
377  - #6074 `948beaf` Correct the PUSHDATA4 minimal encoding test in script_invalid.json
378  - #6032 `e08886d` Stop nodes after RPC tests, even with --nocleanup
379  - #6075 `df1609f` Add additional script edge condition tests
380  - #5981 `da38dc6` Python P2P testing 
381  - #5958 `9ef00c3` Add multisig rpc tests
382  - #6112 `fec5c0e` Add more script edge condition tests
383  
384  ### Miscellaneous
385  - #5457, #5506, #5952, #6047 Update libsecp256k1
386  - #5437 `84857e8` Add missing CAutoFile::IsNull() check in main
387  - #5490 `ec20fd7` Replace uint256/uint160 with opaque blobs where possible
388  - #5654, #5764 Adding jonasschnelli's GPG key
389  - #5477 `5f04d1d` OS X 10.10: LSSharedFileListItemResolve() is deprecated
390  - #5679 `beff11a` Get rid of DetectShutdownThread
391  - #5787 `9bd8c9b` Add fanquake PGP key
392  - #5366 `47a79bb` No longer check osx compatibility in RenameThread
393  - #5689 `07f4386` openssl: abstract out OPENSSL_cleanse
394  - #5708 `8b298ca` Add list of implemented BIPs
395  - #5809 `46bfbe7` Add bitcoin-cli man page
396  - #5839 `86eb461` keys: remove libsecp256k1 verification until it's actually supported
397  - #5749 `d734d87` Help messages correctly formatted (79 chars)
398  - #5884 `7077fe6` BUGFIX: Stack around the variable 'rv' was corrupted
399  - #5849 `41259ca` contrib/init/bitcoind.openrc: Compatibility with previous OpenRC init script variables
400  - #5950 `41113e3` Fix locale fallback and guard tests against invalid locale settings
401  - #5965 `7c6bfb1` Add git-subtree-check.sh script
402  - #6033 `1623f6e` FreeBSD, OpenBSD thread renaming
403  - #6064 `b46e7c2` Several changes to mruset
404  - #6104 `3e2559c` Show an init message while activating best chain
405  - #6125 `351f73e` Clean up parsing of bool command line args
406  - #5964 `b4c219b` Lightweight task scheduler
407  - #6116 `30dc3c1` [OSX] rename Bitcoin-Qt.app to Bitcoin-Core.app
408  - #6168 `b3024f0` contrib/linearize: Support linearization of testnet blocks
409  - #6098 `7708fcd` Update Windows resource files (and add one for bitcoin-tx)
410  - #6159 `e1412d3` Catch errors on datadir lock and pidfile delete
411  - #6186 `182686c` Fix two problems in CSubnet parsing
412  - #6174 `df992b9` doc: add translation strings policy
413  - #6210 `dfdb6dd` build: disable optional use of gmp in internal secp256k1 build
414  - #6264 `94cd705` Remove translation for -help-debug options
415  - #6286 `3902c15` Remove berkeley-db4 workaround in MacOSX build docs
416  - #6319 `3f8fcc9` doc: update mailing list address
417  
418  Credits
419  =======
420  
421  Thanks to everyone who directly contributed to this release:
422  
423  - 21E14
424  - Adam Weiss
425  - Alex Morcos
426  - ayeowch
427  - azeteki
428  - Ben Holden-Crowther
429  - bikinibabe
430  - BitcoinPRReadingGroup
431  - Blake Jakopovic
432  - BtcDrak
433  - charlescharles
434  - Chris Arnesen
435  - Ciemon
436  - CohibAA
437  - Corinne Dashjr
438  - Cory Fields
439  - Cozz Lovan
440  - Daira Hopwood
441  - Daniel Kraft
442  - Dave Collins
443  - David A. Harding
444  - dexX7
445  - Earlz
446  - Eric Lombrozo
447  - Eric R. Schulz
448  - Everett Forth
449  - Flavien Charlon
450  - fsb4000
451  - Gavin Andresen
452  - Gregory Maxwell
453  - Heath
454  - Ivan Pustogarov
455  - Jacob Welsh
456  - Jameson Lopp
457  - Jason Lewicki
458  - Jeff Garzik
459  - Jonas Schnelli
460  - Jonathan Brown
461  - Jorge Timón
462  - joshr
463  - jtimon
464  - Julian Yap
465  - Luca Venturini
466  - Luke Dashjr
467  - Manuel Araoz
468  - MarcoFalke
469  - Matt Bogosian
470  - Matt Corallo
471  - Micha
472  - Michael Ford
473  - Mike Hearn
474  - mrbandrews
475  - Nicolas Benoit
476  - paveljanik
477  - Pavel Janík
478  - Pavel Vasin
479  - Peter Todd
480  - Philip Kaufmann
481  - Pieter Wuille
482  - pstratem
483  - randy-waterhouse
484  - rion
485  - Rob Van Mieghem
486  - Ross Nicoll
487  - Ruben de Vries
488  - sandakersmann
489  - Shaul Kfir
490  - Shawn Wilkinson
491  - sinetek
492  - Suhas Daftuar
493  - svost
494  - Thomas Zander
495  - Tom Harding
496  - UdjinM6
497  - Vitalii Demianets
498  - Wladimir J. van der Laan
499  
500  And all those who contributed additional code review and/or security research:
501  
502  - Sergio Demian Lerner
503  
504  As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/bitcoin/).
505