The first release of GTK3 that could be considered stable was 3.20. Either way, I'm talking about GTK4, where the original plan was 6 months of breaking releases, stabilization in version 4.6, followed by starting work on the incompatible GTK5, to be released 2 years after the first GTK4 release.
The backlash was so big they at least changed the versioning scheme, but the "break shit every 2 years" is still in full force.
GTK3 did not break its C API. The CSS you could inject was arbitrary and undocumented. They stabilized and documented that in 3.20, yes. I think its very dishonest to say the toolkit was breaking, the vast majority of GTK3 apps didn’t have regressions IME.