Skip to content

Commit c9985c8

Browse files
committed
build: Bump version to 0.18.99
Now that 0.18 branch has been split off, master is 0.18.99 (pre-0.19). Also clean out release notes. Tree-SHA512: ed5ca8bed37027aa852ba16f3f1e7fcd4ebaf74fa77a2a265cb33a9c710511019c577fae7a3b1e33259e245274d5cd4601d4774948396d0cf299b38ba634346a
1 parent 37f236a commit c9985c8

File tree

2 files changed

+4
-302
lines changed

2 files changed

+4
-302
lines changed

configure.ac

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
dnl require autoconf 2.60 (AS_ECHO/AS_ECHO_N)
22
AC_PREREQ([2.60])
33
define(_CLIENT_VERSION_MAJOR, 0)
4-
define(_CLIENT_VERSION_MINOR, 17)
4+
define(_CLIENT_VERSION_MINOR, 18)
55
define(_CLIENT_VERSION_REVISION, 99)
66
define(_CLIENT_VERSION_BUILD, 0)
77
define(_CLIENT_VERSION_RC, 0)

doc/release-notes.md

Lines changed: 3 additions & 301 deletions
Original file line numberDiff line numberDiff line change
@@ -66,313 +66,15 @@ platform.
6666
Notable changes
6767
===============
6868

