Worried about GTK 3 stability and Pango changes/regressions

Hi,

Several years ago, when the GTK 4 development started, an announcement was made to say that GTK 3 would remain stable, without behavior or API changes etc.

Unfortunately, Pango changed in the meantime. With changes to its default behavior that affects a lot of GTK 3 applications and libraries. And there are also regressions (bugs that didn’t exist before).

I especially think about line wrapping with word hyphenation, which was not implemented before in Pango, then it was implemented and enabled by default. It breaks a lot of applications, such as gedit.

An example of a regression is that with GtkTextView, an empty line has a different height than a line containing text. Perhaps it depends on the font used, but that bug didn’t exist before.

I think those two items are already filed in GitLab issues, it was just to give examples.

The point was to give an overall feedback. It is the kind of things that drive developers away from the platform.

I don’t have a good solution to give, apart from coming back to an earlier version of Pango for GTK 3 apps.

Thank you for your understanding, I hope you will understand and are open to a negative feedback. I just wish that the GTK platform would improve over time, not the contrary of course.

I don’t really have the budget myself to improve things, unfortunately.

Thanks,
Sébastien

Not sure if it’s the same issue, but meld on ArchLinux (that probably have latest pango version) since some days ago have a bug that is impossible to scroll the view letting the cursor out of the viewport.

I have a GTK3 app written in Crystal that started to show the same meld bug some days ago and I didn’t recompile it in months, so it was some library that changed the behavior.

Pango package: pango 1:1.50.7-1
Gtk3: gtk3 1:3.24.33-3

Hello, please consider filing the bug on the tracker if it is not already. It is not clear what answer this topic is looking for or what it is trying to say. The answer to regressions is the same as always: file bugs, fix them, write test cases. Reverting back to old versions of libraries is generally not a good option because then you will probably revert other bug fixes and cause other regressions.

My feedback was to say that the platform is not stable, even for GTK 3 (!).

So things haven’t changed, it’s the same problem as before. (Before: I mean 10 years ago, 15 years ago, …).

So it’s more the way things are developed / the general process that need to be changed, not specifically the individual issues. It’s just bad development habits.

But I perfectly know that I’m talking in the void anyway, it’s unlikely that the process will change. Over the years plenty of developers have complained. I thought that the situation would be fixed as long as developers / users keep GTK 3.

Because it’s not just a problem for the developers of course, a huge amount of users are impacted.

On a positive note, GLib has remained very stable over the years.

No, you are confusing separate things. Regressions are not intentional, they are bugs. This is different from an intentional API break like GTK 4.

Unless I am missing something here, there is no other way to change the process other than the usual: volunteer, fix the bugs, write more tests. It is not clear what else you are asking for other than asking developers to “not write bugs” which is a common (but meaningless) user complaint that I hear often too. For the last two years there is really only one person doing any actual work on pango and it is only part time, the project just needs help.

If you really want shielding from regressions, the typical way to do that would be to use something like RHEL that keeps the packages at the same version and backports bugfixes. That will keep all the libraries at the old versions. There has actually been regressions in GLib and even in other key libraries like glibc too that you have to worry about if you are a system integrator. Any package can have them, we are just lucky we have not run into those regressions often.

If you really do not want any changes at all, it is definitely possible for a GTK3 application to bundle its own version of libraries like pango, cairo, gdk-pixbuf, etc. Whether this is a good idea, I cannot say, it may have other unintended side effects.