Gtk 3->4 made a lot of internal changes, and at least some were related to making wayland work.
Wayland “worked” in gtk3, however it was very much an afterthought, and half the toolkit was useless under wayland.
Other changes are usually required for changes related to rendering, gtk4 had vulcan rendering which may require some breaking changes.
Another thing is just general breaking changes that are good, sometimes you realise some decision was bad, and a new major release is just a way to make these.
From the end users perspective nothing much changes, it maybe looks a bit different, but not much besides that. But a vulcan renderer and being fully wayland compatible are major improvements that also improve the user experience, even if you don’t notice directly.
Gtk 3->4 made a lot of internal changes, and at least some were related to making wayland work. Wayland “worked” in gtk3, however it was very much an afterthought, and half the toolkit was useless under wayland. Other changes are usually required for changes related to rendering, gtk4 had vulcan rendering which may require some breaking changes. Another thing is just general breaking changes that are good, sometimes you realise some decision was bad, and a new major release is just a way to make these.
From the end users perspective nothing much changes, it maybe looks a bit different, but not much besides that. But a vulcan renderer and being fully wayland compatible are major improvements that also improve the user experience, even if you don’t notice directly.