This adds an `-allowdeprecated` CLI parameter whose value is a flag
indicating a deprecated feature that should be explicitly enabled.
Multiple instances of this argument may be provided. In the case that
this parameter is not provided, all currently deprecated RPC methods
that are not slated for removal in the next release remain available.
A user may disable all deprecated features entirely by providing the
string "none" as the argument to this parameter, or enable all
deprecated features, including those slated for removal, by providing
the string "all" as the argument to this parameter. In the case that
"all" or "none" is specified, multiple invocations of `-allowdeprecated`
are not permitted.
To explicitly enable only a specific set of deprecated features, use
`-allowdeprecated=<flag1> -allowdeprecated=<flagN> ...` when starting
zcashd. The following flags are recognized:
- "all" - enables all deprecated features.
- "none" - disables all deprecated features.
- "legacy_privacy" - enables the use of the deprecated "legacy" privacy
policy for z_sendmany. This causes the default behavior to conform to
the `FullPrivacy` directive in all cases instead of just for
transactions involving unified addresses.
- "getnewaddress" - enables the `getnewaddress` RPC method.
- "z_getnewaddress" - enables the `z_getnewaddress` RPC method.
- "zcrawreceive" - enables the `zcrawreceive` RPC method.
- "zcrawjoinsplit" - enables the `zcrawjoinsplit` RPC method.
- "zcrawkeygen" - enables the `zcrawkeygen` RPC method.
- "addrtype" - when this option is set, the deprecated `type` attribute
is returned in addition to `pool` or `address_type` (which contain the
same information) in the results of RPC methods that return address metadata.
This corrects an error in Version construction for hotfix releases,
and makes parsing of tags more robust to error by ignoring tags that
do not conform to the standard Zcash patterns such as `v4.7.0-gitian`
and some of the tags from the upstream `bitcoin/bitcoin` repository.
This is inspired by Bitcoin Core's #12926, but has two advantages:
1) It handles multiple test suites found in a single file and calls the
test runner with exactly one test suite every time, regardless of how
the test suites are distributed across the files.
2) There are #if'd out test suites in our codebase. By adding a comment
with DISABLED_TEST_SUITE in it, the grep will ignore them rather than
trying to run a disabled test suite.
(provided that the wallet is enabled and pruning is disabled,
and unless `-rescan=0` is specified explicitly).
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
fixes#3625
We use clean.sh rather than distclean.sh because the checksumming
and redownloading of C++ dependencies is pretty robust.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
qa: postpone native_clang, libcxx, boost and native_b2 upgrades before 4.7.0 release. tested that it correctly shows current versions as either up-to-date or postponed.