Changes in GTK+ 3.22

The CSS parser has gotten a bit more selective in what it accepts as valid values for the font: shorthand. Following the CSS specification, at least a size and a family name are required now. If you want to change an individual facet of the font, like the weight, use the individual CSS properties: font-weight, font-size, font-family, etc.

The CSS parser now warns about some more constructs that are not according to the CSS spec, such as gradients with a single color stop. Instead, you can just use image(<color>).

The “ignore-hidden” property has not been working properly for a long time, and we've not documented it as broken and deprecated. The recommended alternative for reserving space of widgets that are not currently shown in the UI is to use a GtkStack (with some 'filler' widget, e.g. an empty GtkBox, in another page).

GtkHeaderBar now respects the hexpand property for its custom title widget and its packed children. This change may inadvertently cause the layout of those children to change, if they unintentionally had hexpand set before.

The behavior of the expand flag in GtkTables GtkAttachOptions has been changed to (again) match the behavior in GtkBox and in GTK+ 2.x. These options don't cause the table itself to expand.

The way GtkPopover behaved during a call to gtk_widget_hide() violated some of the internal assumptions GTK+ makes about widget visibility. gtk_popover_popup() and gtk_popover_popdown() have been introduced to show or hide the popover with a transition, while gtk_widget_show() and gtk_widget_hide() on a GtkPopover now work the same way they do on any other widget and immediately hide (or show) the popover.