Skip to content

Commit 4da19de

Browse files
committed
Merge #13950: doc: move-only 0.17.0 release notes of individual prs
fad3898 doc: move-only release notes of individual prs (MarcoFalke) Pull request description: Suggestion for reviewers: `git diff HEAD~ --color-moved=dimmed_zebra` Tree-SHA512: 9d8be96d3a578e9df831eda1b5d942798ea4fbe2b1105f4c12a61a13716e62defd5ef8460fcd2411400849c057a8a1b3553ba2f490b70a353a6b46ce5be86acc
2 parents bffb35f + fad3898 commit 4da19de

8 files changed

+111
-112
lines changed

doc/release-notes-pr10267.md

Lines changed: 0 additions & 13 deletions
This file was deleted.

doc/release-notes-pr10740.md

Lines changed: 0 additions & 10 deletions
This file was deleted.

doc/release-notes-pr12257.md

Lines changed: 0 additions & 9 deletions
This file was deleted.

doc/release-notes-pr12823.md

Lines changed: 0 additions & 20 deletions
This file was deleted.

doc/release-notes-pr12892.md

Lines changed: 0 additions & 37 deletions
This file was deleted.

doc/release-notes-pr12924.md

Lines changed: 0 additions & 12 deletions
This file was deleted.

doc/release-notes-pr13033.md

Lines changed: 0 additions & 11 deletions
This file was deleted.

doc/release-notes.md

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,20 @@ support versions of macOS older than 10.10.
5959
Notable changes
6060
===============
6161

62+
Changed command-line options
63+
----------------------------
64+
65+
- `-includeconf=<file>` can be used to include additional configuration files.
66+
Only works inside the `bitcoin.conf` file, not inside included files or from
67+
command-line. Multiple files may be included. Can be disabled from command-
68+
line via `-noincludeconf`. Note that multi-argument commands like
69+
`-includeconf` will override preceding `-noincludeconf`, i.e.
70+
71+
noincludeconf=1
72+
includeconf=relative.conf
73+
74+
as bitcoin.conf will still include `relative.conf`.
75+
6276
GUI changes
6377
-----------
6478

@@ -106,6 +120,83 @@ For backwards compatibility, wallet paths that are names of existing data files
106120
in the `-walletdir` directory will continue to be accepted and interpreted the
107121
same as before.
108122