69-
Mining
70-
------
71-
72-
- Calls to `getblocktemplate` will fail if the segwit rule is not specified.
73-
Calling `getblocktemplate` without segwit specified is almost certainly
74-
a misconfiguration since doing so results in lower rewards for the miner.
75-
Failed calls will produce an error message describing how to enable the
76-
segwit rule.
77-
78-
Configuration option changes
79-
----------------------------
80-
81-
- A warning is printed if an unrecognized section name is used in the
82-
configuration file. Recognized sections are `[test]`, `[main]`, and
83-
`[regtest]`.
84-
85-
- Four new options are available for configuring the maximum number of
86-
messages that ZMQ will queue in memory (the "high water mark") before
87-
dropping additional messages. The default value is 1,000, the same as
88-
was used for previous releases. See the [ZMQ
89-
documentation](https://github.com/bitcoin/bitcoin/blob/master/doc/zmq.md#usage)
90-
for details.
91-
92-
- The `enablebip61` option (introduced in Bitcoin Core 0.17.0) is
93-
used to toggle sending of BIP 61 reject messages. Reject messages have no use
94-
case on the P2P network and are only logged for debugging by most network
95-
nodes. The option will now by default be off for improved privacy and security
96-
as well as reduced upload usage. The option can explicitly be turned on for
97-
local-network debugging purposes.
98-
99-
- The `rpcallowip` option can no longer be used to automatically listen
100-
on all network interfaces. Instead, the `rpcbind` parameter must also
101-
be used to specify the IP addresses to listen on. Listening for RPC
102-
commands over a public network connection is insecure and should be
103-
disabled, so a warning is now printed if a user selects such a
104-
configuration. If you need to expose RPC in order to use a tool
105-
like Docker, ensure you only bind RPC to your localhost, e.g. `docker
106-
run [...] -p 127.0.0.1:8332:8332` (this is an extra `:8332` over the
107-
normal Docker port specification).
108-
109-
- The `rpcpassword` option now causes a startup error if the password
110-
set in the configuration file contains a hash character (#), as it's
111-
ambiguous whether the hash character is meant for the password or as a
112-
comment.
113-
114-
- The `whitelistforcerelay` option is used to relay transactions from
115-
whitelisted peers even when not accepted to the mempool. This option now
116-
defaults to being off, so that changes in policy and disconnect/ban behavior
117-
will not cause a node that is whitelisting another to be dropped by peers.
118-
Users can still explicitly enable this behavior with the command line option
119-
(and may want to consider [contacting](https://bitcoincore.org/en/contact/)
120-
the Bitcoin Core project to let us know about their
121-
use-case, as this feature could be deprecated in the future).
122-
123-
Documentation
124-
-------------
125-
126-
- A new short
127-
[document](https://github.com/bitcoin/bitcoin/blob/master/doc/JSON-RPC-interface.md)
128-
about the JSON-RPC interface describes cases where the results of an
129-
RPC might contain inconsistencies between data sourced from different
130-
subsystems, such as wallet state and mempool state. A note is added
131-
to the [REST interface documentation](https://github.com/bitcoin/bitcoin/blob/master/doc/REST-interface.md)
132-
indicating that the same rules apply.
133-
134-
- Further information is added to the [JSON-RPC
135-
documentation](https://github.com/bitcoin/bitcoin/blob/master/doc/JSON-RPC-interface.md)
136-
about how to secure this interface.
137-
138-
- A new [document](https://github.com/bitcoin/bitcoin/blob/master/doc/bitcoin-conf.md)
139-
about the `bitcoin.conf` file describes how to use it to configure
140-
Bitcoin Core.
141-
142-
- A new document introduces Bitcoin Core's BIP174
143-
[Partially-Signed Bitcoin Transactions (PSBT)](https://github.com/bitcoin/bitcoin/blob/master/doc/psbt.md)
144-
interface, which is used to allow multiple programs to collaboratively
145-
work to create, sign, and broadcast new transactions. This is useful
146-
for offline (cold storage) wallets, multisig wallets, coinjoin
147-
implementations, and many other cases where two or more programs need
148-
to interact to generate a complete transaction.
149-
150-
- The [output script descriptor](https://github.com/bitcoin/bitcoin/blob/master/doc/descriptors.md)
151-
documentation has been updated with information about new features in
152-
this still-developing language for describing the output scripts that
153-
a wallet or other program wants to receive notifications for, such as
154-
which addresses it wants to know received payments. The language is
155-
currently used in the `scantxoutset` RPC and is expected to be adapted
156-
to other RPCs and to the underlying wallet structure.
157-
158-
Build system changes
159-
--------------------
160-
161-
- A new `--disable-bip70` option may be passed to `./configure` to
162-
prevent Bitcoin-Qt from being built with support for the BIP70 payment
163-
protocol or from linking libssl. As the payment protocol has exposed
164-
Bitcoin Core to libssl vulnerabilities in the past, builders who don't
165-
need BIP70 support are encouraged to use this option to reduce their
166-
exposure to future vulnerabilities.
167-
168-
Deprecated or removed RPCs
169-
--------------------------
170-
171-
- The `signrawtransaction` RPC is removed after being deprecated and
172-
hidden behind a special configuration option in version 0.17.0.
173-
174-
- The 'account' API is removed after being deprecated in v0.17. The
175-
'label' API was introduced in v0.17 as a replacement for accounts.
176-
See the [release notes from v0.17](https://github.com/bitcoin/bitcoin/blob/master/doc/release-notes/release-notes-0.17.0.md#label-and-account-apis-for-wallet)
177-
for a full description of the changes from the 'account' API to the
178-
'label' API.
179-
180-
- The `addwitnessaddress` RPC is removed after being deprecated in
181-
version 0.13.0.
182-
183-
- The wallet's `generate` RPC method is deprecated and will be fully
184-
removed in a subsequent major version. This RPC is only used for
185-
testing, but its implementation reached across multiple subsystems
186-
(wallet and mining), so it is being deprecated to simplify the
187-
wallet-node interface. Projects that are using `generate` for testing
188-
purposes should transition to using the `generatetoaddress` RPC, which
189-
does not require or use the wallet component. Calling
190-
`generatetoaddress` with an address returned by the `getnewaddress`
191-
RPC gives the same functionality as the old `generate` RPC. To
192-
continue using `generate` in this version, restart bitcoind with the
193-
`-deprecatedrpc=generate` configuration option.
194-
195-
New RPCs
196-
--------
197-
198-
- The `getnodeaddresses` RPC returns peer addresses known to this
199-
node. It may be used to find nodes to connect to without using a DNS
200-
seeder.
201-
202-
- The `listwalletdir` RPC returns a list of wallets in the wallet
203-
directory (either the default wallet directory or the directory
204-
configured by the `-walletdir` parameter).
205-
206-
- The `getrpcinfo` returns runtime details of the RPC server. At the
207-
moment, it returns an array of the currently active commands and how
208-
long they've been running.
209-
210-
Updated RPCs
211-
------------
212-
213-
Note: some low-level RPC changes mainly useful for testing are described
214-
in the Low-level Changes section below.
215-
216-
- The `getpeerinfo` RPC now returns an additional `minfeefilter` field
217-
set to the peer's BIP133 fee filter. You can use this to detect that
218-
you have peers that are willing to accept transactions below the
219-
default minimum relay fee.
220-
221-
- The mempool RPCs, such as `getrawmempool` with `verbose=true`, now
222-
return an additional "bip125-replaceable" value indicating whether the
223-
transaction (or its unconfirmed ancestors) opts-in to asking nodes and
224-
miners to replace it with a higher-feerate transaction spending any of
225-
the same inputs.
226-
227-
- The `settxfee` RPC previously silently ignored attempts to set the fee
228-
below the allowed minimums. It now prints a warning. The special
229-
value of "0" may still be used to request the minimum value.
230-
231-
- The `getaddressinfo` RPC now provides an `ischange` field indicating
232-
whether the wallet used the address in a change output.
233-
234-
- The `importmulti` RPC has been updated to support P2WSH, P2WPKH,
235-
P2SH-P2WPKH, and P2SH-P2WSH. Requests for P2WSH and P2SH-P2WSH accept
236-
an additional `witnessscript` parameter.
237-
238-
- The `importmulti` RPC now returns an additional `warnings` field for
239-
each request with an array of strings explaining when fields are being
240-
ignored or are inconsistent, if there are any.
241-
242-
- The `getaddressinfo` RPC now returns an additional `solvable` boolean
243-
field when Bitcoin Core knows enough about the address's scriptPubKey,
244-
optional redeemScript, and optional witnessScript in order for the
245-
wallet to be able to generate an unsigned input spending funds sent to
246-
that address.
247-
248-
- The `getaddressinfo`, `listunspent`, and `scantxoutset` RPCs now
249-
return an additional `desc` field that contains an output descriptor
250-
containing all key paths and signing information for the address
251-
(except for the private key). The `desc` field is only returned for
252-
`getaddressinfo` and `listunspent` when the address is solvable.
253-
254-
- The `importprivkey` RPC will preserve previously-set labels for
255-
addresses or public keys corresponding to the private key being
256-
imported. For example, if you imported a watch-only address with the
257-
label "cold wallet" in earlier releases of Bitcoin Core, subsequently
258-
importing the private key would default to resetting the address's
259-
label to the default empty-string label (""). In this release, the
260-
previous label of "cold wallet" will be retained. If you optionally
261-
specify any label besides the default when calling `importprivkey`,
262-
the new label will be applied to the address.
263-
264-
- See the [Mining](#mining) section for changes to `getblocktemplate`.
265-
266-
- The `getmininginfo` RPC now omits `currentblockweight` and `currentblocktx`
267-
when a block was never assembled via RPC on this node.
268-
269-
- The `getrawtransaction` RPC & REST endpoints no longer check the
270-
unspent UTXO set for a transaction. The remaining behaviors are as
271-
follows: 1. If a blockhash is provided, check the corresponding block.
272-
2. If no blockhash is provided, check the mempool. 3. If no blockhash
273-
is provided but txindex is enabled, also check txindex.
274-
275-
- The `unloadwallet` RPC is now synchronous, meaning it will not return
276-
until the wallet is fully unloaded.
277-
278-
REST changes
69+
Example item
27970
------------
28071

281-
- A new `/rest/blockhashbyheight/` endpoint is added for fetching the
282-
hash of the block in the current best blockchain based on its height
283-
(how many blocks it is after the Genesis Block).
284-
285-
Graphical User Interface (GUI)
286-
------------------------------
287-
288-
- A new Window menu is added alongside the existing File, Settings, and
289-
Help menus. Several items from the other menus that opened new
290-
windows have been moved to this new Window menu.
291-
292-
- In the Send tab, the checkbox for "pay only the required fee"
293-
has been removed. Instead, the user can simply decrease the value in
294-
the Custom Feerate field all the way down to the node's configured
295-
minimum relay fee.
296-
297-
- In the Overview tab, the watch-only balance will be the only
298-
balance shown if the wallet was created using the `createwallet` RPC
299-
and the `disable_private_keys` parameter was set to true.
300-
301-
- The launch-on-startup option is no longer available on macOS if
302-
compiled with macosx min version greater than 10.11 (use
303-
CXXFLAGS="-mmacosx-version-min=10.11"
304-
CFLAGS="-mmacosx-version-min=10.11" for setting the deployment
305-
sdk version)
306-
307-
Tools
308-
----
309-
310-
- A new `bitcoin-wallet` tool is now distributed alongside Bitcoin
311-
Core's other executables. Without needing to use any RPCs, this tool
312-
can currently create a new wallet file or display some basic
313-
information about an existing wallet, such as whether the wallet is
314-
encrypted, whether it uses an HD seed, how many transactions it
315-
contains, and how many address book entries it has.
31672

31773
Low-level changes
31874
=================
31975

320-
RPC
321-
---
322-
323-
- The `submitblock` RPC previously returned the reason a rejected block
324-
was invalid the first time it processed that block but returned a
325-
generic "duplicate" rejection message on subsequent occasions it
326-
processed the same block. It now always returns the fundamental
327-
reason for rejecting an invalid block and only returns "duplicate" for
328-
valid blocks it has already accepted.
329-
330-
- A new `submitheader` RPC allows submitting block headers independently
331-
from their block. This is likely only useful for testing.
332-
333-
Configuration
334-
-------------
335-
336-
- The `-usehd` configuration option was removed in version 0.16. From
337-
that version onwards, all new wallets created are hierarchical
338-
deterministic wallets. This release makes specifying `-usehd` an
339-
invalid configuration option.
340-
341-
Network
342-
-------
343-
344-
- This release allows peers that your node automatically disconnected
345-
for misbehavior (e.g. sending invalid data) to reconnect to your node
346-
if you have unused incoming connection slots. If your slots fill up,
347-
a misbehaving node will be disconnected to make room for nodes without
348-
a history of problems (unless the misbehaving node helps your node in
349-
some other way, such as by connecting to a part of the Internet from
350-
which you don't have many other peers). Previously, Bitcoin Core
351-
banned the IP addresses of misbehaving peers for a period of time
352-
(default of 1 day); this was easily circumvented by attackers with
353-
multiple IP addresses. If you manually ban a peer, such as by using
354-
the `setban` RPC, all connections from that peer will still be
355-
rejected.
356-
357-
Security
358-
--------
359-
360-
- This release changes the Random Number Generator (RNG) used from
361-
OpenSSL to Bitcoin Core's own implementation, although entropy
362-
gathered by Bitcoin Core is fed out to OpenSSL and then read back in
363-
when the program needs strong randomness. This moves Bitcoin Core a
364-
little closer to no longer needing to depend on OpenSSL, a dependency
365-
that has caused security issues in the past.
366-
367-
Changes for particular platforms
368-
--------------------------------
369-
370-
- On macOS, Bitcoin Core now opts out of application CPU throttling
371-
("app nap") during initial blockchain download, when catching up from
372-
over 100 blocks behind the current chain tip, or when reindexing chain
373-
data. This helps prevent these operations from taking an excessively
374-
long time because the operating system is attempting to conserve
375-
power.
76+
Example item
77+
------------
37678

37779
Credits
37880
=======

0 commit comments

Comments
 (0)