Apropos my documentation whine, it wasn't so much that I was worried about new features breaking backward compatibility, but that since the online documentation always refers to the most recent version of the compiler it includes stuff which might not be applicable if an older one has to be used (e.g. a legacy project uses a specific version of Lazarus which mandates a certain version of FPC).The documentation is also contained in the FPC downloads.
I've tried to look at this myself in the past (perhaps about ten years ago) and was able to build the documentation and generate a permuted index (so that e.g. it was possible to find all procedures that had "list" in their short description). In principle I should have been able to put a version number in front of every name hence document which version introduced a particular procedure, but in practice I hit problems caused- I think- by more-recent FPC utilities not liking some of the older files. In any event I got stuck, perhaps now that Docker makes running multiple versions easier I'll revisit this and see what I can come up with.
The documentation is also contained in the FPC downloads.
So let's say you need the documentation for 2.4.2. Then you go to e.g. SourceForge and locate the fpc-2.4.2.x86_64-linux.tar file (the platform doesn't really matter here, but the Linux tars are the most easy to access). Then you untar it and will find the documentation inside doc-pdf.tar.gz.