I'd like https://github.com/geany/geany/commit/d34a0a36e761cb2844ae50ffaceaee18fee0d3... (and its fix(es?)) be separate; for the rest it's your call. I'd keep the same separation as you initially did and squash the changes, but if it becomes too complicated you can also just squash the whole thing together but the commit above.
This is what I did. At the end I just added all the goto changes into the commit that makes Geany use the new interface.
For the non-trivial review comments and smaller commits of others I also added `Co-Authored-By` - I hope it's fine this way.
Finally I bumped the Geany API version so this API can now be officially used by plugins.
Does it look OK?