123+
Dynamic loading and creation of wallets
124+
---------------------------------------
125+
126+
Previously, wallets could only be loaded or created at startup, by specifying `-wallet` parameters on the command line or in the bitcoin.conf file. It is now possible to load, create and unload wallets dynamically at runtime:
127+
128+
- Existing wallets can be loaded by calling the `loadwallet` RPC. The wallet can be specified as file/directory basename (which must be located in the `walletdir` directory), or as an absolute path to a file/directory.
129+
- New wallets can be created (and loaded) by calling the `createwallet` RPC. The provided name must not match a wallet file in the `walletdir` directory or the name of a wallet that is currently loaded.
130+
- Loaded wallets can be unloaded by calling the `unloadwallet` RPC.
131+
132+
This feature is currently only available through the RPC interface.
133+
134+
Coin selection
135+
--------------
136+
- A new `-avoidpartialspends` flag has been added (default=false). If enabled, the wallet will try to spend UTXO's that point at the same destination
137+
together. This is a privacy increase, as there will no longer be cases where a wallet will inadvertently spend only parts of the coins sent to
138+
the same address (note that if someone were to send coins to that address after it was used, those coins will still be included in future
139+
coin selections).
140+
141+
Configuration sections for testnet and regtest
142+
----------------------------------------------
143+
144+
It is now possible for a single configuration file to set different
145+
options for different networks. This is done by using sections or by
146+
prefixing the option with the network, such as:
147+
148+
main.uacomment=bitcoin
149+
test.uacomment=bitcoin-testnet
150+
regtest.uacomment=regtest
151+
[main]
152+
mempoolsize=300
153+
[test]
154+
mempoolsize=100
155+
[regtest]
156+
mempoolsize=20
157+
158+
The `addnode=`, `connect=`, `port=`, `bind=`, `rpcport=`, `rpcbind=`
159+
and `wallet=` options will only apply to mainnet when specified in the
160+
configuration file, unless a network is specified.
161+
162+
'label' and 'account' APIs for wallet
163+
-------------------------------------
164+
165+
A new 'label' API has been introduced for the wallet. This is intended as a
166+
replacement for the deprecated 'account' API. The 'account' can continue to
167+
be used in V0.17 by starting bitcoind with the '-deprecatedrpc=accounts'
168+
argument, and will be fully removed in V0.18.
169+
170+
The label RPC methods mirror the account functionality, with the following functional differences:
171+
172+
- Labels can be set on any address, not just receiving addresses. This functionality was previously only available through the GUI.
173+
- Labels can be deleted by reassigning all addresses using the `setlabel` RPC method.
174+
- There isn't support for sending transactions _from_ a label, or for determining which label a transaction was sent from.
175+
- Labels do not have a balance.
176+
177+
Here are the changes to RPC methods:
178+
179+
| Deprecated Method | New Method | Notes |
180+
| :---------------------- | :-------------------- | :-----------|
181+
| `getaccount` | `getaddressinfo` | `getaddressinfo` returns a json object with address information instead of just the name of the account as a string. |
182+
| `getaccountaddress` | n/a | There is no replacement for `getaccountaddress` since labels do not have an associated receive address. |
183+
| `getaddressesbyaccount` | `getaddressesbylabel` | `getaddressesbylabel` returns a json object with the addresses as keys, instead of a list of strings. |
184+
| `getreceivedbyaccount` | `getreceivedbylabel` | _no change in behavior_ |
185+
| `listaccounts` | `listlabels` | `listlabels` does not return a balance or accept `minconf` and `watchonly` arguments. |
186+
| `listreceivedbyaccount` | `listreceivedbylabel` | Both methods return new `label` fields, along with `account` fields for backward compatibility. |
187+
| `move` | n/a | _no replacement_ |
188+
| `sendfrom` | n/a | _no replacement_ |
189+
| `setaccount` | `setlabel` | Both methods now: <ul><li>allow assigning labels to any address, instead of raising an error if the address is not receiving address.<li>delete the previous label associated with an address when the final address using that label is reassigned to a different label, instead of making an implicit `getaccountaddress` call to ensure the previous label still has a receiving address. |
190+
191+
| Changed Method | Notes |
192+
| :--------------------- | :------ |
193+
| `addmultisigaddress` | Renamed `account` named parameter to `label`. Still accepts `account` for backward compatibility if running with '-deprecatedrpc=accounts'. |
194+
| `getnewaddress` | Renamed `account` named parameter to `label`. Still accepts `account` for backward compatibility. if running with '-deprecatedrpc=accounts' |
195+
| `listunspent` | Returns new `label` fields. `account` field will be returned for backward compatibility if running with '-deprecatedrpc=accounts' |
196+
| `sendmany` | The `account` named parameter has been renamed to `dummy`. If provided, the `dummy` parameter must be set to the empty string, unless running with the `-deprecatedrpc=accounts` argument (in which case functionality is unchanged). |
197+
| `listtransactions` | The `account` named parameter has been renamed to `dummy`. If provided, the `dummy` parameter must be set to the string `*`, unless running with the `-deprecatedrpc=accounts` argument (in which case functionality is unchanged). |
198+
| `getbalance` | `account`, `minconf` and `include_watchonly` parameters are deprecated, and can only be used if running with '-deprecatedrpc=accounts' |
199+
109200
Low-level RPC changes
110201
---------------------
111202

@@ -130,6 +221,14 @@ Low-level RPC changes
130221
`importmulti` with hex script argument). `signrawtransaction*` also still
131222
works for them.
132223

224+
- The `getwalletinfo` RPC method now returns an `hdseedid` value, which is always the same as the incorrectly-named `hdmasterkeyid` value. `hdmasterkeyid` will be removed in V0.18.
225+
- The `getaddressinfo` RPC method now returns an `hdseedid` value, which is always the same as the incorrectly-named `hdmasterkeyid` value. `hdmasterkeyid` will be removed in V0.18.
226+
227+
Other API changes
228+
-----------------
229+
230+
- The `inactivehdmaster` property in the `dumpwallet` output has been corrected to `inactivehdseed`
231+
133232
### Logging
134233

135234
- The log timestamp format is now ISO 8601 (e.g. "2018-02-28T12:34:56Z").
@@ -139,6 +238,18 @@ Low-level RPC changes
139238
disables logging to debug.log. Instead, logging to file can be explicitly disabled
140239
by setting `-debuglogfile=0`.
141240

241+
Transaction index changes
242+
-------------------------
243+
244+
The transaction index is now built separately from the main node procedure,
245+
meaning the `-txindex` flag can be toggled without a full reindex. If bitcoind
246+
is run with `-txindex` on a node that is already partially or fully synced
247+
without one, the transaction index will be built in the background and become
248+
available once caught up. When switching from running `-txindex` to running
249+
without the flag, the transaction index database will *not* be deleted
250+
automatically, meaning it could be turned back on at a later time without a full
251+
resync.
252+
142253
Miner block size removed
143254
------------------------
144255

0 commit comments

Comments
 (0)