As far as I know, there is a plan to start having a longer open beta period for new releases to give mod authors additional time to fix their shit.
Thus far, we've not really been fixing people's mods for them: we'd never really get time to make much progress with FAF if we had to do that at the moment, though it would be notionally nice at some point.
I do not understand why they had to make the mods incompatible.
Nobody set out to "make the mods incompatible". Indeed, 3641 had a (perhaps somewhat too short) beta period for mod developers to fix their shit, in which basically nobody got in touch to ask for information about how the changes affect them.
I see some questionable changes; specifically renaming functions because capitalization and removing functions because they are not used. That, to me, sets some bad precedents. What if in the future someone comes along and says, I do not like how this is spelled. Then we are back in this mess again, for no good reason.
By and large, these are not the changes that are causing mods to break (there are a few cases where they are, however, but these represent somebody fucking up).
I've got a local copy of the mod vault I scan for uses of a certain function before refactoring in this way: if it is still used it gets a deprecation warning instead of deletion. If it turns out to not be used, deleting it now is an effective way to make sure it stays that way.
In general, simpler, clearer programs are easier to maintain: an oft-undervalued property of software. While changes like renaming may seem "pointless", they can meaningfully impact legibility of a complicated piece of logic elsewhere that makes use of the renamed function, which can in turn make an error easier to spot (or to avoid introducing when trying to modify behaviour).
Usually, given a choice between "there's a chance an obscure mod might depend on this" and "this makes it easier to prevent regressions", the latter is going to win.
On the other hand, where things do get completely overhauled (such as the new UI library introduced with 3640), they also get in-tree luadocs and the promise of a stable API for modders to use in the future. Introducing the UI updates to the lobby and elsewhere that we did that that point without the new UI library wouldn't have been viable, and for the same reasons modders will find it easier to do their thing with it than the old way: it just slightly breaks parts of the old way.
On the GitHub site it is difficult to see sometimes why things had changed. If you try to look at a files history of changes you get all the files that were changed at the time, which makes it tedious for no reason. The bitbucket site was good for that. You can look at a single file and see the history of changes that were done. The documentation there is not so good in general.
There's a big shiny "history" button at the top right when you're viewing the content of a file that takes you to a page like this showing only the commits that have touched that file (allowing you to view changes, the commit, or browse the file/repository at that point in its history):
https://github.com/FAForever/fa/commits ... m/Unit.luaGitHub/Bitbucket have feature-parity.