The NEWS file is pretty free form and the way things are shown differs per module. Still if you just browse the ftp-release-list mailing list it appears pretty consistent.
Note that we're still duplicating things between Git, tarballs and the logic which put things into the ftp-release-list email. The NEWS file parsing is https://git.gnome.org/browse/sysadmin-bin/tree/ftpadmin, search for 'def diff'. Basically a simple diff -u, grab only the 1st section if lines >= 3. Then for the announcement, it strips off some uninteresting lines (all lines at the beginning which are just whitespace/punctuation or contain the version number), see 'def inform' for that.