What is the difference betweeen merge request.patch and merge request.diff and why is this?

What is the difference betweeen merge request.patch and merge request.diff and why is this?

When you have a merge request, for example this one, than it seems, like you also have a .patch and .diff uri to that merge request.
My observation seems to suggest, that while the .patch url provides more extensive information in the format of an e-mail, it doesn’t update when the source branch is updated.
While .diff doesn’t have information about the author and the commit messages, but does have the most recent diff between the source and target branch of the merge request.

How can I get both of those? A Patch File, with all the information about commit messages, authors, but also the most recent commit?
Is there another URI or API, that I can call?
If so which one is that?

Thanks for taking the time to read and consider my problem.