If you create a multibranch Pipeline using the Mercurial source, you expect noninitial builds of the branch projects to display changelogs from those branches. But they do not.
The root cause seems to have been that MercurialSCM.getKey was overly specific, preventing the baseline from being passed from one build to the next in changelog calculation. Whereas for RevisionType.BRANCH the branch name ought to be included in the key, when MercurialSCMSource.build constructs a one-off MercurialSCM binding the revision number, it is inappropriate for the key to include the revision.
Git was unaffected since it completely ignores baselines (sigh). Subversion was unaffected since getKey was already implemented to strip revisions from the URLs.