Use the override specifier (C++11) where we expect to be overriding the virtual funct...
[bitcoinplatinum.git] / doc / release-notes.md
bloba13ede2dd584c7950287b50186844db9a269d6ab
1 (note: this is a temporary file, to be added-to by anybody, and moved to
2 release-notes at release time)
4 Bitcoin Core version *version* is now available from:
6   <https://bitcoin.org/bin/bitcoin-core-*version*/>
8 This is a new major version release, including new features, various bugfixes
9 and performance improvements, as well as updated translations.
11 Please report bugs using the issue tracker at github:
13   <https://github.com/bitcoin/bitcoin/issues>
15 To receive security and update notifications, please subscribe to:
17   <https://bitcoincore.org/en/list/announcements/join/>
19 Compatibility
20 ==============
22 Bitcoin Core is extensively tested on multiple operating systems using
23 the Linux kernel, macOS 10.8+, and Windows Vista and later.
25 Microsoft ended support for Windows XP on [April 8th, 2014](https://www.microsoft.com/en-us/WindowsForBusiness/end-of-xp-support).
26 No attempt is made to prevent installing or running the software on Windows XP, you
27 can still do so at your own risk but be aware that there are known instabilities.
28 Please do not report issues about Windows XP to the issue tracker.
30 Bitcoin Core should also work on most other Unix-like systems but is not
31 frequently tested on them.
33 Notable changes
34 ===============
36 Low-level RPC changes
37 ---------------------
39 - The new database model no longer stores information about transaction
40   versions of unspent outputs. This means that:
41   - The `gettxout` RPC no longer has a `version` field in the response.
42   - The `gettxoutsetinfo` RPC reports `hash_serialized_2` instead of `hash_serialized`,
43     which does not commit to the transaction versions of unspent outputs, but does
44     commit to the height and coinbase information.
45   - The `gettxoutsetinfo` response now contains `disk_size` and `bogosize` instead of
46     `bytes_serialized`. The first is a more accurate estimate of actual disk usage, but
47     is not deterministic. The second is unrelated to disk usage, but is a
48     database-independent metric of UTXO set size: it counts every UTXO entry as 50 + the
49     length of its scriptPubKey.
50   - The `getutxos` REST path no longer reports the `txvers` field in JSON format,
51     and always reports 0 for transaction versions in the binary format
54 - Error codes have been updated to be more accurate for the following error cases:
55   - `getblock` now returns RPC_MISC_ERROR if the block can't be found on disk (for
56   example if the block has been pruned). Previously returned RPC_INTERNAL_ERROR.
57   - `pruneblockchain` now returns RPC_MISC_ERROR if the blocks cannot be pruned
58   because the node is not in pruned mode. Previously returned RPC_METHOD_NOT_FOUND.
59   - `pruneblockchain` now returns RPC_INVALID_PARAMETER if the blocks cannot be pruned
60   because the supplied timestamp is too late. Previously returned RPC_INTERNAL_ERROR.
61   - `pruneblockchain` now returns RPC_MISC_ERROR if the blocks cannot be pruned
62   because the blockchain is too short. Previously returned RPC_INTERNAL_ERROR.
63   - `setban` now returns RPC_CLIENT_INVALID_IP_OR_SUBNET if the supplied IP address
64   or subnet is invalid. Previously returned RPC_CLIENT_NODE_ALREADY_ADDED.
65   - `setban` now returns RPC_CLIENT_INVALID_IP_OR_SUBNET if the user tries to unban
66   a node that has not previously been banned. Previously returned RPC_MISC_ERROR.
67   - `removeprunedfunds` now returns RPC_WALLET_ERROR if bitcoind is unable to remove
68   the transaction. Previously returned RPC_INTERNAL_ERROR.
69   - `removeprunedfunds` now returns RPC_INVALID_PARAMETER if the transaction does not
70   exist in the wallet. Previously returned RPC_INTERNAL_ERROR.
71   - `fundrawtransaction` now returns RPC_INVALID_ADDRESS_OR_KEY if an invalid change
72   address is provided. Previously returned RPC_INVALID_PARAMETER.
73   - `fundrawtransaction` now returns RPC_WALLET_ERROR if bitcoind is unable to create
74   the transaction. The error message provides further details. Previously returned
75   RPC_INTERNAL_ERROR.
76   - `bumpfee` now returns RPC_INVALID_PARAMETER if the provided transaction has
77   descendants in the wallet. Previously returned RPC_MISC_ERROR.
78   - `bumpfee` now returns RPC_INVALID_PARAMETER if the provided transaction has
79   descendants in the mempool. Previously returned RPC_MISC_ERROR.
80   - `bumpfee` now returns RPC_WALLET_ERROR if the provided transaction has
81   has been mined or conflicts with a mined transaction. Previously returned
82   RPC_INVALID_ADDRESS_OR_KEY.
83   - `bumpfee` now returns RPC_WALLET_ERROR if the provided transaction is not
84   BIP 125 replaceable. Previously returned RPC_INVALID_ADDRESS_OR_KEY.
85   - `bumpfee` now returns RPC_WALLET_ERROR if the provided transaction has already
86   been bumped by a different transaction. Previously returned RPC_INVALID_REQUEST.
87   - `bumpfee` now returns RPC_WALLET_ERROR if the provided transaction contains
88   inputs which don't belong to this wallet. Previously returned RPC_INVALID_ADDRESS_OR_KEY.
89   - `bumpfee` now returns RPC_WALLET_ERROR if the provided transaction has multiple change
90   outputs. Previously returned RPC_MISC_ERROR.
91   - `bumpfee` now returns RPC_WALLET_ERROR if the provided transaction has no change
92   output. Previously returned RPC_MISC_ERROR.
93   - `bumpfee` now returns RPC_WALLET_ERROR if the fee is too high. Previously returned
94   RPC_MISC_ERROR.
95   - `bumpfee` now returns RPC_WALLET_ERROR if the fee is too low. Previously returned
96   RPC_MISC_ERROR.
97   - `bumpfee` now returns RPC_WALLET_ERROR if the change output is too small to bump the
98   fee. Previously returned RPC_MISC_ERROR.
100 Credits
101 =======
103 Thanks to everyone who directly contributed to this release:
106 As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/bitcoin/).