doc: mention key removal in rpc interface modification #32867
pull rkrux wants to merge 1 commits into bitcoin:master from rkrux:rpc-deprecation changing 1 files +1 β1-
rkrux commented at 12:15 pm on July 3, 2025: contributorA discussion in a previous PR 32618 prompted me to add this note: #32618 (review)
-
DrahtBot added the label Docs on Jul 3, 2025
-
DrahtBot commented at 12:15 pm on July 3, 2025: contributor
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
Code Coverage & Benchmarks
For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/32867.
Reviews
See the guideline for information on the review process.
Type Reviewers ACK maflcko, stickies-v, glozow If your review is incorrectly listed, please react with π to this comment and the bot will ignore it on the next update.
-
rkrux commented at 12:16 pm on July 3, 2025: contributorI want to mention about how long is the deprecation/grace period generally but I don’t know right now. Suggestions welcome.
-
Sammie05 commented at 1:55 am on July 13, 2025: noneI checked this branch locally and saw that it removes -Werror=dev from the CMake generation step. Just to understand better: is this to prevent CI from failing on dev warnings? Looks reasonable to me, but curious if itβs meant to be temporary or permanent.
-
maflcko commented at 6:46 am on July 14, 2025: memberlgtm ACK e7b1c33b41334a9c2ce80033d92e3fac466eb70c
-
achow101 requested review from achow101 on Oct 22, 2025
-
in doc/developer-notes.md:1429 in e7b1c33b41
1425@@ -1426,7 +1426,7 @@ A few guidelines for introducing and reviewing new RPC interfaces: 1426 1427 A few guidelines for modifying existing RPC interfaces: 1428 1429-- It's preferable to avoid changing an RPC in a backward-incompatible manner, but in that case, add an associated `-deprecatedrpc=` option to retain previous RPC behavior during the deprecation period. Backward-incompatible changes include: data type changes (e.g. from `{"warnings":""}` to `{"warnings":[]}`, changing a value from a string to a number, etc.), logical meaning changes of a value, or key name changes (e.g. `{"warning":""}` to `{"warnings":""}`). Adding a key to an object is generally considered backward-compatible. Include a release note that refers the user to the RPC help for details of feature deprecation and re-enabling previous behavior. [Example RPC help](https://github.com/bitcoin/bitcoin/blob/94f0adcc/src/rpc/blockchain.cpp#L1316-L1323). 1430+- It's preferable to avoid changing an RPC in a backward-incompatible manner, but in that case, add an associated `-deprecatedrpc=` option to retain previous RPC behavior during the deprecation period. Backward-incompatible changes include: data type changes (e.g. from `{"warnings":""}` to `{"warnings":[]}`, changing a value from a string to a number, etc.), logical meaning changes of a value, key name changes (e.g. `{"warning":""}` to `{"warnings":""}`), or key removal from the RPC interface. Adding a key to an object is generally considered backward-compatible. Include a release note that refers the user to the RPC help for details of feature deprecation and re-enabling previous behavior. [Example RPC help](https://github.com/bitcoin/bitcoin/blob/94f0adcc/src/rpc/blockchain.cpp#L1316-L1323).
stickies-v commented at 3:40 pm on October 22, 2025:The next sentence seems like a more logical place to put this.
0- It's preferable to avoid changing an RPC in a backward-incompatible manner, but in that case, add an associated `-deprecatedrpc=` option to retain previous RPC behavior during the deprecation period. Backward-incompatible changes include: data type changes (e.g. from `{"warnings":""}` to `{"warnings":[]}`, changing a value from a string to a number, etc.), logical meaning changes of a value, key name changes (e.g. `{"warning":""}` to `{"warnings":""}`). Adding or removing a key to an object is generally considered backward-compatible. Include a release note that refers the user to the RPC help for details of feature deprecation and re-enabling previous behavior. [Example RPC help](https://github.com/bitcoin/bitcoin/blob/94f0adcc/src/rpc/blockchain.cpp#L1316-L1323).
rkrux commented at 4:21 pm on October 22, 2025:Although putting it in the next sentence does reduce verbosity but by putting it there would give the impression that key removal is backward-compatible, which I don’t think is correct?
stickies-v commented at 7:38 am on October 23, 2025:Sorry, that was terrible suggestion. I wanted to keep the language consistent.
0- It's preferable to avoid changing an RPC in a backward-incompatible manner, but in that case, add an associated `-deprecatedrpc=` option to retain previous RPC behavior during the deprecation period. Backward-incompatible changes include: data type changes (e.g. from `{"warnings":""}` to `{"warnings":[]}`, changing a value from a string to a number, etc.), logical meaning changes of a value, key name changes (e.g. `{"warning":""}` to `{"warnings":""}`), or removing a key from an object. Adding a key to an object is generally considered backward-compatible. Include a release note that refers the user to the RPC help for details of feature deprecation and re-enabling previous behavior. [Example RPC help](https://github.com/bitcoin/bitcoin/blob/94f0adcc/src/rpc/blockchain.cpp#L1316-L1323).
rkrux commented at 9:40 am on October 23, 2025:Done944e5ff848doc: mention key removal in rpc interface modification
A discussion in a previous PR 32618 prompted me to add this note.
rkrux force-pushed on Oct 23, 2025maflcko commented at 9:46 am on October 23, 2025: memberlgtm ACK 944e5ff848f656d2ee6202b2330f3ae178ad0fbestickies-v commented at 12:20 pm on October 23, 2025: contributorACK 944e5ff848f656d2ee6202b2330f3ae178ad0fbeglozow commented at 3:44 pm on October 28, 2025: memberlgtm ACK 944e5ff848f656d2ee6202b2330f3ae178ad0fbeglozow merged this on Oct 28, 2025glozow closed this on Oct 28, 2025
github-metadata-mirror
This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2025-11-23 21:13 UTC
This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2025-11-23 21:13 UTC
This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me
More mirrored repositories can be found on mirror.b10c.me