It shouldn’t be hard to write a diff tool that parses two GIR files, traverses them all, and finds the differences. You could reuse the parser provided by gobject-introspection, or one of the existing parsers in other projects—gi-docgen, gtk-rs, or vala. You could even implement a parser yourself: it’s not exceedingly complicated, and the GIR schema is kept up to date.