Major versions and major commits should dispose of their breaking changes as a list.
These breaking changes list could be parsed from the commits messages:
Subject...
Body...
BREAKING CHANGES: (adapt the regex to support similar wording)
explanation, code, etc.
--- (end of the breaking changes)
Footer, or other section...
Otherwise we could simply concatenate the bodies of the major commits for each major version.