diff --git a/doc/release-notes/28824.md b/doc/release-notes/28824.md new file mode 100644 index 00000000000000..dd2845dc9e16fd --- /dev/null +++ b/doc/release-notes/28824.md @@ -0,0 +1,23 @@ +Notable changes +=============== + +Updated RPCs +------------ + +* Script decoding behaviour in various RPCs has been updated. + Previously, the `asm` representations silently displayed pushed values of 4 bytes or fewer in decimal encoding, while representing values larger than 4 bytes in little endian hexadecimal. + This inconsistent behaviour, which was not documented, led to confusion when interpreting various values. + + The following changes have been implemented: + + * Drop "OP_" prefix from all opcodes + * OP_n -> n (so -1, 0, 1, ..., 10, ..., 16) + * For minimal pushes: + * \<= 5 bytes using decimal + * \> 5 bytes using big endian hex enclosed in angle brackets <...> + * For non-minimal pushes + * prefix the big endian hex with the push opcode and enclose in angle brackets OP_CODE<...> + + These changes will affect the `asm` output of the `getrawtransaction`, `decodetransaction`, `decodescript` and `decodepsbt` RPCs. + See #7996 and #27795 for more discussion. +