A new (I think it appeared in 3.4) feature of Gtk+ I like is the application menu. Basically, it allows to set a menu for your application whose display will depend on the way the window manager chooses to render it; in Gnome 3, it will be displayed in the top panel, whereas in most other WM it will be rendered inside the application window.

I'll repost the screenshots from Tiny 'Nux Tarot I already posted before to show the difference:


As we can see, here, the application menu is relocated in the top panel (okay, this might not be the most probing exampleit because the application window is just below and so the menu appears on top of it), whereas on gnome-classic, it appears in the window:


Now, you may or may not like the way Gnome-shell displays this menu (personally, I find it really practical for maximized windows, and quite impractical for non-maximized windows — what I would love is to only have the menu relocated in the top panel for windows that are maximized), but my impression is that in term of integration to the desktop, leaving the choice to the window manager is really an improvement.

Speaking of evolution of menus in Gtk+, I must however said I was a bit sad reading that version Gtk+ 3.4 also deprecated the "GTkTearOffMenuItem", which allowed you to drag and drop those menus into windows of their own. I don't really criticize this decision (despite finding this feature pretty cool in theorie, I never really found it useful in practice), but it makes me feel a bit nostalgic, because my first contact with Gtk development, years ago, was in an initiation conference by a guy who was really euphoric about this completely revolutionary new feature that really made Gtk+ special.