From daef0041e037f442c6c6ab2fba052d54803a62ff Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Wed, 5 Jan 2022 20:24:29 +0000 Subject: [PATCH] Add release notes for v4.6.0-1 --- doc/release-notes/release-notes-4.6.0-1.md | 24 ++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/doc/release-notes/release-notes-4.6.0-1.md b/doc/release-notes/release-notes-4.6.0-1.md index 2cae811ae..975376aa1 100644 --- a/doc/release-notes/release-notes-4.6.0-1.md +++ b/doc/release-notes/release-notes-4.6.0-1.md @@ -1,3 +1,27 @@ +`getblocktemplate` regression fix +================================= + +We added support for the NU5 consensus rules in v4.5.0, which alters the +block header to contain a `hashBlockCommitments` value instead of the +chain history root. However, the output of `getblocktemplate` wasn't +returning this value; once NU5 activated, the `blockcommitmentshash` +field was being set to "null" (all-zeroes). + +In v4.6.0 we added full NU5 support to `getblocktemplate`, by adding a +`defaultroots` field that gave default values for `hashBlockCommitments` +and the components required to derive it. However, in doing so we +introduced a regression in the (now-deprecated) legacy fields, where +prior to NU5 activation they contained nonsense. + +This release fixes the output of `getblocktemplate` to have the intended +semantics for all fields: + +- The `blockcommitmentshash` and `authdataroot` fields in `defaultroots` + are now omitted from block templates for heights before NU5 activation. + +- The legacy fields now always contain the default value to be placed + into the block header (regaining their previous semantics). + Changelog =========