Some packages have a changelog file in them that we could display,
though most don't.
Debian policy requires changelogs of standard format.
Most packages use a well known version control system (darcs,
mercurial etc.). Cabal also has fields helping identifying
where in vcs history are each version placed. Listing change
history between them is something we can script.
Personally I think, though, that changelog format should be
part of Cabal package format documentation.
Haskell-Cafe mailing list