[gtk+] The big versioning cleanup



commit 4c150d8eb518c35c484802e5cd7da572e4030f25
Author: Matthias Clasen <mclasen redhat com>
Date:   Mon Feb 5 20:13:20 2018 +0100

    The big versioning cleanup
    
    Remove all the old 2.x and 3.x version annotations.
    GTK+ 4 is a new start, and from the perspective of a
    GTK+ 4 developer all these APIs have been around since
    the beginning.

 docs/reference/gdk/gdk4-docs.xml       |   48 -----
 docs/reference/gdk/gdk4-sections.txt   |   58 +-----
 docs/reference/gtk/gtk4-docs.xml       |   52 -----
 gdk/broadway/gdkbroadwaydisplay.h      |    4 +-
 gdk/broadway/gdkbroadwaymonitor.h      |    2 +-
 gdk/gdkapplaunchcontext.c              |    8 -
 gdk/gdkcairo.c                         |   10 -
 gdk/gdkcairo.h                         |    8 +-
 gdk/gdkclipboard.c                     |    8 -
 gdk/gdkclipboard.h                     |   42 ++--
 gdk/gdkcontentdeserializer.h           |   34 ++--
 gdk/gdkcontentformats.h                |   52 +++---
 gdk/gdkcontentprovider.c               |    6 -
 gdk/gdkcontentprovider.h               |   14 +-
 gdk/gdkcontentproviderimpl.h           |    4 +-
 gdk/gdkcontentserializer.h             |   34 ++--
 gdk/gdkcursor.c                        |   14 --
 gdk/gdkcursor.h                        |   12 +-
 gdk/gdkdevice.c                        |   80 +--------
 gdk/gdkdevice.h                        |   18 +-
 gdk/gdkdevicepad.c                     |    8 -
 gdk/gdkdevicepad.h                     |   10 +-
 gdk/gdkdevicetool.c                    |    6 -
 gdk/gdkdevicetool.h                    |    8 +-
 gdk/gdkdisplay.c                       |   66 ------
 gdk/gdkdisplay.h                       |   26 ++--
 gdk/gdkdisplaymanager.c                |   16 --
 gdk/gdkdisplaymanager.h                |    2 +-
 gdk/gdkdnd.c                           |   38 ----
 gdk/gdkdnd.h                           |   14 +-
 gdk/gdkdrawcontext.c                   |   14 --
 gdk/gdkdrawcontext.h                   |    6 +-
 gdk/gdkdrawingcontext.c                |   18 --
 gdk/gdkdrawingcontext.h                |   12 +-
 gdk/gdkevents.c                        |   51 -----
 gdk/gdkevents.h                        |   82 ++++----
 gdk/gdkframeclock.c                    |   13 --
 gdk/gdkframeclock.h                    |   20 +-
 gdk/gdkframetimings.c                  |    8 -
 gdk/gdkframetimings.h                  |   18 +-
 gdk/gdkgl.c                            |    4 -
 gdk/gdkglcontext.c                     |   36 ----
 gdk/gdkglcontext.h                     |   40 ++--
 gdk/gdkkeys.c                          |   22 --
 gdk/gdkkeys.h                          |    8 +-
 gdk/gdkmonitor.c                       |   14 --
 gdk/gdkmonitor.h                       |   26 ++--
 gdk/gdkrectangle.c                     |    4 -
 gdk/gdkrectangle.h                     |    4 +-
 gdk/gdkrgba.c                          |   16 --
 gdk/gdkrgba.h                          |    4 +-
 gdk/gdkseat.c                          |   24 ---
 gdk/gdkseat.h                          |   18 +-
 gdk/gdkselection.c                     |    2 -
 gdk/gdktexture.c                       |   26 ---
 gdk/gdktexture.h                       |   20 +-
 gdk/gdkversionmacros.h.in              |  346 +-------------------------------
 gdk/gdkvulkancontext.h                 |   26 ++--
 gdk/gdkwindow.c                        |  133 ------------
 gdk/gdkwindow.h                        |   46 ++--
 gdk/quartz/gdkquartzmonitor.h          |    2 +-
 gdk/quartz/gdkquartzutils.h            |    2 +-
 gdk/wayland/gdkdevice-wayland.c        |    8 -
 gdk/wayland/gdkdisplay-wayland.c       |    6 -
 gdk/wayland/gdkmonitor-wayland.c       |    1 -
 gdk/wayland/gdkvulkancontext-wayland.h |    2 +-
 gdk/wayland/gdkwaylanddevice.h         |    6 +-
 gdk/wayland/gdkwaylanddisplay.h        |    4 +-
 gdk/wayland/gdkwaylandglcontext.h      |    2 +-
 gdk/wayland/gdkwaylandmonitor.h        |    4 +-
 gdk/wayland/gdkwaylandwindow.h         |   10 +-
 gdk/wayland/gdkwindow-wayland.c        |   14 --
 gdk/win32/gdkdisplay-win32.c           |    2 -
 gdk/win32/gdkglcontext-win32.c         |    2 -
 gdk/win32/gdkvulkancontext-win32.h     |    2 +-
 gdk/win32/gdkwin32display.h            |    4 +-
 gdk/win32/gdkwin32glcontext.h          |    4 +-
 gdk/win32/gdkwin32keys.h               |    2 +-
 gdk/win32/gdkwin32monitor.h            |    2 +-
 gdk/x11/gdkcursor-x11.c                |    2 -
 gdk/x11/gdkdevicemanager-x11.c         |    6 -
 gdk/x11/gdkdisplay-x11.c               |   34 ---
 gdk/x11/gdkglcontext-x11.c             |    2 -
 gdk/x11/gdkkeys-x11.c                  |    4 -
 gdk/x11/gdkproperty-x11.c              |    8 -
 gdk/x11/gdkscreen-x11.c                |   14 --
 gdk/x11/gdkselection-x11.c             |   10 -
 gdk/x11/gdkvisual-x11.c                |    2 -
 gdk/x11/gdkvulkancontext-x11.h         |    2 +-
 gdk/x11/gdkwindow-x11.c                |   18 --
 gdk/x11/gdkx11device.h                 |    2 +-
 gdk/x11/gdkx11devicemanager.h          |    2 +-
 gdk/x11/gdkx11display.h                |   14 +-
 gdk/x11/gdkx11glcontext.h              |    4 +-
 gdk/x11/gdkx11keys.h                   |    4 +-
 gdk/x11/gdkx11monitor.h                |    4 +-
 gdk/x11/gdkx11screen.h                 |    4 +-
 gdk/x11/gdkx11window.h                 |   12 +-
 gdk/x11/gdkxid.c                       |    2 -
 gsk/gskrenderer.c                      |   24 ---
 gsk/gskrenderer.h                      |   20 +-
 gsk/gskrendernode.c                    |   14 --
 gsk/gskrendernode.h                    |  174 ++++++++--------
 gsk/gskrendernodeimpl.c                |   48 -----
 gsk/gskroundedrect.c                   |    8 -
 gsk/gskroundedrect.h                   |   20 +-
 gtk/a11y/gtkcellaccessibleparent.h     |    2 +-
 gtk/a11y/gtkflowboxaccessible.h        |    2 +-
 gtk/a11y/gtkflowboxchildaccessible.h   |    2 +-
 gtk/a11y/gtklistboxrowaccessible.h     |    2 +-
 gtk/a11y/gtkpopoveraccessible.h        |    2 +-
 gtk/a11y/gtkstackaccessible.h          |    2 +-
 gtk/gtkaboutdialog.c                   |  100 ---------
 gtk/gtkaboutdialog.h                   |   16 +-
 gtk/gtkaccelgroup.c                    |   12 -
 gtk/gtkaccelgroup.h                    |    8 +-
 gtk/gtkaccellabel.c                    |    4 -
 gtk/gtkaccellabel.h                    |   12 +-
 gtk/gtkaccelmap.c                      |    8 -
 gtk/gtkaccessible.c                    |    4 -
 gtk/gtkactionable.c                    |   16 +--
 gtk/gtkactionable.h                    |   14 +-
 gtk/gtkactionbar.c                     |   14 --
 gtk/gtkactionbar.h                     |   16 +-
 gtk/gtkadjustment.c                    |   36 ----
 gtk/gtkadjustment.h                    |    2 +-
 gtk/gtkappchooser.c                    |    6 -
 gtk/gtkappchooserbutton.c              |   18 --
 gtk/gtkappchooserbutton.h              |    4 +-
 gtk/gtkappchooserdialog.c              |    6 -
 gtk/gtkappchooserwidget.c              |   24 ---
 gtk/gtkapplication.c                   |   44 ----
 gtk/gtkapplication.h                   |   28 ++--
 gtk/gtkapplicationwindow.c             |   12 -
 gtk/gtkapplicationwindow.h             |   14 +-
 gtk/gtkassistant.c                     |   63 ------
 gtk/gtkassistant.h                     |    6 +-
 gtk/gtkbbox.c                          |    8 -
 gtk/gtkbbox.h                          |    4 +-
 gtk/gtkbindings.c                      |    6 -
 gtk/gtkborder.c                        |    2 -
 gtk/gtkbox.c                           |    6 -
 gtk/gtkbox.h                           |    4 +-
 gtk/gtkbuildable.c                     |   20 --
 gtk/gtkbuilder.c                       |   54 -----
 gtk/gtkbuilder.h                       |   22 +-
 gtk/gtkbutton.c                        |    6 -
 gtk/gtkbutton.h                        |    6 +-
 gtk/gtkcalendar.c                      |   30 ---
 gtk/gtkcalendar.h                      |    2 -
 gtk/gtkcellarea.c                      |  108 ----------
 gtk/gtkcellarea.h                      |    4 +-
 gtk/gtkcellareabox.c                   |   20 --
 gtk/gtkcellareacontext.c               |   26 ---
 gtk/gtkcelleditable.c                  |    2 -
 gtk/gtkcelllayout.c                    |   20 --
 gtk/gtkcellrenderer.c                  |   44 ----
 gtk/gtkcellrenderer.h                  |    2 +-
 gtk/gtkcellrendereraccel.c             |   14 --
 gtk/gtkcellrenderercombo.c             |   10 -
 gtk/gtkcellrendererpixbuf.c            |   10 -
 gtk/gtkcellrendererprogress.c          |   12 -
 gtk/gtkcellrendererspin.c              |    8 -
 gtk/gtkcellrendererspinner.c           |    8 -
 gtk/gtkcellrenderertext.c              |   16 --
 gtk/gtkcellrenderertoggle.c            |    4 -
 gtk/gtkcellview.c                      |   28 ---
 gtk/gtkcellview.h                      |    2 +-
 gtk/gtkcenterbox.c                     |   18 --
 gtk/gtkcenterbox.h                     |   20 +-
 gtk/gtkcheckbutton.h                   |    8 +-
 gtk/gtkcheckmenuitem.c                 |    4 -
 gtk/gtkcolorbutton.c                   |   18 --
 gtk/gtkcolorchooser.c                  |   18 --
 gtk/gtkcolorchooser.h                  |   12 +-
 gtk/gtkcolorchooserdialog.c            |    4 -
 gtk/gtkcolorchooserdialog.h            |    4 +-
 gtk/gtkcolorchooserwidget.c            |    6 -
 gtk/gtkcolorchooserwidget.h            |    4 +-
 gtk/gtkcolorutils.c                    |    4 -
 gtk/gtkcombobox.c                      |  102 ----------
 gtk/gtkcomboboxtext.c                  |   22 --
 gtk/gtkcontainer.c                     |    6 -
 gtk/gtkcontainer.h                     |    6 +-
 gtk/gtkcssprovider.c                   |    4 -
 gtk/gtkcssprovider.h                   |    4 +-
 gtk/gtkcsssection.c                    |   18 --
 gtk/gtkcsssection.h                    |   24 +--
 gtk/gtkcustompaperunixdialog.c         |    2 -
 gtk/gtkdialog.c                        |   10 -
 gtk/gtkdialog.h                        |    2 +-
 gtk/gtkdnd-quartz.c                    |    2 -
 gtk/gtkdnd.c                           |    8 -
 gtk/gtkdnd.h                           |    8 +-
 gtk/gtkdragdest.c                      |   10 -
 gtk/gtkdragsource.c                    |   16 --
 gtk/gtkdragsource.h                    |    4 +-
 gtk/gtkdrawingarea.c                   |   14 --
 gtk/gtkdrawingarea.h                   |   12 +-
 gtk/gtkentry.c                         |  180 -----------------
 gtk/gtkentry.h                         |   32 ++--
 gtk/gtkentrybuffer.c                   |   34 ---
 gtk/gtkentrycompletion.c               |   78 -------
 gtk/gtkentrycompletion.h               |    2 +-
 gtk/gtkenums.h                         |   46 ++---
 gtk/gtkeventcontroller.c               |   14 --
 gtk/gtkeventcontroller.h               |   12 +-
 gtk/gtkeventcontrollermotion.c         |    2 -
 gtk/gtkeventcontrollermotion.h         |    4 +-
 gtk/gtkeventcontrollerscroll.c         |    8 -
 gtk/gtkeventcontrollerscroll.h         |   10 +-
 gtk/gtkexpander.c                      |   34 ---
 gtk/gtkexpander.h                      |    4 +-
 gtk/gtkfilechooser.c                   |  137 -------------
 gtk/gtkfilechooser.h                   |   12 +-
 gtk/gtkfilechooserbutton.c             |   20 --
 gtk/gtkfilechooserdialog.c             |    2 -
 gtk/gtkfilechoosernative.c             |   10 -
 gtk/gtkfilechoosernative.h             |   12 +-
 gtk/gtkfilechooserwidget.c             |    2 -
 gtk/gtkfilefilter.c                    |   22 --
 gtk/gtkfilefilter.h                    |    4 +-
 gtk/gtkflowbox.c                       |   76 -------
 gtk/gtkflowbox.h                       |   76 ++++----
 gtk/gtkfontbutton.c                    |   24 ---
 gtk/gtkfontchooser.c                   |   39 ----
 gtk/gtkfontchooser.h                   |   38 ++--
 gtk/gtkfontchooserdialog.c             |    4 -
 gtk/gtkfontchooserdialog.h             |    4 +-
 gtk/gtkfontchooserwidget.c             |    4 -
 gtk/gtkfontchooserwidget.h             |    4 +-
 gtk/gtkgesture.c                       |   45 ----
 gtk/gtkgesture.h                       |   36 ++--
 gtk/gtkgesturedrag.c                   |   12 -
 gtk/gtkgesturedrag.h                   |    8 +-
 gtk/gtkgesturelongpress.c              |    6 -
 gtk/gtkgesturelongpress.h              |    4 +-
 gtk/gtkgesturemultipress.c             |   14 --
 gtk/gtkgesturemultipress.h             |    8 +-
 gtk/gtkgesturepan.c                    |   10 -
 gtk/gtkgesturepan.h                    |    8 +-
 gtk/gtkgesturerotate.c                 |    6 -
 gtk/gtkgesturerotate.h                 |    6 +-
 gtk/gtkgesturesingle.c                 |   22 --
 gtk/gtkgesturesingle.h                 |   18 +-
 gtk/gtkgestureswipe.c                  |    6 -
 gtk/gtkgestureswipe.h                  |    6 +-
 gtk/gtkgesturezoom.c                   |    6 -
 gtk/gtkgesturezoom.h                   |    6 +-
 gtk/gtkglarea.c                        |   50 -----
 gtk/gtkglarea.h                        |   40 ++--
 gtk/gtkgrid.c                          |   20 --
 gtk/gtkgrid.h                          |   20 +-
 gtk/gtkheaderbar.c                     |   36 ----
 gtk/gtkheaderbar.h                     |   32 ++--
 gtk/gtkicontheme.c                     |   82 --------
 gtk/gtkicontheme.h                     |   36 ++--
 gtk/gtkiconview.c                      |  156 --------------
 gtk/gtkiconview.h                      |    6 +-
 gtk/gtkimage.c                         |   43 ----
 gtk/gtkimage.h                         |   16 +-
 gtk/gtkimcontextsimple.c               |    2 -
 gtk/gtkimcontextsimple.h               |    2 +-
 gtk/gtkimmulticontext.c                |    4 -
 gtk/gtkinfobar.c                       |   38 ----
 gtk/gtkinfobar.h                       |    8 +-
 gtk/gtkinvisible.c                     |    6 -
 gtk/gtkinvisible.h                     |    6 +-
 gtk/gtklabel.c                         |   60 ------
 gtk/gtklabel.h                         |   12 +-
 gtk/gtklevelbar.c                      |   42 ----
 gtk/gtklevelbar.h                      |   38 ++--
 gtk/gtklinkbutton.c                    |   16 --
 gtk/gtklistbox.c                       |   96 +---------
 gtk/gtklistbox.h                       |   88 ++++-----
 gtk/gtkliststore.c                     |   16 --
 gtk/gtklockbutton.c                    |    6 -
 gtk/gtklockbutton.h                    |    8 +-
 gtk/gtkmain.c                          |   20 --
 gtk/gtkmain.h                          |    6 +-
 gtk/gtkmenu.c                          |   61 ------
 gtk/gtkmenu.h                          |   12 +-
 gtk/gtkmenubar.c                       |   14 --
 gtk/gtkmenubar.h                       |    2 +-
 gtk/gtkmenubutton.c                    |   38 ----
 gtk/gtkmenubutton.h                    |   28 ++--
 gtk/gtkmenuitem.c                      |   22 --
 gtk/gtkmenushell.c                     |   20 --
 gtk/gtkmenushell.h                     |    2 +-
 gtk/gtkmenutoolbutton.c                |   10 -
 gtk/gtkmessagedialog.c                 |   20 --
 gtk/gtkmodelbutton.c                   |   18 --
 gtk/gtkmodelbutton.h                   |    4 +-
 gtk/gtkmodules.h                       |    2 -
 gtk/gtkmountoperation.c                |   12 -
 gtk/gtkmountoperation.h                |    4 +-
 gtk/gtknativedialog.c                  |   32 ---
 gtk/gtknativedialog.h                  |   24 +-
 gtk/gtknotebook.c                      |   30 ---
 gtk/gtknotebook.h                      |    2 +-
 gtk/gtkorientable.c                    |    6 -
 gtk/gtkoverlay.c                       |   16 --
 gtk/gtkoverlay.h                       |   12 +-
 gtk/gtkpadcontroller.c                 |    6 -
 gtk/gtkpadcontroller.h                 |    8 +-
 gtk/gtkpagesetup.c                     |   54 -----
 gtk/gtkpagesetup.h                     |    4 +-
 gtk/gtkpagesetupunixdialog.c           |   10 -
 gtk/gtkpaned.c                         |   32 ---
 gtk/gtkpaned.h                         |    4 +-
 gtk/gtkpapersize.c                     |   46 -----
 gtk/gtkpapersize.h                     |    4 +-
 gtk/gtkplacesview.c                    |   16 --
 gtk/gtkpopover.c                       |   42 ----
 gtk/gtkpopover.h                       |   36 ++--
 gtk/gtkpopovermenu.c                   |    6 -
 gtk/gtkpopovermenu.h                   |    6 +-
 gtk/gtkprintcontext.c                  |   22 --
 gtk/gtkprinter.c                       |   54 +-----
 gtk/gtkprinter.h                       |    2 -
 gtk/gtkprintjob.c                      |   64 ------
 gtk/gtkprintjob.h                      |    2 +-
 gtk/gtkprintoperation-unix.c           |    4 -
 gtk/gtkprintoperation.c                |  120 -----------
 gtk/gtkprintoperationpreview.c         |    6 -
 gtk/gtkprintsettings.c                 |  154 --------------
 gtk/gtkprintsettings.h                 |    8 +-
 gtk/gtkprintunixdialog.c               |   36 ----
 gtk/gtkprogressbar.c                   |   12 -
 gtk/gtkradiobutton.c                   |    4 -
 gtk/gtkradiomenuitem.c                 |   12 -
 gtk/gtkradiomenuitem.h                 |    2 +-
 gtk/gtkradiotoolbutton.c               |   10 -
 gtk/gtkrange.c                         |   38 ----
 gtk/gtkrecentmanager.c                 |   74 -------
 gtk/gtkrecentmanager.h                 |    8 -
 gtk/gtkrender.c                        |   32 ---
 gtk/gtkrender.h                        |    6 +-
 gtk/gtkrevealer.c                      |   16 --
 gtk/gtkrevealer.h                      |   18 +-
 gtk/gtkscale.c                         |   16 --
 gtk/gtkscale.h                         |    4 +-
 gtk/gtkscalebutton.c                   |   28 ---
 gtk/gtkscrollable.c                    |   26 ---
 gtk/gtkscrollable.h                    |    2 +-
 gtk/gtkscrollbar.c                     |    2 -
 gtk/gtkscrollbar.h                     |    6 +-
 gtk/gtkscrolledwindow.c                |   62 ------
 gtk/gtkscrolledwindow.h                |   30 ++--
 gtk/gtksearchbar.c                     |   16 --
 gtk/gtksearchbar.h                     |   16 +-
 gtk/gtksearchentry.c                   |   14 --
 gtk/gtksearchentry.h                   |    6 +-
 gtk/gtkselection.c                     |   46 -----
 gtk/gtkselection.h                     |    8 +-
 gtk/gtkseparator.c                     |    2 -
 gtk/gtkseparatortoolitem.c             |    6 -
 gtk/gtksettings.c                      |   48 -----
 gtk/gtksettings.h                      |    4 +-
 gtk/gtkshortcutlabel.c                 |   14 --
 gtk/gtkshortcutlabel.h                 |   12 +-
 gtk/gtkshortcutsgroup.h                |    2 +-
 gtk/gtkshortcutssection.h              |    2 +-
 gtk/gtkshortcutsshortcut.c             |    2 -
 gtk/gtkshortcutsshortcut.h             |    8 +-
 gtk/gtkshortcutswindow.h               |    2 +-
 gtk/gtkshow.c                          |    2 -
 gtk/gtkshow.h                          |    2 +-
 gtk/gtksizegroup.c                     |    2 -
 gtk/gtksizerequest.c                   |    6 -
 gtk/gtksnapshot.c                      |   24 ---
 gtk/gtksnapshot.h                      |   52 +++---
 gtk/gtkspinbutton.c                    |   14 --
 gtk/gtkspinbutton.h                    |   12 +-
 gtk/gtkspinner.c                       |    8 -
 gtk/gtkstack.c                         |   74 +------
 gtk/gtkstack.h                         |   46 ++--
 gtk/gtkstacksidebar.c                  |    8 -
 gtk/gtkstacksidebar.h                  |    8 +-
 gtk/gtkstackswitcher.c                 |    8 -
 gtk/gtkstackswitcher.h                 |    8 +-
 gtk/gtkstatusbar.c                     |    4 -
 gtk/gtkstylecontext.c                  |   74 -------
 gtk/gtkstylecontext.h                  |   58 +-----
 gtk/gtkswitch.c                        |   14 --
 gtk/gtkswitch.h                        |    4 +-
 gtk/gtktestutils.c                     |    8 -
 gtk/gtktestutils.h                     |    2 +-
 gtk/gtktextbuffer.c                    |   22 --
 gtk/gtktextbuffer.h                    |    2 +-
 gtk/gtktextiter.c                      |   27 ---
 gtk/gtktextiter.h                      |    6 +-
 gtk/gtktextmark.c                      |    2 -
 gtk/gtktexttag.c                       |   28 ---
 gtk/gtktexttag.h                       |    2 +-
 gtk/gtktextview.c                      |   59 ------
 gtk/gtktextview.h                      |   35 ++--
 gtk/gtktoggletoolbutton.c              |    8 -
 gtk/gtktoolbar.c                       |   16 --
 gtk/gtktoolbutton.c                    |   24 ---
 gtk/gtktoolitem.c                      |   48 -----
 gtk/gtktoolshell.c                     |   14 --
 gtk/gtktooltip.c                       |   17 --
 gtk/gtktooltip.h                       |    2 +-
 gtk/gtktreemenu.c                      |   44 ----
 gtk/gtktreemodel.c                     |   16 --
 gtk/gtktreemodel.h                     |    4 +-
 gtk/gtktreemodelfilter.c               |   22 --
 gtk/gtktreemodelsort.c                 |    2 -
 gtk/gtktreeselection.c                 |   10 -
 gtk/gtktreestore.c                     |   16 --
 gtk/gtktreeview.c                      |   96 ---------
 gtk/gtktreeview.h                      |    6 +-
 gtk/gtktreeviewcolumn.c                |   20 --
 gtk/gtktreeviewcolumn.h                |    2 +-
 gtk/gtkvolumebutton.c                  |    4 -
 gtk/gtkwidget.c                        |  278 -------------------------
 gtk/gtkwidget.h                        |  124 +++++-------
 gtk/gtkwidgetpath.c                    |   57 ------
 gtk/gtkwidgetpath.h                    |   18 +-
 gtk/gtkwindow.c                        |  124 ------------
 gtk/gtkwindow.h                        |   30 ++--
 gtk/gtkwindowgroup.c                   |    6 -
 423 files changed, 1276 insertions(+), 7995 deletions(-)
---
diff --git a/docs/reference/gdk/gdk4-docs.xml b/docs/reference/gdk/gdk4-docs.xml
index e9c4261..353bc81 100644
--- a/docs/reference/gdk/gdk4-docs.xml
+++ b/docs/reference/gdk/gdk4-docs.xml
@@ -61,54 +61,6 @@
     <title>Index of deprecated symbols</title>
     <xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
   </index>
-  <index id="api-index-3-0" role="3.0">
-    <title>Index of new symbols in 3.0</title>
-    <xi:include href="xml/api-index-3.0.xml"><xi:fallback /></xi:include>
-  </index>
-  <index id="api-index-3-2" role="3.2">
-    <title>Index of new symbols in 3.2</title>
-    <xi:include href="xml/api-index-3.2.xml"><xi:fallback /></xi:include>
-  </index>
-  <index id="api-index-3-4" role="3.4">
-    <title>Index of new symbols in 3.4</title>
-    <xi:include href="xml/api-index-3.4.xml"><xi:fallback /></xi:include>
-  </index>
-  <index id="api-index-3-6" role="3.6">
-    <title>Index of new symbols in 3.6</title>
-    <xi:include href="xml/api-index-3.6.xml"><xi:fallback /></xi:include>
-  </index>
-  <index id="api-index-3-8" role="3.8">
-    <title>Index of new symbols in 3.8</title>
-    <xi:include href="xml/api-index-3.8.xml"><xi:fallback /></xi:include>
-  </index>
-  <index id="api-index-3-10" role="3.10">
-    <title>Index of new symbols in 3.10</title>
-    <xi:include href="xml/api-index-3.10.xml"><xi:fallback /></xi:include>
-  </index>
-  <index id="api-index-3-12" role="3.12">
-    <title>Index of new symbols in 3.12</title>
-    <xi:include href="xml/api-index-3.12.xml"><xi:fallback /></xi:include>
-  </index>
-  <index id="api-index-3-14" role="3.14">
-    <title>Index of new symbols in 3.14</title>
-    <xi:include href="xml/api-index-3.14.xml"><xi:fallback /></xi:include>
-  </index>
-  <index id="api-index-3-16" role="3.16">
-    <title>Index of new symbols in 3.16</title>
-    <xi:include href="xml/api-index-3.16.xml"><xi:fallback /></xi:include>
-  </index>
-  <index id="api-index-3-18" role="3.18">
-    <title>Index of new symbols in 3.18</title>
-    <xi:include href="xml/api-index-3.18.xml"><xi:fallback /></xi:include>
-  </index>
-  <index id="api-index-3-20" role="3.20">
-    <title>Index of new symbols in 3.20</title>
-    <xi:include href="xml/api-index-3.20.xml"><xi:fallback /></xi:include>
-  </index>
-  <index id="api-index-3-22" role="3.22">
-    <title>Index of new symbols in 3.22</title>
-    <xi:include href="xml/api-index-3.22.xml"><xi:fallback /></xi:include>
-  </index>
 
   <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
 
diff --git a/docs/reference/gdk/gdk4-sections.txt b/docs/reference/gdk/gdk4-sections.txt
index 5ac8c2f..c3cf294 100644
--- a/docs/reference/gdk/gdk4-sections.txt
+++ b/docs/reference/gdk/gdk4-sections.txt
@@ -12,21 +12,7 @@ GDK_WINDOWING_QUARTZ
 GDK_WINDOWING_WAYLAND
 
 <SUBSECTION>
-GDK_VERSION_3_0
-GDK_VERSION_3_2
-GDK_VERSION_3_4
-GDK_VERSION_3_6
-GDK_VERSION_3_8
-GDK_VERSION_3_10
-GDK_VERSION_3_12
-GDK_VERSION_3_14
-GDK_VERSION_3_16
-GDK_VERSION_3_18
-GDK_VERSION_3_20
-GDK_VERSION_3_22
-GDK_VERSION_3_90
-GDK_VERSION_3_92
-GDK_VERSION_3_94
+GDK_VERSION_4_0
 GDK_VERSION_MIN_REQUIRED
 GDK_VERSION_MAX_ALLOWED
 GDK_DISABLE_DEPRECATION_WARNINGS
@@ -69,49 +55,13 @@ gdk_window_type_get_type
 gdk_window_type_hint_get_type
 gdk_wm_decoration_get_type
 gdk_wm_function_get_type
-GDK_AVAILABLE_IN_3_0
-GDK_AVAILABLE_IN_3_10
-GDK_AVAILABLE_IN_3_12
-GDK_AVAILABLE_IN_3_14
-GDK_AVAILABLE_IN_3_16
-GDK_AVAILABLE_IN_3_18
-GDK_AVAILABLE_IN_3_2
-GDK_AVAILABLE_IN_3_20
-GDK_AVAILABLE_IN_3_22
-GDK_AVAILABLE_IN_3_4
-GDK_AVAILABLE_IN_3_6
-GDK_AVAILABLE_IN_3_8
-GDK_AVAILABLE_IN_3_90
-GDK_AVAILABLE_IN_3_92
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_4_0
 GDK_AVAILABLE_IN_ALL
 GDK_UNAVAILABLE
 GDK_DEPRECATED
 GDK_DEPRECATED_FOR
-GDK_DEPRECATED_IN_3_0
-GDK_DEPRECATED_IN_3_0_FOR
-GDK_DEPRECATED_IN_3_10
-GDK_DEPRECATED_IN_3_10_FOR
-GDK_DEPRECATED_IN_3_12
-GDK_DEPRECATED_IN_3_12_FOR
-GDK_DEPRECATED_IN_3_14
-GDK_DEPRECATED_IN_3_14_FOR
-GDK_DEPRECATED_IN_3_16
-GDK_DEPRECATED_IN_3_16_FOR
-GDK_DEPRECATED_IN_3_18
-GDK_DEPRECATED_IN_3_18_FOR
-GDK_DEPRECATED_IN_3_2
-GDK_DEPRECATED_IN_3_20
-GDK_DEPRECATED_IN_3_20_FOR
-GDK_DEPRECATED_IN_3_22
-GDK_DEPRECATED_IN_3_22_FOR
-GDK_DEPRECATED_IN_3_2_FOR
-GDK_DEPRECATED_IN_3_4
-GDK_DEPRECATED_IN_3_4_FOR
-GDK_DEPRECATED_IN_3_6
-GDK_DEPRECATED_IN_3_6_FOR
-GDK_DEPRECATED_IN_3_8
-GDK_DEPRECATED_IN_3_8_FOR
+GDK_DEPRECATED_IN_4_0
+GDK_DEPRECATED_IN_4_0_FOR
 GDK_VERSION_CUR_STABLE
 GDK_VERSION_PREV_STABLE
 </SECTION>
diff --git a/docs/reference/gtk/gtk4-docs.xml b/docs/reference/gtk/gtk4-docs.xml
index 29914f7..c953d86 100644
--- a/docs/reference/gtk/gtk4-docs.xml
+++ b/docs/reference/gtk/gtk4-docs.xml
@@ -384,58 +384,6 @@
     <title>Index of deprecated symbols</title>
     <xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
   </index>
-  <index id="api-index-3-0" role="3.0">
-    <title>Index of new symbols in 3.0</title>
-    <xi:include href="xml/api-index-3.0.xml"><xi:fallback /></xi:include>
-  </index>
-  <index id="api-index-3-2" role="3.2">
-    <title>Index of new symbols in 3.2</title>
-    <xi:include href="xml/api-index-3.2.xml"><xi:fallback /></xi:include>
-  </index>
-  <index id="api-index-3-4" role="3.4">
-    <title>Index of new symbols in 3.4</title>
-    <xi:include href="xml/api-index-3.4.xml"><xi:fallback /></xi:include>
-  </index>
-  <index id="api-index-3-6" role="3.6">
-    <title>Index of new symbols in 3.6</title>
-    <xi:include href="xml/api-index-3.6.xml"><xi:fallback /></xi:include>
-  </index>
-  <index id="api-index-3-8" role="3.8">
-    <title>Index of new symbols in 3.8</title>
-    <xi:include href="xml/api-index-3.8.xml"><xi:fallback /></xi:include>
-  </index>
-  <index id="api-index-3-10" role="3.10">
-    <title>Index of new symbols in 3.10</title>
-    <xi:include href="xml/api-index-3.10.xml"><xi:fallback /></xi:include>
-  </index>
-  <index id="api-index-3-12" role="3.12">
-    <title>Index of new symbols in 3.12</title>
-    <xi:include href="xml/api-index-3.12.xml"><xi:fallback /></xi:include>
-  </index>
-  <index id="api-index-3-14" role="3.14">
-    <title>Index of new symbols in 3.14</title>
-    <xi:include href="xml/api-index-3.14.xml"><xi:fallback /></xi:include>
-  </index>
-  <index id="api-index-3-16" role="3.16">
-    <title>Index of new symbols in 3.16</title>
-    <xi:include href="xml/api-index-3.16.xml"><xi:fallback /></xi:include>
-  </index>
-  <index id="api-index-3-18" role="3.18">
-    <title>Index of new symbols in 3.18</title>
-    <xi:include href="xml/api-index-3.18.xml"><xi:fallback /></xi:include>
-  </index>
-  <index id="api-index-3-20" role="3.20">
-    <title>Index of new symbols in 3.20</title>
-    <xi:include href="xml/api-index-3.20.xml"><xi:fallback /></xi:include>
-  </index>
-  <index id="api-index-3-22" role="3.22">
-    <title>Index of new symbols in 3.22</title>
-    <xi:include href="xml/api-index-3.22.xml"><xi:fallback /></xi:include>
-  </index>
-  <index id="api-index-3-90" role="3.90">
-    <title>Index of new symbols in 3.90</title>
-    <xi:include href="xml/api-index-3.90.xml"><xi:fallback /></xi:include>
-  </index>
 
   <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
 
diff --git a/gdk/broadway/gdkbroadwaydisplay.h b/gdk/broadway/gdkbroadwaydisplay.h
index 6648a55..4f4931a 100644
--- a/gdk/broadway/gdkbroadwaydisplay.h
+++ b/gdk/broadway/gdkbroadwaydisplay.h
@@ -43,9 +43,9 @@ typedef struct _GdkBroadwayDisplayClass GdkBroadwayDisplayClass;
 GDK_AVAILABLE_IN_ALL
 GType                   gdk_broadway_display_get_type            (void);
 
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 void                    gdk_broadway_display_show_keyboard       (GdkBroadwayDisplay *display);
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 void                    gdk_broadway_display_hide_keyboard       (GdkBroadwayDisplay *display);
 
 G_END_DECLS
diff --git a/gdk/broadway/gdkbroadwaymonitor.h b/gdk/broadway/gdkbroadwaymonitor.h
index d7dfa0d..4fe9e6a 100644
--- a/gdk/broadway/gdkbroadwaymonitor.h
+++ b/gdk/broadway/gdkbroadwaymonitor.h
@@ -37,7 +37,7 @@ G_BEGIN_DECLS
 typedef struct _GdkBroadwayMonitor      GdkBroadwayMonitor;
 typedef struct _GdkBroadwayMonitorClass GdkBroadwayMonitorClass;
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 GType             gdk_broadway_monitor_get_type            (void) G_GNUC_CONST;
 
 G_END_DECLS
diff --git a/gdk/gdkapplaunchcontext.c b/gdk/gdkapplaunchcontext.c
index 68acd7f..c82bcf0 100644
--- a/gdk/gdkapplaunchcontext.c
+++ b/gdk/gdkapplaunchcontext.c
@@ -186,8 +186,6 @@ gdk_app_launch_context_get_display (GAppLaunchContext *context,
  * When the workspace is not specified or @desktop is set to -1,
  * it is up to the window manager to pick one, typically it will
  * be the current workspace.
- *
- * Since: 2.14
  */
 void
 gdk_app_launch_context_set_desktop (GdkAppLaunchContext *context,
@@ -210,8 +208,6 @@ gdk_app_launch_context_set_desktop (GdkAppLaunchContext *context,
  * focus to the newly launched application when the user is busy
  * typing in another window. This is also known as 'focus stealing
  * prevention'.
- *
- * Since: 2.14
  */
 void
 gdk_app_launch_context_set_timestamp (GdkAppLaunchContext *context,
@@ -234,8 +230,6 @@ gdk_app_launch_context_set_timestamp (GdkAppLaunchContext *context,
  * notification.
  *
  * See also gdk_app_launch_context_set_icon_name().
- *
- * Since: 2.14
  */
 void
 gdk_app_launch_context_set_icon (GdkAppLaunchContext *context,
@@ -267,8 +261,6 @@ gdk_app_launch_context_set_icon (GdkAppLaunchContext *context,
  * If neither @icon or @icon_name is set, the icon is taken from either
  * the file that is passed to launched application or from the #GAppInfo
  * for the launched application itself.
- *
- * Since: 2.14
  */
 void
 gdk_app_launch_context_set_icon_name (GdkAppLaunchContext *context,
diff --git a/gdk/gdkcairo.c b/gdk/gdkcairo.c
index 83cdac3..a53b01b 100644
--- a/gdk/gdkcairo.c
+++ b/gdk/gdkcairo.c
@@ -84,8 +84,6 @@ gdk_cairo_get_clip_rectangle (cairo_t      *cr,
  * @rgba: a #GdkRGBA
  *
  * Sets the specified #GdkRGBA as the source color of @cr.
- *
- * Since: 3.0
  */
 void
 gdk_cairo_set_source_rgba (cairo_t       *cr,
@@ -107,8 +105,6 @@ gdk_cairo_set_source_rgba (cairo_t       *cr,
  * @rectangle: a #GdkRectangle
  *
  * Adds the given rectangle to the current path of @cr.
- *
- * Since: 2.8
  */
 void
 gdk_cairo_rectangle (cairo_t            *cr,
@@ -128,8 +124,6 @@ gdk_cairo_rectangle (cairo_t            *cr,
  * @region: a #cairo_region_t
  *
  * Adds the given region to the current path of @cr.
- *
- * Since: 2.8
  */
 void
 gdk_cairo_region (cairo_t              *cr,
@@ -253,8 +247,6 @@ gdk_cairo_surface_paint_pixbuf (cairo_surface_t *surface,
  * the pixbuf.
  *
  * Returns: a new cairo surface, must be freed with cairo_surface_destroy()
- *
- * Since: 3.10
  */
 cairo_surface_t *
 gdk_cairo_surface_create_from_pixbuf (const GdkPixbuf *pixbuf,
@@ -296,8 +288,6 @@ gdk_cairo_surface_create_from_pixbuf (const GdkPixbuf *pixbuf,
  *
  * The pattern has an extend mode of %CAIRO_EXTEND_NONE and is aligned
  * so that the origin of @pixbuf is @pixbuf_x, @pixbuf_y.
- *
- * Since: 2.8
  */
 void
 gdk_cairo_set_source_pixbuf (cairo_t         *cr,
diff --git a/gdk/gdkcairo.h b/gdk/gdkcairo.h
index 5283842..9417b0f 100644
--- a/gdk/gdkcairo.h
+++ b/gdk/gdkcairo.h
@@ -55,11 +55,11 @@ cairo_region_t *
            gdk_cairo_region_create_from_surface
                                         (cairo_surface_t      *surface);
 
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 cairo_surface_t * gdk_cairo_surface_create_from_pixbuf      (const GdkPixbuf *pixbuf,
                                                              int scale,
                                                              GdkWindow *for_window);
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 void       gdk_cairo_draw_from_gl (cairo_t              *cr,
                                    GdkWindow            *window,
                                    int                   source,
@@ -70,10 +70,10 @@ void       gdk_cairo_draw_from_gl (cairo_t              *cr,
                                    int                   width,
                                    int                   height);
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 GdkDrawingContext *     gdk_cairo_get_drawing_context   (cairo_t *cr);
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 void      gdk_cairo_surface_upload_to_gl (cairo_surface_t *surface,
                                           int              target,
                                           int              width,
diff --git a/gdk/gdkclipboard.c b/gdk/gdkclipboard.c
index df82147..8776b9a 100644
--- a/gdk/gdkclipboard.c
+++ b/gdk/gdkclipboard.c
@@ -363,8 +363,6 @@ gdk_clipboard_class_init (GdkClipboardClass *class)
    * GdkClipboard:display:
    *
    * The #GdkDisplay that the clipboard belongs to.
-   *
-   * Since: 3.94
    */
   properties[PROP_DISPLAY] =
     g_param_spec_object ("display",
@@ -380,8 +378,6 @@ gdk_clipboard_class_init (GdkClipboardClass *class)
    * GdkClipboard:formats:
    *
    * The possible formats that the clipboard can provide its data in.
-   *
-   * Since: 3.94
    */
   properties[PROP_FORMATS] =
     g_param_spec_boxed ("formats",
@@ -396,8 +392,6 @@ gdk_clipboard_class_init (GdkClipboardClass *class)
    * GdkClipboard:local:
    *
    * %TRUE if the contents of the clipboard are owned by this process.
-   *
-   * Since: 3.94
    */
   properties[PROP_LOCAL] =
     g_param_spec_boolean ("local",
@@ -413,8 +407,6 @@ gdk_clipboard_class_init (GdkClipboardClass *class)
    *
    * The #GdkContentProvider or %NULL if the clipboard is empty or contents are
    * provided otherwise.
-   *
-   * Since: 3.94
    */
   properties[PROP_CONTENT] =
     g_param_spec_object ("content",
diff --git a/gdk/gdkclipboard.h b/gdk/gdkclipboard.h
index 2733f65..3b470d1 100644
--- a/gdk/gdkclipboard.h
+++ b/gdk/gdkclipboard.h
@@ -34,89 +34,89 @@ G_BEGIN_DECLS
 #define GDK_CLIPBOARD(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), GDK_TYPE_CLIPBOARD, GdkClipboard))
 #define GDK_IS_CLIPBOARD(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GDK_TYPE_CLIPBOARD))
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GType                   gdk_clipboard_get_type          (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GdkDisplay *            gdk_clipboard_get_display       (GdkClipboard          *clipboard);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GdkContentFormats *     gdk_clipboard_get_formats       (GdkClipboard          *clipboard);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 gboolean                gdk_clipboard_is_local          (GdkClipboard          *clipboard);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GdkContentProvider *    gdk_clipboard_get_content       (GdkClipboard          *clipboard);
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void                    gdk_clipboard_store_async       (GdkClipboard          *clipboard,
                                                          int                    io_priority,
                                                          GCancellable          *cancellable,
                                                          GAsyncReadyCallback    callback,
                                                          gpointer               user_data);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 gboolean                gdk_clipboard_store_finish      (GdkClipboard          *clipboard,
                                                          GAsyncResult          *result,
                                                          GError               **error);
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void                    gdk_clipboard_read_async        (GdkClipboard          *clipboard,
                                                          const char           **mime_types,
                                                          int                    io_priority,
                                                          GCancellable          *cancellable,
                                                          GAsyncReadyCallback    callback,
                                                          gpointer               user_data);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GInputStream *          gdk_clipboard_read_finish       (GdkClipboard          *clipboard,
                                                          const char           **out_mime_type,
                                                          GAsyncResult          *result,
                                                          GError               **error);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void                    gdk_clipboard_read_value_async  (GdkClipboard          *clipboard,
                                                          GType                  type,
                                                          int                    io_priority,
                                                          GCancellable          *cancellable,
                                                          GAsyncReadyCallback    callback,
                                                          gpointer               user_data);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 const GValue *          gdk_clipboard_read_value_finish (GdkClipboard          *clipboard,
                                                          GAsyncResult          *result,
                                                          GError               **error);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void                    gdk_clipboard_read_texture_async(GdkClipboard          *clipboard,
                                                          GCancellable          *cancellable,
                                                          GAsyncReadyCallback    callback,
                                                          gpointer               user_data);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GdkTexture *            gdk_clipboard_read_texture_finish (GdkClipboard        *clipboard,
                                                          GAsyncResult          *result,
                                                          GError               **error);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void                    gdk_clipboard_read_text_async   (GdkClipboard          *clipboard,
                                                          GCancellable          *cancellable,
                                                          GAsyncReadyCallback    callback,
                                                          gpointer               user_data);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 char *                  gdk_clipboard_read_text_finish  (GdkClipboard          *clipboard,
                                                          GAsyncResult          *result,
                                                          GError               **error);
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 gboolean                gdk_clipboard_set_content       (GdkClipboard          *clipboard,
                                                          GdkContentProvider    *provider);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void                    gdk_clipboard_set               (GdkClipboard          *clipboard,
                                                          GType                  type,
                                                          ...);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void                    gdk_clipboard_set_valist        (GdkClipboard          *clipboard,
                                                          GType                  type,
                                                          va_list                args);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void                    gdk_clipboard_set_value         (GdkClipboard          *clipboard,
                                                          const GValue          *value);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void                    gdk_clipboard_set_text          (GdkClipboard          *clipboard,
                                                          const char            *text);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void                    gdk_clipboard_set_texture       (GdkClipboard          *clipboard,
                                                          GdkTexture            *texture);
 
diff --git a/gdk/gdkcontentdeserializer.h b/gdk/gdkcontentdeserializer.h
index d0fc4cc..f98ec61 100644
--- a/gdk/gdkcontentdeserializer.h
+++ b/gdk/gdkcontentdeserializer.h
@@ -50,48 +50,48 @@ typedef struct _GdkContentDeserializer GdkContentDeserializer;
  */
 typedef void (* GdkContentDeserializeFunc) (GdkContentDeserializer *deserializer);
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GType                   gdk_content_deserializer_get_type               (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 const char *            gdk_content_deserializer_get_mime_type          (GdkContentDeserializer 
*deserializer);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GType                   gdk_content_deserializer_get_gtype              (GdkContentDeserializer 
*deserializer);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GValue *                gdk_content_deserializer_get_value              (GdkContentDeserializer 
*deserializer);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GInputStream *          gdk_content_deserializer_get_input_stream       (GdkContentDeserializer 
*deserializer);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 int                     gdk_content_deserializer_get_priority           (GdkContentDeserializer 
*deserializer);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GCancellable *          gdk_content_deserializer_get_cancellable        (GdkContentDeserializer 
*deserializer);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 gpointer                gdk_content_deserializer_get_user_data          (GdkContentDeserializer 
*deserializer);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void                    gdk_content_deserializer_set_task_data          (GdkContentDeserializer 
*deserializer,
                                                                          gpointer                data,
                                                                          GDestroyNotify          notify);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 gpointer                gdk_content_deserializer_get_task_data          (GdkContentDeserializer 
*deserializer);
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void                    gdk_content_deserializer_return_success         (GdkContentDeserializer 
*deserializer);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void                    gdk_content_deserializer_return_error           (GdkContentDeserializer 
*deserializer,
                                                                          GError                 *error);
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GdkContentFormats *     gdk_content_formats_union_deserialize_gtypes    (GdkContentFormats      *formats);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GdkContentFormats *     gdk_content_formats_union_deserialize_mime_types(GdkContentFormats      *formats);
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void                    gdk_content_register_deserializer               (const char             *mime_type,
                                                                          GType                   type,
                                                                          GdkContentDeserializeFunc 
deserialize,
                                                                          gpointer                data,
                                                                          GDestroyNotify          notify);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void                    gdk_content_deserialize_async                   (GInputStream           *stream,
                                                                          const char             *mime_type,
                                                                          GType                   type,
@@ -99,7 +99,7 @@ void                    gdk_content_deserialize_async                   (GInputS
                                                                          GCancellable           *cancellable,
                                                                          GAsyncReadyCallback     callback,
                                                                          gpointer                user_data);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 gboolean                gdk_content_deserialize_finish                  (GAsyncResult           *result,
                                                                          GValue                 *value,
                                                                          GError                **error);
diff --git a/gdk/gdkcontentformats.h b/gdk/gdkcontentformats.h
index a383434..a530325 100644
--- a/gdk/gdkcontentformats.h
+++ b/gdk/gdkcontentformats.h
@@ -30,50 +30,50 @@ G_BEGIN_DECLS
 
 #define GDK_TYPE_CONTENT_FORMATS    (gdk_content_formats_get_type ())
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 const char *            gdk_intern_mime_type                    (const char                     *string);
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GType                   gdk_content_formats_get_type            (void) G_GNUC_CONST;
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GdkContentFormats *     gdk_content_formats_new                 (const char                    **mime_types,
                                                                  guint                           
n_mime_types);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GdkContentFormats *     gdk_content_formats_new_for_gtype       (GType                           type);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GdkContentFormats *     gdk_content_formats_ref                 (GdkContentFormats              *formats);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void                    gdk_content_formats_unref               (GdkContentFormats              *formats);
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void                    gdk_content_formats_print               (GdkContentFormats              *formats,
                                                                  GString                        *string);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 char *                  gdk_content_formats_to_string           (GdkContentFormats              *formats);
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 const GType *           gdk_content_formats_get_gtypes          (GdkContentFormats              *formats,
                                                                  gsize                          *n_gtypes);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 const char * const *    gdk_content_formats_get_mime_types      (GdkContentFormats              *formats,
                                                                  gsize                          
*n_mime_types);
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GdkContentFormats *     gdk_content_formats_union               (GdkContentFormats              *first,
                                                                  const GdkContentFormats        *second) 
G_GNUC_WARN_UNUSED_RESULT;
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 gboolean                gdk_content_formats_match               (const GdkContentFormats        *first,
                                                                  const GdkContentFormats        *second);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GType                   gdk_content_formats_match_gtype         (const GdkContentFormats        *first,
                                                                  const GdkContentFormats        *second);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 const char *            gdk_content_formats_match_mime_type     (const GdkContentFormats        *first,
                                                                  const GdkContentFormats        *second);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 gboolean                gdk_content_formats_contain_gtype       (const GdkContentFormats        *formats,
                                                                  GType                           type);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 gboolean                gdk_content_formats_contain_mime_type   (const GdkContentFormats        *formats,
                                                                  const char                     *mime_type);
 
@@ -81,32 +81,32 @@ gboolean                gdk_content_formats_contain_mime_type   (const GdkConten
 
 typedef struct _GdkContentFormatsBuilder GdkContentFormatsBuilder;
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GType                   gdk_content_formats_builder_get_type    (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GdkContentFormatsBuilder *gdk_content_formats_builder_new        (void);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GdkContentFormatsBuilder *gdk_content_formats_builder_ref       (GdkContentFormatsBuilder       *builder);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void                    gdk_content_formats_builder_unref       (GdkContentFormatsBuilder       *builder);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GdkContentFormats *     gdk_content_formats_builder_free_to_formats (GdkContentFormatsBuilder  *builder) 
G_GNUC_WARN_UNUSED_RESULT;
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GdkContentFormats *     gdk_content_formats_builder_to_formats  (GdkContentFormatsBuilder  *builder) 
G_GNUC_WARN_UNUSED_RESULT;
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void                    gdk_content_formats_builder_add_formats (GdkContentFormatsBuilder       *builder,
                                                                  const GdkContentFormats        *formats);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void                    gdk_content_formats_builder_add_mime_type(GdkContentFormatsBuilder      *builder,
                                                                  const char                     *mime_type);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void                    gdk_content_formats_builder_add_gtype   (GdkContentFormatsBuilder       *builder,
                                                                  GType                           type);
 
 /* dunno where else to put this */
 #define GDK_TYPE_FILE_LIST (gdk_file_list_get_type ())
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GType     gdk_file_list_get_type  (void) G_GNUC_CONST;
 
 
diff --git a/gdk/gdkcontentprovider.c b/gdk/gdkcontentprovider.c
index ee47488..0e6618b 100644
--- a/gdk/gdkcontentprovider.c
+++ b/gdk/gdkcontentprovider.c
@@ -174,8 +174,6 @@ gdk_content_provider_class_init (GdkContentProviderClass *class)
    * GdkContentProvider:formats:
    *
    * The possible formats that the provider can provide its data in.
-   *
-   * Since: 3.94
    */
   properties[PROP_FORMATS] =
     g_param_spec_boxed ("formats",
@@ -190,8 +188,6 @@ gdk_content_provider_class_init (GdkContentProviderClass *class)
    * GdkContentProvider:storable-formats:
    *
    * The subset of formats that clipboard managers should store this provider's data in.
-   *
-   * Since: 3.94
    */
   properties[PROP_STORABLE_FORMATS] =
     g_param_spec_boxed ("storable-formats",
@@ -206,8 +202,6 @@ gdk_content_provider_class_init (GdkContentProviderClass *class)
    * GdkContentProvider:content-changed:
    *
    * Emitted whenever the content provided by this provider has changed.
-   *
-   * Since: 3.94
    */
   signals[CONTENT_CHANGED] =
     g_signal_new ("content-changed",
diff --git a/gdk/gdkcontentprovider.h b/gdk/gdkcontentprovider.h
index 7af585f..d4b4ab5 100644
--- a/gdk/gdkcontentprovider.h
+++ b/gdk/gdkcontentprovider.h
@@ -91,18 +91,18 @@ struct _GdkContentProviderClass
 };
 
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GType                   gdk_content_provider_get_type                   (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GdkContentFormats *     gdk_content_provider_ref_formats                (GdkContentProvider     *provider);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GdkContentFormats *     gdk_content_provider_ref_storable_formats       (GdkContentProvider     *provider);
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void                    gdk_content_provider_content_changed            (GdkContentProvider     *provider);
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void                    gdk_content_provider_write_mime_type_async      (GdkContentProvider     *provider,
                                                                          const char             *mime_type,
                                                                          GOutputStream          *stream,
@@ -110,11 +110,11 @@ void                    gdk_content_provider_write_mime_type_async      (GdkCont
                                                                          GCancellable           *cancellable,
                                                                          GAsyncReadyCallback     callback,
                                                                          gpointer                user_data);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 gboolean                gdk_content_provider_write_mime_type_finish     (GdkContentProvider     *provider,
                                                                          GAsyncResult           *result,
                                                                          GError                **error);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 gboolean                gdk_content_provider_get_value                  (GdkContentProvider     *provider,
                                                                          GValue                 *value,
                                                                          GError                **error);
diff --git a/gdk/gdkcontentproviderimpl.h b/gdk/gdkcontentproviderimpl.h
index aae5c65..8bf0587 100644
--- a/gdk/gdkcontentproviderimpl.h
+++ b/gdk/gdkcontentproviderimpl.h
@@ -29,9 +29,9 @@
 G_BEGIN_DECLS
 
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GdkContentProvider *    gdk_content_provider_new_for_value              (const GValue           *value);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GdkContentProvider *    gdk_content_provider_new_for_bytes              (const char             *mime_type,
                                                                          GBytes                 *bytes);
 
diff --git a/gdk/gdkcontentserializer.h b/gdk/gdkcontentserializer.h
index b2c34d4..15cb467 100644
--- a/gdk/gdkcontentserializer.h
+++ b/gdk/gdkcontentserializer.h
@@ -50,48 +50,48 @@ typedef struct _GdkContentSerializer GdkContentSerializer;
  */
 typedef void (* GdkContentSerializeFunc) (GdkContentSerializer *serializer);
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GType                   gdk_content_serializer_get_type                 (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 const char *            gdk_content_serializer_get_mime_type            (GdkContentSerializer   *serializer);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GType                   gdk_content_serializer_get_gtype                (GdkContentSerializer   *serializer);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 const GValue *          gdk_content_serializer_get_value                (GdkContentSerializer   *serializer);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GOutputStream *         gdk_content_serializer_get_output_stream        (GdkContentSerializer   *serializer);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 int                     gdk_content_serializer_get_priority             (GdkContentSerializer   *serializer);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GCancellable *          gdk_content_serializer_get_cancellable          (GdkContentSerializer   *serializer);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 gpointer                gdk_content_serializer_get_user_data            (GdkContentSerializer   *serializer);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void                    gdk_content_serializer_set_task_data            (GdkContentSerializer   *serializer,
                                                                          gpointer                data,
                                                                          GDestroyNotify          notify);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 gpointer                gdk_content_serializer_get_task_data            (GdkContentSerializer   *serializer);
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void                    gdk_content_serializer_return_success           (GdkContentSerializer   *serializer);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void                    gdk_content_serializer_return_error             (GdkContentSerializer   *serializer,
                                                                          GError                 *error);
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GdkContentFormats *     gdk_content_formats_union_serialize_gtypes      (GdkContentFormats      *formats);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GdkContentFormats *     gdk_content_formats_union_serialize_mime_types  (GdkContentFormats      *formats);
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void                    gdk_content_register_serializer                 (GType                   type,
                                                                          const char             *mime_type,
                                                                          GdkContentSerializeFunc serialize,
                                                                          gpointer                data,
                                                                          GDestroyNotify          notify);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void                    gdk_content_serialize_async                     (GOutputStream          *stream,
                                                                          const char             *mime_type,
                                                                          const GValue           *value,
@@ -99,7 +99,7 @@ void                    gdk_content_serialize_async                     (GOutput
                                                                          GCancellable           *cancellable,
                                                                          GAsyncReadyCallback     callback,
                                                                          gpointer                user_data);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 gboolean                gdk_content_serialize_finish                    (GAsyncResult           *result,
                                                                          GError                **error);
 
diff --git a/gdk/gdkcursor.c b/gdk/gdkcursor.c
index 57a80fc..bf7a9b9 100644
--- a/gdk/gdkcursor.c
+++ b/gdk/gdkcursor.c
@@ -322,8 +322,6 @@ gdk_cursor_equal (gconstpointer a,
  *
  * Returns: (nullable): a new #GdkCursor, or %NULL if there is no
  *   cursor with the given name
- *
- * Since: 2.8
  */
 GdkCursor*
 gdk_cursor_new_from_name (const gchar *name,
@@ -361,8 +359,6 @@ gdk_cursor_new_from_name (const gchar *name,
  * sufficently new version of the X Render extension.
  *
  * Returns: a new #GdkCursor.
- *
- * Since: 3.94
  */
 GdkCursor *
 gdk_cursor_new_from_texture (GdkTexture *texture,
@@ -397,8 +393,6 @@ gdk_cursor_new_from_texture (GdkTexture *texture,
  *
  * Returns: (transfer none): the fallback of the cursor or %NULL to use
  *     the default cursor as fallback.
- *
- * Since: 3.94
  */
 GdkCursor *
 gdk_cursor_get_fallback (GdkCursor *cursor)
@@ -417,8 +411,6 @@ gdk_cursor_get_fallback (GdkCursor *cursor)
  *
  * Returns: (transfer none): the name of the cursor or %NULL if it is not
  *     a named cursor
- *
- * Since: 3.94
  */
 const char *
 gdk_cursor_get_name (GdkCursor *cursor)
@@ -437,8 +429,6 @@ gdk_cursor_get_name (GdkCursor *cursor)
  *
  * Returns: (transfer none): the texture for cursor or %NULL if it is a
  *     named cursor
- *
- * Since: 3.94
  */
 GdkTexture *
 gdk_cursor_get_texture (GdkCursor *cursor)
@@ -456,8 +446,6 @@ gdk_cursor_get_texture (GdkCursor *cursor)
  * pixel that will be directly above the cursor.
  *
  * Returns: the horizontal offset of the hotspot or 0 for named cursors
- *
- * Since: 3.94
  */
 int
 gdk_cursor_get_hotspot_x (GdkCursor *cursor)
@@ -475,8 +463,6 @@ gdk_cursor_get_hotspot_x (GdkCursor *cursor)
  * pixel that will be directly above the cursor.
  *
  * Returns: the vertical offset of the hotspot or 0 for named cursors
- *
- * Since: 3.94
  */
 int
 gdk_cursor_get_hotspot_y (GdkCursor *cursor)
diff --git a/gdk/gdkcursor.h b/gdk/gdkcursor.h
index 6f8c759..c1ef584 100644
--- a/gdk/gdkcursor.h
+++ b/gdk/gdkcursor.h
@@ -44,7 +44,7 @@ G_BEGIN_DECLS
 GDK_AVAILABLE_IN_ALL
 GType      gdk_cursor_get_type           (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GdkCursor* gdk_cursor_new_from_texture   (GdkTexture      *texture,
                                          int              hotspot_x,
                                          int              hotspot_y,
@@ -53,15 +53,15 @@ GDK_AVAILABLE_IN_ALL
 GdkCursor*  gdk_cursor_new_from_name    (const gchar     *name,
                                           GdkCursor       *fallback);
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GdkCursor * gdk_cursor_get_fallback      (GdkCursor      *cursor);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 const char *gdk_cursor_get_name          (GdkCursor       *cursor);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GdkTexture *gdk_cursor_get_texture       (GdkCursor       *cursor);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 int         gdk_cursor_get_hotspot_x     (GdkCursor       *cursor);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 int         gdk_cursor_get_hotspot_y     (GdkCursor       *cursor);
 
 
diff --git a/gdk/gdkdevice.c b/gdk/gdkdevice.c
index fb5cf9a..30b7a5e 100644
--- a/gdk/gdkdevice.c
+++ b/gdk/gdkdevice.c
@@ -121,8 +121,6 @@ gdk_device_class_init (GdkDeviceClass *klass)
    * GdkDevice:display:
    *
    * The #GdkDisplay the #GdkDevice pertains to.
-   *
-   * Since: 3.0
    */
   device_props[PROP_DISPLAY] =
       g_param_spec_object ("display",
@@ -135,8 +133,6 @@ gdk_device_class_init (GdkDeviceClass *klass)
    * GdkDevice:name:
    *
    * The device name.
-   *
-   * Since: 3.0
    */
   device_props[PROP_NAME] =
       g_param_spec_string ("name",
@@ -149,8 +145,6 @@ gdk_device_class_init (GdkDeviceClass *klass)
    * GdkDevice:type:
    *
    * Device role in the device manager.
-   *
-   * Since: 3.0
    */
   device_props[PROP_TYPE] =
       g_param_spec_enum ("type",
@@ -166,8 +160,6 @@ gdk_device_class_init (GdkDeviceClass *klass)
    *
    * Associated pointer or keyboard with this device, if any. Devices of type #GDK_DEVICE_TYPE_MASTER
    * always come in keyboard/pointer pairs. Other device types will have a %NULL associated device.
-   *
-   * Since: 3.0
    */
   device_props[PROP_ASSOCIATED_DEVICE] =
       g_param_spec_object ("associated-device",
@@ -180,8 +172,6 @@ gdk_device_class_init (GdkDeviceClass *klass)
    * GdkDevice:input-source:
    *
    * Source type for the device.
-   *
-   * Since: 3.0
    */
   device_props[PROP_INPUT_SOURCE] =
       g_param_spec_enum ("input-source",
@@ -196,8 +186,6 @@ gdk_device_class_init (GdkDeviceClass *klass)
    * GdkDevice:input-mode:
    *
    * Input mode for the device.
-   *
-   * Since: 3.0
    */
   device_props[PROP_INPUT_MODE] =
       g_param_spec_enum ("input-mode",
@@ -212,8 +200,6 @@ gdk_device_class_init (GdkDeviceClass *klass)
    *
    * Whether the device is represented by a cursor on the screen. Devices of type
    * %GDK_DEVICE_TYPE_MASTER will have %TRUE here.
-   *
-   * Since: 3.0
    */
   device_props[PROP_HAS_CURSOR] =
       g_param_spec_boolean ("has-cursor",
@@ -227,8 +213,6 @@ gdk_device_class_init (GdkDeviceClass *klass)
    * GdkDevice:n-axes:
    *
    * Number of axes in the device.
-   *
-   * Since: 3.0
    */
   device_props[PROP_N_AXES] =
       g_param_spec_uint ("n-axes",
@@ -242,8 +226,6 @@ gdk_device_class_init (GdkDeviceClass *klass)
    * GdkDevice:vendor-id:
    *
    * Vendor ID of this device, see gdk_device_get_vendor_id().
-   *
-   * Since: 3.16
    */
   device_props[PROP_VENDOR_ID] =
       g_param_spec_string ("vendor-id",
@@ -257,8 +239,6 @@ gdk_device_class_init (GdkDeviceClass *klass)
    * GdkDevice:product-id:
    *
    * Product ID of this device, see gdk_device_get_product_id().
-   *
-   * Since: 3.16
    */
   device_props[PROP_PRODUCT_ID] =
       g_param_spec_string ("product-id",
@@ -272,8 +252,6 @@ gdk_device_class_init (GdkDeviceClass *klass)
    * GdkDevice:seat:
    *
    * #GdkSeat of this device.
-   *
-   * Since: 3.20
    */
   device_props[PROP_SEAT] =
       g_param_spec_object ("seat",
@@ -289,8 +267,6 @@ gdk_device_class_init (GdkDeviceClass *klass)
    * The maximal number of concurrent touches on a touch device.
    * Will be 0 if the device is not a touch device or if the number
    * of touches is unknown.
-   *
-   * Since: 3.20
    */
   device_props[PROP_NUM_TOUCHES] =
       g_param_spec_uint ("num-touches",
@@ -304,8 +280,6 @@ gdk_device_class_init (GdkDeviceClass *klass)
    * GdkDevice:axes:
    *
    * The axes currently available for this device.
-   *
-   * Since: 3.22
    */
   device_props[PROP_AXES] =
     g_param_spec_flags ("axes",
@@ -350,8 +324,6 @@ gdk_device_class_init (GdkDeviceClass *klass)
    *
    * The ::tool-changed signal is emitted on pen/eraser
    * #GdkDevices whenever tools enter or leave proximity.
-   *
-   * Since: 3.22
    */
   signals[TOOL_CHANGED] =
     g_signal_new (g_intern_static_string ("tool-changed"),
@@ -566,8 +538,6 @@ gdk_device_get_state (GdkDevice       *device,
  * coordinates are those of its master pointer, this function
  * may not be called on devices of type %GDK_DEVICE_TYPE_SLAVE,
  * unless there is an ongoing grab on them. See gdk_device_grab().
- *
- * Since: 3.10
  **/
 void
 gdk_device_get_position_double (GdkDevice        *device,
@@ -607,8 +577,6 @@ gdk_device_get_position_double (GdkDevice        *device,
  * coordinates are those of its master pointer, This function
  * may not be called on devices of type %GDK_DEVICE_TYPE_SLAVE,
  * unless there is an ongoing grab on them, see gdk_device_grab().
- *
- * Since: 3.0
  **/
 void
 gdk_device_get_position (GdkDevice *device,
@@ -643,8 +611,6 @@ gdk_device_get_position (GdkDevice *device,
  *
  * Returns: (nullable) (transfer none): the #GdkWindow under the
  *   device position, or %NULL.
- *
- * Since: 3.0
  **/
 GdkWindow *
 gdk_device_get_window_at_position_double (GdkDevice  *device,
@@ -693,8 +659,6 @@ gdk_device_get_window_at_position_double (GdkDevice  *device,
  *
  * Returns: (nullable) (transfer none): the #GdkWindow under the
  * device position, or %NULL.
- *
- * Since: 3.0
  **/
 GdkWindow *
 gdk_device_get_window_at_position (GdkDevice  *device,
@@ -809,8 +773,6 @@ gdk_device_free_history (GdkTimeCoord **events,
  * Determines the name of the device.
  *
  * Returns: a name
- *
- * Since: 2.20
  **/
 const gchar *
 gdk_device_get_name (GdkDevice *device)
@@ -828,8 +790,6 @@ gdk_device_get_name (GdkDevice *device)
  * This is not meaningful for keyboard devices, which don't have a pointer.
  *
  * Returns: %TRUE if the pointer follows device motion
- *
- * Since: 2.20
  **/
 gboolean
 gdk_device_get_has_cursor (GdkDevice *device)
@@ -846,8 +806,6 @@ gdk_device_get_has_cursor (GdkDevice *device)
  * Determines the type of the device.
  *
  * Returns: a #GdkInputSource
- *
- * Since: 2.20
  **/
 GdkInputSource
 gdk_device_get_source (GdkDevice *device)
@@ -864,8 +822,6 @@ gdk_device_get_source (GdkDevice *device)
  * Determines the mode of the device.
  *
  * Returns: a #GdkInputSource
- *
- * Since: 2.20
  **/
 GdkInputMode
 gdk_device_get_mode (GdkDevice *device)
@@ -916,8 +872,6 @@ gdk_device_set_mode (GdkDevice    *device,
  * Returns the number of keys the device currently has.
  *
  * Returns: the number of keys.
- *
- * Since: 2.24
  **/
 gint
 gdk_device_get_n_keys (GdkDevice *device)
@@ -938,8 +892,6 @@ gdk_device_get_n_keys (GdkDevice *device)
  * and fill in @keyval and @modifiers with the keyval settings.
  *
  * Returns: %TRUE if keyval is set for @index.
- *
- * Since: 2.20
  **/
 gboolean
 gdk_device_get_key (GdkDevice       *device,
@@ -994,8 +946,6 @@ gdk_device_set_key (GdkDevice      *device,
  * Returns the axis use for @index_.
  *
  * Returns: a #GdkAxisUse specifying how the axis is used.
- *
- * Since: 2.20
  **/
 GdkAxisUse
 gdk_device_get_axis_use (GdkDevice *device,
@@ -1061,8 +1011,6 @@ gdk_device_set_axis_use (GdkDevice   *device,
  *
  * Returns: (transfer none): a #GdkDisplay. This memory is owned
  *          by GTK+, and must not be freed or unreffed.
- *
- * Since: 3.0
  **/
 GdkDisplay *
 gdk_device_get_display (GdkDevice *device)
@@ -1088,8 +1036,6 @@ gdk_device_get_display (GdkDevice *device)
  *
  * Returns: (nullable) (transfer none): The associated device, or
  *   %NULL
- *
- * Since: 3.0
  **/
 GdkDevice *
 gdk_device_get_associated_device (GdkDevice *device)
@@ -1196,8 +1142,6 @@ _gdk_device_remove_slave (GdkDevice *device,
  * Returns the device type for @device.
  *
  * Returns: the #GdkDeviceType for @device.
- *
- * Since: 3.0
  **/
 GdkDeviceType
 gdk_device_get_device_type (GdkDevice *device)
@@ -1214,8 +1158,6 @@ gdk_device_get_device_type (GdkDevice *device)
  * Returns the number of axes the device currently has.
  *
  * Returns: the number of axes.
- *
- * Since: 3.0
  **/
 gint
 gdk_device_get_n_axes (GdkDevice *device)
@@ -1235,8 +1177,6 @@ gdk_device_get_n_axes (GdkDevice *device)
  *
  * Returns: (transfer container) (element-type GdkAtom):
  *     A #GList of strings, free with g_list_free().
- *
- * Since: 3.0
  **/
 GList *
 gdk_device_list_axes (GdkDevice *device)
@@ -1270,8 +1210,6 @@ gdk_device_list_axes (GdkDevice *device)
  * by gdk_device_list_axes()
  *
  * Returns: %TRUE if the given axis use was found, otherwise %FALSE.
- *
- * Since: 3.0
  **/
 gboolean
 gdk_device_get_axis_value (GdkDevice  *device,
@@ -1415,9 +1353,7 @@ get_native_grab_event_mask (GdkEventMask grab_mask)
  *
  * Returns: %GDK_GRAB_SUCCESS if the grab was successful.
  *
- * Since: 3.0
- *
- * Deprecated: 3.20. Use gdk_seat_grab() instead.
+ * Deprecated: Use gdk_seat_grab() instead.
  **/
 GdkGrabStatus
 gdk_device_grab (GdkDevice        *device,
@@ -1478,8 +1414,6 @@ gdk_device_grab (GdkDevice        *device,
  *
  * Release any grab on @device.
  *
- * Since: 3.0
- *
  * Deprecated: 3.20. Use gdk_seat_ungrab() instead.
  */
 void
@@ -1508,8 +1442,6 @@ gdk_device_ungrab (GdkDevice  *device,
  * control of the user. This function was added to cover
  * some rare use cases like keyboard navigation support
  * for the color picker in the #GtkColorSelectionDialog.
- *
- * Since: 3.0
  **/
 void
 gdk_device_warp (GdkDevice  *device,
@@ -1857,8 +1789,6 @@ _gdk_device_window_at_position (GdkDevice        *device,
  * application's windows.
  *
  * Returns: (transfer none) (allow-none): the last window the device
- *
- * Since: 3.12
  */
 GdkWindow *
 gdk_device_get_last_event_window (GdkDevice *device)
@@ -1907,8 +1837,6 @@ gdk_device_get_last_event_window (GdkDevice *device)
  * ]|
  *
  * Returns: (nullable): the vendor ID, or %NULL
- *
- * Since: 3.16
  */
 const gchar *
 gdk_device_get_vendor_id (GdkDevice *device)
@@ -1928,8 +1856,6 @@ gdk_device_get_vendor_id (GdkDevice *device)
  * it. See gdk_device_get_vendor_id() for more information.
  *
  * Returns: (nullable): the product ID, or %NULL
- *
- * Since: 3.16
  */
 const gchar *
 gdk_device_get_product_id (GdkDevice *device)
@@ -1962,8 +1888,6 @@ gdk_device_set_seat (GdkDevice *device,
  *
  * Returns: (transfer none): A #GdkSeat. This memory is owned by GTK+ and
  *          must not be freed.
- *
- * Since: 3.20
  **/
 GdkSeat *
 gdk_device_get_seat (GdkDevice *device)
@@ -1978,8 +1902,6 @@ gdk_device_get_seat (GdkDevice *device)
  * @device: a #GdkDevice
  *
  * Returns the axes currently available on the device.
- *
- * Since: 3.22
  **/
 GdkAxisFlags
 gdk_device_get_axes (GdkDevice *device)
diff --git a/gdk/gdkdevice.h b/gdk/gdkdevice.h
index 28a0c20..bddaa71 100644
--- a/gdk/gdkdevice.h
+++ b/gdk/gdkdevice.h
@@ -176,11 +176,11 @@ GdkWindow *
                                  (GdkDevice         *device,
                                   gint              *win_x,
                                   gint              *win_y);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void     gdk_device_get_position_double (GdkDevice         *device,
                                          gdouble           *x,
                                          gdouble           *y);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 GdkWindow *
          gdk_device_get_window_at_position_double
                                  (GdkDevice         *device,
@@ -223,7 +223,7 @@ GList *      gdk_device_list_slave_devices    (GdkDevice     *device);
 GDK_AVAILABLE_IN_ALL
 GdkDeviceType gdk_device_get_device_type (GdkDevice *device);
 
-GDK_DEPRECATED_IN_3_20_FOR(gdk_seat_grab)
+GDK_DEPRECATED_FOR(gdk_seat_grab)
 GdkGrabStatus gdk_device_grab        (GdkDevice        *device,
                                       GdkWindow        *window,
                                       GdkGrabOwnership  grab_ownership,
@@ -232,7 +232,7 @@ GdkGrabStatus gdk_device_grab        (GdkDevice        *device,
                                       GdkCursor        *cursor,
                                       guint32           time_);
 
-GDK_DEPRECATED_IN_3_20_FOR(gdk_seat_ungrab)
+GDK_DEPRECATED_FOR(gdk_seat_ungrab)
 void          gdk_device_ungrab      (GdkDevice        *device,
                                       guint32           time_);
 
@@ -241,18 +241,18 @@ void          gdk_device_warp        (GdkDevice        *device,
                                       gint              x,
                                       gint              y);
 
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 GdkWindow *gdk_device_get_last_event_window (GdkDevice *device);
 
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 const gchar *gdk_device_get_vendor_id       (GdkDevice *device);
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 const gchar *gdk_device_get_product_id      (GdkDevice *device);
 
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 GdkSeat     *gdk_device_get_seat            (GdkDevice *device);
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 GdkAxisFlags gdk_device_get_axes            (GdkDevice *device);
 
 G_END_DECLS
diff --git a/gdk/gdkdevicepad.c b/gdk/gdkdevicepad.c
index cfb4780..aa0642e 100644
--- a/gdk/gdkdevicepad.c
+++ b/gdk/gdkdevicepad.c
@@ -72,8 +72,6 @@ gdk_device_pad_default_init (GdkDevicePadInterface *pad)
  * current mode.
  *
  * Returns: The number of button/ring/strip groups in the pad.
- *
- * Since: 3.22
  **/
 gint
 gdk_device_pad_get_n_groups (GdkDevicePad *pad)
@@ -93,8 +91,6 @@ gdk_device_pad_get_n_groups (GdkDevicePad *pad)
  * Returns the number of modes that @group may have.
  *
  * Returns: The number of modes available in @group.
- *
- * Since: 3.22
  **/
 gint
 gdk_device_pad_get_group_n_modes (GdkDevicePad *pad,
@@ -116,8 +112,6 @@ gdk_device_pad_get_group_n_modes (GdkDevicePad *pad,
  * Returns the number of features a tablet pad has.
  *
  * Returns: The amount of elements of type @feature that this pad has.
- *
- * Since: 3.22
  **/
 gint
 gdk_device_pad_get_n_features (GdkDevicePad        *pad,
@@ -140,8 +134,6 @@ gdk_device_pad_get_n_features (GdkDevicePad        *pad,
  * or -1 if feature/index do not exist in @pad.
  *
  * Returns: The group number of the queried pad feature.
- *
- * Since: 3.22
  **/
 gint
 gdk_device_pad_get_feature_group (GdkDevicePad        *pad,
diff --git a/gdk/gdkdevicepad.h b/gdk/gdkdevicepad.h
index 040f0da..9d00bc7 100644
--- a/gdk/gdkdevicepad.h
+++ b/gdk/gdkdevicepad.h
@@ -50,21 +50,21 @@ typedef enum {
   GDK_DEVICE_PAD_FEATURE_STRIP
 } GdkDevicePadFeature;
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 GType gdk_device_pad_get_type          (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 gint  gdk_device_pad_get_n_groups      (GdkDevicePad *pad);
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 gint  gdk_device_pad_get_group_n_modes (GdkDevicePad *pad,
                                         gint          group_idx);
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 gint  gdk_device_pad_get_n_features    (GdkDevicePad        *pad,
                                         GdkDevicePadFeature  feature);
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 gint  gdk_device_pad_get_feature_group (GdkDevicePad        *pad,
                                         GdkDevicePadFeature  feature,
                                         gint                 feature_idx);
diff --git a/gdk/gdkdevicetool.c b/gdk/gdkdevicetool.c
index be81225..a56f8e4 100644
--- a/gdk/gdkdevicetool.c
+++ b/gdk/gdkdevicetool.c
@@ -160,8 +160,6 @@ gdk_device_tool_new (guint64           serial,
  * physical tool (eg. a tablet pen) across program executions.
  *
  * Returns: The serial ID for this tool
- *
- * Since: 3.22
  **/
 guint64
 gdk_device_tool_get_serial (GdkDeviceTool *tool)
@@ -186,8 +184,6 @@ gdk_device_tool_get_serial (GdkDeviceTool *tool)
  * but having different hardware identificators.
  *
  * Returns: The hardware identificator of this tool.
- *
- * Since: 3.22
  **/
 guint64
 gdk_device_tool_get_hardware_id (GdkDeviceTool *tool)
@@ -205,8 +201,6 @@ gdk_device_tool_get_hardware_id (GdkDeviceTool *tool)
  *
  * Returns: The physical type for this tool. This can be used to figure out what
  * sort of pen is being used, such as an airbrush or a pencil.
- *
- * Since: 3.22
  **/
 GdkDeviceToolType
 gdk_device_tool_get_tool_type (GdkDeviceTool *tool)
diff --git a/gdk/gdkdevicetool.h b/gdk/gdkdevicetool.h
index 34a3200..4954592 100644
--- a/gdk/gdkdevicetool.h
+++ b/gdk/gdkdevicetool.h
@@ -61,16 +61,16 @@ typedef enum {
   GDK_DEVICE_TOOL_TYPE_LENS,
 } GdkDeviceToolType;
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 GType gdk_device_tool_get_type (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 guint64 gdk_device_tool_get_serial (GdkDeviceTool *tool);
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 guint64 gdk_device_tool_get_hardware_id (GdkDeviceTool *tool);
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 GdkDeviceToolType gdk_device_tool_get_tool_type (GdkDeviceTool *tool);
 
 G_END_DECLS
diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c
index 2e370c7..aa846da 100644
--- a/gdk/gdkdisplay.c
+++ b/gdk/gdkdisplay.c
@@ -186,8 +186,6 @@ gdk_display_class_init (GdkDisplayClass *class)
    *
    * %TRUE if the display properly composits the alpha channel.
    * See gdk_display_is_composited() for details.
-   *
-   * Since: 3.90
    */
   props[PROP_COMPOSITED] =
     g_param_spec_boolean ("composited",
@@ -201,8 +199,6 @@ gdk_display_class_init (GdkDisplayClass *class)
    *
    * %TRUE if the display supports an alpha channel. See gdk_display_is_rgba()
    * for details.
-   *
-   * Since: 3.90
    */
   props[PROP_RGBA] =
     g_param_spec_boolean ("rgba",
@@ -236,8 +232,6 @@ gdk_display_class_init (GdkDisplayClass *class)
    *
    * The ::closed signal is emitted when the connection to the windowing
    * system for @display is closed.
-   *
-   * Since: 2.2
    */   
   signals[CLOSED] =
     g_signal_new (g_intern_static_string ("closed"),
@@ -257,8 +251,6 @@ gdk_display_class_init (GdkDisplayClass *class)
    *
    * The ::seat-added signal is emitted whenever a new seat is made
    * known to the windowing system.
-   *
-   * Since: 3.20
    */
   signals[SEAT_ADDED] =
     g_signal_new (g_intern_static_string ("seat-added"),
@@ -275,8 +267,6 @@ gdk_display_class_init (GdkDisplayClass *class)
    *
    * The ::seat-removed signal is emitted whenever a seat is removed
    * by the windowing system.
-   *
-   * Since: 3.20
    */
   signals[SEAT_REMOVED] =
     g_signal_new (g_intern_static_string ("seat-removed"),
@@ -293,8 +283,6 @@ gdk_display_class_init (GdkDisplayClass *class)
    *
    * The ::monitor-added signal is emitted whenever a monitor is
    * added.
-   *
-   * Since: 3.22
    */
   signals[MONITOR_ADDED] =
     g_signal_new (g_intern_static_string ("monitor-added"),
@@ -311,8 +299,6 @@ gdk_display_class_init (GdkDisplayClass *class)
    *
    * The ::monitor-removed signal is emitted whenever a monitor is
    * removed.
-   *
-   * Since: 3.22
    */
   signals[MONITOR_REMOVED] =
     g_signal_new (g_intern_static_string ("monitor-removed"),
@@ -329,8 +315,6 @@ gdk_display_class_init (GdkDisplayClass *class)
    *
    * The ::setting-changed signal is emitted whenever a setting
    * changes its value.
-   *
-   * Since: 3.94
    */
   signals[SETTING_CHANGED] =
     g_signal_new (g_intern_static_string ("setting-changed"),
@@ -422,8 +406,6 @@ gdk_display_finalize (GObject *object)
  *
  * Closes the connection to the windowing system for the given display,
  * and cleans up associated resources.
- *
- * Since: 2.2
  */
 void
 gdk_display_close (GdkDisplay *display)
@@ -448,8 +430,6 @@ gdk_display_close (GdkDisplay *display)
  * Finds out if the display has been closed.
  *
  * Returns: %TRUE if the display is closed.
- *
- * Since: 2.22
  */
 gboolean
 gdk_display_is_closed  (GdkDisplay  *display)
@@ -468,8 +448,6 @@ gdk_display_is_closed  (GdkDisplay  *display)
  * 
  * Returns: (nullable) (transfer full): the next #GdkEvent to be processed,
  *   or %NULL if no events are pending
- *
- * Since: 2.2
  */
 GdkEvent *
 gdk_display_get_event (GdkDisplay *display)
@@ -493,8 +471,6 @@ gdk_display_get_event (GdkDisplay *display)
  * 
  * Returns: (nullable) (transfer full): the first #GdkEvent on the
  *   event queue
- *
- * Since: 2.2
  **/
 GdkEvent *
 gdk_display_peek_event (GdkDisplay *display)
@@ -527,8 +503,6 @@ gdk_display_put_event_nocopy (GdkDisplay *display,
  *
  * Appends a copy of the given event onto the front of the event
  * queue for @display.
- *
- * Since: 2.2
  **/
 void
 gdk_display_put_event (GdkDisplay     *display,
@@ -1058,8 +1032,6 @@ gdk_display_device_is_grabbed (GdkDisplay *display,
  *
  * Returns: a string representing the display name. This string is owned
  * by GDK and should not be modified or freed.
- *
- * Since: 2.2
  */
 const gchar *
 gdk_display_get_name (GdkDisplay *display)
@@ -1074,8 +1046,6 @@ gdk_display_get_name (GdkDisplay *display)
  * @display: a #GdkDisplay
  *
  * Emits a short beep on @display
- *
- * Since: 2.2
  */
 void
 gdk_display_beep (GdkDisplay *display)
@@ -1098,8 +1068,6 @@ gdk_display_beep (GdkDisplay *display)
  *
  * This is most useful for X11. On windowing systems where requests are
  * handled synchronously, this function will do nothing.
- *
- * Since: 2.2
  */
 void
 gdk_display_sync (GdkDisplay *display)
@@ -1122,8 +1090,6 @@ gdk_display_sync (GdkDisplay *display)
  *
  * This is most useful for X11. On windowing systems where requests are
  * handled synchronously, this function will do nothing.
- *
- * Since: 2.4
  */
 void
 gdk_display_flush (GdkDisplay *display)
@@ -1143,8 +1109,6 @@ gdk_display_flush (GdkDisplay *display)
  *
  * Returns: (transfer none): The default group leader window
  * for @display
- *
- * Since: 2.4
  **/
 GdkWindow *
 gdk_display_get_default_group (GdkDisplay *display)
@@ -1202,8 +1166,6 @@ gdk_display_get_primary_clipboard (GdkDisplay *display)
  * be used to create shaped windows on @display.
  *
  * Returns: %TRUE if shaped windows are supported
- *
- * Since: 2.10
  */
 gboolean
 gdk_display_supports_shapes (GdkDisplay *display)
@@ -1221,8 +1183,6 @@ gdk_display_supports_shapes (GdkDisplay *display)
  * be used to modify the input shape of windows on @display.
  *
  * Returns: %TRUE if windows with modified input shape are supported
- *
- * Since: 2.10
  */
 gboolean
 gdk_display_supports_input_shapes (GdkDisplay *display)
@@ -1253,8 +1213,6 @@ gdk_display_real_get_app_launch_context (GdkDisplay *display)
  *
  * Returns: (transfer full): a new #GdkAppLaunchContext for @display.
  *     Free with g_object_unref() when done
- *
- * Since: 3.0
  */
 GdkAppLaunchContext *
 gdk_display_get_app_launch_context (GdkDisplay *display)
@@ -1272,8 +1230,6 @@ gdk_display_get_app_launch_context (GdkDisplay *display)
  *
  * Returns: (nullable) (transfer none): a #GdkDisplay, or %NULL if the
  *     display could not be opened
- *
- * Since: 2.2
  */
 GdkDisplay *
 gdk_display_open (const gchar *display_name)
@@ -1290,8 +1246,6 @@ gdk_display_open (const gchar *display_name)
  * to be processed.
  *
  * Returns: %TRUE if there are events ready to be processed.
- *
- * Since: 3.0
  */
 gboolean
 gdk_display_has_pending (GdkDisplay *display)
@@ -1320,8 +1274,6 @@ _gdk_display_get_next_serial (GdkDisplay *display)
  * with custom startup-notification identifier unless
  * gtk_window_set_auto_startup_notification() is called to
  * disable that feature.
- *
- * Since: 3.0
  */
 void
 gdk_display_notify_startup_complete (GdkDisplay  *display,
@@ -1390,8 +1342,6 @@ _gdk_display_create_window (GdkDisplay *display)
  * Returns the #GdkKeymap attached to @display.
  *
  * Returns: (transfer none): the #GdkKeymap attached to @display.
- *
- * Since: 3.94
  */
 GdkKeymap *
 gdk_display_get_keymap (GdkDisplay *display)
@@ -1445,8 +1395,6 @@ gdk_display_set_debug_flags (GdkDisplay    *display,
  *
  * Returns: Whether windows with RGBA visuals can reasonably be
  * expected to have their alpha channels drawn correctly on the screen.
- *
- * Since: 3.90
  **/
 gboolean
 gdk_display_is_composited (GdkDisplay *display)
@@ -1491,8 +1439,6 @@ gdk_display_set_composited (GdkDisplay *display,
  *
  * Returns: %TRUE if windows are created with an alpha channel or
  *     %FALSE if the display does not support this functionality.
- *
- * Since: 3.90
  **/
 gboolean
 gdk_display_is_rgba (GdkDisplay *display)
@@ -1569,8 +1515,6 @@ gdk_display_remove_seat (GdkDisplay *display,
  * Returns the default #GdkSeat for this display.
  *
  * Returns: (transfer none): the default seat.
- *
- * Since: 3.20
  **/
 GdkSeat *
 gdk_display_get_default_seat (GdkDisplay *display)
@@ -1592,8 +1536,6 @@ gdk_display_get_default_seat (GdkDisplay *display)
  *
  * Returns: (transfer container) (element-type GdkSeat): the
  *          list of seats known to the #GdkDisplay
- *
- * Since: 3.20
  **/
 GList *
 gdk_display_list_seats (GdkDisplay *display)
@@ -1613,7 +1555,6 @@ gdk_display_list_seats (GdkDisplay *display)
  * #GdkDisplay::monitor-added or #GdkDisplay::monitor-removed signal.
  *
  * Returns: the number of monitors
- * Since: 3.22
  */
 int
 gdk_display_get_n_monitors (GdkDisplay *display)
@@ -1635,7 +1576,6 @@ gdk_display_get_n_monitors (GdkDisplay *display)
  *
  * Returns: (nullable) (transfer none): the #GdkMonitor, or %NULL if
  *    @monitor_num is not a valid monitor number
- * Since: 3.22
  */
 GdkMonitor *
 gdk_display_get_monitor (GdkDisplay *display,
@@ -1663,8 +1603,6 @@ gdk_display_get_monitor (GdkDisplay *display,
  *
  * Returns: (transfer none): the primary monitor, or any monitor if no
  *     primary monitor is configured by the user
- *
- * Since: 3.22
  */
 GdkMonitor *
 gdk_display_get_primary_monitor (GdkDisplay *display)
@@ -1684,7 +1622,6 @@ gdk_display_get_primary_monitor (GdkDisplay *display)
  * or a nearby monitor if the point is not in any monitor.
  *
  * Returns: (transfer none): the monitor containing the point
- * Since: 3.22
  */
 GdkMonitor *
 gdk_display_get_monitor_at_point (GdkDisplay *display,
@@ -1745,7 +1682,6 @@ gdk_display_get_monitor_at_point (GdkDisplay *display,
  * of all monitors.
  *
  * Returns: (transfer none): the monitor with the largest overlap with @window
- * Since: 3.22
  */
 GdkMonitor *
 gdk_display_get_monitor_at_window (GdkDisplay *display,
@@ -1829,8 +1765,6 @@ gdk_display_emit_opened (GdkDisplay *display)
  *
  * Returns: %TRUE if the setting existed and a value was stored
  *   in @value, %FALSE otherwise
- *
- * Since: 3.94
  */
 gboolean
 gdk_display_get_setting (GdkDisplay *display,
diff --git a/gdk/gdkdisplay.h b/gdk/gdkdisplay.h
index 76fafc3..9e46649 100644
--- a/gdk/gdkdisplay.h
+++ b/gdk/gdkdisplay.h
@@ -61,9 +61,9 @@ void        gdk_display_close                  (GdkDisplay  *display);
 GDK_AVAILABLE_IN_ALL
 gboolean    gdk_display_is_closed          (GdkDisplay  *display);
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 gboolean    gdk_display_is_composited      (GdkDisplay  *display);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 gboolean    gdk_display_is_rgba            (GdkDisplay  *display);
 
 GDK_AVAILABLE_IN_ALL
@@ -82,9 +82,9 @@ GdkDisplay *gdk_display_get_default (void);
 GDK_AVAILABLE_IN_ALL
 GdkWindow *gdk_display_get_default_group       (GdkDisplay *display); 
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GdkClipboard *          gdk_display_get_clipboard               (GdkDisplay     *display);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GdkClipboard *          gdk_display_get_primary_clipboard       (GdkDisplay     *display);
 
 GDK_AVAILABLE_IN_ALL
@@ -98,31 +98,31 @@ void     gdk_display_notify_startup_complete   (GdkDisplay    *display,
 GDK_AVAILABLE_IN_ALL
 GdkAppLaunchContext *gdk_display_get_app_launch_context (GdkDisplay *display);
 
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 GdkSeat * gdk_display_get_default_seat (GdkDisplay *display);
 
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 GList   * gdk_display_list_seats       (GdkDisplay *display);
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 int          gdk_display_get_n_monitors        (GdkDisplay *display);
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 GdkMonitor * gdk_display_get_monitor           (GdkDisplay *display,
                                                 int         monitor_num);
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 GdkMonitor * gdk_display_get_primary_monitor   (GdkDisplay *display);
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 GdkMonitor * gdk_display_get_monitor_at_point  (GdkDisplay *display,
                                                 int         x,
                                                 int         y);
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 GdkMonitor * gdk_display_get_monitor_at_window (GdkDisplay *display,
                                                 GdkWindow  *window);
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GdkKeymap *  gdk_display_get_keymap  (GdkDisplay *display);
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 gboolean     gdk_display_get_setting (GdkDisplay *display,
                                       const char *name,
                                       GValue     *value);
diff --git a/gdk/gdkdisplaymanager.c b/gdk/gdkdisplaymanager.c
index 4ff88a5..faa05ba 100644
--- a/gdk/gdkdisplaymanager.c
+++ b/gdk/gdkdisplaymanager.c
@@ -149,8 +149,6 @@ gdk_display_manager_class_init (GdkDisplayManagerClass *klass)
    * @display: the opened display
    *
    * The ::display-opened signal is emitted when a display is opened.
-   *
-   * Since: 2.2
    */
   signals[DISPLAY_OPENED] =
     g_signal_new (g_intern_static_string ("display-opened"),
@@ -246,8 +244,6 @@ static const gchar *allowed_backends;
  * This call must happen prior to gdk_display_open(),
  * gtk_init(), or gtk_init_check()
  * in order to take effect.
- *
- * Since: 3.10
  */
 void
 gdk_set_allowed_backends (const gchar *backends)
@@ -296,8 +292,6 @@ static GdkBackend gdk_backends[] = {
  * Returns: (transfer none): The global #GdkDisplayManager singleton;
  *     gdk_parse_args(), gdk_init(), or gdk_init_check() must have
  *     been called first.
- *
- * Since: 2.2
  **/
 GdkDisplayManager*
 gdk_display_manager_get (void)
@@ -318,8 +312,6 @@ gdk_display_manager_get (void)
  *
  * Returns: (nullable) (transfer none): a #GdkDisplay, or %NULL if
  *     there is no default display.
- *
- * Since: 2.2
  */
 GdkDisplay *
 gdk_display_manager_get_default_display (GdkDisplayManager *manager)
@@ -336,8 +328,6 @@ gdk_display_manager_get_default_display (GdkDisplayManager *manager)
  *
  * Returns: (nullable) (transfer none): a #GdkDisplay, or %NULL if
  *   there is no default display.
- *
- * Since: 2.2
  */
 GdkDisplay *
 gdk_display_get_default (void)
@@ -351,8 +341,6 @@ gdk_display_get_default (void)
  * @display: a #GdkDisplay
  * 
  * Sets @display as the default display.
- *
- * Since: 2.2
  **/
 void
 gdk_display_manager_set_default_display (GdkDisplayManager *manager,
@@ -375,8 +363,6 @@ gdk_display_manager_set_default_display (GdkDisplayManager *manager,
  * Returns: (transfer container) (element-type GdkDisplay): a newly
  *     allocated #GSList of #GdkDisplay objects. Free with g_slist_free()
  *     when you are done with it.
- *
- * Since: 2.2
  **/
 GSList *
 gdk_display_manager_list_displays (GdkDisplayManager *manager)
@@ -393,8 +379,6 @@ gdk_display_manager_list_displays (GdkDisplayManager *manager)
  *
  * Returns: (nullable) (transfer none): a #GdkDisplay, or %NULL if the
  *     display could not be opened
- *
- * Since: 3.0
  */
 GdkDisplay *
 gdk_display_manager_open_display (GdkDisplayManager *manager,
diff --git a/gdk/gdkdisplaymanager.h b/gdk/gdkdisplaymanager.h
index 00c2dec..3951426 100644
--- a/gdk/gdkdisplaymanager.h
+++ b/gdk/gdkdisplaymanager.h
@@ -55,7 +55,7 @@ GSList *           gdk_display_manager_list_displays       (GdkDisplayManager *m
 GDK_AVAILABLE_IN_ALL
 GdkDisplay *       gdk_display_manager_open_display        (GdkDisplayManager *manager,
                                                             const gchar       *name);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void               gdk_set_allowed_backends                (const gchar       *backends);
 
 
diff --git a/gdk/gdkdnd.c b/gdk/gdkdnd.c
index 725d70d..a8aecbb 100644
--- a/gdk/gdkdnd.c
+++ b/gdk/gdkdnd.c
@@ -112,8 +112,6 @@ gdk_drag_context_get_display (GdkDragContext *context)
  * Retrieves the formats supported by this context.
  *
  * Returns: (transfer none): a #GdkContentFormats
- *
- * Since: 3.94
  **/
 GdkContentFormats *
 gdk_drag_context_get_formats (GdkDragContext *context)
@@ -131,8 +129,6 @@ gdk_drag_context_get_formats (GdkDragContext *context)
  * gdk_drag_context_get_suggested_action() returns %GDK_ACTION_ASK.
  *
  * Returns: the #GdkDragAction flags
- *
- * Since: 2.22
  **/
 GdkDragAction
 gdk_drag_context_get_actions (GdkDragContext *context)
@@ -149,8 +145,6 @@ gdk_drag_context_get_actions (GdkDragContext *context)
  * Determines the suggested drag action of the context.
  *
  * Returns: a #GdkDragAction value
- *
- * Since: 2.22
  **/
 GdkDragAction
 gdk_drag_context_get_suggested_action (GdkDragContext *context)
@@ -167,8 +161,6 @@ gdk_drag_context_get_suggested_action (GdkDragContext *context)
  * Determines the action chosen by the drag destination.
  *
  * Returns: a #GdkDragAction value
- *
- * Since: 2.22
  **/
 GdkDragAction
 gdk_drag_context_get_selected_action (GdkDragContext *context)
@@ -185,8 +177,6 @@ gdk_drag_context_get_selected_action (GdkDragContext *context)
  * Returns the #GdkWindow where the DND operation started.
  *
  * Returns: (transfer none): a #GdkWindow
- *
- * Since: 2.22
  **/
 GdkWindow *
 gdk_drag_context_get_source_window (GdkDragContext *context)
@@ -203,8 +193,6 @@ gdk_drag_context_get_source_window (GdkDragContext *context)
  * Returns the destination window for the DND operation.
  *
  * Returns: (transfer none): a #GdkWindow
- *
- * Since: 3.0
  **/
 GdkWindow *
 gdk_drag_context_get_dest_window (GdkDragContext *context)
@@ -384,8 +372,6 @@ gdk_drag_context_class_init (GdkDragContextClass *klass)
    *
    * The #GdkContentProvider or %NULL if the context is not a source-side
    * context.
-   *
-   * Since: 3.94
    */
   properties[PROP_CONTENT] =
     g_param_spec_object ("content",
@@ -401,8 +387,6 @@ gdk_drag_context_class_init (GdkDragContextClass *klass)
    * GdkDragContext:display:
    *
    * The #GdkDisplay that the drag context belongs to.
-   *
-   * Since: 3.94
    */
   properties[PROP_DISPLAY] =
     g_param_spec_object ("display",
@@ -418,8 +402,6 @@ gdk_drag_context_class_init (GdkDragContextClass *klass)
    * GdkDragContext:formats:
    *
    * The possible formats that the context can provide its data in.
-   *
-   * Since: 3.94
    */
   properties[PROP_FORMATS] =
     g_param_spec_boxed ("formats",
@@ -436,8 +418,6 @@ gdk_drag_context_class_init (GdkDragContextClass *klass)
    * @reason: The reason the context was cancelled
    *
    * The drag and drop operation was cancelled.
-   *
-   * Since: 3.20
    */
   signals[CANCEL] =
     g_signal_new (g_intern_static_string ("cancel"),
@@ -454,8 +434,6 @@ gdk_drag_context_class_init (GdkDragContextClass *klass)
    * @time: the time at which the drop happened.
    *
    * The drag and drop operation was performed on an accepting client.
-   *
-   * Since: 3.20
    */
   signals[DROP_PERFORMED] =
     g_signal_new (g_intern_static_string ("drop-performed"),
@@ -473,8 +451,6 @@ gdk_drag_context_class_init (GdkDragContextClass *klass)
    * The drag and drop operation was finished, the drag destination
    * finished reading all data. The drag source can now free all
    * miscellaneous data.
-   *
-   * Since: 3.20
    */
   signals[DND_FINISHED] =
     g_signal_new (g_intern_static_string ("dnd-finished"),
@@ -491,8 +467,6 @@ gdk_drag_context_class_init (GdkDragContextClass *klass)
    * @action: The action currently chosen
    *
    * A new action is being chosen for the drag and drop operation.
-   *
-   * Since: 3.20
    */
   signals[ACTION_CHANGED] =
     g_signal_new (g_intern_static_string ("action-changed"),
@@ -615,8 +589,6 @@ gdk_drop_finish (GdkDragContext *context,
  * meaningless at other times.
  *
  * Returns: %TRUE if the drop was successful.
- *
- * Since: 2.6
  **/
 gboolean
 gdk_drag_drop_succeeded (GdkDragContext *context)
@@ -753,8 +725,6 @@ gdk_drag_context_write_finish (GdkDragContext *context,
  * @cancellable:
  * @callback:
  * @user_data: (closure):
- *
- * Since: 3.94
  */
 void
 gdk_drop_read_async (GdkDragContext      *context,
@@ -791,8 +761,6 @@ gdk_drop_read_async (GdkDragContext      *context,
  * @error:
  *
  * Returns: (nullable) (transfer full): the #GInputStream, or %NULL
- *
- * Since: 3.94
  */
 GInputStream *
 gdk_drop_read_finish (GdkDragContext *context,
@@ -825,8 +793,6 @@ gdk_drop_read_finish (GdkDragContext *context,
  * the drag operation is over.
  *
  * Returns: (nullable) (transfer none): the drag window, or %NULL
- *
- * Since: 3.20
  */
 GdkWindow *
 gdk_drag_context_get_drag_window (GdkDragContext *context)
@@ -848,8 +814,6 @@ gdk_drag_context_get_drag_window (GdkDragContext *context)
  * Sets the position of the drag window that will be kept
  * under the cursor hotspot. Initially, the hotspot is at the
  * top left corner of the drag window.
- *
- * Since: 3.20
  */
 void
 gdk_drag_context_set_hotspot (GdkDragContext *context,
@@ -877,8 +841,6 @@ gdk_drag_context_set_hotspot (GdkDragContext *context,
  * The #GdkDragContext will only take the first gdk_drag_drop_done()
  * call as effective, if this function is called multiple times,
  * all subsequent calls will be ignored.
- *
- * Since: 3.20
  */
 void
 gdk_drag_drop_done (GdkDragContext *context,
diff --git a/gdk/gdkdnd.h b/gdk/gdkdnd.h
index 683b508..16442a5 100644
--- a/gdk/gdkdnd.h
+++ b/gdk/gdkdnd.h
@@ -83,12 +83,12 @@ typedef enum {
 GDK_AVAILABLE_IN_ALL
 GType            gdk_drag_context_get_type             (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GdkDisplay *     gdk_drag_context_get_display          (GdkDragContext *context);
 GDK_AVAILABLE_IN_ALL
 GdkDevice *      gdk_drag_context_get_device           (GdkDragContext *context);
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GdkContentFormats *gdk_drag_context_get_formats        (GdkDragContext *context);
 GDK_AVAILABLE_IN_ALL
 GdkDragAction    gdk_drag_context_get_actions          (GdkDragContext *context);
@@ -116,14 +116,14 @@ void             gdk_drop_finish        (GdkDragContext   *context,
                                          gboolean          success,
                                          guint32           time_);
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void                    gdk_drop_read_async             (GdkDragContext        *context,
                                                          const char           **mime_types,
                                                          int                    io_priority,
                                                          GCancellable          *cancellable,
                                                          GAsyncReadyCallback    callback,
                                                          gpointer               user_data);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GInputStream *          gdk_drop_read_finish            (GdkDragContext        *context,
                                                          const char           **out_mime_type,
                                                          GAsyncResult          *result,
@@ -142,14 +142,14 @@ GdkDragContext *        gdk_drag_begin                  (GdkWindow
 GDK_AVAILABLE_IN_ALL
 gboolean        gdk_drag_drop_succeeded (GdkDragContext *context);
 
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 void            gdk_drag_drop_done   (GdkDragContext *context,
                                       gboolean        success);
 
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 GdkWindow      *gdk_drag_context_get_drag_window (GdkDragContext *context);
 
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 void            gdk_drag_context_set_hotspot (GdkDragContext *context,
                                               gint            hot_x,
                                               gint            hot_y);
diff --git a/gdk/gdkdrawcontext.c b/gdk/gdkdrawcontext.c
index 1ca7d41..2566d01 100644
--- a/gdk/gdkdrawcontext.c
+++ b/gdk/gdkdrawcontext.c
@@ -136,8 +136,6 @@ gdk_draw_context_class_init (GdkDrawContextClass *klass)
    * GdkDrawContext:display:
    *
    * The #GdkDisplay used to create the #GdkDrawContext.
-   *
-   * Since: 3.90
    */
   pspecs[PROP_DISPLAY] =
     g_param_spec_object ("display",
@@ -151,8 +149,6 @@ gdk_draw_context_class_init (GdkDrawContextClass *klass)
    * GdkDrawContext:window:
    *
    * The #GdkWindow the gl context is bound to.
-   *
-   * Since: 3.90
    */
   pspecs[PROP_WINDOW] =
     g_param_spec_object ("window",
@@ -180,8 +176,6 @@ gdk_draw_context_init (GdkDrawContext *self)
  * onto it.
  *
  * Returns: %TRUE if the context is between begin_frame() and end_frame() calls.
- *
- * Since: 3.90
  */
 gboolean
 gdk_draw_context_is_drawing (GdkDrawContext *context)
@@ -205,8 +199,6 @@ gdk_draw_context_is_drawing (GdkDrawContext *context)
  * The function does not clear the background. Clearing the backgroud is the
  * job of the renderer. The contents of the backbuffer are undefined after this
  * function call.
- *
- * Since: 3.90
  */
 void
 gdk_draw_context_begin_frame (GdkDrawContext *context,
@@ -234,8 +226,6 @@ gdk_draw_context_begin_frame (GdkDrawContext *context,
  * This function may call `glFlush()` implicitly before returning; it
  * is not recommended to call `glFlush()` explicitly before calling
  * this function.
- *
- * Since: 3.16
  */
 void
 gdk_draw_context_end_frame (GdkDrawContext *context,
@@ -259,8 +249,6 @@ gdk_draw_context_end_frame (GdkDrawContext *context,
  * Retrieves the #GdkDisplay the @context is created for
  *
  * Returns: (nullable) (transfer none): a #GdkDisplay or %NULL
- *
- * Since: 3.90
  */
 GdkDisplay *
 gdk_draw_context_get_display (GdkDrawContext *context)
@@ -279,8 +267,6 @@ gdk_draw_context_get_display (GdkDrawContext *context)
  * Retrieves the #GdkWindow used by the @context.
  *
  * Returns: (nullable) (transfer none): a #GdkWindow or %NULL
- *
- * Since: 3.90
  */
 GdkWindow *
 gdk_draw_context_get_window (GdkDrawContext *context)
diff --git a/gdk/gdkdrawcontext.h b/gdk/gdkdrawcontext.h
index b03529e..8c9c982 100644
--- a/gdk/gdkdrawcontext.h
+++ b/gdk/gdkdrawcontext.h
@@ -34,12 +34,12 @@ G_BEGIN_DECLS
 #define GDK_DRAW_CONTEXT(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), GDK_TYPE_DRAW_CONTEXT, 
GdkDrawContext))
 #define GDK_IS_DRAW_CONTEXT(obj)          (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GDK_TYPE_DRAW_CONTEXT))
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GType gdk_draw_context_get_type (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GdkDisplay *            gdk_draw_context_get_display              (GdkDrawContext  *context);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GdkWindow *             gdk_draw_context_get_window               (GdkDrawContext  *context);
 
 G_END_DECLS
diff --git a/gdk/gdkdrawingcontext.c b/gdk/gdkdrawingcontext.c
index d0ae2a4..3c408a5 100644
--- a/gdk/gdkdrawingcontext.c
+++ b/gdk/gdkdrawingcontext.c
@@ -174,8 +174,6 @@ gdk_drawing_context_class_init (GdkDrawingContextClass *klass)
    * GdkDrawingContext:window:
    *
    * The #GdkWindow that created the drawing context.
-   *
-   * Since: 3.22
    */
   obj_property[PROP_WINDOW] =
     g_param_spec_object ("window", "Window", "The window that created the context",
@@ -187,8 +185,6 @@ gdk_drawing_context_class_init (GdkDrawingContextClass *klass)
    * GdkDrawingContext:clip:
    *
    * The clip region applied to the drawing context.
-   *
-   * Since: 3.22
    */
   obj_property[PROP_CLIP] =
     g_param_spec_boxed ("clip", "Clip", "The clip region of the context",
@@ -200,8 +196,6 @@ gdk_drawing_context_class_init (GdkDrawingContextClass *klass)
    * GdkDrawingContext:paint-context:
    *
    * The #GdkDrawContext used to draw or %NULL if Cairo is used.
-   *
-   * Since: 3.90
    */
   obj_property[PROP_PAINT_CONTEXT] =
     g_param_spec_object ("paint-context", "Paint context", "The context used to draw",
@@ -235,8 +229,6 @@ gdk_cairo_set_drawing_context (cairo_t           *cr,
  * context @cr.
  *
  * Returns: (transfer none) (nullable): a #GdkDrawingContext, if any is set
- *
- * Since: 3.22
  */
 GdkDrawingContext *
 gdk_cairo_get_drawing_context (cairo_t *cr)
@@ -264,8 +256,6 @@ gdk_cairo_get_drawing_context (cairo_t *cr)
  *   the contents of the #GdkWindow. The context is owned by the
  *   #GdkDrawingContext and should not be destroyed. %NULL is
  *   returned when a paint context is in used.
- *
- * Since: 3.22
  */
 cairo_t *
 gdk_drawing_context_get_cairo_context (GdkDrawingContext *context)
@@ -307,8 +297,6 @@ gdk_drawing_context_get_cairo_context (GdkDrawingContext *context)
  * Retrieves the window that created the drawing @context.
  *
  * Returns: (transfer none): a #GdkWindow
- *
- * Since: 3.22
  */
 GdkWindow *
 gdk_drawing_context_get_window (GdkDrawingContext *context)
@@ -327,8 +315,6 @@ gdk_drawing_context_get_window (GdkDrawingContext *context)
  * Retrieves the paint context used to draw with.
  *
  * Returns: (transfer none): a #GdkDrawContext or %NULL
- *
- * Since: 3.90
  */
 GdkDrawContext *
 gdk_drawing_context_get_paint_context (GdkDrawingContext *context)
@@ -347,8 +333,6 @@ gdk_drawing_context_get_paint_context (GdkDrawingContext *context)
  * Retrieves a copy of the clip region used when creating the @context.
  *
  * Returns: (transfer full) (nullable): a Cairo region
- *
- * Since: 3.22
  */
 cairo_region_t *
 gdk_drawing_context_get_clip (GdkDrawingContext *context)
@@ -370,8 +354,6 @@ gdk_drawing_context_get_clip (GdkDrawingContext *context)
  * Checks whether the given #GdkDrawingContext is valid.
  *
  * Returns: %TRUE if the context is valid
- *
- * Since: 3.22
  */
 gboolean
 gdk_drawing_context_is_valid (GdkDrawingContext *context)
diff --git a/gdk/gdkdrawingcontext.h b/gdk/gdkdrawingcontext.h
index f7e044f..4a67281 100644
--- a/gdk/gdkdrawingcontext.h
+++ b/gdk/gdkdrawingcontext.h
@@ -33,20 +33,20 @@ G_BEGIN_DECLS
 
 typedef struct _GdkDrawingContextClass  GdkDrawingContextClass;
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 GType gdk_drawing_context_get_type (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 GdkWindow *     gdk_drawing_context_get_window          (GdkDrawingContext *context);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GdkDrawContext* gdk_drawing_context_get_paint_context   (GdkDrawingContext *context);
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 cairo_region_t *gdk_drawing_context_get_clip            (GdkDrawingContext *context);
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 gboolean        gdk_drawing_context_is_valid            (GdkDrawingContext *context);
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 cairo_t *       gdk_drawing_context_get_cairo_context   (GdkDrawingContext *context);
 
 G_END_DECLS
diff --git a/gdk/gdkevents.c b/gdk/gdkevents.c
index 83c676d..7f1b84a 100644
--- a/gdk/gdkevents.c
+++ b/gdk/gdkevents.c
@@ -252,8 +252,6 @@ _gdk_event_queue_append (GdkDisplay *display,
  * the queue, onto the tail of the event queue.
  *
  * Returns: the newly appended list node.
- *
- * Since: 2.16
  */
 GList*
 _gdk_event_queue_insert_after (GdkDisplay *display,
@@ -280,8 +278,6 @@ _gdk_event_queue_insert_after (GdkDisplay *display,
  * the queue, onto the head of the event queue.
  *
  * Returns: the newly prepended list node.
- *
- * Since: 2.16
  */
 GList*
 _gdk_event_queue_insert_before (GdkDisplay *display,
@@ -485,7 +481,6 @@ gdk_event_handler_set (GdkEventFunc   func,
  * Creates a new event of the given type. All fields are set to 0.
  * 
  * Returns: a newly-allocated #GdkEvent. Free with g_object_unref()
- * Since: 2.2
  */
 GdkEvent*
 gdk_event_new (GdkEventType type)
@@ -589,8 +584,6 @@ gdk_event_set_pointer_emulated (GdkEvent *event,
  * from a touch event), as opposed to a real one.
  *
  * Returns: %TRUE if this event is emulated
- *
- * Since: 3.22
  */
 gboolean
 gdk_event_get_pointer_emulated (GdkEvent *event)
@@ -789,8 +782,6 @@ gdk_event_finalize (GObject *object)
  * Extracts the #GdkWindow associated with an event.
  *
  * Returns: (transfer none): The #GdkWindow associated with the event
- *
- * Since: 3.10
  */
 GdkWindow *
 gdk_event_get_window (const GdkEvent *event)
@@ -1159,8 +1150,6 @@ gdk_event_set_coords (GdkEvent *event,
  * Extract the button number from an event.
  *
  * Returns: %TRUE if the event delivered a button number
- *
- * Since: 3.2
  **/
 gboolean
 gdk_event_get_button (const GdkEvent *event,
@@ -1200,8 +1189,6 @@ gdk_event_get_button (const GdkEvent *event,
  * Extracts the click count from an event.
  *
  * Returns: %TRUE if the event delivered a click count
- *
- * Since: 3.2
  */
 gboolean
 gdk_event_get_click_count (const GdkEvent *event,
@@ -1237,8 +1224,6 @@ gdk_event_get_click_count (const GdkEvent *event,
  * Extracts the keyval from an event.
  *
  * Returns: %TRUE if the event delivered a key symbol
- *
- * Since: 3.2
  */
 gboolean
 gdk_event_get_keyval (const GdkEvent *event,
@@ -1283,8 +1268,6 @@ gdk_event_set_keyval (GdkEvent *event,
  * Also see gdk_event_get_scancode().
  *
  * Returns: %TRUE if the event delivered a hardware keycode
- *
- * Since: 3.2
  */
 gboolean
 gdk_event_get_keycode (const GdkEvent *event,
@@ -1410,8 +1393,6 @@ gdk_event_get_key_is_modifier (const GdkEvent *event,
  * Extracts the scroll direction from an event.
  *
  * Returns: %TRUE if the event delivered a scroll direction
- *
- * Since: 3.2
  */
 gboolean
 gdk_event_get_scroll_direction (const GdkEvent *event,
@@ -1448,8 +1429,6 @@ gdk_event_get_scroll_direction (const GdkEvent *event,
  * Retrieves the scroll deltas from a #GdkEvent
  *
  * Returns: %TRUE if the event contains smooth scroll information
- *
- * Since: 3.4
  **/
 gboolean
 gdk_event_get_scroll_deltas (const GdkEvent *event,
@@ -1498,8 +1477,6 @@ gdk_event_get_scroll_deltas (const GdkEvent *event,
  * Stop scroll events always have a a delta of 0/0.
  *
  * Returns: %TRUE if the event is a scroll stop event
- *
- * Since: 3.20
  */
 gboolean
 gdk_event_is_scroll_stop_event (const GdkEvent *event)
@@ -1599,8 +1576,6 @@ gdk_event_get_axis (const GdkEvent *event,
  * Sets the device for @event to @device. The event must
  * have been allocated by GTK+, for instance, by
  * gdk_event_copy().
- *
- * Since: 3.0
  **/
 void
 gdk_event_set_device (GdkEvent  *event,
@@ -1617,8 +1592,6 @@ gdk_event_set_device (GdkEvent  *event,
  * it, else it will return %NULL.
  *
  * Returns: (nullable) (transfer none): a #GdkDevice, or %NULL.
- *
- * Since: 3.0
  **/
 GdkDevice *
 gdk_event_get_device (const GdkEvent *event)
@@ -1637,8 +1610,6 @@ gdk_event_get_device (const GdkEvent *event)
  *
  * The event must have been allocated by GTK+,
  * for instance by gdk_event_copy().
- *
- * Since: 3.0
  **/
 void
 gdk_event_set_source_device (GdkEvent  *event,
@@ -1662,8 +1633,6 @@ gdk_event_set_source_device (GdkEvent  *event,
  * return %NULL.
  *
  * Returns: (nullable) (transfer none): a #GdkDevice, or %NULL.
- *
- * Since: 3.0
  **/
 GdkDevice *
 gdk_event_get_source_device (const GdkEvent *event)
@@ -1692,8 +1661,6 @@ gdk_event_get_source_device (const GdkEvent *event)
  * event->button == %GDK_BUTTON_SECONDARY.
  *
  * Returns: %TRUE if the event should trigger a context menu.
- *
- * Since: 3.4
  **/
 gboolean
 gdk_event_triggers_context_menu (const GdkEvent *event)
@@ -1766,8 +1733,6 @@ gdk_events_get_axis_distances (GdkEvent *event1,
  * (as in a straight line going from @event1 to @event2) will be returned.
  *
  * Returns: %TRUE if the distance could be calculated.
- *
- * Since: 3.0
  **/
 gboolean
 gdk_events_get_distance (GdkEvent *event1,
@@ -1791,8 +1756,6 @@ gdk_events_get_distance (GdkEvent *event1,
  * Y axis.
  *
  * Returns: %TRUE if the angle could be calculated.
- *
- * Since: 3.0
  **/
 gboolean
 gdk_events_get_angle (GdkEvent *event1,
@@ -1834,8 +1797,6 @@ gdk_events_get_angle (GdkEvent *event1,
  * will be returned in @x and @y.
  *
  * Returns: %TRUE if the center could be calculated.
- *
- * Since: 3.0
  **/
 gboolean
 gdk_events_get_center (GdkEvent *event1,
@@ -1901,8 +1862,6 @@ gdk_event_get_display (const GdkEvent *event)
  * to which the event belongs. Otherwise, return %NULL.
  *
  * Returns: (transfer none): the event sequence that the event belongs to
- *
- * Since: 3.4
  */
 GdkEventSequence *
 gdk_event_get_event_sequence (const GdkEvent *event)
@@ -1973,8 +1932,6 @@ G_DEFINE_BOXED_TYPE (GdkEventSequence, gdk_event_sequence,
  * Retrieves the type of the event.
  *
  * Returns: a #GdkEventType
- *
- * Since: 3.10
  */
 GdkEventType
 gdk_event_get_event_type (const GdkEvent *event)
@@ -1991,8 +1948,6 @@ gdk_event_get_event_type (const GdkEvent *event)
  * Returns the #GdkSeat this event was generated for.
  *
  * Returns: (transfer none): The #GdkSeat of this event
- *
- * Since: 3.20
  **/
 GdkSeat *
 gdk_event_get_seat (const GdkEvent *event)
@@ -2018,8 +1973,6 @@ gdk_event_get_seat (const GdkEvent *event)
  * persistently across runs, see gdk_device_tool_get_serial()
  *
  * Returns: (transfer none): The current device tool, or %NULL
- *
- * Since: 3.22
  **/
 GdkDeviceTool *
 gdk_event_get_device_tool (const GdkEvent *event)
@@ -2039,8 +1992,6 @@ gdk_event_get_device_tool (const GdkEvent *event)
  * @tool: (nullable): tool to set on the event, or %NULL
  *
  * Sets the device tool for this event, should be rarely used.
- *
- * Since: 3.22
  **/
 void
 gdk_event_set_device_tool (GdkEvent      *event,
@@ -2073,8 +2024,6 @@ gdk_event_set_scancode (GdkEvent *event,
  * some extended flags.
  *
  * Returns: The associated keyboard scancode or 0
- *
- * Since: 3.22
  **/
 int
 gdk_event_get_scancode (GdkEvent *event)
diff --git a/gdk/gdkevents.h b/gdk/gdkevents.h
index de5987a..27e0bbc 100644
--- a/gdk/gdkevents.h
+++ b/gdk/gdkevents.h
@@ -420,7 +420,7 @@ typedef enum
 GDK_AVAILABLE_IN_ALL
 GType     gdk_event_get_type            (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 GType     gdk_event_sequence_get_type   (void) G_GNUC_CONST;
 
 GDK_AVAILABLE_IN_ALL
@@ -430,7 +430,7 @@ GdkEvent* gdk_event_copy                    (const GdkEvent *event);
 GDK_AVAILABLE_IN_ALL
 void     gdk_event_free                (GdkEvent       *event);
 
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 GdkWindow *gdk_event_get_window         (const GdkEvent *event);
 
 GDK_AVAILABLE_IN_ALL
@@ -442,7 +442,7 @@ GDK_AVAILABLE_IN_ALL
 gboolean  gdk_event_get_coords         (const GdkEvent  *event,
                                         gdouble         *x_win,
                                         gdouble         *y_win);
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 void      gdk_event_set_coords          (GdkEvent *event,
                                          gdouble   x,
                                          gdouble   y);
@@ -450,42 +450,42 @@ GDK_AVAILABLE_IN_ALL
 gboolean  gdk_event_get_root_coords    (const GdkEvent *event,
                                         gdouble        *x_root,
                                         gdouble        *y_root);
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 gboolean  gdk_event_get_button          (const GdkEvent *event,
                                          guint          *button);
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 gboolean  gdk_event_get_click_count     (const GdkEvent *event,
                                          guint          *click_count);
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 gboolean  gdk_event_get_keyval          (const GdkEvent *event,
                                          guint          *keyval);
 
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 void      gdk_event_set_keyval          (GdkEvent *event,
                                          guint     keyval);
 
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 gboolean  gdk_event_get_keycode         (const GdkEvent *event,
                                          guint16        *keycode);
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 gboolean  gdk_event_get_key_is_modifier (const GdkEvent *event,
                                          gboolean       *is_modifier);
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 gboolean  gdk_event_get_key_group       (const GdkEvent *event,
                                          guint          *group);
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 gboolean  gdk_event_get_string          (const GdkEvent  *event,
                                          const char     **string);
 
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 gboolean gdk_event_get_scroll_direction (const GdkEvent *event,
                                          GdkScrollDirection *direction);
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 gboolean  gdk_event_get_scroll_deltas   (const GdkEvent *event,
                                          gdouble         *delta_x,
                                          gdouble         *delta_y);
 
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 gboolean  gdk_event_is_scroll_stop_event (const GdkEvent *event);
 
 GDK_AVAILABLE_IN_ALL
@@ -502,7 +502,7 @@ void       gdk_event_set_source_device  (GdkEvent        *event,
                                          GdkDevice       *device);
 GDK_AVAILABLE_IN_ALL
 GdkDevice* gdk_event_get_source_device  (const GdkEvent  *event);
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 gboolean   gdk_event_triggers_context_menu (const GdkEvent *event);
 
 GDK_AVAILABLE_IN_ALL
@@ -524,19 +524,19 @@ void        gdk_event_handler_set         (GdkEventFunc    func,
                                         gpointer        data,
                                         GDestroyNotify  notify);
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void       gdk_event_set_display        (GdkEvent        *event,
                                          GdkDisplay      *display);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GdkDisplay *gdk_event_get_display       (const GdkEvent  *event);
 
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 GdkEventSequence *gdk_event_get_event_sequence (const GdkEvent *event);
 
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 GdkEventType gdk_event_get_event_type   (const GdkEvent *event);
 
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 GdkSeat  *gdk_event_get_seat            (const GdkEvent *event);
 
 GDK_AVAILABLE_IN_ALL
@@ -544,74 +544,74 @@ void        gdk_set_show_events           (gboolean        show_events);
 GDK_AVAILABLE_IN_ALL
 gboolean  gdk_get_show_events          (void);
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 GdkDeviceTool *gdk_event_get_device_tool (const GdkEvent *event);
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 void           gdk_event_set_device_tool (GdkEvent       *event,
                                           GdkDeviceTool  *tool);
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 int            gdk_event_get_scancode    (GdkEvent *event);
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 gboolean       gdk_event_get_pointer_emulated (GdkEvent *event);
 
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 void           gdk_event_set_user_data (GdkEvent *event,
                                         GObject  *user_data);
 
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 gboolean       gdk_event_is_sent       (const GdkEvent *event);
 
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 gboolean       gdk_event_get_drag_context (const GdkEvent  *event,
                                            GdkDragContext **context);
 
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 gboolean       gdk_event_get_crossing_mode (const GdkEvent  *event,
                                             GdkCrossingMode *mode);
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 gboolean       gdk_event_get_crossing_detail (const GdkEvent *event,
                                               GdkNotifyType  *detail);
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 gboolean       gdk_event_get_touchpad_gesture_phase (const GdkEvent          *event,
                                                      GdkTouchpadGesturePhase *phase);
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 gboolean       gdk_event_get_touchpad_gesture_n_fingers (const GdkEvent *event,
                                                          guint          *n_fingers);
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 gboolean       gdk_event_get_touchpad_deltas (const GdkEvent *event,
                                               double         *dx,
                                               double         *dy);
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 gboolean       gdk_event_get_touchpad_angle_delta (const GdkEvent *event,
                                                    double         *delta);
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 gboolean       gdk_event_get_touchpad_scale (const GdkEvent *event,
                                              double         *scale);
 
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 gboolean       gdk_event_get_touch_emulating_pointer (const GdkEvent *event,
                                                       gboolean       *emulating);
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 gboolean       gdk_event_get_grab_window (const GdkEvent  *event,
                                           GdkWindow      **window);
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 gboolean       gdk_event_get_focus_in (const GdkEvent *event,
                                        gboolean       *focus_in);
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 gboolean       gdk_event_get_pad_group_mode (const GdkEvent *event,
                                              guint          *group,
                                              guint          *mode);
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 gboolean       gdk_event_get_pad_button (const GdkEvent *event,
                                          guint          *button);
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 gboolean       gdk_event_get_pad_axis_value (const GdkEvent *event,
                                              guint          *index,
                                              gdouble        *value);
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 gboolean       gdk_event_get_axes      (GdkEvent  *event,
                                         gdouble  **axes,
                                         guint     *n_axes);
diff --git a/gdk/gdkframeclock.c b/gdk/gdkframeclock.c
index 5e32930..a1f20c4 100644
--- a/gdk/gdkframeclock.c
+++ b/gdk/gdkframeclock.c
@@ -265,7 +265,6 @@ gdk_frame_clock_init (GdkFrameClock *clock)
  * the actual previous frame time, or if that’s too old, an updated
  * time.
  *
- * Since: 3.8
  * Returns: a timestamp in microseconds, in the timescale of
  *  of g_get_monotonic_time().
  */
@@ -292,8 +291,6 @@ gdk_frame_clock_get_frame_time (GdkFrameClock *frame_clock)
  * you should use gdk_frame_clock_begin_updating() instead, since
  * this allows GTK+ to adjust system parameters to get maximally
  * smooth animations.
- *
- * Since: 3.8
  */
 void
 gdk_frame_clock_request_phase (GdkFrameClock      *frame_clock,
@@ -314,8 +311,6 @@ gdk_frame_clock_request_phase (GdkFrameClock      *frame_clock,
  * This function may be called multiple times and frames will be
  * requested until gdk_frame_clock_end_updating() is called the same
  * number of times.
- *
- * Since: 3.8
  */
 void
 gdk_frame_clock_begin_updating (GdkFrameClock *frame_clock)
@@ -331,8 +326,6 @@ gdk_frame_clock_begin_updating (GdkFrameClock *frame_clock)
  *
  * Stops updates for an animation. See the documentation for
  * gdk_frame_clock_begin_updating().
- *
- * Since: 3.8
  */
 void
 gdk_frame_clock_end_updating (GdkFrameClock *frame_clock)
@@ -369,7 +362,6 @@ _gdk_frame_clock_thaw (GdkFrameClock *clock)
  * Returns: inside frame processing, the value of the frame counter
  *  for the current frame. Outside of frame processing, the frame
  *   counter for the last frame.
- * Since: 3.8
  */
 gint64
 gdk_frame_clock_get_frame_counter (GdkFrameClock *frame_clock)
@@ -397,7 +389,6 @@ gdk_frame_clock_get_frame_counter (GdkFrameClock *frame_clock)
  * Returns: the frame counter value for the oldest frame
  *  that is available in the internal frame history of the
  *  #GdkFrameClock.
- * Since: 3.8
  */
 gint64
 gdk_frame_clock_get_history_start (GdkFrameClock *frame_clock)
@@ -452,7 +443,6 @@ _gdk_frame_clock_begin_frame (GdkFrameClock *frame_clock)
  * Returns: (nullable): the #GdkFrameTimings object for the specified
  *  frame, or %NULL if it is not available. See
  *  gdk_frame_clock_get_history_start().
- * Since: 3.8
  */
 GdkFrameTimings *
 gdk_frame_clock_get_timings (GdkFrameClock *frame_clock,
@@ -486,7 +476,6 @@ gdk_frame_clock_get_timings (GdkFrameClock *frame_clock,
  *  being processed, or even no frame is being processed, for the
  *  previous frame. Before any frames have been processed, returns
  *  %NULL.
- * Since: 3.8
  */
 GdkFrameTimings *
 gdk_frame_clock_get_current_timings (GdkFrameClock *frame_clock)
@@ -560,8 +549,6 @@ _gdk_frame_clock_debug_print_timings (GdkFrameClock   *clock,
  * presentation times are separated by the refresh interval,
  * predicts a presentation time that is a multiple of the refresh
  * interval after the last presentation time, and later than @base_time.
- *
- * Since: 3.8
  */
 void
 gdk_frame_clock_get_refresh_info (GdkFrameClock *frame_clock,
diff --git a/gdk/gdkframeclock.h b/gdk/gdkframeclock.h
index 6d7d94d..801af37 100644
--- a/gdk/gdkframeclock.h
+++ b/gdk/gdkframeclock.h
@@ -72,34 +72,34 @@ typedef enum {
   GDK_FRAME_CLOCK_PHASE_AFTER_PAINT   = 1 << 6
 } GdkFrameClockPhase;
 
-GDK_AVAILABLE_IN_3_8
+GDK_AVAILABLE_IN_ALL
 GType    gdk_frame_clock_get_type             (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_8
+GDK_AVAILABLE_IN_ALL
 gint64   gdk_frame_clock_get_frame_time            (GdkFrameClock *frame_clock);
 
-GDK_AVAILABLE_IN_3_8
+GDK_AVAILABLE_IN_ALL
 void               gdk_frame_clock_request_phase (GdkFrameClock      *frame_clock,
                                                   GdkFrameClockPhase  phase);
 
-GDK_AVAILABLE_IN_3_8
+GDK_AVAILABLE_IN_ALL
 void               gdk_frame_clock_begin_updating (GdkFrameClock      *frame_clock);
-GDK_AVAILABLE_IN_3_8
+GDK_AVAILABLE_IN_ALL
 void               gdk_frame_clock_end_updating   (GdkFrameClock      *frame_clock);
 
 /* Frame history */
-GDK_AVAILABLE_IN_3_8
+GDK_AVAILABLE_IN_ALL
 gint64           gdk_frame_clock_get_frame_counter (GdkFrameClock *frame_clock);
-GDK_AVAILABLE_IN_3_8
+GDK_AVAILABLE_IN_ALL
 gint64           gdk_frame_clock_get_history_start (GdkFrameClock *frame_clock);
-GDK_AVAILABLE_IN_3_8
+GDK_AVAILABLE_IN_ALL
 GdkFrameTimings *gdk_frame_clock_get_timings       (GdkFrameClock *frame_clock,
                                                     gint64         frame_counter);
 
-GDK_AVAILABLE_IN_3_8
+GDK_AVAILABLE_IN_ALL
 GdkFrameTimings *gdk_frame_clock_get_current_timings (GdkFrameClock *frame_clock);
 
-GDK_AVAILABLE_IN_3_8
+GDK_AVAILABLE_IN_ALL
 void gdk_frame_clock_get_refresh_info (GdkFrameClock *frame_clock,
                                        gint64         base_time,
                                        gint64        *refresh_interval_return,
diff --git a/gdk/gdkframetimings.c b/gdk/gdkframetimings.c
index 6fe08a3..797638d 100644
--- a/gdk/gdkframetimings.c
+++ b/gdk/gdkframetimings.c
@@ -79,7 +79,6 @@ _gdk_frame_timings_steal (GdkFrameTimings *timings,
  * Increases the reference count of @timings.
  *
  * Returns: @timings
- * Since: 3.8
  */
 GdkFrameTimings *
 gdk_frame_timings_ref (GdkFrameTimings *timings)
@@ -97,8 +96,6 @@ gdk_frame_timings_ref (GdkFrameTimings *timings)
  *
  * Decreases the reference count of @timings. If @timings
  * is no longer referenced, it will be freed.
- *
- * Since: 3.8
  */
 void
 gdk_frame_timings_unref (GdkFrameTimings *timings)
@@ -121,7 +118,6 @@ gdk_frame_timings_unref (GdkFrameTimings *timings)
  * this frame was drawn.
  *
  * Returns: the frame counter value for this frame
- * Since: 3.8
  */
 gint64
 gdk_frame_timings_get_frame_counter (GdkFrameTimings *timings)
@@ -145,7 +141,6 @@ gdk_frame_timings_get_frame_counter (GdkFrameTimings *timings)
  *
  * Returns: %TRUE if all information that will be available
  *  for the frame has been filled in.
- * Since: 3.8
  */
 gboolean
 gdk_frame_timings_get_complete (GdkFrameTimings *timings)
@@ -184,7 +179,6 @@ gdk_frame_timings_get_frame_time (GdkFrameTimings *timings)
  * Returns: the time the frame was displayed to the user, in the
  *  timescale of g_get_monotonic_time(), or 0 if no presentation
  *  time is available. See gdk_frame_timings_get_complete()
- * Since: 3.8
  */
 gint64
 gdk_frame_timings_get_presentation_time (GdkFrameTimings *timings)
@@ -211,7 +205,6 @@ gdk_frame_timings_get_presentation_time (GdkFrameTimings *timings)
  * Returns: The predicted time at which the frame will be presented,
  *  in the timescale of g_get_monotonic_time(), or 0 if no predicted
  *  presentation time is available.
- * Since: 3.8
  */
 gint64
 gdk_frame_timings_get_predicted_presentation_time (GdkFrameTimings *timings)
@@ -232,7 +225,6 @@ gdk_frame_timings_get_predicted_presentation_time (GdkFrameTimings *timings)
  * Returns: the refresh interval of the display, in microseconds,
  *  or 0 if the refresh interval is not available.
  *  See gdk_frame_timings_get_complete().
- * Since: 3.8
  */
 gint64
 gdk_frame_timings_get_refresh_interval (GdkFrameTimings *timings)
diff --git a/gdk/gdkframetimings.h b/gdk/gdkframetimings.h
index 93db908..cfe6435 100644
--- a/gdk/gdkframetimings.h
+++ b/gdk/gdkframetimings.h
@@ -29,26 +29,26 @@ G_BEGIN_DECLS
 
 typedef struct _GdkFrameTimings GdkFrameTimings;
 
-GDK_AVAILABLE_IN_3_8
+GDK_AVAILABLE_IN_ALL
 GType            gdk_frame_timings_get_type (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_8
+GDK_AVAILABLE_IN_ALL
 GdkFrameTimings *gdk_frame_timings_ref   (GdkFrameTimings *timings);
-GDK_AVAILABLE_IN_3_8
+GDK_AVAILABLE_IN_ALL
 void             gdk_frame_timings_unref (GdkFrameTimings *timings);
 
-GDK_AVAILABLE_IN_3_8
+GDK_AVAILABLE_IN_ALL
 gint64           gdk_frame_timings_get_frame_counter     (GdkFrameTimings *timings);
-GDK_AVAILABLE_IN_3_8
+GDK_AVAILABLE_IN_ALL
 gboolean         gdk_frame_timings_get_complete          (GdkFrameTimings *timings);
-GDK_AVAILABLE_IN_3_8
+GDK_AVAILABLE_IN_ALL
 gint64           gdk_frame_timings_get_frame_time        (GdkFrameTimings *timings);
-GDK_AVAILABLE_IN_3_8
+GDK_AVAILABLE_IN_ALL
 gint64           gdk_frame_timings_get_presentation_time (GdkFrameTimings *timings);
-GDK_AVAILABLE_IN_3_8
+GDK_AVAILABLE_IN_ALL
 gint64           gdk_frame_timings_get_refresh_interval  (GdkFrameTimings *timings);
 
-GDK_AVAILABLE_IN_3_8
+GDK_AVAILABLE_IN_ALL
 gint64           gdk_frame_timings_get_predicted_presentation_time (GdkFrameTimings *timings);
 
 G_END_DECLS
diff --git a/gdk/gdkgl.c b/gdk/gdkgl.c
index cf0fbd5..5e9b9cc 100644
--- a/gdk/gdkgl.c
+++ b/gdk/gdkgl.c
@@ -324,8 +324,6 @@ gdk_gl_texture_quads (GdkGLContext *paint_context,
  * with alpha components, so make sure you use #GL_TEXTURE if using alpha.
  *
  * Calling this may change the current GL context.
- *
- * Since: 3.16
  */
 void
 gdk_cairo_draw_from_gl (cairo_t              *cr,
@@ -576,8 +574,6 @@ gdk_gl_texture_from_surface (cairo_surface_t *surface,
  *   bound context
  *
  * Uploads the contents of a Cairo @surface to a GL texture @target.
- *
- * Since: 3.90
  */
 void
 gdk_cairo_surface_upload_to_gl (cairo_surface_t *surface,
diff --git a/gdk/gdkglcontext.c b/gdk/gdkglcontext.c
index 64d7297..f82a240 100644
--- a/gdk/gdkglcontext.c
+++ b/gdk/gdkglcontext.c
@@ -342,8 +342,6 @@ gdk_gl_context_class_init (GdkGLContextClass *klass)
    * GdkGLContext:shared-context:
    *
    * The #GdkGLContext that this context is sharing data with, or %NULL
-   *
-   * Since: 3.16
    */
   obj_pspecs[PROP_SHARED_CONTEXT] =
     g_param_spec_object ("shared-context",
@@ -446,8 +444,6 @@ gdk_gl_context_has_unpack_subimage (GdkGLContext *context)
  *
  * The #GdkGLContext must not be realized or made current prior to
  * calling this function.
- *
- * Since: 3.16
  */
 void
 gdk_gl_context_set_debug_enabled (GdkGLContext *context,
@@ -470,8 +466,6 @@ gdk_gl_context_set_debug_enabled (GdkGLContext *context,
  * Retrieves the value set using gdk_gl_context_set_debug_enabled().
  *
  * Returns: %TRUE if debugging is enabled
- *
- * Since: 3.16
  */
 gboolean
 gdk_gl_context_get_debug_enabled (GdkGLContext *context)
@@ -497,8 +491,6 @@ gdk_gl_context_get_debug_enabled (GdkGLContext *context)
  *
  * The #GdkGLContext must not be realized or made current prior to calling
  * this function.
- *
- * Since: 3.16
  */
 void
 gdk_gl_context_set_forward_compatible (GdkGLContext *context,
@@ -521,8 +513,6 @@ gdk_gl_context_set_forward_compatible (GdkGLContext *context,
  * Retrieves the value set using gdk_gl_context_set_forward_compatible().
  *
  * Returns: %TRUE if the context should be forward compatible
- *
- * Since: 3.16
  */
 gboolean
 gdk_gl_context_get_forward_compatible (GdkGLContext *context)
@@ -546,8 +536,6 @@ gdk_gl_context_get_forward_compatible (GdkGLContext *context)
  *
  * The #GdkGLContext must not be realized or made current prior to calling
  * this function.
- *
- * Since: 3.16
  */
 void
 gdk_gl_context_set_required_version (GdkGLContext *context,
@@ -596,8 +584,6 @@ gdk_gl_context_set_required_version (GdkGLContext *context,
  *
  * Retrieves the major and minor version requested by calling
  * gdk_gl_context_set_required_version().
- *
- * Since: 3.16
  */
 void
 gdk_gl_context_get_required_version (GdkGLContext *context,
@@ -662,8 +648,6 @@ gdk_gl_context_get_required_version (GdkGLContext *context,
  * kind of shader programs to load.
  *
  * Returns: %TRUE if the GL context is in legacy mode
- *
- * Since: 3.20
  */
 gboolean
 gdk_gl_context_is_legacy (GdkGLContext *context)
@@ -703,8 +687,6 @@ gdk_gl_context_set_is_legacy (GdkGLContext *context,
  * You should check the return value of gdk_gl_context_get_use_es() after
  * calling gdk_gl_context_realize() to decide whether to use the OpenGL or
  * OpenGL ES API, extensions, or shaders.
- *
- * Since: 3.22
  */
 void
 gdk_gl_context_set_use_es (GdkGLContext *context,
@@ -726,8 +708,6 @@ gdk_gl_context_set_use_es (GdkGLContext *context,
  * Checks whether the @context is using an OpenGL or OpenGL ES profile.
  *
  * Returns: %TRUE if the #GdkGLContext is using an OpenGL ES profile
- *
- * Since: 3.22
  */
 gboolean
 gdk_gl_context_get_use_es (GdkGLContext *context)
@@ -752,8 +732,6 @@ gdk_gl_context_get_use_es (GdkGLContext *context)
  * It is safe to call this function on a realized #GdkGLContext.
  *
  * Returns: %TRUE if the context is realized
- *
- * Since: 3.16
  */
 gboolean
 gdk_gl_context_realize (GdkGLContext  *context,
@@ -857,8 +835,6 @@ gdk_gl_context_check_extensions (GdkGLContext *context)
  * @context: a #GdkGLContext
  *
  * Makes the @context the current one.
- *
- * Since: 3.16
  */
 void
 gdk_gl_context_make_current (GdkGLContext *context)
@@ -900,8 +876,6 @@ gdk_gl_context_make_current (GdkGLContext *context)
  * Retrieves the #GdkDisplay the @context is created for
  *
  * Returns: (nullable) (transfer none): a #GdkDisplay or %NULL
- *
- * Since: 3.16
  */
 GdkDisplay *
 gdk_gl_context_get_display (GdkGLContext *context)
@@ -918,8 +892,6 @@ gdk_gl_context_get_display (GdkGLContext *context)
  * Retrieves the #GdkWindow used by the @context.
  *
  * Returns: (nullable) (transfer none): a #GdkWindow or %NULL
- *
- * Since: 3.16
  */
 GdkWindow *
 gdk_gl_context_get_window (GdkGLContext *context)
@@ -936,8 +908,6 @@ gdk_gl_context_get_window (GdkGLContext *context)
  * Retrieves the #GdkGLContext that this @context share data with.
  *
  * Returns: (nullable) (transfer none): a #GdkGLContext or %NULL
- *
- * Since: 3.16
  */
 GdkGLContext *
 gdk_gl_context_get_shared_context (GdkGLContext *context)
@@ -958,8 +928,6 @@ gdk_gl_context_get_shared_context (GdkGLContext *context)
  * Retrieves the OpenGL version of the @context.
  *
  * The @context must be realized prior to calling this function.
- *
- * Since: 3.16
  */
 void
 gdk_gl_context_get_version (GdkGLContext *context,
@@ -984,8 +952,6 @@ gdk_gl_context_get_version (GdkGLContext *context,
  *
  * Any OpenGL call after this function returns will be ignored
  * until gdk_gl_context_make_current() is called.
- *
- * Since: 3.16
  */
 void
 gdk_gl_context_clear_current (void)
@@ -1006,8 +972,6 @@ gdk_gl_context_clear_current (void)
  * Retrieves the current #GdkGLContext.
  *
  * Returns: (nullable) (transfer none): the current #GdkGLContext, or %NULL
- *
- * Since: 3.16
  */
 GdkGLContext *
 gdk_gl_context_get_current (void)
diff --git a/gdk/gdkglcontext.h b/gdk/gdkglcontext.h
index 2c22fb7..f338a75 100644
--- a/gdk/gdkglcontext.h
+++ b/gdk/gdkglcontext.h
@@ -36,60 +36,60 @@ G_BEGIN_DECLS
 
 #define GDK_GL_ERROR       (gdk_gl_error_quark ())
 
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 GQuark gdk_gl_error_quark (void);
 
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 GType gdk_gl_context_get_type (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 GdkDisplay *            gdk_gl_context_get_display              (GdkGLContext  *context);
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 GdkWindow *             gdk_gl_context_get_window               (GdkGLContext  *context);
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 GdkGLContext *          gdk_gl_context_get_shared_context       (GdkGLContext  *context);
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 void                    gdk_gl_context_get_version              (GdkGLContext  *context,
                                                                  int           *major,
                                                                  int           *minor);
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 gboolean                gdk_gl_context_is_legacy                (GdkGLContext  *context);
 
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 void                    gdk_gl_context_set_required_version     (GdkGLContext  *context,
                                                                  int            major,
                                                                  int            minor);
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 void                    gdk_gl_context_get_required_version     (GdkGLContext  *context,
                                                                  int           *major,
                                                                  int           *minor);
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 void                    gdk_gl_context_set_debug_enabled        (GdkGLContext  *context,
                                                                  gboolean       enabled);
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 gboolean                gdk_gl_context_get_debug_enabled        (GdkGLContext  *context);
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 void                    gdk_gl_context_set_forward_compatible   (GdkGLContext  *context,
                                                                  gboolean       compatible);
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 gboolean                gdk_gl_context_get_forward_compatible   (GdkGLContext  *context);
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 void                    gdk_gl_context_set_use_es               (GdkGLContext  *context,
                                                                  int            use_es);
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 gboolean                gdk_gl_context_get_use_es               (GdkGLContext  *context);
 
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 gboolean                gdk_gl_context_realize                  (GdkGLContext  *context,
                                                                  GError       **error);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 cairo_region_t *        gdk_gl_context_get_damage               (GdkGLContext  *context);
 
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 void                    gdk_gl_context_make_current             (GdkGLContext  *context);
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 GdkGLContext *          gdk_gl_context_get_current              (void);
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 void                    gdk_gl_context_clear_current            (void);
 
 G_END_DECLS
diff --git a/gdk/gdkkeys.c b/gdk/gdkkeys.c
index 108e3b6..d8096b4 100644
--- a/gdk/gdkkeys.c
+++ b/gdk/gdkkeys.c
@@ -178,8 +178,6 @@ gdk_keymap_class_init (GdkKeymapClass *klass)
    *
    * The ::direction-changed signal gets emitted when the direction of
    * the keymap changes.
-   *
-   * Since: 2.0
    */
   signals[DIRECTION_CHANGED] =
     g_signal_new (g_intern_static_string ("direction-changed"),
@@ -196,8 +194,6 @@ gdk_keymap_class_init (GdkKeymapClass *klass)
    *
    * The ::keys-changed signal is emitted when the mapping represented by
    * @keymap changes.
-   *
-   * Since: 2.2
    */
   signals[KEYS_CHANGED] =
     g_signal_new (g_intern_static_string ("keys-changed"),
@@ -216,8 +212,6 @@ gdk_keymap_class_init (GdkKeymapClass *klass)
    * The ::state-changed signal is emitted when the state of the
    * keyboard changes, e.g when Caps Lock is turned on or off.
    * See gdk_keymap_get_caps_lock_state().
-   *
-   * Since: 2.16
    */
   signals[STATE_CHANGED] =
     g_signal_new (g_intern_static_string ("state-changed"),
@@ -362,8 +356,6 @@ gdk_keymap_get_direction (GdkKeymap *keymap)
  * languages are in use.
  *
  * Returns: %TRUE if there are layouts in both directions, %FALSE otherwise
- *
- * Since: 2.12
  **/
 gboolean
 gdk_keymap_have_bidi_layouts (GdkKeymap *keymap)
@@ -380,8 +372,6 @@ gdk_keymap_have_bidi_layouts (GdkKeymap *keymap)
  * Returns whether the Caps Lock modifer is locked.
  *
  * Returns: %TRUE if Caps Lock is on
- *
- * Since: 2.16
  */
 gboolean
 gdk_keymap_get_caps_lock_state (GdkKeymap *keymap)
@@ -398,8 +388,6 @@ gdk_keymap_get_caps_lock_state (GdkKeymap *keymap)
  * Returns whether the Num Lock modifer is locked.
  *
  * Returns: %TRUE if Num Lock is on
- *
- * Since: 3.0
  */
 gboolean
 gdk_keymap_get_num_lock_state (GdkKeymap *keymap)
@@ -416,8 +404,6 @@ gdk_keymap_get_num_lock_state (GdkKeymap *keymap)
  * Returns whether the Scroll Lock modifer is locked.
  *
  * Returns: %TRUE if Scroll Lock is on
- *
- * Since: 3.18
  */
 gboolean
 gdk_keymap_get_scroll_lock_state (GdkKeymap *keymap)
@@ -434,8 +420,6 @@ gdk_keymap_get_scroll_lock_state (GdkKeymap *keymap)
  * Returns the current modifier state.
  *
  * Returns: the current modifier state.
- *
- * Since: 3.4
  */
 guint
 gdk_keymap_get_modifier_state (GdkKeymap *keymap)
@@ -641,8 +625,6 @@ gdk_keymap_translate_keyboard_state (GdkKeymap       *keymap,
  *
  * This function is useful when matching key events against
  * accelerators.
- *
- * Since: 2.20
  */
 void
 gdk_keymap_add_virtual_modifiers (GdkKeymap       *keymap,
@@ -669,8 +651,6 @@ gdk_keymap_add_virtual_modifiers (GdkKeymap       *keymap,
  *     same non-virtual modifier. Note that %FALSE is also returned
  *     if a virtual modifier is mapped to a non-virtual modifier that
  *     was already set in @state.
- *
- * Since: 2.20
  */
 gboolean
 gdk_keymap_map_virtual_modifiers (GdkKeymap       *keymap,
@@ -730,8 +710,6 @@ gdk_keymap_real_get_modifier_mask (GdkKeymap         *keymap,
  * expected result.
  *
  * Returns: the modifier mask used for @intent.
- *
- * Since: 3.4
  **/
 GdkModifierType
 gdk_keymap_get_modifier_mask (GdkKeymap         *keymap,
diff --git a/gdk/gdkkeys.h b/gdk/gdkkeys.h
index afb11b3..d6a0f0c 100644
--- a/gdk/gdkkeys.h
+++ b/gdk/gdkkeys.h
@@ -80,7 +80,7 @@ struct _GdkKeymapKey
 GDK_AVAILABLE_IN_ALL
 GType gdk_keymap_get_type (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GdkDisplay *   gdk_keymap_get_display              (GdkKeymap           *keymap);
 
 GDK_AVAILABLE_IN_ALL
@@ -115,9 +115,9 @@ GDK_AVAILABLE_IN_ALL
 gboolean       gdk_keymap_get_caps_lock_state      (GdkKeymap           *keymap);
 GDK_AVAILABLE_IN_ALL
 gboolean       gdk_keymap_get_num_lock_state       (GdkKeymap           *keymap);
-GDK_AVAILABLE_IN_3_18
+GDK_AVAILABLE_IN_ALL
 gboolean       gdk_keymap_get_scroll_lock_state    (GdkKeymap           *keymap);
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 guint          gdk_keymap_get_modifier_state       (GdkKeymap           *keymap);
 GDK_AVAILABLE_IN_ALL
 void           gdk_keymap_add_virtual_modifiers    (GdkKeymap           *keymap,
@@ -125,7 +125,7 @@ void           gdk_keymap_add_virtual_modifiers    (GdkKeymap           *keymap,
 GDK_AVAILABLE_IN_ALL
 gboolean       gdk_keymap_map_virtual_modifiers    (GdkKeymap           *keymap,
                                                     GdkModifierType     *state);
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 GdkModifierType gdk_keymap_get_modifier_mask       (GdkKeymap           *keymap,
                                                     GdkModifierIntent    intent);
 
diff --git a/gdk/gdkmonitor.c b/gdk/gdkmonitor.c
index 6ae8696..b1502e9 100644
--- a/gdk/gdkmonitor.c
+++ b/gdk/gdkmonitor.c
@@ -277,7 +277,6 @@ gdk_monitor_class_init (GdkMonitorClass *class)
  * Gets the display that this monitor belongs to.
  *
  * Returns: (transfer none): the display
- * Since: 3.22
  */
 GdkDisplay *
 gdk_monitor_get_display (GdkMonitor *monitor)
@@ -295,8 +294,6 @@ gdk_monitor_get_display (GdkMonitor *monitor)
  * Retrieves the size and position of an individual monitor within the
  * display coordinate space. The returned geometry is in  ”application pixels”,
  * not in ”device pixels” (see gdk_monitor_get_scale_factor()).
- *
- * Since: 3.22
  */
 void
 gdk_monitor_get_geometry (GdkMonitor   *monitor,
@@ -326,8 +323,6 @@ gdk_monitor_get_geometry (GdkMonitor   *monitor,
  * Note that not all backends may have a concept of workarea. This
  * function will return the monitor geometry if a workarea is not
  * available, or does not apply.
- *
- * Since: 3.22
  */
 void
 gdk_monitor_get_workarea (GdkMonitor   *monitor,
@@ -349,8 +344,6 @@ gdk_monitor_get_workarea (GdkMonitor   *monitor,
  * Gets the width in millimeters of the monitor.
  *
  * Returns: the physical width of the monitor
- *
- * Since: 3.22
  */
 int
 gdk_monitor_get_width_mm (GdkMonitor *monitor)
@@ -367,7 +360,6 @@ gdk_monitor_get_width_mm (GdkMonitor *monitor)
  * Gets the height in millimeters of the monitor.
  *
  * Returns: the physical height of the monitor
- * Since: 3.22
  */
 int
 gdk_monitor_get_height_mm (GdkMonitor *monitor)
@@ -422,7 +414,6 @@ gdk_monitor_get_model (GdkMonitor *monitor)
  * where it is better to use gdk_window_get_scale_factor() instead.
  *
  * Returns: the scale factor
- * Since: 3.22
  */
 int
 gdk_monitor_get_scale_factor (GdkMonitor *monitor)
@@ -442,7 +433,6 @@ gdk_monitor_get_scale_factor (GdkMonitor *monitor)
  * is returned as 60000.
  *
  * Returns: the refresh rate in milli-Hertz, or 0
- * Since: 3.22
  */
 int
 gdk_monitor_get_refresh_rate (GdkMonitor *monitor)
@@ -460,7 +450,6 @@ gdk_monitor_get_refresh_rate (GdkMonitor *monitor)
  * primaries for each pixel in this monitor, if available.
  *
  * Returns: the subpixel layout
- * Since: 3.22
  */
 GdkSubpixelLayout
 gdk_monitor_get_subpixel_layout (GdkMonitor *monitor)
@@ -478,7 +467,6 @@ gdk_monitor_get_subpixel_layout (GdkMonitor *monitor)
  * (see gdk_display_get_primary_monitor()).
  *
  * Returns: %TRUE if @monitor is primary
- * Since: 3.22
  */
 gboolean
 gdk_monitor_is_primary (GdkMonitor *monitor)
@@ -635,8 +623,6 @@ gdk_monitor_invalidate (GdkMonitor *monitor)
  * physical monitor is unplugged or removed.
  *
  * Returns: %TRUE if the object corresponds to a physical monitor
- *
- * Since: 3.94
  */
 gboolean
 gdk_monitor_is_valid (GdkMonitor *monitor)
diff --git a/gdk/gdkmonitor.h b/gdk/gdkmonitor.h
index 887bbbd..fe68365 100644
--- a/gdk/gdkmonitor.h
+++ b/gdk/gdkmonitor.h
@@ -62,34 +62,34 @@ typedef enum {
   GDK_SUBPIXEL_LAYOUT_VERTICAL_BGR
 } GdkSubpixelLayout;
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 GType             gdk_monitor_get_type            (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 GdkDisplay  *     gdk_monitor_get_display         (GdkMonitor   *monitor);
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 void              gdk_monitor_get_geometry        (GdkMonitor   *monitor,
                                                    GdkRectangle *geometry);
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 void              gdk_monitor_get_workarea        (GdkMonitor   *monitor,
                                                    GdkRectangle *workarea);
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 int               gdk_monitor_get_width_mm        (GdkMonitor   *monitor);
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 int               gdk_monitor_get_height_mm       (GdkMonitor   *monitor);
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 const char *      gdk_monitor_get_manufacturer    (GdkMonitor   *monitor);
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 const char *      gdk_monitor_get_model           (GdkMonitor   *monitor);
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 int               gdk_monitor_get_scale_factor    (GdkMonitor   *monitor);
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 int               gdk_monitor_get_refresh_rate    (GdkMonitor   *monitor);
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 GdkSubpixelLayout gdk_monitor_get_subpixel_layout (GdkMonitor   *monitor);
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 gboolean          gdk_monitor_is_primary          (GdkMonitor   *monitor);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 gboolean          gdk_monitor_is_valid            (GdkMonitor   *monitor);
 
 G_END_DECLS
diff --git a/gdk/gdkrectangle.c b/gdk/gdkrectangle.c
index 9dab82c..641d093 100644
--- a/gdk/gdkrectangle.c
+++ b/gdk/gdkrectangle.c
@@ -145,8 +145,6 @@ gdk_rectangle_intersect (const GdkRectangle *src1,
  * Returns #TRUE if @rect contains the point described by @x and @y.
  *
  * Returns: #TRUE if @rect contains the point
- *
- * Since: 3.92
  **/
 gboolean
 gdk_rectangle_contains_point (const GdkRectangle *rect,
@@ -169,8 +167,6 @@ gdk_rectangle_contains_point (const GdkRectangle *rect,
  * Checks if the two given rectangles are equal.
  *
  * Returns: %TRUE if the rectangles are equal.
- *
- * Since: 3.20
  */
 gboolean
 gdk_rectangle_equal (const GdkRectangle *rect1,
diff --git a/gdk/gdkrectangle.h b/gdk/gdkrectangle.h
index 244339d..3b6349c 100644
--- a/gdk/gdkrectangle.h
+++ b/gdk/gdkrectangle.h
@@ -45,11 +45,11 @@ void     gdk_rectangle_union     (const GdkRectangle *src1,
                                   const GdkRectangle *src2,
                                   GdkRectangle       *dest);
 
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 gboolean gdk_rectangle_equal     (const GdkRectangle *rect1,
                                   const GdkRectangle *rect2);
 
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 gboolean gdk_rectangle_contains_point (const GdkRectangle *rect,
                                        int                 x,
                                        int                 y);
diff --git a/gdk/gdkrgba.c b/gdk/gdkrgba.c
index 8ed5768..833396b 100644
--- a/gdk/gdkrgba.c
+++ b/gdk/gdkrgba.c
@@ -67,8 +67,6 @@ G_DEFINE_BOXED_TYPE (GdkRGBA, gdk_rgba,
  * The result must be freed through gdk_rgba_free().
  *
  * Returns: A newly allocated #GdkRGBA, with the same contents as @rgba
- *
- * Since: 3.0
  */
 GdkRGBA *
 gdk_rgba_copy (const GdkRGBA *rgba)
@@ -81,8 +79,6 @@ gdk_rgba_copy (const GdkRGBA *rgba)
  * @rgba: a #GdkRGBA
  *
  * Frees a #GdkRGBA created with gdk_rgba_copy()
- *
- * Since: 3.0
  */
 void
 gdk_rgba_free (GdkRGBA *rgba)
@@ -98,8 +94,6 @@ gdk_rgba_free (GdkRGBA *rgba)
  * would not produce any change.
  *
  * Returns: %TRUE if the @rgba is clear
- *
- * Since: 3.90
  */
 gboolean
 gdk_rgba_is_clear (const GdkRGBA *rgba)
@@ -115,8 +109,6 @@ gdk_rgba_is_clear (const GdkRGBA *rgba)
  * will not retain any results from previous contents.
  *
  * Returns: %TRUE if the @rgba is opaque
- *
- * Since: 3.90
  */
 gboolean
 gdk_rgba_is_opaque (const GdkRGBA *rgba)
@@ -188,8 +180,6 @@ parse_rgb_value (const gchar  *str,
  * a is a floating point value in the range 0 to 1.
  *
  * Returns: %TRUE if the parsing succeeded
- *
- * Since: 3.0
  */
 gboolean
 gdk_rgba_parse (GdkRGBA     *rgba,
@@ -319,8 +309,6 @@ gdk_rgba_parse (GdkRGBA     *rgba,
  * table that stores #GdkRGBAs.
  *
  * Returns: The hash value for @p
- *
- * Since: 3.0
  */
 guint
 gdk_rgba_hash (gconstpointer p)
@@ -341,8 +329,6 @@ gdk_rgba_hash (gconstpointer p)
  * Compares two RGBA colors.
  *
  * Returns: %TRUE if the two colors compare equal
- *
- * Since: 3.0
  */
 gboolean
 gdk_rgba_equal (gconstpointer p1,
@@ -383,8 +369,6 @@ gdk_rgba_equal (gconstpointer p1,
  * different representation.
  *
  * Returns: A newly allocated text string
- *
- * Since: 3.0
  */
 gchar *
 gdk_rgba_to_string (const GdkRGBA *rgba)
diff --git a/gdk/gdkrgba.h b/gdk/gdkrgba.h
index 3a9e85c..7a4e458 100644
--- a/gdk/gdkrgba.h
+++ b/gdk/gdkrgba.h
@@ -52,9 +52,9 @@ GdkRGBA * gdk_rgba_copy      (const GdkRGBA *rgba);
 GDK_AVAILABLE_IN_ALL
 void      gdk_rgba_free      (GdkRGBA       *rgba);
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 gboolean  gdk_rgba_is_clear  (const GdkRGBA *rgba);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 gboolean  gdk_rgba_is_opaque (const GdkRGBA *rgba);
 
 GDK_AVAILABLE_IN_ALL
diff --git a/gdk/gdkseat.c b/gdk/gdkseat.c
index c0b7290..e193187 100644
--- a/gdk/gdkseat.c
+++ b/gdk/gdkseat.c
@@ -122,8 +122,6 @@ gdk_seat_class_init (GdkSeatClass *klass)
    *
    * The ::device-added signal is emitted when a new input
    * device is related to this seat.
-   *
-   * Since: 3.20
    */
   signals [DEVICE_ADDED] =
     g_signal_new (g_intern_static_string ("device-added"),
@@ -142,8 +140,6 @@ gdk_seat_class_init (GdkSeatClass *klass)
    *
    * The ::device-removed signal is emitted when an
    * input device is removed (e.g. unplugged).
-   *
-   * Since: 3.20
    */
   signals [DEVICE_REMOVED] =
     g_signal_new (g_intern_static_string ("device-removed"),
@@ -166,8 +162,6 @@ gdk_seat_class_init (GdkSeatClass *klass)
    * will emit the #GdkDevice::tool-changed signal accordingly.
    *
    * A same tool may be used by several devices.
-   *
-   * Since: 3.22
    */
   signals [TOOL_ADDED] =
     g_signal_new (g_intern_static_string ("tool-added"),
@@ -185,8 +179,6 @@ gdk_seat_class_init (GdkSeatClass *klass)
    *
    * This signal is emitted whenever a tool is no longer known
    * to this @seat.
-   *
-   * Since: 3.22
    */
   signals [TOOL_REMOVED] =
     g_signal_new (g_intern_static_string ("tool-removed"),
@@ -201,8 +193,6 @@ gdk_seat_class_init (GdkSeatClass *klass)
    * GdkSeat:display:
    *
    * #GdkDisplay of this seat.
-   *
-   * Since: 3.20
    */
   props[PROP_DISPLAY] =
     g_param_spec_object ("display",
@@ -228,8 +218,6 @@ gdk_seat_init (GdkSeat *seat)
  * Returns the capabilities this #GdkSeat currently has.
  *
  * Returns: the seat capabilities
- *
- * Since: 3.20
  **/
 GdkSeatCapabilities
 gdk_seat_get_capabilities (GdkSeat *seat)
@@ -290,8 +278,6 @@ gdk_seat_get_capabilities (GdkSeat *seat)
  * events that are emitted when the grab ends unvoluntarily.
  *
  * Returns: %GDK_GRAB_SUCCESS if the grab was successful.
- *
- * Since: 3.20
  **/
 GdkGrabStatus
 gdk_seat_grab (GdkSeat                *seat,
@@ -322,8 +308,6 @@ gdk_seat_grab (GdkSeat                *seat,
  * @seat: a #GdkSeat
  *
  * Releases a grab added through gdk_seat_grab().
- *
- * Since: 3.20
  **/
 void
 gdk_seat_ungrab (GdkSeat *seat)
@@ -346,8 +330,6 @@ gdk_seat_ungrab (GdkSeat *seat)
  * Returns: (transfer container) (element-type GdkDevice): A list of #GdkDevices.
  *          The list must be freed with g_list_free(), the elements are owned
  *          by GDK and must not be freed.
- *
- * Since: 3.20
  **/
 GList *
 gdk_seat_get_slaves (GdkSeat             *seat,
@@ -369,8 +351,6 @@ gdk_seat_get_slaves (GdkSeat             *seat,
  *
  * Returns: (transfer none) (nullable): a master #GdkDevice with pointer
  *          capabilities. This object is owned by GTK+ and must not be freed.
- *
- * Since: 3.20
  **/
 GdkDevice *
 gdk_seat_get_pointer (GdkSeat *seat)
@@ -391,8 +371,6 @@ gdk_seat_get_pointer (GdkSeat *seat)
  *
  * Returns: (transfer none) (nullable): a master #GdkDevice with keyboard
  *          capabilities. This object is owned by GTK+ and must not be freed.
- *
- * Since: 3.20
  **/
 GdkDevice *
 gdk_seat_get_keyboard (GdkSeat *seat)
@@ -480,8 +458,6 @@ gdk_seat_get_tool (GdkSeat *seat,
  *
  * Returns: (transfer container) (element-type GdkDevice): A list
  * of master pointing devices
- *
- * Since: 3.93.
  */
 GList *
 gdk_seat_get_master_pointers (GdkSeat             *seat,
diff --git a/gdk/gdkseat.h b/gdk/gdkseat.h
index c7bc64d..3556323 100644
--- a/gdk/gdkseat.h
+++ b/gdk/gdkseat.h
@@ -83,10 +83,10 @@ struct _GdkSeat
   GObject parent_instance;
 };
 
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 GType          gdk_seat_get_type         (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 GdkGrabStatus  gdk_seat_grab             (GdkSeat                *seat,
                                           GdkWindow              *window,
                                           GdkSeatCapabilities     capabilities,
@@ -95,26 +95,26 @@ GdkGrabStatus  gdk_seat_grab             (GdkSeat                *seat,
                                           const GdkEvent         *event,
                                           GdkSeatGrabPrepareFunc  prepare_func,
                                           gpointer                prepare_func_data);
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 void           gdk_seat_ungrab           (GdkSeat                *seat);
 
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 GdkDisplay *   gdk_seat_get_display      (GdkSeat             *seat);
 
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 GdkSeatCapabilities
                gdk_seat_get_capabilities (GdkSeat             *seat);
 
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 GList *        gdk_seat_get_slaves       (GdkSeat             *seat,
                                           GdkSeatCapabilities  capabilities);
 
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 GdkDevice *    gdk_seat_get_pointer      (GdkSeat             *seat);
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 GdkDevice *    gdk_seat_get_keyboard     (GdkSeat             *seat);
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GList *        gdk_seat_get_master_pointers (GdkSeat             *seat,
                                              GdkSeatCapabilities  capabilities);
 
diff --git a/gdk/gdkselection.c b/gdk/gdkselection.c
index 23674b7..39e4d0e 100644
--- a/gdk/gdkselection.c
+++ b/gdk/gdkselection.c
@@ -44,8 +44,6 @@
  * a list of UTF-8 strings.
  *
  * Returns: the number of strings in the resulting list
- *
- * Since: 2.2
  */
 gint
 gdk_text_property_to_utf8_list_for_display (GdkDisplay     *display,
diff --git a/gdk/gdktexture.c b/gdk/gdktexture.c
index a8afe84..dd3d0d7 100644
--- a/gdk/gdktexture.c
+++ b/gdk/gdktexture.c
@@ -61,8 +61,6 @@
  * GdkTexture:
  *
  * The `GdkTexture` structure contains only private data.
- *
- * Since: 3.94
  */
 
 enum {
@@ -177,8 +175,6 @@ gdk_texture_class_init (GdkTextureClass *klass)
    * GdkTexture:width:
    *
    * The width of the texture.
-   *
-   * Since: 3.94
    */
   properties[PROP_WIDTH] =
     g_param_spec_int ("width",
@@ -196,8 +192,6 @@ gdk_texture_class_init (GdkTextureClass *klass)
    * GdkTexture:height:
    *
    * The height of the texture.
-   *
-   * Since: 3.94
    */
   properties[PROP_HEIGHT] =
     g_param_spec_int ("height",
@@ -306,8 +300,6 @@ gdk_cairo_texture_init (GdkCairoTexture *self)
  * The data is assumed to be in CAIRO_FORMAT_ARGB32 format.
  *
  * Returns: a new #GdkTexture
- *
- * Since: 3.94
  */
 GdkTexture *
 gdk_texture_new_for_data (const guchar *data,
@@ -347,8 +339,6 @@ gdk_texture_new_for_data (const guchar *data,
  * @surface must be an image surface with format CAIRO_FORMAT_ARGB32.
  *
  * Returns: a new #GdkTexture
- *
- * Since: 3.94
  */
 GdkTexture *
 gdk_texture_new_for_surface (cairo_surface_t *surface)
@@ -556,8 +546,6 @@ gdk_gl_texture_get_id (GdkGLTexture *self)
  * The texture contents are still available via the
  * gdk_texture_download() function, after this function
  * has been called.
- *
- * Since: 3.94
  */
 void
 gdk_texture_release_gl (GdkTexture *texture)
@@ -601,8 +589,6 @@ gdk_texture_release_gl (GdkTexture *texture)
  * Creates a new texture object representing the GdkPixbuf.
  *
  * Returns: a new #GdkTexture
- *
- * Since: 3.94
  */
 GdkTexture *
 gdk_texture_new_for_pixbuf (GdkPixbuf *pixbuf)
@@ -634,8 +620,6 @@ gdk_texture_new_for_pixbuf (GdkPixbuf *pixbuf)
  * gdk_texture_new_from_file() to load it.
  *
  * Return value: A newly-created texture
- *
- * Since: 3.94
  */
 GdkTexture *
 gdk_texture_new_from_resource (const char *resource_path)
@@ -665,8 +649,6 @@ gdk_texture_new_from_resource (const char *resource_path)
  * detected automatically. If %NULL is returned, then @error will be set.
  *
  * Return value: A newly-created #GdkTexture or %NULL if an error occured.
- *
- * Since: 3.94
  **/
 GdkTexture *
 gdk_texture_new_from_file (GFile   *file,
@@ -711,8 +693,6 @@ gdk_texture_new_from_file (GFile   *file,
  * an explicit call of gdk_texture_release_gl().
  *
  * Return value: A newly-created #GdkTexture
- *
- * Since: 3.94
  **/
 GdkTexture *
 gdk_texture_new_for_gl (GdkGLContext   *context,
@@ -749,8 +729,6 @@ gdk_texture_new_for_gl (GdkGLContext   *context,
  * Returns the width of @texture.
  *
  * Returns: the width of the #GdkTexture
- *
- * Since: 3.94
  */
 int
 gdk_texture_get_width (GdkTexture *texture)
@@ -767,8 +745,6 @@ gdk_texture_get_width (GdkTexture *texture)
  * Returns the height of the @texture.
  *
  * Returns: the height of the #GdkTexture
- *
- * Since: 3.94
  */
 int
 gdk_texture_get_height (GdkTexture *texture)
@@ -809,8 +785,6 @@ gdk_texture_download_surface (GdkTexture *texture)
  *                       cairo_image_surface_get_stride (surface));
  * cairo_surface_mark_dirty (surface);
  * ]|
- *
- * Since: 3.94
  **/
 void
 gdk_texture_download (GdkTexture *texture,
diff --git a/gdk/gdktexture.h b/gdk/gdktexture.h
index c35820c..ea04fc1 100644
--- a/gdk/gdktexture.h
+++ b/gdk/gdktexture.h
@@ -40,23 +40,23 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkTexture, g_object_unref)
 typedef struct _GdkTextureClass        GdkTextureClass;
 
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GType                   gdk_texture_get_type                   (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GdkTexture *            gdk_texture_new_for_data               (const guchar    *data,
                                                                 int              width,
                                                                 int              height,
                                                                 int              stride);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GdkTexture *            gdk_texture_new_for_pixbuf             (GdkPixbuf       *pixbuf);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GdkTexture *            gdk_texture_new_from_resource          (const char      *resource_path);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GdkTexture *            gdk_texture_new_from_file              (GFile           *file,
                                                                 GError         **error);
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GdkTexture *            gdk_texture_new_for_gl                 (GdkGLContext    *context,
                                                                 guint            id,
                                                                 int              width,
@@ -64,15 +64,15 @@ GdkTexture *            gdk_texture_new_for_gl                 (GdkGLContext
                                                                 GDestroyNotify   destroy,
                                                                 gpointer         data);
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void                    gdk_texture_release_gl                 (GdkTexture      *texture);
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 int                     gdk_texture_get_width                  (GdkTexture      *texture);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 int                     gdk_texture_get_height                 (GdkTexture      *texture);
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void                    gdk_texture_download                   (GdkTexture      *texture,
                                                                 guchar          *data,
                                                                 gsize            stride);
diff --git a/gdk/gdkversionmacros.h.in b/gdk/gdkversionmacros.h.in
index 46eed24..b1986ba 100644
--- a/gdk/gdkversionmacros.h.in
+++ b/gdk/gdkversionmacros.h.in
@@ -52,155 +52,15 @@
 
 /* XXX: Every new stable minor release bump should add a macro here */
 
-/**
- * GDK_VERSION_3_0:
- *
- * A macro that evaluates to the 3.0 version of GDK, in a format
- * that can be used by the C pre-processor.
- *
- * Since: 3.4
- */
-#define GDK_VERSION_3_0         (G_ENCODE_VERSION (3, 0))
-
-/**
- * GDK_VERSION_3_2:
- *
- * A macro that evaluates to the 3.2 version of GDK, in a format
- * that can be used by the C pre-processor.
- *
- * Since: 3.4
- */
-#define GDK_VERSION_3_2         (G_ENCODE_VERSION (3, 2))
-
-/**
- * GDK_VERSION_3_4:
- *
- * A macro that evaluates to the 3.4 version of GDK, in a format
- * that can be used by the C pre-processor.
- *
- * Since: 3.4
- */
-#define GDK_VERSION_3_4         (G_ENCODE_VERSION (3, 4))
-
-/**
- * GDK_VERSION_3_6:
- *
- * A macro that evaluates to the 3.6 version of GDK, in a format
- * that can be used by the C pre-processor.
- *
- * Since: 3.6
- */
-#define GDK_VERSION_3_6         (G_ENCODE_VERSION (3, 6))
-
-/**
- * GDK_VERSION_3_8:
- *
- * A macro that evaluates to the 3.8 version of GDK, in a format
- * that can be used by the C pre-processor.
- *
- * Since: 3.8
- */
-#define GDK_VERSION_3_8         (G_ENCODE_VERSION (3, 8))
-
-/**
- * GDK_VERSION_3_10:
- *
- * A macro that evaluates to the 3.10 version of GDK, in a format
- * that can be used by the C pre-processor.
- *
- * Since: 3.10
- */
-#define GDK_VERSION_3_10        (G_ENCODE_VERSION (3, 10))
-
-/**
- * GDK_VERSION_3_12:
- *
- * A macro that evaluates to the 3.12 version of GDK, in a format
- * that can be used by the C pre-processor.
- *
- * Since: 3.12
- */
-#define GDK_VERSION_3_12        (G_ENCODE_VERSION (3, 12))
-
-/**
- * GDK_VERSION_3_14:
- *
- * A macro that evaluates to the 3.14 version of GDK, in a format
- * that can be used by the C pre-processor.
- *
- * Since: 3.14
- */
-#define GDK_VERSION_3_14        (G_ENCODE_VERSION (3, 14))
-
-/**
- * GDK_VERSION_3_16:
- *
- * A macro that evaluates to the 3.16 version of GDK, in a format
- * that can be used by the C pre-processor.
- *
- * Since: 3.16
- */
-#define GDK_VERSION_3_16        (G_ENCODE_VERSION (3, 16))
-
-/**
- * GDK_VERSION_3_18:
- *
- * A macro that evaluates to the 3.18 version of GDK, in a format
- * that can be used by the C pre-processor.
- *
- * Since: 3.18
- */
-#define GDK_VERSION_3_18        (G_ENCODE_VERSION (3, 18))
-
-/**
- * GDK_VERSION_3_20:
- *
- * A macro that evaluates to the 3.20 version of GDK, in a format
- * that can be used by the C pre-processor.
- *
- * Since: 3.18
- */
-#define GDK_VERSION_3_20        (G_ENCODE_VERSION (3, 20))
-
-/**
- * GDK_VERSION_3_22:
- *
- * A macro that evaluates to the 3.22 version of GDK, in a format
- * that can be used by the C pre-processor.
- *
- * Since: 3.20
- */
-#define GDK_VERSION_3_22        (G_ENCODE_VERSION (3, 22))
-
-/**
- * GDK_VERSION_3_90:
- *
- * A macro that evaluates to the 3.90 version of GDK, in a format
- * that can be used by the C pre-processor.
- *
- * Since: 3.90
- */
-#define GDK_VERSION_3_90        (G_ENCODE_VERSION (3, 90))
-
-/**
- * GDK_VERSION_3_92:
- *
- * A macro that evaluates to the 3.92 version of GDK, in a format
- * that can be used by the C pre-processor.
- *
- * Since: 3.92
- */
 #define GDK_VERSION_3_92        (G_ENCODE_VERSION (3, 92))
-
+#define GDK_VERSION_3_94        (G_ENCODE_VERSION (3, 94))
 /**
- * GDK_VERSION_3_94:
+ * GDK_VERSION_4_0:
  *
- * A macro that evaluates to the 3.94 version of GDK, in a format
+ * A macro that evaluates to the 4.0 version of GDK, in a format
  * that can be used by the C pre-processor.
- *
- * Since: 3.94
  */
-#define GDK_VERSION_3_94        (G_ENCODE_VERSION (3, 94))
+#define GDK_VERSION_4_0        (G_ENCODE_VERSION (4, 0))
 
 
 /* evaluates to the current stable version; for development cycles,
@@ -225,15 +85,13 @@
  * A macro that should be defined by the user prior to including
  * the gdk.h header.
  * The definition should be one of the predefined GDK version
- * macros: %GDK_VERSION_3_0, %GDK_VERSION_3_2,...
+ * macros: %GDK_VERSION_4_0, %GDK_VERSION_4_2,...
  *
  * This macro defines the lower bound for the GDK API to use.
  *
  * If a function has been deprecated in a newer version of GDK,
  * it is possible to use this symbol to avoid the compiler warnings
  * without disabling warning for every deprecated function.
- *
- * Since: 3.4
  */
 #ifndef GDK_VERSION_MIN_REQUIRED
 # define GDK_VERSION_MIN_REQUIRED      (GDK_VERSION_CUR_STABLE)
@@ -245,15 +103,13 @@
  * A macro that should be defined by the user prior to including
  * the gdk.h header.
  * The definition should be one of the predefined GDK version
- * macros: %GDK_VERSION_3_0, %GDK_VERSION_3_2,...
+ * macros: %GDK_VERSION_4_0, %GDK_VERSION_4_2,...
  *
  * This macro defines the upper bound for the GDK API to use.
  *
  * If a function has been introduced in a newer version of GDK,
  * it is possible to use this symbol to get compiler warnings when
  * trying to use that function.
- *
- * Since: 3.4
  */
 #ifndef GDK_VERSION_MAX_ALLOWED
 # if GDK_VERSION_MIN_REQUIRED > GDK_VERSION_PREV_STABLE
@@ -267,198 +123,18 @@
 #if GDK_VERSION_MAX_ALLOWED < GDK_VERSION_MIN_REQUIRED
 #error "GDK_VERSION_MAX_ALLOWED must be >= GDK_VERSION_MIN_REQUIRED"
 #endif
-#if GDK_VERSION_MIN_REQUIRED < GDK_VERSION_3_0
-#error "GDK_VERSION_MIN_REQUIRED must be >= GDK_VERSION_3_0"
+#if GDK_VERSION_MIN_REQUIRED < GDK_VERSION_3_92
+#error "GDK_VERSION_MIN_REQUIRED must be >= GDK_VERSION_3_92"
 #endif
 
 #define GDK_AVAILABLE_IN_ALL                  _GDK_EXTERN
 
 /* XXX: Every new stable minor release should add a set of macros here */
 
-#if GDK_VERSION_MIN_REQUIRED >= GDK_VERSION_3_0
-# define GDK_DEPRECATED_IN_3_0                GDK_DEPRECATED
-# define GDK_DEPRECATED_IN_3_0_FOR(f)         GDK_DEPRECATED_FOR(f)
-#else
-# define GDK_DEPRECATED_IN_3_0                _GDK_EXTERN
-# define GDK_DEPRECATED_IN_3_0_FOR(f)         _GDK_EXTERN
-#endif
-
-#if GDK_VERSION_MAX_ALLOWED < GDK_VERSION_3_0
-# define GDK_AVAILABLE_IN_3_0                 GDK_UNAVAILABLE(3, 0)
-#else
-# define GDK_AVAILABLE_IN_3_0                 _GDK_EXTERN
-#endif
-
-#if GDK_VERSION_MIN_REQUIRED >= GDK_VERSION_3_2
-# define GDK_DEPRECATED_IN_3_2                GDK_DEPRECATED
-# define GDK_DEPRECATED_IN_3_2_FOR(f)         GDK_DEPRECATED_FOR(f)
-#else
-# define GDK_DEPRECATED_IN_3_2                _GDK_EXTERN
-# define GDK_DEPRECATED_IN_3_2_FOR(f)         _GDK_EXTERN
-#endif
-
-#if GDK_VERSION_MAX_ALLOWED < GDK_VERSION_3_2
-# define GDK_AVAILABLE_IN_3_2                 GDK_UNAVAILABLE(3, 2)
-#else
-# define GDK_AVAILABLE_IN_3_2                 _GDK_EXTERN
-#endif
-
-#if GDK_VERSION_MIN_REQUIRED >= GDK_VERSION_3_4
-# define GDK_DEPRECATED_IN_3_4                GDK_DEPRECATED
-# define GDK_DEPRECATED_IN_3_4_FOR(f)         GDK_DEPRECATED_FOR(f)
-#else
-# define GDK_DEPRECATED_IN_3_4                _GDK_EXTERN
-# define GDK_DEPRECATED_IN_3_4_FOR(f)         _GDK_EXTERN
-#endif
-
-#if GDK_VERSION_MAX_ALLOWED < GDK_VERSION_3_4
-# define GDK_AVAILABLE_IN_3_4                 GDK_UNAVAILABLE(3, 4)
-#else
-# define GDK_AVAILABLE_IN_3_4                 _GDK_EXTERN
-#endif
-
-#if GDK_VERSION_MIN_REQUIRED >= GDK_VERSION_3_6
-# define GDK_DEPRECATED_IN_3_6                GDK_DEPRECATED
-# define GDK_DEPRECATED_IN_3_6_FOR(f)         GDK_DEPRECATED_FOR(f)
-#else
-# define GDK_DEPRECATED_IN_3_6                _GDK_EXTERN
-# define GDK_DEPRECATED_IN_3_6_FOR(f)         _GDK_EXTERN
-#endif
-
-#if GDK_VERSION_MAX_ALLOWED < GDK_VERSION_3_6
-# define GDK_AVAILABLE_IN_3_6                 GDK_UNAVAILABLE(3, 6)
-#else
-# define GDK_AVAILABLE_IN_3_6                 _GDK_EXTERN
-#endif
-
-#if GDK_VERSION_MIN_REQUIRED >= GDK_VERSION_3_8
-# define GDK_DEPRECATED_IN_3_8                GDK_DEPRECATED
-# define GDK_DEPRECATED_IN_3_8_FOR(f)         GDK_DEPRECATED_FOR(f)
-#else
-# define GDK_DEPRECATED_IN_3_8                _GDK_EXTERN
-# define GDK_DEPRECATED_IN_3_8_FOR(f)         _GDK_EXTERN
-#endif
-
-#if GDK_VERSION_MAX_ALLOWED < GDK_VERSION_3_8
-# define GDK_AVAILABLE_IN_3_8                 GDK_UNAVAILABLE(3, 8)
-#else
-# define GDK_AVAILABLE_IN_3_8                 _GDK_EXTERN
-#endif
-
-#if GDK_VERSION_MIN_REQUIRED >= GDK_VERSION_3_10
-# define GDK_DEPRECATED_IN_3_10               GDK_DEPRECATED
-# define GDK_DEPRECATED_IN_3_10_FOR(f)        GDK_DEPRECATED_FOR(f)
-#else
-# define GDK_DEPRECATED_IN_3_10               _GDK_EXTERN
-# define GDK_DEPRECATED_IN_3_10_FOR(f)        _GDK_EXTERN
-#endif
-
-#if GDK_VERSION_MAX_ALLOWED < GDK_VERSION_3_10
-# define GDK_AVAILABLE_IN_3_10                GDK_UNAVAILABLE(3, 10)
-#else
-# define GDK_AVAILABLE_IN_3_10                _GDK_EXTERN
-#endif
-
-#if GDK_VERSION_MIN_REQUIRED >= GDK_VERSION_3_12
-# define GDK_DEPRECATED_IN_3_12               GDK_DEPRECATED
-# define GDK_DEPRECATED_IN_3_12_FOR(f)        GDK_DEPRECATED_FOR(f)
-#else
-# define GDK_DEPRECATED_IN_3_12               _GDK_EXTERN
-# define GDK_DEPRECATED_IN_3_12_FOR(f)        _GDK_EXTERN
-#endif
-
-#if GDK_VERSION_MAX_ALLOWED < GDK_VERSION_3_12
-# define GDK_AVAILABLE_IN_3_12                GDK_UNAVAILABLE(3, 12)
-#else
-# define GDK_AVAILABLE_IN_3_12                _GDK_EXTERN
-#endif
-
-#if GDK_VERSION_MIN_REQUIRED >= GDK_VERSION_3_14
-# define GDK_DEPRECATED_IN_3_14               GDK_DEPRECATED
-# define GDK_DEPRECATED_IN_3_14_FOR(f)        GDK_DEPRECATED_FOR(f)
-#else
-# define GDK_DEPRECATED_IN_3_14               _GDK_EXTERN
-# define GDK_DEPRECATED_IN_3_14_FOR(f)        _GDK_EXTERN
-#endif
-
-#if GDK_VERSION_MAX_ALLOWED < GDK_VERSION_3_14
-# define GDK_AVAILABLE_IN_3_14                GDK_UNAVAILABLE(3, 14)
-#else
-# define GDK_AVAILABLE_IN_3_14                _GDK_EXTERN
-#endif
-
-#if GDK_VERSION_MIN_REQUIRED >= GDK_VERSION_3_16
-# define GDK_DEPRECATED_IN_3_16               GDK_DEPRECATED
-# define GDK_DEPRECATED_IN_3_16_FOR(f)        GDK_DEPRECATED_FOR(f)
-#else
-# define GDK_DEPRECATED_IN_3_16               _GDK_EXTERN
-# define GDK_DEPRECATED_IN_3_16_FOR(f)        _GDK_EXTERN
-#endif
-
-#if GDK_VERSION_MAX_ALLOWED < GDK_VERSION_3_16
-# define GDK_AVAILABLE_IN_3_16                GDK_UNAVAILABLE(3, 16)
-#else
-# define GDK_AVAILABLE_IN_3_16                _GDK_EXTERN
-#endif
-
-#if GDK_VERSION_MIN_REQUIRED >= GDK_VERSION_3_18
-# define GDK_DEPRECATED_IN_3_18               GDK_DEPRECATED
-# define GDK_DEPRECATED_IN_3_18_FOR(f)        GDK_DEPRECATED_FOR(f)
-#else
-# define GDK_DEPRECATED_IN_3_18               _GDK_EXTERN
-# define GDK_DEPRECATED_IN_3_18_FOR(f)        _GDK_EXTERN
-#endif
-
-#if GDK_VERSION_MAX_ALLOWED < GDK_VERSION_3_18
-# define GDK_AVAILABLE_IN_3_18                GDK_UNAVAILABLE(3, 18)
-#else
-# define GDK_AVAILABLE_IN_3_18                _GDK_EXTERN
-#endif
-
-#if GDK_VERSION_MIN_REQUIRED >= GDK_VERSION_3_20
-# define GDK_DEPRECATED_IN_3_20               GDK_DEPRECATED
-# define GDK_DEPRECATED_IN_3_20_FOR(f)        GDK_DEPRECATED_FOR(f)
-#else
-# define GDK_DEPRECATED_IN_3_20               _GDK_EXTERN
-# define GDK_DEPRECATED_IN_3_20_FOR(f)        _GDK_EXTERN
-#endif
-
-#if GDK_VERSION_MAX_ALLOWED < GDK_VERSION_3_20
-# define GDK_AVAILABLE_IN_3_20                GDK_UNAVAILABLE(3, 20)
-#else
-# define GDK_AVAILABLE_IN_3_20                _GDK_EXTERN
-#endif
-
-#if GDK_VERSION_MIN_REQUIRED >= GDK_VERSION_3_22
-# define GDK_DEPRECATED_IN_3_22               GDK_DEPRECATED
-# define GDK_DEPRECATED_IN_3_22_FOR(f)        GDK_DEPRECATED_FOR(f)
-#else
-# define GDK_DEPRECATED_IN_3_22               _GDK_EXTERN
-# define GDK_DEPRECATED_IN_3_22_FOR(f)        _GDK_EXTERN
-#endif
-
-#if GDK_VERSION_MAX_ALLOWED < GDK_VERSION_3_22
-# define GDK_AVAILABLE_IN_3_22                GDK_UNAVAILABLE(3, 22)
-#else
-# define GDK_AVAILABLE_IN_3_22                _GDK_EXTERN
-#endif
-
-#if GDK_VERSION_MAX_ALLOWED < GDK_VERSION_3_90
-# define GDK_AVAILABLE_IN_3_90                GDK_UNAVAILABLE(3, 90)
-#else
-# define GDK_AVAILABLE_IN_3_90                _GDK_EXTERN
-#endif
-
-#if GDK_VERSION_MAX_ALLOWED < GDK_VERSION_3_92
-# define GDK_AVAILABLE_IN_3_92                GDK_UNAVAILABLE(3, 92)
-#else
-# define GDK_AVAILABLE_IN_3_92                _GDK_EXTERN
-#endif
-
-#if GDK_VERSION_MAX_ALLOWED < GDK_VERSION_3_94
-# define GDK_AVAILABLE_IN_3_94                GDK_UNAVAILABLE(3, 94)
+#if GDK_VERSION_MAX_ALLOWED < GDK_VERSION_4_0
+# define GDK_AVAILABLE_IN_4_0                GDK_UNAVAILABLE(4, 0)
 #else
-# define GDK_AVAILABLE_IN_3_94                _GDK_EXTERN
+# define GDK_AVAILABLE_IN_4_0                _GDK_EXTERN
 #endif
 
 
diff --git a/gdk/gdkvulkancontext.h b/gdk/gdkvulkancontext.h
index 40b132c..089a32b 100644
--- a/gdk/gdkvulkancontext.h
+++ b/gdk/gdkvulkancontext.h
@@ -40,38 +40,38 @@ G_BEGIN_DECLS
 
 #define GDK_VULKAN_ERROR                    (gdk_vulkan_error_quark ())
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GQuark gdk_vulkan_error_quark (void);
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GType gdk_vulkan_context_get_type (void) G_GNUC_CONST;
 
 #ifndef __GI_SCANNER__
 #ifdef GDK_RENDERING_VULKAN
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 const char *            gdk_vulkan_strerror                         (VkResult           result);
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 VkInstance              gdk_vulkan_context_get_instance             (GdkVulkanContext  *context);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 VkPhysicalDevice        gdk_vulkan_context_get_physical_device      (GdkVulkanContext  *context);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 VkDevice                gdk_vulkan_context_get_device               (GdkVulkanContext  *context);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 VkQueue                 gdk_vulkan_context_get_queue                (GdkVulkanContext  *context);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 uint32_t                gdk_vulkan_context_get_queue_family_index   (GdkVulkanContext  *context);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 VkFormat                gdk_vulkan_context_get_image_format         (GdkVulkanContext  *context);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 uint32_t                gdk_vulkan_context_get_n_images             (GdkVulkanContext  *context);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 VkImage                 gdk_vulkan_context_get_image                (GdkVulkanContext  *context,
                                                                      guint              id);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 uint32_t                gdk_vulkan_context_get_draw_index           (GdkVulkanContext  *context);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 VkSemaphore             gdk_vulkan_context_get_draw_semaphore       (GdkVulkanContext  *context);
 
 #endif /* GDK_RENDERING_VULKAN */
diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c
index 6641c12..2eda7db 100644
--- a/gdk/gdkwindow.c
+++ b/gdk/gdkwindow.c
@@ -256,8 +256,6 @@ gdk_window_class_init (GdkWindowClass *klass)
    *
    * The mouse pointer for a #GdkWindow. See gdk_window_set_cursor() and
    * gdk_window_get_cursor() for details.
-   *
-   * Since: 2.18
    */
   properties[PROP_CURSOR] =
       g_param_spec_object ("cursor",
@@ -271,8 +269,6 @@ gdk_window_class_init (GdkWindowClass *klass)
    *
    * The #GdkDisplay connection of the window. See gdk_window_get_display()
    * for details.
-   *
-   * Since: 3.90
    */
   properties[PROP_DISPLAY] =
       g_param_spec_object ("display",
@@ -311,8 +307,6 @@ gdk_window_class_init (GdkWindowClass *klass)
    * flipping, but before any possible sliding. @final_rect is @flipped_rect,
    * but possibly translated in the case that flipping is still ineffective in
    * keeping @window on-screen.
-   *
-   * Since: 3.22
    * Stability: Private
    */
   signals[MOVED_TO_RECT] =
@@ -1011,8 +1005,6 @@ gdk_window_new (GdkDisplay    *display,
  * manager.
  *
  * Returns: (transfer full): the new #GdkWindow
- *
- * Since: 3.90
  **/
 GdkWindow *
 gdk_window_new_toplevel (GdkDisplay *display,
@@ -1042,8 +1034,6 @@ gdk_window_new_toplevel (GdkDisplay *display,
  * management.
  *
  * Returns: (transfer full): the new #GdkWindow
- *
- * Since: 3.90
  **/
 GdkWindow *
 gdk_window_new_popup (GdkDisplay         *display,
@@ -1074,8 +1064,6 @@ gdk_window_new_popup (GdkDisplay         *display,
  * You most likely do not want to use this function.
  *
  * Returns: (transfer full): the new #GdkWindow
- *
- * Since: 3.90
  **/
 GdkWindow *
 gdk_window_new_temp (GdkDisplay *display)
@@ -1102,8 +1090,6 @@ gdk_window_new_temp (GdkDisplay *display)
  * Creates a new client-side child window.
  *
  * Returns: (transfer full): the new #GdkWindow
- *
- * Since: 3.90
  **/
 GdkWindow *
 gdk_window_new_child (GdkWindow          *parent,
@@ -1457,8 +1443,6 @@ gdk_window_get_window_type (GdkWindow *window)
  * Gets the #GdkDisplay associated with a #GdkWindow.
  * 
  * Returns: (transfer none): the #GdkDisplay associated with @window
- *
- * Since: 2.24
  **/
 GdkDisplay *
 gdk_window_get_display (GdkWindow *window)
@@ -1474,8 +1458,6 @@ gdk_window_get_display (GdkWindow *window)
  * Check to see if a window is destroyed..
  *
  * Returns: %TRUE if the window is destroyed
- *
- * Since: 2.18
  **/
 gboolean
 gdk_window_is_destroyed (GdkWindow *window)
@@ -1490,8 +1472,6 @@ gdk_window_is_destroyed (GdkWindow *window)
  * Checks whether the window has a native window or not.
  *
  * Returns: %TRUE if the @window has a native window, %FALSE otherwise.
- *
- * Since: 2.22
  */
 gboolean
 gdk_window_has_native (GdkWindow *window)
@@ -1645,8 +1625,6 @@ gdk_window_peek_children (GdkWindow *window)
  *
  * Returns: (transfer container) (element-type GdkWindow):
  *     list of child windows inside @window
- *
- * Since: 3.10
  **/
 GList *
 gdk_window_get_children_with_user_data (GdkWindow *window,
@@ -1920,8 +1898,6 @@ gdk_window_get_paint_gl_context (GdkWindow  *window,
  *
  * Returns: (transfer full): the newly created #GdkGLContext, or
  * %NULL on error
- *
- * Since: 3.16
  **/
 GdkGLContext *
 gdk_window_create_gl_context (GdkWindow    *window,
@@ -1953,8 +1929,6 @@ gdk_window_create_gl_context (GdkWindow    *window,
  *
  * Returns: (transfer full): the newly created #GdkVulkanContext, or
  * %NULL on error
- *
- * Since: 3.90
  **/
 GdkVulkanContext *
 gdk_window_create_vulkan_context (GdkWindow  *window,
@@ -2117,8 +2091,6 @@ gdk_window_end_paint_internal (GdkWindow *window)
  * Returns: (transfer none): a #GdkDrawingContext context that should be
  *   used to draw the contents of the window; the returned context is owned
  *   by GDK.
- *
- * Since: 3.22
  */
 GdkDrawingContext *
 gdk_window_begin_draw_frame (GdkWindow            *window,
@@ -2182,8 +2154,6 @@ gdk_window_begin_draw_frame (GdkWindow            *window,
  *
  * It is an error to call this function without a matching
  * gdk_window_begin_frame() first.
- *
- * Since: 3.22
  */
 void
 gdk_window_end_draw_frame (GdkWindow         *window,
@@ -3173,8 +3143,6 @@ gdk_window_constrain_size (GdkGeometry    *geometry,
  * Returns: (nullable) (transfer none): The window underneath @device
  * (as with gdk_device_get_window_at_position()), or %NULL if the
  * window is not known to GDK.
- *
- * Since: 3.10
  **/
 GdkWindow *
 gdk_window_get_device_position_double (GdkWindow       *window,
@@ -3230,8 +3198,6 @@ gdk_window_get_device_position_double (GdkWindow       *window,
  * Returns: (nullable) (transfer none): The window underneath @device
  * (as with gdk_device_get_window_at_position()), or %NULL if the
  * window is not known to GDK.
- *
- * Since: 3.0
  **/
 GdkWindow *
 gdk_window_get_device_position (GdkWindow       *window,
@@ -3522,8 +3488,6 @@ gdk_window_lower (GdkWindow *window)
  * If @window is a toplevel, the window manager may choose to deny the
  * request to move the window in the Z-order, gdk_window_restack() only
  * requests the restack, does not guarantee it.
- *
- * Since: 2.18
  */
 void
 gdk_window_restack (GdkWindow     *window,
@@ -3808,8 +3772,6 @@ gdk_window_get_events (GdkWindow *window)
  * #GdkEventMask enumeration.
  *
  * See the [input handling overview][event-masks] for details.
- *
- * Since: 3.0
  **/
 void
 gdk_window_set_device_events (GdkWindow    *window,
@@ -3853,8 +3815,6 @@ gdk_window_set_device_events (GdkWindow    *window,
  * Returns the event mask for @window corresponding to an specific device.
  *
  * Returns: device event mask for @window
- *
- * Since: 3.0
  **/
 GdkEventMask
 gdk_window_get_device_events (GdkWindow *window,
@@ -4114,7 +4074,6 @@ gdk_window_move_resize (GdkWindow *window,
  * Connect to the #GdkWindow::moved-to-rect signal to find out how it was
  * actually positioned.
  *
- * Since: 3.22
  * Stability: Private
  */
 void
@@ -4206,8 +4165,6 @@ gdk_window_scroll (GdkWindow *window,
  * that not covered by the new position of @region are invalidated.
  *
  * Child windows are not moved.
- *
- * Since: 2.8
  */
 void
 gdk_window_move_region (GdkWindow            *window,
@@ -4273,8 +4230,6 @@ gdk_window_set_cursor_internal (GdkWindow *window,
  *   returned object is owned by the #GdkWindow and should not be
  *   unreferenced directly. Use gdk_window_set_cursor() to unset the
  *   cursor of the window
- *
- * Since: 2.18
  */
 GdkCursor *
 gdk_window_get_cursor (GdkWindow *window)
@@ -4360,8 +4315,6 @@ gdk_window_set_cursor (GdkWindow *window,
  *   returned object is owned by the #GdkWindow and should not be
  *   unreferenced directly. Use gdk_window_set_cursor() to unset the
  *   cursor of the window
- *
- * Since: 3.0
  **/
 GdkCursor *
 gdk_window_get_device_cursor (GdkWindow *window,
@@ -4387,8 +4340,6 @@ gdk_window_get_device_cursor (GdkWindow *window,
  * %NULL for the @cursor argument to gdk_window_set_cursor() means that
  * @window will use the cursor of its parent window. Most windows should
  * use this default.
- *
- * Since: 3.0
  **/
 void
 gdk_window_set_device_cursor (GdkWindow *window,
@@ -4492,8 +4443,6 @@ gdk_window_get_geometry (GdkWindow *window,
  * size on the X server.
  *
  * Returns: The width of @window
- *
- * Since: 2.24
  */
 int
 gdk_window_get_width (GdkWindow *window)
@@ -4514,8 +4463,6 @@ gdk_window_get_width (GdkWindow *window)
  * size on the X server.
  *
  * Returns: The height of @window
- *
- * Since: 2.24
  */
 int
 gdk_window_get_height (GdkWindow *window)
@@ -4567,8 +4514,6 @@ gdk_window_get_origin (GdkWindow *window,
  * window coordinates. This is similar to
  * gdk_window_get_origin() but allows you to pass
  * in any position in the window, not just the origin.
- *
- * Since: 2.18
  */
 void
 gdk_window_get_root_coords (GdkWindow *window,
@@ -4610,8 +4555,6 @@ gdk_window_get_root_coords (GdkWindow *window,
  * values of gdk_window_get_position() to the child coordinates.
  *
  * See also: gdk_window_coords_from_parent()
- *
- * Since: 2.22
  **/
 void
 gdk_window_coords_to_parent (GdkWindow *window,
@@ -4644,8 +4587,6 @@ gdk_window_coords_to_parent (GdkWindow *window,
  * values of gdk_window_get_position() from the parent coordinates.
  *
  * See also: gdk_window_coords_to_parent()
- *
- * Since: 2.22
  **/
 void
 gdk_window_coords_from_parent (GdkWindow *window,
@@ -4837,8 +4778,6 @@ gdk_window_merge_child_shapes (GdkWindow *window)
  *
  * On the Win32 platform, this functionality is not present and the
  * function does nothing.
- *
- * Since: 2.10
  */
 void
 gdk_window_input_shape_combine_region (GdkWindow       *window,
@@ -4905,8 +4844,6 @@ do_child_input_shapes (GdkWindow *window,
  * for all children of @window, ignoring the input shape mask of @window
  * itself. Contrast with gdk_window_merge_child_input_shapes() which includes
  * the input shape mask of @window in the masks to be merged.
- *
- * Since: 2.10
  **/
 void
 gdk_window_set_child_input_shapes (GdkWindow *window)
@@ -4939,8 +4876,6 @@ gdk_window_set_child_input_shapes (GdkWindow *window)
  * without pass through, so you can get events on a subset of a window. And in
  * that cases you would get the in-between related events such as the pointer
  * enter/leave events on its way to the destination window.
- *
- * Since: 3.18
  **/
 void
 gdk_window_set_pass_through (GdkWindow *window,
@@ -4959,8 +4894,6 @@ gdk_window_set_pass_through (GdkWindow *window,
  * below.
  *
  * See gdk_window_set_pass_through() for details
- *
- * Since: 3.18
  **/
 gboolean
 gdk_window_get_pass_through (GdkWindow *window)
@@ -4982,8 +4915,6 @@ gdk_window_get_pass_through (GdkWindow *window)
  * This function is distinct from gdk_window_set_child_input_shapes()
  * because it includes @window’s input shape mask in the set of
  * shapes to be merged.
- *
- * Since: 2.10
  **/
 void
 gdk_window_merge_child_input_shapes (GdkWindow *window)
@@ -5002,8 +4933,6 @@ gdk_window_merge_child_input_shapes (GdkWindow *window)
  * has modal behaviour.
  *
  * Returns: whether or not the window has the modal hint set.
- *
- * Since: 2.22
  */
 gboolean
 gdk_window_get_modal_hint (GdkWindow *window)
@@ -5021,8 +4950,6 @@ gdk_window_get_modal_hint (GdkWindow *window)
  * the window does not want to receive input focus.
  *
  * Returns: whether or not the window should receive input focus.
- *
- * Since: 2.22
  */
 gboolean
 gdk_window_get_accept_focus (GdkWindow *window)
@@ -5041,8 +4968,6 @@ gdk_window_get_accept_focus (GdkWindow *window)
  *
  * Returns: whether or not the window wants to receive input focus when
  * it is mapped.
- *
- * Since: 2.22
  */
 gboolean
 gdk_window_get_focus_on_map (GdkWindow *window)
@@ -5059,8 +4984,6 @@ gdk_window_get_focus_on_map (GdkWindow *window)
  * Determines whether or not the window is an input only window.
  *
  * Returns: %TRUE if @window is input only
- *
- * Since: 2.22
  */
 gboolean
 gdk_window_is_input_only (GdkWindow *window)
@@ -5077,8 +5000,6 @@ gdk_window_is_input_only (GdkWindow *window)
  * Determines whether or not the window is shaped.
  *
  * Returns: %TRUE if @window is shaped
- *
- * Since: 2.22
  */
 gboolean
 gdk_window_is_shaped (GdkWindow *window)
@@ -5336,8 +5257,6 @@ _gdk_window_find_descendant_at (GdkWindow *window,
  * Emits a short beep associated to @window in the appropriate
  * display, if supported. Otherwise, emits a short beep on
  * the display just as gdk_display_beep().
- *
- * Since: 2.12
  **/
 void
 gdk_window_beep (GdkWindow *window)
@@ -5372,8 +5291,6 @@ gdk_window_beep (GdkWindow *window)
  *
  * Multidevice aware windows will need to handle properly multiple,
  * per device enter/leave events, device grabs and grab ownerships.
- *
- * Since: 3.0
  **/
 void
 gdk_window_set_support_multidevice (GdkWindow *window,
@@ -5400,8 +5317,6 @@ gdk_window_set_support_multidevice (GdkWindow *window,
  * devices.
  *
  * Returns: %TRUE if the window handles multidevice features.
- *
- * Since: 3.0
  **/
 gboolean
 gdk_window_get_support_multidevice (GdkWindow *window)
@@ -5752,8 +5667,6 @@ _gdk_windowing_got_event (GdkDisplay *display,
  * This function always returns a valid pointer, but it will return a
  * pointer to a “nil” surface if @other is already in an error state
  * or any other error occurs.
- *
- * Since: 2.22
  **/
 cairo_surface_t *
 gdk_window_create_similar_surface (GdkWindow *     window,
@@ -5835,8 +5748,6 @@ gdk_window_create_similar_surface (GdkWindow *     window,
  * This function always returns a valid pointer, but it will return a
  * pointer to a “nil” surface if @other is already in an error state
  * or any other error occurs.
- *
- * Since: 3.10
  **/
 cairo_surface_t *
 gdk_window_create_similar_image_surface (GdkWindow *     window,
@@ -5922,8 +5833,6 @@ gdk_window_set_type_hint (GdkWindow        *window,
  * This function returns the type hint set for a window.
  *
  * Returns: The type hint set for @window
- *
- * Since: 2.10
  **/
 GdkWindowTypeHint
 gdk_window_get_type_hint (GdkWindow *window)
@@ -5962,8 +5871,6 @@ gdk_window_set_modal_hint (GdkWindow *window,
  * function should not be called in addition,
  * instead you should allow the window to be treated according to
  * standard policy for its semantic type.
- *
- * Since: 2.2
  **/
 void
 gdk_window_set_skip_taskbar_hint (GdkWindow *window,
@@ -5985,8 +5892,6 @@ gdk_window_set_skip_taskbar_hint (GdkWindow *window,
  * not be called in addition, instead you should
  * allow the window to be treated according to standard policy for
  * its semantic type.
- *
- * Since: 2.2
  **/
 void
 gdk_window_set_skip_pager_hint (GdkWindow *window,
@@ -6002,8 +5907,6 @@ gdk_window_set_skip_pager_hint (GdkWindow *window,
  *
  * Toggles whether a window needs the user's
  * urgent attention.
- *
- * Since: 2.8
  **/
 void
 gdk_window_set_urgency_hint (GdkWindow *window,
@@ -6101,9 +6004,6 @@ gdk_window_set_role (GdkWindow   *window,
  *
  * When using GTK+, typically you should use gtk_window_set_startup_id()
  * instead of this low-level function.
- *
- * Since: 2.12
- *
  **/
 void
 gdk_window_set_startup_id (GdkWindow   *window,
@@ -6188,8 +6088,6 @@ gdk_window_get_frame_extents (GdkWindow    *window,
  *
  * On X, it is the responsibility of the window manager to interpret this
  * hint. ICCCM-compliant window manager usually respect it.
- *
- * Since: 2.4
  **/
 void
 gdk_window_set_accept_focus (GdkWindow *window,
@@ -6211,8 +6109,6 @@ gdk_window_set_accept_focus (GdkWindow *window,
  * On X, it is the responsibility of the window manager to interpret
  * this hint. Window managers following the freedesktop.org window
  * manager extension specification should respect it.
- *
- * Since: 2.6
  **/
 void
 gdk_window_set_focus_on_map (GdkWindow *window,
@@ -6401,8 +6297,6 @@ gdk_window_unmaximize (GdkWindow *window)
  * fullscreenification actually happening. But it will happen with
  * most standard window managers, and GDK makes a best effort to get
  * it to happen.
- *
- * Since: 2.2
  **/
 void
 gdk_window_fullscreen (GdkWindow *window)
@@ -6419,7 +6313,6 @@ gdk_window_fullscreen (GdkWindow *window)
  * the window covers the entire screen and is above any panels or task bars.
  *
  * If the window was already fullscreen, then this function does nothing.
- * Since: UNRELEASED
  **/
 void
 gdk_window_fullscreen_on_monitor (GdkWindow  *window,
@@ -6458,8 +6351,6 @@ gdk_window_fullscreen_on_monitor (GdkWindow  *window,
  * Not all window managers support this, so you can’t rely on the fullscreen
  * window to span over the multiple monitors when #GDK_FULLSCREEN_ON_ALL_MONITORS
  * is specified.
- *
- * Since: 3.8
  **/
 void
 gdk_window_set_fullscreen_mode (GdkWindow        *window,
@@ -6486,8 +6377,6 @@ gdk_window_set_fullscreen_mode (GdkWindow        *window,
  * Obtains the #GdkFullscreenMode of the @window.
  *
  * Returns: The #GdkFullscreenMode applied to the window when fullscreen.
- *
- * Since: 3.8
  **/
 GdkFullscreenMode
 gdk_window_get_fullscreen_mode (GdkWindow *window)
@@ -6511,8 +6400,6 @@ gdk_window_get_fullscreen_mode (GdkWindow *window)
  * unfullscreenification actually happening. But it will happen with
  * most standard window managers, and GDK makes a best effort to get
  * it to happen.
- *
- * Since: 2.2
  **/
 void
 gdk_window_unfullscreen (GdkWindow *window)
@@ -6534,8 +6421,6 @@ gdk_window_unfullscreen (GdkWindow *window)
  * “keep above”; so you can’t rely on the window being kept above.
  * But it will happen with most standard window managers,
  * and GDK makes a best effort to get it to happen.
- *
- * Since: 2.4
  **/
 void
 gdk_window_set_keep_above (GdkWindow *window,
@@ -6558,8 +6443,6 @@ gdk_window_set_keep_above (GdkWindow *window,
  * “keep below”; so you can’t rely on the window being kept below.
  * But it will happen with most standard window managers,
  * and GDK makes a best effort to get it to happen.
- *
- * Since: 2.4
  **/
 void
 gdk_window_set_keep_below (GdkWindow *window, gboolean setting)
@@ -6574,8 +6457,6 @@ gdk_window_set_keep_below (GdkWindow *window, gboolean setting)
  * Returns the group leader window for @window. See gdk_window_set_group().
  *
  * Returns: (transfer none): the group leader window for @window
- *
- * Since: 2.4
  **/
 GdkWindow *
 gdk_window_get_group (GdkWindow *window)
@@ -6694,8 +6575,6 @@ gdk_window_set_functions (GdkWindow    *window,
  * with window managers that support the
  * [Extended Window Manager Hints](http://www.freedesktop.org/Standards/wm-spec)
  * but has a fallback implementation for other window managers.
- *
- * Since: 3.4
  */
 void
 gdk_window_begin_resize_drag_for_device (GdkWindow     *window,
@@ -6755,8 +6634,6 @@ gdk_window_begin_resize_drag (GdkWindow     *window,
  * example. The function works best with window managers that support the
  * [Extended Window Manager Hints](http://www.freedesktop.org/Standards/wm-spec)
  * but has a fallback implementation for other window managers.
- *
- * Since: 3.4
  */
 void
 gdk_window_begin_move_drag_for_device (GdkWindow *window,
@@ -6818,8 +6695,6 @@ gdk_window_begin_move_drag (GdkWindow *window,
  * for your widgets.
  *
  * Support for non-toplevel windows was added in 3.8.
- *
- * Since: 2.12
  */
 void
 gdk_window_set_opacity (GdkWindow *window,
@@ -6985,7 +6860,6 @@ gdk_window_set_frame_clock (GdkWindow     *window,
  * never changes unless the window is reparented to a new toplevel
  * window.
  *
- * Since: 3.8
  * Returns: (transfer none): the frame clock
  */
 GdkFrameClock*
@@ -7017,7 +6891,6 @@ gdk_window_get_frame_clock (GdkWindow *window)
  * The scale of a window may change during runtime, if this happens
  * a configure event will be sent to the toplevel window.
  *
- * Since: 3.10
  * Returns: the scale factor
  */
 gint
@@ -7090,8 +6963,6 @@ gdk_window_get_unscaled_size (GdkWindow *window,
  * the @window background is opaque, as we know where the opaque regions
  * are. If your window background is not opaque, please update this
  * property in your #GtkWidget::style-updated handler.
- *
- * Since: 3.10
  */
 void
 gdk_window_set_opaque_region (GdkWindow      *window,
@@ -7133,8 +7004,6 @@ gdk_window_set_opaque_region (GdkWindow      *window,
  * Note that this property is automatically updated by GTK+, so this
  * function should only be used by applications which do not use GTK+
  * to create toplevel windows.
- *
- * Since: 3.12
  */
 void
 gdk_window_set_shadow_width (GdkWindow *window,
@@ -7172,8 +7041,6 @@ gdk_window_set_shadow_width (GdkWindow *window,
  * on the window decorations.
  *
  * Returns: %TRUE if the window menu was shown and %FALSE otherwise.
- *
- * Since: 3.14
  */
 gboolean
 gdk_window_show_window_menu (GdkWindow *window,
diff --git a/gdk/gdkwindow.h b/gdk/gdkwindow.h
index e33e70c..3938fdf 100644
--- a/gdk/gdkwindow.h
+++ b/gdk/gdkwindow.h
@@ -445,16 +445,16 @@ struct _GdkWindowClass
  */
 GDK_AVAILABLE_IN_ALL
 GType         gdk_window_get_type              (void) G_GNUC_CONST;
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GdkWindow *   gdk_window_new_toplevel          (GdkDisplay    *display,
                                                 int            width,
                                                 int            height);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GdkWindow *   gdk_window_new_popup             (GdkDisplay    *display,
                                                 const GdkRectangle *position);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GdkWindow *   gdk_window_new_temp              (GdkDisplay    *display);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GdkWindow *   gdk_window_new_child             (GdkWindow     *parent,
                                                 const GdkRectangle *position);
 
@@ -572,10 +572,10 @@ GDK_AVAILABLE_IN_ALL
 void gdk_window_merge_child_input_shapes   (GdkWindow       *window);
 
 
-GDK_AVAILABLE_IN_3_18
+GDK_AVAILABLE_IN_ALL
 void gdk_window_set_pass_through (GdkWindow *window,
                                   gboolean   pass_through);
-GDK_AVAILABLE_IN_3_18
+GDK_AVAILABLE_IN_ALL
 gboolean gdk_window_get_pass_through (GdkWindow *window);
 
 /*
@@ -633,11 +633,11 @@ cairo_region_t *gdk_window_get_clip_region  (GdkWindow          *window);
 GDK_AVAILABLE_IN_ALL
 cairo_region_t *gdk_window_get_visible_region(GdkWindow         *window);
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GdkDrawingContext *gdk_window_begin_draw_frame  (GdkWindow            *window,
                                                  GdkDrawContext       *context,
                                                  const cairo_region_t *region);
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 void          gdk_window_end_draw_frame    (GdkWindow            *window,
                                             GdkDrawingContext    *context);
 
@@ -714,7 +714,7 @@ GDK_AVAILABLE_IN_ALL
 void          gdk_window_get_frame_extents (GdkWindow     *window,
                                             GdkRectangle  *rect);
 
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 gint          gdk_window_get_scale_factor  (GdkWindow     *window);
 
 GDK_AVAILABLE_IN_ALL
@@ -723,7 +723,7 @@ GdkWindow *   gdk_window_get_device_position (GdkWindow       *window,
                                               gint            *x,
                                               gint            *y,
                                               GdkModifierType *mask);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 GdkWindow *   gdk_window_get_device_position_double (GdkWindow       *window,
                                                      GdkDevice       *device,
                                                      gdouble         *x,
@@ -738,7 +738,7 @@ GDK_AVAILABLE_IN_ALL
 GList *              gdk_window_get_children    (GdkWindow       *window);
 GDK_AVAILABLE_IN_ALL
 GList *       gdk_window_peek_children   (GdkWindow       *window);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 GList *       gdk_window_get_children_with_user_data (GdkWindow *window,
                                                      gpointer   user_data);
 
@@ -782,7 +782,7 @@ cairo_surface_t *
                                           cairo_content_t  content,
                                           int              width,
                                           int              height);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 cairo_surface_t *
               gdk_window_create_similar_image_surface (GdkWindow *window,
                                                       cairo_format_t format,
@@ -806,13 +806,13 @@ GDK_AVAILABLE_IN_ALL
 void          gdk_window_unmaximize      (GdkWindow       *window);
 GDK_AVAILABLE_IN_ALL
 void          gdk_window_fullscreen      (GdkWindow       *window);
-GDK_AVAILABLE_IN_3_18
+GDK_AVAILABLE_IN_ALL
 void          gdk_window_fullscreen_on_monitor (GdkWindow      *window,
                                                 GdkMonitor     *monitor);
-GDK_AVAILABLE_IN_3_8
+GDK_AVAILABLE_IN_ALL
 void          gdk_window_set_fullscreen_mode (GdkWindow   *window,
                                           GdkFullscreenMode mode);
-GDK_AVAILABLE_IN_3_8
+GDK_AVAILABLE_IN_ALL
 GdkFullscreenMode
               gdk_window_get_fullscreen_mode (GdkWindow   *window);
 GDK_AVAILABLE_IN_ALL
@@ -836,7 +836,7 @@ void gdk_window_begin_resize_drag            (GdkWindow     *window,
                                               gint           root_x,
                                               gint           root_y,
                                               guint32        timestamp);
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 void gdk_window_begin_resize_drag_for_device (GdkWindow     *window,
                                               GdkWindowEdge  edge,
                                               GdkDevice     *device,
@@ -850,7 +850,7 @@ void gdk_window_begin_move_drag              (GdkWindow     *window,
                                               gint           root_x,
                                               gint           root_y,
                                               guint32        timestamp);
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 void gdk_window_begin_move_drag_for_device   (GdkWindow     *window,
                                               GdkDevice     *device,
                                               gint           button,
@@ -911,27 +911,27 @@ GDK_AVAILABLE_IN_ALL
 gboolean   gdk_window_get_support_multidevice (GdkWindow *window);
 
 /* Frame clock */
-GDK_AVAILABLE_IN_3_8
+GDK_AVAILABLE_IN_ALL
 GdkFrameClock* gdk_window_get_frame_clock      (GdkWindow     *window);
 
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void       gdk_window_set_opaque_region        (GdkWindow      *window,
                                                 cairo_region_t *region);
 
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 void       gdk_window_set_shadow_width         (GdkWindow      *window,
                                                 gint            left,
                                                 gint            right,
                                                 gint            top,
                                                 gint            bottom);
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 gboolean  gdk_window_show_window_menu          (GdkWindow      *window,
                                                 GdkEvent       *event);
 
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 GdkGLContext * gdk_window_create_gl_context    (GdkWindow      *window,
                                                 GError        **error);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GdkVulkanContext *
                gdk_window_create_vulkan_context(GdkWindow      *window,
                                                 GError        **error);
diff --git a/gdk/quartz/gdkquartzmonitor.h b/gdk/quartz/gdkquartzmonitor.h
index e012e5c..01dd9ea 100644
--- a/gdk/quartz/gdkquartzmonitor.h
+++ b/gdk/quartz/gdkquartzmonitor.h
@@ -35,7 +35,7 @@ G_BEGIN_DECLS
 typedef struct _GdkQuartzMonitor      GdkQuartzMonitor;
 typedef struct _GdkQuartzMonitorClass GdkQuartzMonitorClass;
 
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 GType             gdk_quartz_monitor_get_type            (void) G_GNUC_CONST;
 
 
diff --git a/gdk/quartz/gdkquartzutils.h b/gdk/quartz/gdkquartzutils.h
index c816bf3..3f05599 100644
--- a/gdk/quartz/gdkquartzutils.h
+++ b/gdk/quartz/gdkquartzutils.h
@@ -32,7 +32,7 @@ GDK_AVAILABLE_IN_ALL
 NSImage  *gdk_quartz_pixbuf_to_ns_image_libgtk_only             (GdkPixbuf      *pixbuf);
 GDK_AVAILABLE_IN_ALL
 NSEvent  *gdk_quartz_event_get_nsevent                          (GdkEvent       *event);
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 gunichar  gdk_quartz_get_key_equivalent                         (guint           key);
 
 G_END_DECLS
diff --git a/gdk/wayland/gdkdevice-wayland.c b/gdk/wayland/gdkdevice-wayland.c
index 7d8882f..23bfa77 100644
--- a/gdk/wayland/gdkdevice-wayland.c
+++ b/gdk/wayland/gdkdevice-wayland.c
@@ -996,8 +996,6 @@ gdk_wayland_device_pad_init (GdkWaylandDevicePad *pad)
  * Returns the Wayland wl_seat of a #GdkDevice.
  *
  * Returns: (transfer none): a Wayland wl_seat
- *
- * Since: 3.10
  */
 struct wl_seat *
 gdk_wayland_device_get_wl_seat (GdkDevice *device)
@@ -1017,8 +1015,6 @@ gdk_wayland_device_get_wl_seat (GdkDevice *device)
  * Returns the Wayland wl_pointer of a #GdkDevice.
  *
  * Returns: (transfer none): a Wayland wl_pointer
- *
- * Since: 3.10
  */
 struct wl_pointer *
 gdk_wayland_device_get_wl_pointer (GdkDevice *device)
@@ -1038,8 +1034,6 @@ gdk_wayland_device_get_wl_pointer (GdkDevice *device)
  * Returns the Wayland wl_keyboard of a #GdkDevice.
  *
  * Returns: (transfer none): a Wayland wl_keyboard
- *
- * Since: 3.10
  */
 struct wl_keyboard *
 gdk_wayland_device_get_wl_keyboard (GdkDevice *device)
@@ -5031,8 +5025,6 @@ gdk_wayland_device_set_selection (GdkDevice             *gdk_device,
  * Returns the Wayland wl_seat of a #GdkSeat.
  *
  * Returns: (transfer none): a Wayland wl_seat
- *
- * Since: 3.20
  */
 struct wl_seat *
 gdk_wayland_seat_get_wl_seat (GdkSeat *seat)
diff --git a/gdk/wayland/gdkdisplay-wayland.c b/gdk/wayland/gdkdisplay-wayland.c
index e30c329..6861f7d 100644
--- a/gdk/wayland/gdkdisplay-wayland.c
+++ b/gdk/wayland/gdkdisplay-wayland.c
@@ -843,8 +843,6 @@ gdk_wayland_display_get_next_serial (GdkDisplay *display)
  * The startup ID is also what is used to signal that the startup is
  * complete (for example, when opening a window or when calling
  * gdk_notify_startup_complete()).
- *
- * Since: 3.22
  **/
 void
 gdk_wayland_display_set_startup_notification_id (GdkDisplay *display,
@@ -1120,8 +1118,6 @@ _gdk_wayland_display_update_serial (GdkWaylandDisplay *display_wayland,
  * Returns the Wayland wl_display of a #GdkDisplay.
  *
  * Returns: (transfer none): a Wayland wl_display
- *
- * Since: 3.8
  */
 struct wl_display *
 gdk_wayland_display_get_wl_display (GdkDisplay *display)
@@ -1138,8 +1134,6 @@ gdk_wayland_display_get_wl_display (GdkDisplay *display)
  * Returns the Wayland global singleton compositor of a #GdkDisplay.
  *
  * Returns: (transfer none): a Wayland wl_compositor
- *
- * Since: 3.8
  */
 struct wl_compositor *
 gdk_wayland_display_get_wl_compositor (GdkDisplay *display)
diff --git a/gdk/wayland/gdkmonitor-wayland.c b/gdk/wayland/gdkmonitor-wayland.c
index 59ab74e..189be05 100644
--- a/gdk/wayland/gdkmonitor-wayland.c
+++ b/gdk/wayland/gdkmonitor-wayland.c
@@ -53,7 +53,6 @@ gdk_wayland_monitor_class_init (GdkWaylandMonitorClass *class)
  * Returns the Wayland wl_output of a #GdkMonitor.
  *
  * Returns: (transfer none): a Wayland wl_output
- * Since: 3.22
  */
 struct wl_output *
 gdk_wayland_monitor_get_wl_output (GdkMonitor *monitor)
diff --git a/gdk/wayland/gdkvulkancontext-wayland.h b/gdk/wayland/gdkvulkancontext-wayland.h
index 94e0ac2..dbcd5a8 100644
--- a/gdk/wayland/gdkvulkancontext-wayland.h
+++ b/gdk/wayland/gdkvulkancontext-wayland.h
@@ -51,7 +51,7 @@ struct _GdkWaylandVulkanContextClass
   GdkVulkanContextClass parent_class;
 };
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GType gdk_wayland_vulkan_context_get_type (void) G_GNUC_CONST;
 
 G_END_DECLS
diff --git a/gdk/wayland/gdkwaylanddevice.h b/gdk/wayland/gdkwaylanddevice.h
index e7a3b9a..a828084 100644
--- a/gdk/wayland/gdkwaylanddevice.h
+++ b/gdk/wayland/gdkwaylanddevice.h
@@ -52,13 +52,13 @@ struct wl_pointer   *gdk_wayland_device_get_wl_pointer      (GdkDevice *device);
 GDK_AVAILABLE_IN_ALL
 struct wl_keyboard  *gdk_wayland_device_get_wl_keyboard     (GdkDevice *device);
 
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 struct wl_seat      *gdk_wayland_seat_get_wl_seat           (GdkSeat   *seat);
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 const gchar         *gdk_wayland_device_get_node_path       (GdkDevice *device);
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 void                 gdk_wayland_device_pad_set_feedback (GdkDevice           *device,
                                                           GdkDevicePadFeature  element,
                                                           guint                idx,
diff --git a/gdk/wayland/gdkwaylanddisplay.h b/gdk/wayland/gdkwaylanddisplay.h
index c77da4f..7087566 100644
--- a/gdk/wayland/gdkwaylanddisplay.h
+++ b/gdk/wayland/gdkwaylanddisplay.h
@@ -49,11 +49,11 @@ GDK_AVAILABLE_IN_ALL
 struct wl_display      *gdk_wayland_display_get_wl_display      (GdkDisplay *display);
 GDK_AVAILABLE_IN_ALL
 struct wl_compositor   *gdk_wayland_display_get_wl_compositor   (GdkDisplay *display);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void                    gdk_wayland_display_set_cursor_theme    (GdkDisplay  *display,
                                                                  const gchar *theme,
                                                                  gint         size);
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 void                    gdk_wayland_display_set_startup_notification_id (GdkDisplay *display,
                                                                          const char *startup_id);
 
diff --git a/gdk/wayland/gdkwaylandglcontext.h b/gdk/wayland/gdkwaylandglcontext.h
index a2bb2c9..a06586e 100644
--- a/gdk/wayland/gdkwaylandglcontext.h
+++ b/gdk/wayland/gdkwaylandglcontext.h
@@ -37,7 +37,7 @@ G_BEGIN_DECLS
 typedef struct _GdkWaylandGLContext            GdkWaylandGLContext;
 typedef struct _GdkWaylandGLContextClass       GdkWaylandGLContextClass;
 
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 GType gdk_wayland_gl_context_get_type (void) G_GNUC_CONST;
 
 G_END_DECLS
diff --git a/gdk/wayland/gdkwaylandmonitor.h b/gdk/wayland/gdkwaylandmonitor.h
index 966d8c1..cbc4bf5 100644
--- a/gdk/wayland/gdkwaylandmonitor.h
+++ b/gdk/wayland/gdkwaylandmonitor.h
@@ -37,10 +37,10 @@ G_BEGIN_DECLS
 typedef struct _GdkWaylandMonitor      GdkWaylandMonitor;
 typedef struct _GdkWaylandMonitorClass GdkWaylandMonitorClass;
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 GType             gdk_wayland_monitor_get_type            (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 struct wl_output *gdk_wayland_monitor_get_wl_output       (GdkMonitor *monitor);
 
 G_END_DECLS
diff --git a/gdk/wayland/gdkwaylandwindow.h b/gdk/wayland/gdkwaylandwindow.h
index f74d82f..1d6f5c0 100644
--- a/gdk/wayland/gdkwaylandwindow.h
+++ b/gdk/wayland/gdkwaylandwindow.h
@@ -45,7 +45,7 @@ typedef struct _GdkWaylandWindowClass GdkWaylandWindowClass;
 GDK_AVAILABLE_IN_ALL
 GType                    gdk_wayland_window_get_type             (void);
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GdkWindow *              gdk_wayland_window_new_subsurface       (GdkDisplay            *display,
                                                                   const GdkRectangle    *position);
 GDK_AVAILABLE_IN_ALL
@@ -54,7 +54,7 @@ struct wl_surface       *gdk_wayland_window_get_wl_surface       (GdkWindow *win
 GDK_AVAILABLE_IN_ALL
 void                     gdk_wayland_window_set_use_custom_surface (GdkWindow *window);
 
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void                     gdk_wayland_window_set_dbus_properties_libgtk_only (GdkWindow  *window,
                                                                             const char *application_id,
                                                                             const char *app_menu_path,
@@ -67,16 +67,16 @@ typedef void (*GdkWaylandWindowExported) (GdkWindow  *window,
                                           const char *handle,
                                           gpointer    user_data);
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 gboolean                 gdk_wayland_window_export_handle (GdkWindow               *window,
                                                            GdkWaylandWindowExported callback,
                                                            gpointer                 user_data,
                                                            GDestroyNotify           destroy_func);
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 void                     gdk_wayland_window_unexport_handle (GdkWindow *window);
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 gboolean                 gdk_wayland_window_set_transient_for_exported (GdkWindow *window,
                                                                         char      *parent_handle_str);
 
diff --git a/gdk/wayland/gdkwindow-wayland.c b/gdk/wayland/gdkwindow-wayland.c
index 3f9db70..7a86377 100644
--- a/gdk/wayland/gdkwindow-wayland.c
+++ b/gdk/wayland/gdkwindow-wayland.c
@@ -3706,8 +3706,6 @@ _gdk_wayland_window_set_grab_seat (GdkWindow *window,
  * Creates a new subsurface window.
  *
  * Returns: (transfer full): the new #GdkWindow
- *
- * Since: 3.90
  **/
 GdkWindow *
 gdk_wayland_window_new_subsurface (GdkDisplay         *display,
@@ -3735,8 +3733,6 @@ gdk_wayland_window_new_subsurface (GdkDisplay         *display,
  * Returns the Wayland surface of a #GdkWindow.
  *
  * Returns: (transfer none): a Wayland wl_surface
- *
- * Since: 3.8
  */
 struct wl_surface *
 gdk_wayland_window_get_wl_surface (GdkWindow *window)
@@ -3873,8 +3869,6 @@ gdk_wayland_window_get_gtk_surface (GdkWindow *window)
  *     g_signal_connect (window, "realize", G_CALLBACK (widget_realize_cb), NULL);
  *   }
  * ]|
- *
- * Since: 3.10
  */
 void
 gdk_wayland_window_set_use_custom_surface (GdkWindow *window)
@@ -3989,8 +3983,6 @@ static const struct zxdg_exported_v1_listener xdg_exported_listener = {
  * obtained from the Wayland compositor. The handle can be passed
  * to other processes, for the purpose of marking windows as transient
  * for out-of-process surfaces.
- *
- * Since: 3.22
  */
 
 static gboolean
@@ -4027,8 +4019,6 @@ gdk_wayland_window_is_exported (GdkWindow *window)
  *
  * Return value: %TRUE if the handle has been requested, %FALSE if
  *     an error occurred.
- *
- * Since: 3.22
  */
 gboolean
 gdk_wayland_window_export_handle (GdkWindow                *window,
@@ -4079,8 +4069,6 @@ gdk_wayland_window_export_handle (GdkWindow                *window,
  *
  * Note that this API depends on an unstable Wayland protocol,
  * and thus may require changes in the future.
- *
- * Since: 3.22
  */
 void
 gdk_wayland_window_unexport_handle (GdkWindow *window)
@@ -4134,8 +4122,6 @@ static const struct zxdg_imported_v1_listener xdg_imported_listener = {
  *
  * Return value: %TRUE if the window has been marked as transient,
  *     %FALSE if an error occurred.
- *
- * Since: 3.22
  */
 gboolean
 gdk_wayland_window_set_transient_for_exported (GdkWindow *window,
diff --git a/gdk/win32/gdkdisplay-win32.c b/gdk/win32/gdkdisplay-win32.c
index a7d1903..5bc2cb6 100644
--- a/gdk/win32/gdkdisplay-win32.c
+++ b/gdk/win32/gdkdisplay-win32.c
@@ -221,8 +221,6 @@ _gdk_win32_display_init_monitors (GdkWin32Display *win32_display)
  * by the application (GTK+ applications can learn about
  * cursor theme changes by listening for change notification
  * for the corresponding #GtkSetting).
- *
- * Since: 3.18
  */
 void
 gdk_win32_display_set_cursor_theme (GdkDisplay  *display,
diff --git a/gdk/win32/gdkglcontext-win32.c b/gdk/win32/gdkglcontext-win32.c
index 0bb5f34..c8fad5c 100644
--- a/gdk/win32/gdkglcontext-win32.c
+++ b/gdk/win32/gdkglcontext-win32.c
@@ -848,8 +848,6 @@ _gdk_win32_display_make_gl_context_current (GdkDisplay *display,
  * Retrieves the version of the WGL implementation.
  *
  * Returns: %TRUE if WGL is available
- *
- * Since: 3.16
  */
 gboolean
 gdk_win32_display_get_wgl_version (GdkDisplay *display,
diff --git a/gdk/win32/gdkvulkancontext-win32.h b/gdk/win32/gdkvulkancontext-win32.h
index f93c45c..4084e21 100644
--- a/gdk/win32/gdkvulkancontext-win32.h
+++ b/gdk/win32/gdkvulkancontext-win32.h
@@ -52,7 +52,7 @@ struct _GdkWin32VulkanContextClass
   GdkVulkanContextClass parent_class;
 };
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GType gdk_win32_vulkan_context_get_type (void) G_GNUC_CONST;
 
 G_END_DECLS
diff --git a/gdk/win32/gdkwin32display.h b/gdk/win32/gdkwin32display.h
index 5ef92dc..7e0bf6d 100644
--- a/gdk/win32/gdkwin32display.h
+++ b/gdk/win32/gdkwin32display.h
@@ -52,12 +52,12 @@ typedef struct _GdkWin32DisplayClass GdkWin32DisplayClass;
 GDK_AVAILABLE_IN_ALL
 GType      gdk_win32_display_get_type            (void);
 
-GDK_AVAILABLE_IN_3_18
+GDK_AVAILABLE_IN_ALL
 void       gdk_win32_display_set_cursor_theme    (GdkDisplay  *display,
                                                   const gchar *name,
                                                   gint         size);
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 HCURSOR    gdk_win32_display_get_hcursor         (GdkDisplay  *display,
                                                   GdkCursor   *cursor);
 
diff --git a/gdk/win32/gdkwin32glcontext.h b/gdk/win32/gdkwin32glcontext.h
index fc6e94c..e87192d 100644
--- a/gdk/win32/gdkwin32glcontext.h
+++ b/gdk/win32/gdkwin32glcontext.h
@@ -36,10 +36,10 @@ G_BEGIN_DECLS
 typedef struct _GdkWin32GLContext              GdkWin32GLContext;
 typedef struct _GdkWin32GLContextClass GdkWin32GLContextClass;
 
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 GType gdk_win32_gl_context_get_type (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 gboolean        gdk_win32_display_get_wgl_version (GdkDisplay *display,
                                                    gint       *major,
                                                    gint       *minor);
diff --git a/gdk/win32/gdkwin32keys.h b/gdk/win32/gdkwin32keys.h
index af17c53..bc7add5 100644
--- a/gdk/win32/gdkwin32keys.h
+++ b/gdk/win32/gdkwin32keys.h
@@ -61,7 +61,7 @@ typedef struct _GdkWin32KeymapClass GdkWin32KeymapClass;
 GDK_AVAILABLE_IN_ALL
 GType gdk_win32_keymap_get_type (void);
 
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 GdkWin32KeymapMatch gdk_win32_keymap_check_compose (GdkWin32Keymap *keymap,
                                                     guint16        *compose_buffer,
                                                     gsize           compose_buffer_len,
diff --git a/gdk/win32/gdkwin32monitor.h b/gdk/win32/gdkwin32monitor.h
index 93762bd..7814bf3 100644
--- a/gdk/win32/gdkwin32monitor.h
+++ b/gdk/win32/gdkwin32monitor.h
@@ -42,7 +42,7 @@ typedef GdkMonitor GdkWin32Monitor;
 #endif
 typedef struct _GdkWin32MonitorClass GdkWin32MonitorClass;
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 GType             gdk_win32_monitor_get_type            (void) G_GNUC_CONST;
 
 G_END_DECLS
diff --git a/gdk/x11/gdkcursor-x11.c b/gdk/x11/gdkcursor-x11.c
index 6fcad7d..6f94511 100644
--- a/gdk/x11/gdkcursor-x11.c
+++ b/gdk/x11/gdkcursor-x11.c
@@ -276,8 +276,6 @@ gdk_x11_cursor_create_for_name (GdkDisplay  *display,
  * by the application (GTK+ applications can learn about
  * cursor theme changes by listening for change notification
  * for the corresponding #GtkSetting).
- *
- * Since: 2.8
  */
 void
 gdk_x11_display_set_cursor_theme (GdkDisplay  *display,
diff --git a/gdk/x11/gdkdevicemanager-x11.c b/gdk/x11/gdkdevicemanager-x11.c
index d5ef24b..7d5add3 100644
--- a/gdk/x11/gdkdevicemanager-x11.c
+++ b/gdk/x11/gdkdevicemanager-x11.c
@@ -88,8 +88,6 @@ _gdk_x11_device_manager_new (GdkDisplay *display)
  *
  * Returns: (transfer none) (allow-none) (type GdkX11DeviceCore): The #GdkDevice wrapping the device ID,
  *          or %NULL if the given ID doesn’t currently represent a device.
- *
- * Since: 3.2
  **/
 GdkDevice *
 gdk_x11_device_manager_lookup (GdkX11DeviceManagerCore *device_manager,
@@ -133,8 +131,6 @@ gdk_x11_device_manager_lookup (GdkX11DeviceManagerCore *device_manager,
  * > those managed via XInput 1.x), will return 0.
  *
  * Returns: the XInput2 device ID.
- *
- * Since: 3.2
  **/
 gint
 gdk_x11_device_get_id (GdkDevice *device)
@@ -170,8 +166,6 @@ gdk_x11_device_get_id (GdkDevice *device)
  * applications that do mixed GDK/Xlib calls could want to disable
  * multidevice support if such Xlib code deals with input devices in
  * any way and doesn’t observe the presence of XInput 2.
- *
- * Since: 3.0
  */
 void
 gdk_disable_multidevice (void)
diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c
index 716e20f..75dde8f 100644
--- a/gdk/x11/gdkdisplay-x11.c
+++ b/gdk/x11/gdkdisplay-x11.c
@@ -1692,8 +1692,6 @@ gdk_x11_display_open (const gchar *display_name)
  *
  * The X11 backend uses the program class to set the class name part
  * of the `WM_CLASS` property on toplevel windows; see the ICCCM.
- *
- * Since: 3.94
  */
 void
 gdk_x11_display_set_program_class (GdkDisplay *display,
@@ -1903,8 +1901,6 @@ gdk_x11_display_get_default_group (GdkDisplay *display)
  * To ungrab the display again, use gdk_x11_display_ungrab(). 
  *
  * gdk_x11_display_grab()/gdk_x11_display_ungrab() calls can be nested.
- *
- * Since: 2.2
  **/
 void
 gdk_x11_display_grab (GdkDisplay *display)
@@ -1926,8 +1922,6 @@ gdk_x11_display_grab (GdkDisplay *display)
  * 
  * Ungrab @display after it has been grabbed with 
  * gdk_x11_display_grab(). 
- *
- * Since: 2.2
  **/
 void
 gdk_x11_display_ungrab (GdkDisplay *display)
@@ -2032,8 +2026,6 @@ gdk_x11_display_finalize (GObject *object)
  * Find the #GdkDisplay corresponding to @xdisplay, if any exists.
  * 
  * Returns: (transfer none) (type GdkX11Display): the #GdkDisplay, if found, otherwise %NULL.
- *
- * Since: 2.2
  **/
 GdkDisplay *
 gdk_x11_lookup_xdisplay (Display *xdisplay)
@@ -2114,8 +2106,6 @@ _gdk_x11_display_screen_for_xrootwin (GdkDisplay *display,
  * Returns the X display of a #GdkDisplay.
  *
  * Returns: (transfer none): an X display
- *
- * Since: 2.2
  */
 Display *
 gdk_x11_display_get_xdisplay (GdkDisplay *display)
@@ -2132,8 +2122,6 @@ gdk_x11_display_get_xdisplay (GdkDisplay *display)
  * Returns the X Screen used by #GdkDisplay.
  *
  * Returns: (transfer none): an X Screen
- *
- * Since: 3.94
  */
 Screen *
 gdk_x11_display_get_xscreen (GdkDisplay *display)
@@ -2150,8 +2138,6 @@ gdk_x11_display_get_xscreen (GdkDisplay *display)
  * Returns the root X window used by #GdkDisplay.
  *
  * Returns: an X Window
- *
- * Since: 3.94
  */
 Window
 gdk_x11_display_get_xrootwindow (GdkDisplay *display)
@@ -2289,8 +2275,6 @@ broadcast_xmessage (GdkDisplay *display,
  * not normally need to call it directly. See the
  * [Startup Notification Protocol 
specification](http://standards.freedesktop.org/startup-notification-spec/startup-notification-latest.txt)
  * for definitions of the message types and keys that can be used.
- *
- * Since: 2.12
  **/
 void
 gdk_x11_display_broadcast_startup_message (GdkDisplay *display,
@@ -2398,8 +2382,6 @@ gdk_x11_display_request_selection_notification (GdkDisplay *display,
  * movements. See gdk_x11_window_set_user_time().
  *
  * Returns: the timestamp of the last user interaction 
- *
- * Since: 2.8
  */
 guint32
 gdk_x11_display_get_user_time (GdkDisplay *display)
@@ -2427,8 +2409,6 @@ gdk_x11_display_supports_input_shapes (GdkDisplay *display)
  * Gets the startup notification ID for a display.
  * 
  * Returns: the startup notification ID for @display
- *
- * Since: 2.12
  */
 const gchar *
 gdk_x11_display_get_startup_notification_id (GdkDisplay *display)
@@ -2455,8 +2435,6 @@ gdk_x11_display_get_startup_notification_id (GdkDisplay *display)
  * The startup ID is also what is used to signal that the startup is
  * complete (for example, when opening a window or when calling
  * gdk_notify_startup_complete()).
- *
- * Since: 3.0
  **/
 void
 gdk_x11_display_set_startup_notification_id (GdkDisplay  *display,
@@ -2528,8 +2506,6 @@ gdk_x11_display_set_startup_notification_id (GdkDisplay  *display,
  *
  * This function should only be needed in unusual circumstances, e.g.
  * when filtering XInput extension events on the root window.
- *
- * Since: 2.4
  **/
 void
 gdk_x11_register_standard_event_type (GdkDisplay *display,
@@ -2679,8 +2655,6 @@ delete_outdated_error_traps (GdkX11Display *display_x11)
  * with this function.
  *
  * See also gdk_error_trap_push() to push a trap on all displays.
- *
- * Since: 3.0
  */
 void
 gdk_x11_display_error_trap_push (GdkDisplay *display)
@@ -2785,8 +2759,6 @@ gdk_x11_display_error_trap_pop_internal (GdkDisplay *display,
  *
  * Once the scale is set by this call it will not change in response
  * to later user configuration changes.
- *
- * Since: 3.10
  */
 void
 gdk_x11_display_set_window_scale (GdkDisplay *display,
@@ -2833,8 +2805,6 @@ gdk_x11_display_set_window_scale (GdkDisplay *display,
  * See gdk_error_trap_pop() for the all-displays-at-once
  * equivalent.
  *
- * Since: 3.0
- *
  * Returns: X error code or 0 on success
  */
 gint
@@ -2856,8 +2826,6 @@ gdk_x11_display_error_trap_pop (GdkDisplay *display)
  *
  * See gdk_error_trap_pop_ignored() for the all-displays-at-once
  * equivalent.
- *
- * Since: 3.0
  */
 void
 gdk_x11_display_error_trap_pop_ignored (GdkDisplay *display)
@@ -2878,8 +2846,6 @@ gdk_x11_display_error_trap_pop_ignored (GdkDisplay *display)
  *
  * See the X Session Management Library documentation for more information on
  * session management and the Inter-Client Communication Conventions Manual
- *
- * Since: 2.24
  */
 void
 gdk_x11_set_sm_client_id (const gchar *sm_client_id)
diff --git a/gdk/x11/gdkglcontext-x11.c b/gdk/x11/gdkglcontext-x11.c
index 5924946..fdd9571 100644
--- a/gdk/x11/gdkglcontext-x11.c
+++ b/gdk/x11/gdkglcontext-x11.c
@@ -1297,8 +1297,6 @@ gdk_x11_display_make_gl_context_current (GdkDisplay   *display,
  * Retrieves the version of the GLX implementation.
  *
  * Returns: %TRUE if GLX is available
- *
- * Since: 3.16
  */
 gboolean
 gdk_x11_display_get_glx_version (GdkDisplay *display,
diff --git a/gdk/x11/gdkkeys-x11.c b/gdk/x11/gdkkeys-x11.c
index 7889b99..be54e66 100644
--- a/gdk/x11/gdkkeys-x11.c
+++ b/gdk/x11/gdkkeys-x11.c
@@ -1393,8 +1393,6 @@ gdk_x11_keymap_translate_keyboard_state (GdkKeymap       *keymap,
  * directly includes an is_modifier field.
  *
  * Returns: the index of the active keyboard group for the event
- *
- * Since: 3.6
  */
 gint
 gdk_x11_keymap_get_group_for_state (GdkKeymap *keymap,
@@ -1484,8 +1482,6 @@ gdk_x11_keymap_add_virtual_modifiers (GdkKeymap       *keymap,
  * an is_modifier field.
  *
  * Returns: %TRUE if the hardware keycode is a modifier key
- *
- * Since: 3.6
  */
 gboolean
 gdk_x11_keymap_key_is_modifier (GdkKeymap *keymap,
diff --git a/gdk/x11/gdkproperty-x11.c b/gdk/x11/gdkproperty-x11.c
index be26586..5579e6a 100644
--- a/gdk/x11/gdkproperty-x11.c
+++ b/gdk/x11/gdkproperty-x11.c
@@ -75,8 +75,6 @@ lookup_cached_xatom (GdkDisplay *display,
  * is converted to %None.
  *
  * Returns: the X atom corresponding to @atom, or %None
- *
- * Since: 2.2
  **/
 Atom
 gdk_x11_atom_to_xatom_for_display (GdkDisplay *display,
@@ -153,8 +151,6 @@ _gdk_x11_precache_atoms (GdkDisplay          *display,
  * #GdkAtom.
  * 
  * Returns: (transfer none): the corresponding #GdkAtom.
- *
- * Since: 2.2
  **/
 GdkAtom
 gdk_x11_xatom_to_atom_for_display (GdkDisplay *display,
@@ -211,8 +207,6 @@ gdk_x11_xatom_to_atom_for_display (GdkDisplay *display,
  * faster than XInternAtom(), which is a round trip to the server each time.
  * 
  * Returns: a X atom for a #GdkDisplay
- *
- * Since: 2.2
  **/
 Atom
 gdk_x11_get_xatom_by_name_for_display (GdkDisplay  *display,
@@ -254,8 +248,6 @@ _gdk_x11_get_xatom_for_display_printf (GdkDisplay    *display,
  *
  * Returns: name of the X atom; this string is owned by GDK,
  *   so it shouldn’t be modifed or freed. 
- *
- * Since: 2.2
  **/
 const gchar *
 gdk_x11_get_xatom_name_for_display (GdkDisplay *display,
diff --git a/gdk/x11/gdkscreen-x11.c b/gdk/x11/gdkscreen-x11.c
index c12898f..2d973d4 100644
--- a/gdk/x11/gdkscreen-x11.c
+++ b/gdk/x11/gdkscreen-x11.c
@@ -127,8 +127,6 @@ gdk_x11_screen_finalize (GObject *object)
  * extension, 0 is returned.
  *
  * Returns: the XID of the monitor
- *
- * Since: 2.14
  */
 XID
 gdk_x11_screen_get_monitor_output (GdkX11Screen *x11_screen,
@@ -261,8 +259,6 @@ out:
  * Returns the screen of a #GdkX11Screen.
  *
  * Returns: (transfer none): an Xlib Screen*
- *
- * Since: 2.2
  */
 Screen *
 gdk_x11_screen_get_xscreen (GdkX11Screen *screen)
@@ -278,8 +274,6 @@ gdk_x11_screen_get_xscreen (GdkX11Screen *screen)
  *
  * Returns: the position of @screen among the screens
  *     of its display
- *
- * Since: 2.2
  */
 int
 gdk_x11_screen_get_screen_number (GdkX11Screen *screen)
@@ -1078,8 +1072,6 @@ fetch_net_wm_check_window (GdkX11Screen *x11_screen)
  * a window manager change.
  *
  * Returns: %TRUE if the window manager supports @property
- *
- * Since: 2.2
  **/
 gboolean
 gdk_x11_screen_supports_net_wm_hint (GdkX11Screen *x11_screen,
@@ -1157,8 +1149,6 @@ gdk_x11_screen_supports_net_wm_hint (GdkX11Screen *x11_screen,
  * Returns: the name of the window manager screen @screen, or
  * "unknown" if the window manager is unknown. The string is owned by GDK
  * and should not be freed.
- *
- * Since: 2.2
  **/
 const char*
 gdk_x11_screen_get_window_manager_name (GdkX11Screen *x11_screen)
@@ -1278,8 +1268,6 @@ get_netwm_cardinal_property (GdkX11Screen *x11_screen,
  * [Extended Window Manager Hints](http://www.freedesktop.org/Standards/wm-spec) specification.
  *
  * Returns: the number of workspaces, or 0 if workspaces are not supported
- *
- * Since: 3.10
  */
 guint32
 gdk_x11_screen_get_number_of_desktops (GdkX11Screen *screen)
@@ -1297,8 +1285,6 @@ gdk_x11_screen_get_number_of_desktops (GdkX11Screen *screen)
  * [Extended Window Manager Hints](http://www.freedesktop.org/Standards/wm-spec) specification.
  *
  * Returns: the current workspace, or 0 if workspaces are not supported
- *
- * Since: 3.10
  */
 guint32
 gdk_x11_screen_get_current_desktop (GdkX11Screen *screen)
diff --git a/gdk/x11/gdkselection-x11.c b/gdk/x11/gdkselection-x11.c
index aa3babc..7f34dfc 100644
--- a/gdk/x11/gdkselection-x11.c
+++ b/gdk/x11/gdkselection-x11.c
@@ -53,8 +53,6 @@
  *
  * Returns: the number of strings stored in list, or 0,
  *     if the conversion failed
- *
- * Since: 2.24
  */
 gint
 gdk_x11_display_text_property_to_text_list (GdkDisplay   *display,
@@ -102,8 +100,6 @@ gdk_x11_display_text_property_to_text_list (GdkDisplay   *display,
  *
  * Frees the array of strings created by
  * gdk_x11_display_text_property_to_text_list().
- *
- * Since: 2.24
  */
 void
 gdk_x11_free_text_list (gchar **list)
@@ -289,8 +285,6 @@ _gdk_x11_display_text_property_to_utf8_list (GdkDisplay    *display,
  * locale into a form suitable for storing in a window property.
  *
  * Returns: 0 upon success, non-zero upon failure
- *
- * Since: 2.24
  */
 gint
 gdk_x11_display_string_to_compound_text (GdkDisplay  *display,
@@ -409,8 +403,6 @@ _gdk_x11_display_utf8_to_string_target (GdkDisplay  *display,
  *
  * Returns: %TRUE if the conversion succeeded,
  *     otherwise %FALSE
- *
- * Since: 2.24
  */
 gboolean
 gdk_x11_display_utf8_to_compound_text (GdkDisplay  *display,
@@ -480,8 +472,6 @@ gdk_x11_display_utf8_to_compound_text (GdkDisplay  *display,
  *   gdk_x11_display_string_to_compound_text().
  *
  * Frees the data returned from gdk_x11_display_string_to_compound_text().
- *
- * Since: 2.24
  */
 void
 gdk_x11_free_compound_text (guchar *ctext)
diff --git a/gdk/x11/gdkvisual-x11.c b/gdk/x11/gdkvisual-x11.c
index be7718f..c43c853 100644
--- a/gdk/x11/gdkvisual-x11.c
+++ b/gdk/x11/gdkvisual-x11.c
@@ -290,8 +290,6 @@ _gdk_x11_screen_init_visuals (GdkX11Screen *x11_screen,
  *
  * Returns: (transfer none) (type GdkX11Visual): the #GdkVisual (owned by the screen
  *   object), or %NULL if the visual ID wasn’t found.
- *
- * Since: 2.2
  */
 GdkX11Visual *
 gdk_x11_screen_lookup_visual (GdkX11Screen *x11_screen,
diff --git a/gdk/x11/gdkvulkancontext-x11.h b/gdk/x11/gdkvulkancontext-x11.h
index f275c00..c2364a8 100644
--- a/gdk/x11/gdkvulkancontext-x11.h
+++ b/gdk/x11/gdkvulkancontext-x11.h
@@ -51,7 +51,7 @@ struct _GdkX11VulkanContextClass
   GdkVulkanContextClass parent_class;
 };
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GType gdk_x11_vulkan_context_get_type (void) G_GNUC_CONST;
 
 G_END_DECLS
diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c
index 83f8dea..c509cb2 100644
--- a/gdk/x11/gdkwindow-x11.c
+++ b/gdk/x11/gdkwindow-x11.c
@@ -1050,8 +1050,6 @@ x_event_mask_to_gdk_event_mask (long mask)
  * Returns: (transfer full): a #GdkWindow wrapper for the native
  *   window, or %NULL if the window has been destroyed. The wrapper
  *   will be newly created, if one doesn’t exist already.
- *
- * Since: 2.24
  */
 GdkWindow *
 gdk_x11_window_foreign_new_for_display (GdkDisplay *display,
@@ -1678,8 +1676,6 @@ gdk_window_x11_lower (GdkWindow *window)
  * window manager that supports multiple workspaces, as described
  * in the [Extended Window Manager Hints](http://www.freedesktop.org/Standards/wm-spec) specification.
  * Will not do anything if the window is already on all workspaces.
- * 
- * Since: 2.8
  */
 void
 gdk_x11_window_move_to_current_desktop (GdkWindow *window)
@@ -1746,8 +1742,6 @@ get_netwm_cardinal_property (GdkWindow   *window,
  * Gets the number of the workspace @window is on.
  *
  * Returns: the current workspace of @window
- *
- * Since: 3.10
  */
 guint32
 gdk_x11_window_get_desktop (GdkWindow *window)
@@ -1765,8 +1759,6 @@ gdk_x11_window_get_desktop (GdkWindow *window)
  * Moves the window to the given workspace when running unde a
  * window manager that supports multiple workspaces, as described
  * in the [Extended Window Manager Hints](http://www.freedesktop.org/Standards/wm-spec) specification.
- *
- * Since: 3.10
  */
 void
 gdk_x11_window_move_to_desktop (GdkWindow *window,
@@ -2888,8 +2880,6 @@ gdk_x11_window_set_focus_on_map (GdkWindow *window,
  * Note that this property is automatically updated by GDK, so this
  * function should only be used by applications which handle input
  * events bypassing GDK.
- *
- * Since: 2.6
  **/
 void
 gdk_x11_window_set_user_time (GdkWindow *window,
@@ -2945,8 +2935,6 @@ gdk_x11_window_set_user_time (GdkWindow *window,
  * This function modifies or removes an arbitrary X11 window
  * property of type UTF8_STRING.  If the given @window is
  * not a toplevel window, it is ignored.
- *
- * Since: 3.4
  */
 void
 gdk_x11_window_set_utf8_property  (GdkWindow *window,
@@ -3012,8 +3000,6 @@ gdk_x11_window_set_shadow_width (GdkWindow *window,
  * This is the same as gdk_window_set_shadow_width() but it only works
  * on GdkX11Window.
  *
- * Since: 3.10
- *
  * Deprecated: 3.12: Use gdk_window_set_shadow_width() instead.
  */
 void
@@ -3040,8 +3026,6 @@ gdk_x11_window_set_frame_extents (GdkWindow *window,
  * Note that this property is automatically updated by GTK+, so this
  * function should only be used by applications which do not use GTK+
  * to create toplevel windows.
- *
- * Since: 3.2
  */
 void
 gdk_x11_window_set_theme_variant (GdkWindow  *window,
@@ -4800,8 +4784,6 @@ gdk_x11_window_get_scale_factor (GdkWindow *window)
  * the window is not directly managed by the window manager, then frame
  * synchronziation may need to be disabled. This is the case for a window
  * embedded via the XEMBED protocol.
- *
- * Since: 3.8
  */
 void
 gdk_x11_window_set_frame_sync_enabled (GdkWindow *window,
diff --git a/gdk/x11/gdkx11device.h b/gdk/x11/gdkx11device.h
index f42613b..56cb9ed 100644
--- a/gdk/x11/gdkx11device.h
+++ b/gdk/x11/gdkx11device.h
@@ -26,7 +26,7 @@
 
 G_BEGIN_DECLS
 
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 gint  gdk_x11_device_get_id  (GdkDevice *device);
 
 G_END_DECLS
diff --git a/gdk/x11/gdkx11devicemanager.h b/gdk/x11/gdkx11devicemanager.h
index 5b24e63..51833a9 100644
--- a/gdk/x11/gdkx11devicemanager.h
+++ b/gdk/x11/gdkx11devicemanager.h
@@ -30,7 +30,7 @@
 
 G_BEGIN_DECLS
 
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 GdkDevice * gdk_x11_device_manager_lookup (GdkX11DeviceManagerCore *device_manager,
                                            gint                     device_id);
 GDK_AVAILABLE_IN_ALL
diff --git a/gdk/x11/gdkx11display.h b/gdk/x11/gdkx11display.h
index d820519..85f5499 100644
--- a/gdk/x11/gdkx11display.h
+++ b/gdk/x11/gdkx11display.h
@@ -54,16 +54,16 @@ typedef struct _GdkX11DisplayClass GdkX11DisplayClass;
 GDK_AVAILABLE_IN_ALL
 GType      gdk_x11_display_get_type            (void);
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GdkDisplay *  gdk_x11_display_open        (const char  *display_name);
 
 GDK_AVAILABLE_IN_ALL
 Display *     gdk_x11_display_get_xdisplay     (GdkDisplay  *display);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 Screen *      gdk_x11_display_get_xscreen      (GdkDisplay  *display);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 Window        gdk_x11_display_get_xrootwindow  (GdkDisplay  *display);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 Cursor        gdk_x11_display_get_xcursor      (GdkDisplay  *display,
                                                 GdkCursor   *cursor);
 
@@ -85,7 +85,7 @@ const gchar * gdk_x11_display_get_startup_notification_id         (GdkDisplay *d
 GDK_AVAILABLE_IN_ALL
 void          gdk_x11_display_set_startup_notification_id         (GdkDisplay  *display,
                                                                    const gchar *startup_id);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void          gdk_x11_display_set_program_class                   (GdkDisplay  *display,
                                                                    const char  *program_class);
 
@@ -102,7 +102,7 @@ void gdk_x11_display_broadcast_startup_message (GdkDisplay *display,
 GDK_AVAILABLE_IN_ALL
 GdkDisplay   *gdk_x11_lookup_xdisplay (Display *xdisplay);
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GdkX11Screen *gdk_x11_display_get_screen (GdkDisplay *display);
 
 GDK_AVAILABLE_IN_ALL
@@ -110,7 +110,7 @@ void        gdk_x11_display_grab              (GdkDisplay *display);
 GDK_AVAILABLE_IN_ALL
 void        gdk_x11_display_ungrab            (GdkDisplay *display);
 
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void        gdk_x11_display_set_window_scale (GdkDisplay *display,
                                               gint scale);
 
diff --git a/gdk/x11/gdkx11glcontext.h b/gdk/x11/gdkx11glcontext.h
index 6d1d21a..0701869 100644
--- a/gdk/x11/gdkx11glcontext.h
+++ b/gdk/x11/gdkx11glcontext.h
@@ -36,10 +36,10 @@ G_BEGIN_DECLS
 typedef struct _GdkX11GLContext                GdkX11GLContext;
 typedef struct _GdkX11GLContextClass   GdkX11GLContextClass;
 
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 GType gdk_x11_gl_context_get_type (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 gboolean        gdk_x11_display_get_glx_version (GdkDisplay *display,
                                                  gint       *major,
                                                  gint       *minor);
diff --git a/gdk/x11/gdkx11keys.h b/gdk/x11/gdkx11keys.h
index b69f040..a011bb4 100644
--- a/gdk/x11/gdkx11keys.h
+++ b/gdk/x11/gdkx11keys.h
@@ -43,11 +43,11 @@ typedef struct _GdkX11KeymapClass GdkX11KeymapClass;
 GDK_AVAILABLE_IN_ALL
 GType gdk_x11_keymap_get_type (void);
 
-GDK_AVAILABLE_IN_3_6
+GDK_AVAILABLE_IN_ALL
 gint gdk_x11_keymap_get_group_for_state (GdkKeymap *keymap,
                                          guint      state);
 
-GDK_AVAILABLE_IN_3_6
+GDK_AVAILABLE_IN_ALL
 gboolean gdk_x11_keymap_key_is_modifier (GdkKeymap *keymap,
                                          guint      keycode);
 G_END_DECLS
diff --git a/gdk/x11/gdkx11monitor.h b/gdk/x11/gdkx11monitor.h
index 98717e8..d136343 100644
--- a/gdk/x11/gdkx11monitor.h
+++ b/gdk/x11/gdkx11monitor.h
@@ -37,10 +37,10 @@ G_BEGIN_DECLS
 typedef struct _GdkX11Monitor      GdkX11Monitor;
 typedef struct _GdkX11MonitorClass GdkX11MonitorClass;
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 GType             gdk_x11_monitor_get_type            (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 XID               gdk_x11_monitor_get_output          (GdkMonitor *monitor);
 
 G_END_DECLS
diff --git a/gdk/x11/gdkx11screen.h b/gdk/x11/gdkx11screen.h
index 867f9ab..791bb4b 100644
--- a/gdk/x11/gdkx11screen.h
+++ b/gdk/x11/gdkx11screen.h
@@ -65,9 +65,9 @@ GDK_AVAILABLE_IN_ALL
 XID      gdk_x11_screen_get_monitor_output   (GdkX11Screen *screen,
                                               gint          monitor_num);
 
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 guint32  gdk_x11_screen_get_number_of_desktops (GdkX11Screen *screen);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 guint32  gdk_x11_screen_get_current_desktop    (GdkX11Screen *screen);
 
 G_END_DECLS
diff --git a/gdk/x11/gdkx11window.h b/gdk/x11/gdkx11window.h
index 8257941..46b141b 100644
--- a/gdk/x11/gdkx11window.h
+++ b/gdk/x11/gdkx11window.h
@@ -58,14 +58,14 @@ Window   gdk_x11_window_get_xid           (GdkWindow   *window);
 GDK_AVAILABLE_IN_ALL
 void     gdk_x11_window_set_user_time     (GdkWindow   *window,
                                            guint32      timestamp);
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 void     gdk_x11_window_set_utf8_property    (GdkWindow *window,
                                              const gchar *name,
                                              const gchar *value);
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 void     gdk_x11_window_set_theme_variant (GdkWindow   *window,
                                            const char  *variant);
-GDK_DEPRECATED_IN_3_12_FOR(gdk_window_set_shadow_width)
+GDK_DEPRECATED_FOR(gdk_window_set_shadow_width)
 void     gdk_x11_window_set_frame_extents (GdkWindow *window,
                                            int        left,
                                            int        right,
@@ -74,13 +74,13 @@ void     gdk_x11_window_set_frame_extents (GdkWindow *window,
 GDK_AVAILABLE_IN_ALL
 void     gdk_x11_window_move_to_current_desktop (GdkWindow   *window);
 
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 guint32  gdk_x11_window_get_desktop             (GdkWindow   *window);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void     gdk_x11_window_move_to_desktop         (GdkWindow   *window,
                                                  guint32      desktop);
 
-GDK_AVAILABLE_IN_3_8
+GDK_AVAILABLE_IN_ALL
 void     gdk_x11_window_set_frame_sync_enabled (GdkWindow *window,
                                                 gboolean   frame_sync_enabled);
 
diff --git a/gdk/x11/gdkxid.c b/gdk/x11/gdkxid.c
index 1a8171e..d74b367 100644
--- a/gdk/x11/gdkxid.c
+++ b/gdk/x11/gdkxid.c
@@ -97,8 +97,6 @@ _gdk_x11_display_remove_window (GdkDisplay *display,
  *
  * Returns: (transfer none) (type GdkX11Window): the #GdkWindow wrapper for the native
  *    window, or %NULL if there is none.
- *
- * Since: 2.24
  */
 GdkWindow *
 gdk_x11_window_lookup_for_display (GdkDisplay *display,
diff --git a/gsk/gskrenderer.c b/gsk/gskrenderer.c
index ad5450e..877aea7 100644
--- a/gsk/gskrenderer.c
+++ b/gsk/gskrenderer.c
@@ -272,8 +272,6 @@ gsk_renderer_class_init (GskRendererClass *klass)
    * GskRenderer:display:
    *
    * The #GdkDisplay used by the #GskRenderer.
-   *
-   * Since: 3.90
    */
   gsk_renderer_properties[PROP_DISPLAY] =
     g_param_spec_object ("display",
@@ -296,8 +294,6 @@ gsk_renderer_class_init (GskRendererClass *klass)
    * GskRenderer:drawing-context:
    *
    * The drawing context used when rendering.
-   *
-   * Since: 3.90
    */
   gsk_renderer_properties[PROP_DRAWING_CONTEXT] =
     g_param_spec_object ("drawing-context",
@@ -327,8 +323,6 @@ gsk_renderer_init (GskRenderer *self)
  * has not been realized yet, %NULL will be returned.
  *
  * Returns: (transfer none) (nullable): a #GdkWindow
- *
- * Since: 3.90
  */
 GdkWindow *
 gsk_renderer_get_window (GskRenderer *renderer)
@@ -383,8 +377,6 @@ gsk_renderer_get_drawing_context (GskRenderer *renderer)
  * Retrieves the #GdkDisplay used when creating the #GskRenderer.
  *
  * Returns: (transfer none): a #GdkDisplay
- *
- * Since: 3.90
  */
 GdkDisplay *
 gsk_renderer_get_display (GskRenderer *renderer)
@@ -403,8 +395,6 @@ gsk_renderer_get_display (GskRenderer *renderer)
  * Checks whether the @renderer is realized or not.
  *
  * Returns: %TRUE if the #GskRenderer was realized, and %FALSE otherwise
- *
- * Since: 3.90
  */
 gboolean
 gsk_renderer_is_realized (GskRenderer *renderer)
@@ -424,8 +414,6 @@ gsk_renderer_is_realized (GskRenderer *renderer)
  *
  * Creates the resources needed by the @renderer to render the scene
  * graph.
- *
- * Since: 3.90
  */
 gboolean
 gsk_renderer_realize (GskRenderer  *renderer,
@@ -456,8 +444,6 @@ gsk_renderer_realize (GskRenderer  *renderer,
  * @renderer: a #GskRenderer
  *
  * Releases all the resources created by gsk_renderer_realize().
- *
- * Since: 3.90
  */
 void
 gsk_renderer_unrealize (GskRenderer *renderer)
@@ -490,8 +476,6 @@ gsk_renderer_unrealize (GskRenderer *renderer)
  * transform node and pass that node instead.
  *
  * Returns: (transfer full): a #GdkTexture with the rendered contents of @root.
- *
- * Since: 3.90
  */
 GdkTexture *
 gsk_renderer_render_texture (GskRenderer           *renderer,
@@ -550,8 +534,6 @@ gsk_renderer_render_texture (GskRenderer           *renderer,
  *
  * The @renderer will acquire a reference on the #GskRenderNode tree while
  * the rendering is in progress.
- *
- * Since: 3.90
  */
 void
 gsk_renderer_render (GskRenderer       *renderer,
@@ -710,8 +692,6 @@ static struct {
  * The renderer will be realized when it is returned.
  *
  * Returns: (transfer full) (nullable): a #GskRenderer
- *
- * Since: 3.90
  */
 GskRenderer *
 gsk_renderer_new_for_window (GdkWindow *window)
@@ -786,8 +766,6 @@ gsk_renderer_create_cairo_surface (GskRenderer    *renderer,
  *
  * Returns: (transfer none): a #GdkDrawingContext context that should be used to
  * draw the contents of the @renderer. This context is owned by GDK.
- *
- * Since: 3.90
  */
 GdkDrawingContext *
 gsk_renderer_begin_draw_frame (GskRenderer          *renderer,
@@ -831,8 +809,6 @@ gsk_renderer_begin_draw_frame (GskRenderer          *renderer,
  *
  * Calls to gsk_renderer_begin_draw_frame() and gsk_renderer_end_draw_frame()
  * must be paired.
- *
- * Since: 3.90
  */
 void
 gsk_renderer_end_draw_frame (GskRenderer       *renderer,
diff --git a/gsk/gskrenderer.h b/gsk/gskrenderer.h
index 46e160d..46509bd 100644
--- a/gsk/gskrenderer.h
+++ b/gsk/gskrenderer.h
@@ -35,38 +35,38 @@ G_BEGIN_DECLS
 
 typedef struct _GskRendererClass        GskRendererClass;
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GType gsk_renderer_get_type (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GskRenderer *           gsk_renderer_new_for_window             (GdkWindow               *window);
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GdkWindow *             gsk_renderer_get_window                 (GskRenderer             *renderer);
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GdkDisplay *            gsk_renderer_get_display                (GskRenderer             *renderer);
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 gboolean                gsk_renderer_realize                    (GskRenderer             *renderer,
                                                                  GdkWindow               *window,
                                                                  GError                 **error);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 void                    gsk_renderer_unrealize                  (GskRenderer             *renderer);
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GdkTexture *            gsk_renderer_render_texture             (GskRenderer             *renderer,
                                                                  GskRenderNode           *root,
                                                                  const graphene_rect_t   *viewport);
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GdkDrawingContext *     gsk_renderer_begin_draw_frame           (GskRenderer             *renderer,
                                                                  const cairo_region_t    *region);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 void                    gsk_renderer_render                     (GskRenderer             *renderer,
                                                                  GskRenderNode           *root,
                                                                  GdkDrawingContext       *context);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 void                    gsk_renderer_end_draw_frame             (GskRenderer             *renderer,
                                                                  GdkDrawingContext       *context);
 
diff --git a/gsk/gskrendernode.c b/gsk/gskrendernode.c
index 496e4e0..9775c92 100644
--- a/gsk/gskrendernode.c
+++ b/gsk/gskrendernode.c
@@ -53,8 +53,6 @@
  * GskRenderNode: (ref-func gsk_render_node_ref) (unref-func gsk_render_node_unref)
  *
  * The `GskRenderNode` structure contains only private data.
- *
- * Since: 3.90
  */
 
 G_DEFINE_BOXED_TYPE (GskRenderNode, gsk_render_node,
@@ -103,8 +101,6 @@ gsk_render_node_new (const GskRenderNodeClass *node_class, gsize extra_size)
  * Acquires a reference on the given #GskRenderNode.
  *
  * Returns: (transfer none): the #GskRenderNode with an additional reference
- *
- * Since: 3.90
  */
 GskRenderNode *
 gsk_render_node_ref (GskRenderNode *node)
@@ -124,8 +120,6 @@ gsk_render_node_ref (GskRenderNode *node)
  *
  * If the reference was the last, the resources associated to the @node are
  * freed.
- *
- * Since: 3.90
  */
 void
 gsk_render_node_unref (GskRenderNode *node)
@@ -143,8 +137,6 @@ gsk_render_node_unref (GskRenderNode *node)
  * Returns the type of the @node.
  *
  * Returns: the type of the #GskRenderNode
- *
- * Since: 3.90
  */
 GskRenderNodeType
 gsk_render_node_get_node_type (GskRenderNode *node)
@@ -161,8 +153,6 @@ gsk_render_node_get_node_type (GskRenderNode *node)
  *
  * Retrieves the boundaries of the @node. The node will not draw outside
  * of its boundaries.
- *
- * Since: 3.90
  */
 void
 gsk_render_node_get_bounds (GskRenderNode   *node,
@@ -182,8 +172,6 @@ gsk_render_node_get_bounds (GskRenderNode   *node,
  * Sets the name of the node.
  *
  * A name is generally useful for debugging purposes.
- *
- * Since: 3.90
  */
 void
 gsk_render_node_set_name (GskRenderNode *node,
@@ -204,8 +192,6 @@ gsk_render_node_set_name (GskRenderNode *node,
  *
  * Returns: (nullable): The name previously set via
  *     gsk_render_node_set_name() or %NULL
- *
- * Since: 3.90
  **/
 const char *
 gsk_render_node_get_name (GskRenderNode *node)
diff --git a/gsk/gskrendernode.h b/gsk/gskrendernode.h
index 6da3b71..766e4f8 100644
--- a/gsk/gskrendernode.h
+++ b/gsk/gskrendernode.h
@@ -52,260 +52,260 @@ struct _GskShadow
   float radius;
 };
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GType                   gsk_render_node_get_type                (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GQuark                  gsk_serialization_error_quark           (void);
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GskRenderNode *         gsk_render_node_ref                     (GskRenderNode *node);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 void                    gsk_render_node_unref                   (GskRenderNode *node);
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GskRenderNodeType       gsk_render_node_get_node_type           (GskRenderNode *node);
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 void                    gsk_render_node_set_name                (GskRenderNode *node,
                                                                  const char    *name);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 const char *            gsk_render_node_get_name                (GskRenderNode *node);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 void                    gsk_render_node_get_bounds              (GskRenderNode   *node,
                                                                  graphene_rect_t *bounds);
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 void                    gsk_render_node_draw                    (GskRenderNode *node,
                                                                  cairo_t       *cr);
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GBytes *                gsk_render_node_serialize               (GskRenderNode *node);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 gboolean                gsk_render_node_write_to_file           (GskRenderNode *node,
                                                                  const char    *filename,
                                                                  GError       **error);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GskRenderNode *         gsk_render_node_deserialize             (GBytes        *bytes,
                                                                  GError       **error);
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GskRenderNode *         gsk_color_node_new                      (const GdkRGBA            *rgba,
                                                                  const graphene_rect_t    *bounds);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 const GdkRGBA *         gsk_color_node_peek_color               (GskRenderNode            *node);
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GskRenderNode *         gsk_texture_node_new                    (GdkTexture               *texture,
                                                                  const graphene_rect_t    *bounds);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GdkTexture *            gsk_texture_node_get_texture            (GskRenderNode            *node);
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GskRenderNode *         gsk_linear_gradient_node_new                (const graphene_rect_t    *bounds,
                                                                      const graphene_point_t   *start,
                                                                      const graphene_point_t   *end,
                                                                      const GskColorStop       *color_stops,
                                                                      gsize                     
n_color_stops);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 const graphene_point_t * gsk_linear_gradient_node_peek_start        (GskRenderNode            *node);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 const graphene_point_t * gsk_linear_gradient_node_peek_end          (GskRenderNode            *node);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 gsize                    gsk_linear_gradient_node_get_n_color_stops (GskRenderNode            *node);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 const GskColorStop *     gsk_linear_gradient_node_peek_color_stops  (GskRenderNode            *node);
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GskRenderNode *         gsk_repeating_linear_gradient_node_new      (const graphene_rect_t    *bounds,
                                                                      const graphene_point_t   *start,
                                                                      const graphene_point_t   *end,
                                                                      const GskColorStop       *color_stops,
                                                                      gsize                     
n_color_stops);
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GskRenderNode *         gsk_border_node_new                     (const GskRoundedRect     *outline,
                                                                  const float               border_width[4],
                                                                  const GdkRGBA             border_color[4]);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 const GskRoundedRect *  gsk_border_node_peek_outline            (GskRenderNode            *node);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 const float *           gsk_border_node_peek_widths             (GskRenderNode            *node);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 const GdkRGBA *         gsk_border_node_peek_colors             (GskRenderNode            *node);
 
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GskRenderNode *         gsk_inset_shadow_node_new               (const GskRoundedRect     *outline,
                                                                  const GdkRGBA            *color,
                                                                  float                     dx,
                                                                  float                     dy,
                                                                  float                     spread,
                                                                  float                     blur_radius);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 const GskRoundedRect *  gsk_inset_shadow_node_peek_outline      (GskRenderNode            *node);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 const GdkRGBA *         gsk_inset_shadow_node_peek_color        (GskRenderNode            *node);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 float                   gsk_inset_shadow_node_get_dx            (GskRenderNode            *node);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 float                   gsk_inset_shadow_node_get_dy            (GskRenderNode            *node);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 float                   gsk_inset_shadow_node_get_spread        (GskRenderNode            *node);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 float                   gsk_inset_shadow_node_get_blur_radius   (GskRenderNode            *node);
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GskRenderNode *         gsk_outset_shadow_node_new              (const GskRoundedRect     *outline,
                                                                  const GdkRGBA            *color,
                                                                  float                     dx,
                                                                  float                     dy,
                                                                  float                     spread,
                                                                  float                     blur_radius);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 const GskRoundedRect *  gsk_outset_shadow_node_peek_outline     (GskRenderNode            *node);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 const GdkRGBA *         gsk_outset_shadow_node_peek_color       (GskRenderNode            *node);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 float                   gsk_outset_shadow_node_get_dx           (GskRenderNode            *node);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 float                   gsk_outset_shadow_node_get_dy           (GskRenderNode            *node);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 float                   gsk_outset_shadow_node_get_spread       (GskRenderNode            *node);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 float                   gsk_outset_shadow_node_get_blur_radius  (GskRenderNode            *node);
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GskRenderNode *         gsk_cairo_node_new                      (const graphene_rect_t    *bounds);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 cairo_t *               gsk_cairo_node_get_draw_context         (GskRenderNode            *node,
                                                                  GskRenderer              *renderer);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 const cairo_surface_t * gsk_cairo_node_peek_surface             (GskRenderNode            *node);
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GskRenderNode *         gsk_container_node_new                  (GskRenderNode           **children,
                                                                  guint                     n_children);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 guint                   gsk_container_node_get_n_children       (GskRenderNode            *node);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GskRenderNode *         gsk_container_node_get_child            (GskRenderNode            *node,
                                                                  guint                     idx);
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GskRenderNode *         gsk_transform_node_new                  (GskRenderNode            *child,
                                                                  const graphene_matrix_t  *transform);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GskRenderNode *         gsk_transform_node_get_child            (GskRenderNode            *node);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 const graphene_matrix_t *
                         gsk_transform_node_peek_transform       (GskRenderNode            *node);
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GskRenderNode *         gsk_opacity_node_new                    (GskRenderNode            *child,
                                                                  double                    opacity);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GskRenderNode *         gsk_opacity_node_get_child              (GskRenderNode            *node);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 double                  gsk_opacity_node_get_opacity            (GskRenderNode            *node);
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GskRenderNode *         gsk_color_matrix_node_new               (GskRenderNode            *child,
                                                                  const graphene_matrix_t  *color_matrix,
                                                                  const graphene_vec4_t    *color_offset);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GskRenderNode *         gsk_color_matrix_node_get_child         (GskRenderNode            *node);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 const graphene_matrix_t *
                         gsk_color_matrix_node_peek_color_matrix (GskRenderNode            *node);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 const graphene_vec4_t * gsk_color_matrix_node_peek_color_offset (GskRenderNode            *node);
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GskRenderNode *         gsk_repeat_node_new                     (const graphene_rect_t    *bounds,
                                                                  GskRenderNode            *child,
                                                                  const graphene_rect_t    *child_bounds);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GskRenderNode *         gsk_repeat_node_get_child               (GskRenderNode            *node);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 const graphene_rect_t * gsk_repeat_node_peek_child_bounds       (GskRenderNode            *node);
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GskRenderNode *         gsk_clip_node_new                       (GskRenderNode            *child,
                                                                  const graphene_rect_t    *clip);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GskRenderNode *         gsk_clip_node_get_child                 (GskRenderNode            *node);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 const graphene_rect_t * gsk_clip_node_peek_clip                 (GskRenderNode            *node);
 
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GskRenderNode *         gsk_rounded_clip_node_new               (GskRenderNode            *child,
                                                                  const GskRoundedRect     *clip);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GskRenderNode *         gsk_rounded_clip_node_get_child         (GskRenderNode            *node);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 const GskRoundedRect *  gsk_rounded_clip_node_peek_clip         (GskRenderNode            *node);
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GskRenderNode *         gsk_shadow_node_new                     (GskRenderNode            *child,
                                                                  const GskShadow          *shadows,
                                                                  gsize                     n_shadows);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GskRenderNode *         gsk_shadow_node_get_child               (GskRenderNode            *node);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 const GskShadow *       gsk_shadow_node_peek_shadow             (GskRenderNode            *node,
                                                                  gsize                     i);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 gsize                   gsk_shadow_node_get_n_shadows           (GskRenderNode            *node);
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GskRenderNode *         gsk_blend_node_new                      (GskRenderNode            *bottom,
                                                                  GskRenderNode            *top,
                                                                  GskBlendMode              blend_mode);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GskRenderNode *         gsk_blend_node_get_bottom_child         (GskRenderNode            *node);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GskRenderNode *         gsk_blend_node_get_top_child            (GskRenderNode            *node);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GskBlendMode            gsk_blend_node_get_blend_mode           (GskRenderNode            *node);
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GskRenderNode *         gsk_cross_fade_node_new                 (GskRenderNode            *start,
                                                                  GskRenderNode            *end,
                                                                  double                    progress);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GskRenderNode *         gsk_cross_fade_node_get_start_child     (GskRenderNode            *node);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GskRenderNode *         gsk_cross_fade_node_get_end_child       (GskRenderNode            *node);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 double                  gsk_cross_fade_node_get_progress        (GskRenderNode            *node);
 
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 GskRenderNode *         gsk_text_node_new                       (PangoFont                *font,
                                                                  PangoGlyphString         *glyphs,
                                                                  const GdkRGBA            *color,
                                                                  double                    x,
                                                                  double                    y);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 const PangoFont *       gsk_text_node_peek_font                 (GskRenderNode            *node);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 guint                   gsk_text_node_get_num_glyphs            (GskRenderNode            *node);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 const PangoGlyphInfo   *gsk_text_node_peek_glyphs               (GskRenderNode            *node);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 const GdkRGBA *         gsk_text_node_peek_color                (GskRenderNode            *node);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 float                   gsk_text_node_get_x                     (GskRenderNode            *node);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 float                   gsk_text_node_get_y                     (GskRenderNode            *node);
 
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 GskRenderNode *         gsk_blur_node_new                       (GskRenderNode            *child,
                                                                  double                    radius);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GskRenderNode *         gsk_blur_node_get_child                 (GskRenderNode            *node);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 double                  gsk_blur_node_get_radius                (GskRenderNode            *node);
 
 G_END_DECLS
diff --git a/gsk/gskrendernodeimpl.c b/gsk/gskrendernodeimpl.c
index c0b5358..9167899 100644
--- a/gsk/gskrendernodeimpl.c
+++ b/gsk/gskrendernodeimpl.c
@@ -130,8 +130,6 @@ gsk_color_node_peek_color (GskRenderNode *node)
  * the area given by @bounds.
  *
  * Returns: A new #GskRenderNode
- *
- * Since: 3.90
  */
 GskRenderNode *
 gsk_color_node_new (const GdkRGBA         *rgba,
@@ -313,8 +311,6 @@ static const GskRenderNodeClass GSK_REPEATING_LINEAR_GRADIENT_NODE_CLASS = {
  * points and color stops, and render that into the area given by @bounds.
  *
  * Returns: A new #GskRenderNode
- *
- * Since: 3.90
  */
 GskRenderNode *
 gsk_linear_gradient_node_new (const graphene_rect_t  *bounds,
@@ -361,8 +357,6 @@ gsk_linear_gradient_node_new (const graphene_rect_t  *bounds,
  * given by @bounds.
  *
  * Returns: A new #GskRenderNode
- *
- * Since: 3.90
  */
 GskRenderNode *
 gsk_repeating_linear_gradient_node_new (const graphene_rect_t  *bounds,
@@ -630,8 +624,6 @@ gsk_border_node_peek_colors (GskRenderNode *node)
  * colors.
  *
  * Returns: A new #GskRenderNode
- *
- * Since: 3.90
  */
 GskRenderNode *
 gsk_border_node_new (const GskRoundedRect     *outline,
@@ -772,8 +764,6 @@ static const GskRenderNodeClass GSK_TEXTURE_NODE_CLASS = {
  * @node: a #GskRenderNode
  *
  * Returns: (transfer none): the #GdkTexture
- *
- * Since: 3.94
  */
 GdkTexture *
 gsk_texture_node_get_texture (GskRenderNode *node)
@@ -794,8 +784,6 @@ gsk_texture_node_get_texture (GskRenderNode *node)
  * @texture into the area given by @bounds.
  *
  * Returns: A new #GskRenderNode
- *
- * Since: 3.90
  */
 GskRenderNode *
 gsk_texture_node_new (GdkTexture            *texture,
@@ -1290,8 +1278,6 @@ static const GskRenderNodeClass GSK_INSET_SHADOW_NODE_CLASS = {
  * into the box given by @outline.
  *
  * Returns: A new #GskRenderNode
- *
- * Since: 3.90
  */
 GskRenderNode *
 gsk_inset_shadow_node_new (const GskRoundedRect *outline,
@@ -1593,8 +1579,6 @@ static const GskRenderNodeClass GSK_OUTSET_SHADOW_NODE_CLASS = {
  * around the box given by @outline.
  *
  * Returns: A new #GskRenderNode
- *
- * Since: 3.90
  */
 GskRenderNode *
 gsk_outset_shadow_node_new (const GskRoundedRect *outline,
@@ -1872,8 +1856,6 @@ gsk_cairo_node_new_for_surface (const graphene_rect_t *bounds,
  * surface using gsk_cairo_node_get_draw_context()
  *
  * Returns: A new #GskRenderNode
- *
- * Since: 3.90
  */
 GskRenderNode *
 gsk_cairo_node_new (const graphene_rect_t *bounds)
@@ -1901,8 +1883,6 @@ gsk_cairo_node_new (const graphene_rect_t *bounds)
  *
  * Returns: (transfer full): a Cairo context used for drawing; use
  *   cairo_destroy() when done drawing
- *
- * Since: 3.90
  */
 cairo_t *
 gsk_cairo_node_get_draw_context (GskRenderNode *node,
@@ -2107,8 +2087,6 @@ static const GskRenderNodeClass GSK_CONTAINER_NODE_CLASS = {
  * The new node will acquire a reference to each of the children.
  *
  * Returns: (transfer full): the new #GskRenderNode
- *
- * Since: 3.90
  */
 GskRenderNode *
 gsk_container_node_new (GskRenderNode **children,
@@ -2136,8 +2114,6 @@ gsk_container_node_new (GskRenderNode **children,
  * Retrieves the number of direct children of @node.
  *
  * Returns: the number of children of the #GskRenderNode
- *
- * Since: 3.90
  */
 guint
 gsk_container_node_get_n_children (GskRenderNode *node)
@@ -2157,8 +2133,6 @@ gsk_container_node_get_n_children (GskRenderNode *node)
  * Gets one of the children of @container.
  *
  * Returns: the @idx'th child of @container
- *
- * Since: 3.90
  */
 GskRenderNode *
 gsk_container_node_get_child (GskRenderNode *node,
@@ -2296,8 +2270,6 @@ static const GskRenderNodeClass GSK_TRANSFORM_NODE_CLASS = {
  * with the given @transform.
  *
  * Returns: A new #GskRenderNode
- *
- * Since: 3.90
  */
 GskRenderNode *
 gsk_transform_node_new (GskRenderNode           *child,
@@ -2451,8 +2423,6 @@ static const GskRenderNodeClass GSK_OPACITY_NODE_CLASS = {
  * @opacity.
  *
  * Returns: A new #GskRenderNode
- *
- * Since: 3.90
  */
 GskRenderNode *
 gsk_opacity_node_new (GskRenderNode *child,
@@ -2693,8 +2663,6 @@ static const GskRenderNodeClass GSK_COLOR_MATRIX_NODE_CLASS = {
  * for every pixel.
  *
  * Returns: A new #GskRenderNode
- *
- * Since: 3.90
  */
 GskRenderNode *
 gsk_color_matrix_node_new (GskRenderNode           *child,
@@ -2880,8 +2848,6 @@ static const GskRenderNodeClass GSK_REPEAT_NODE_CLASS = {
  * the given @bounds.
  *
  * Returns: A new #GskRenderNode
- *
- * Since: 3.90
  */
 GskRenderNode *
 gsk_repeat_node_new (const graphene_rect_t *bounds,
@@ -3025,8 +2991,6 @@ static const GskRenderNodeClass GSK_CLIP_NODE_CLASS = {
  * given by @clip.
  *
  * Returns: A new #GskRenderNode
- *
- * Since: 3.90
  */
 GskRenderNode *
 gsk_clip_node_new (GskRenderNode         *child,
@@ -3188,8 +3152,6 @@ static const GskRenderNodeClass GSK_ROUNDED_CLIP_NODE_CLASS = {
  * given by @clip.
  *
  * Returns: A new #GskRenderNode
- *
- * Since: 3.90
  */
 GskRenderNode *
 gsk_rounded_clip_node_new (GskRenderNode         *child,
@@ -3414,8 +3376,6 @@ static const GskRenderNodeClass GSK_SHADOW_NODE_CLASS = {
  * @shadows below it.
  *
  * Returns: A new #GskRenderNode
- *
- * Since: 3.90
  */
 GskRenderNode *
 gsk_shadow_node_new (GskRenderNode         *child,
@@ -3630,8 +3590,6 @@ static const GskRenderNodeClass GSK_BLEND_NODE_CLASS = {
  * node onto the @bottom node.
  *
  * Returns: A new #GskRenderNode
- *
- * Since: 3.90
  */
 GskRenderNode *
 gsk_blend_node_new (GskRenderNode *bottom,
@@ -3802,8 +3760,6 @@ static const GskRenderNodeClass GSK_CROSS_FADE_NODE_CLASS = {
  * Creates a #GskRenderNode that will do a cross-fade between @start and @end.
  *
  * Returns: A new #GskRenderNode
- *
- * Since: 3.90
  */
 GskRenderNode *
 gsk_cross_fade_node_new (GskRenderNode *start,
@@ -4028,8 +3984,6 @@ static const GskRenderNodeClass GSK_TEXT_NODE_CLASS = {
  * color glyphs.
  *
  * Returns: a new text node, or %NULL
- *
- * Since: 3.92
  */
 GskRenderNode *
 gsk_text_node_new (PangoFont        *font,
@@ -4376,8 +4330,6 @@ static const GskRenderNodeClass GSK_BLUR_NODE_CLASS = {
  * @radius: the blur radius
  *
  * Creates a render node that blurs the child.
- *
- * Since: 3.92
  */
 GskRenderNode *
 gsk_blur_node_new (GskRenderNode *child,
diff --git a/gsk/gskroundedrect.c b/gsk/gskroundedrect.c
index 382d56a..d9a4d20 100644
--- a/gsk/gskroundedrect.c
+++ b/gsk/gskroundedrect.c
@@ -90,8 +90,6 @@ gsk_rounded_rect_normalize_in_place (GskRoundedRect *self)
  * before returning.
  *
  * Returns: (transfer none): the initialized rectangle
- *
- * Since: 3.90
  */
 GskRoundedRect *
 gsk_rounded_rect_init (GskRoundedRect        *self,
@@ -123,8 +121,6 @@ gsk_rounded_rect_init (GskRoundedRect        *self,
  * make sure the source is normalized.
  *
  * Returns: (transfer none): the initialized rectangle
- *
- * Since: 3.90
  */
 GskRoundedRect *
 gsk_rounded_rect_init_copy (GskRoundedRect       *self,
@@ -166,8 +162,6 @@ gsk_rounded_rect_init_from_rect (GskRoundedRect        *self,
  * and ensure that the corner values are positive and the corners do not overlap.
  *
  * Returns: (transfer none): the normalized rectangle
- *
- * Since: 3.90
  */
 GskRoundedRect *
 gsk_rounded_rect_normalize (GskRoundedRect *self)
@@ -188,8 +182,6 @@ gsk_rounded_rect_normalize (GskRoundedRect *self)
  * The size and corners of the rectangle are unchanged.
  *
  * Returns: (transfer none): the offset rectangle
- *
- * Since: 3.90
  */
 GskRoundedRect *
 gsk_rounded_rect_offset (GskRoundedRect *self,
diff --git a/gsk/gskroundedrect.h b/gsk/gskroundedrect.h
index 3abc3d9..2838441 100644
--- a/gsk/gskroundedrect.h
+++ b/gsk/gskroundedrect.h
@@ -72,44 +72,44 @@ struct _GskRoundedRect
   graphene_size_t corner[4];
 };
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GskRoundedRect *        gsk_rounded_rect_init                   (GskRoundedRect           *self,
                                                                  const graphene_rect_t    *bounds,
                                                                  const graphene_size_t    *top_left,
                                                                  const graphene_size_t    *top_right,
                                                                  const graphene_size_t    *bottom_right,
                                                                  const graphene_size_t    *bottom_left);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GskRoundedRect *        gsk_rounded_rect_init_copy              (GskRoundedRect           *self,
                                                                  const GskRoundedRect     *src);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GskRoundedRect *        gsk_rounded_rect_init_from_rect         (GskRoundedRect           *self,
                                                                  const graphene_rect_t    *bounds,
                                                                  float                     radius);
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GskRoundedRect *        gsk_rounded_rect_normalize              (GskRoundedRect           *self);
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GskRoundedRect *        gsk_rounded_rect_offset                 (GskRoundedRect           *self,
                                                                  float                     dx,
                                                                  float                     dy);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GskRoundedRect *        gsk_rounded_rect_shrink                 (GskRoundedRect           *self,
                                                                  float                     top,
                                                                  float                     right,
                                                                  float                     bottom,
                                                                  float                     left);
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 gboolean                gsk_rounded_rect_is_rectilinear         (const GskRoundedRect     *self);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 gboolean                gsk_rounded_rect_contains_point         (const GskRoundedRect     *self,
                                                                  const graphene_point_t   *point);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 gboolean                gsk_rounded_rect_contains_rect          (const GskRoundedRect     *self,
                                                                  const graphene_rect_t    *rect);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 gboolean                gsk_rounded_rect_intersects_rect        (const GskRoundedRect     *self,
                                                                  const graphene_rect_t    *rect);
 
diff --git a/gtk/a11y/gtkcellaccessibleparent.h b/gtk/a11y/gtkcellaccessibleparent.h
index b928e73..7cece0e 100644
--- a/gtk/a11y/gtkcellaccessibleparent.h
+++ b/gtk/a11y/gtkcellaccessibleparent.h
@@ -111,7 +111,7 @@ void     gtk_cell_accessible_parent_activate         (GtkCellAccessibleParent *p
 GDK_AVAILABLE_IN_ALL
 void     gtk_cell_accessible_parent_edit             (GtkCellAccessibleParent *parent,
                                                       GtkCellAccessible       *cell);
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 void     gtk_cell_accessible_parent_update_relationset (GtkCellAccessibleParent *parent,
                                                       GtkCellAccessible       *cell,
                                                       AtkRelationSet          *relationset);
diff --git a/gtk/a11y/gtkflowboxaccessible.h b/gtk/a11y/gtkflowboxaccessible.h
index 5194572..f22ea06 100644
--- a/gtk/a11y/gtkflowboxaccessible.h
+++ b/gtk/a11y/gtkflowboxaccessible.h
@@ -50,7 +50,7 @@ struct _GtkFlowBoxAccessibleClass
   GtkContainerAccessibleClass parent_class;
 };
 
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 GType gtk_flow_box_accessible_get_type (void);
 
 G_END_DECLS
diff --git a/gtk/a11y/gtkflowboxchildaccessible.h b/gtk/a11y/gtkflowboxchildaccessible.h
index 0a52d33..5da596a 100644
--- a/gtk/a11y/gtkflowboxchildaccessible.h
+++ b/gtk/a11y/gtkflowboxchildaccessible.h
@@ -47,7 +47,7 @@ struct _GtkFlowBoxChildAccessibleClass
   GtkContainerAccessibleClass parent_class;
 };
 
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 GType gtk_flow_box_child_accessible_get_type (void);
 
 G_END_DECLS
diff --git a/gtk/a11y/gtklistboxrowaccessible.h b/gtk/a11y/gtklistboxrowaccessible.h
index 5b6bba9..95c9030 100644
--- a/gtk/a11y/gtklistboxrowaccessible.h
+++ b/gtk/a11y/gtklistboxrowaccessible.h
@@ -47,7 +47,7 @@ struct _GtkListBoxRowAccessibleClass
   GtkContainerAccessibleClass parent_class;
 };
 
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 GType gtk_list_box_row_accessible_get_type (void);
 
 G_END_DECLS
diff --git a/gtk/a11y/gtkpopoveraccessible.h b/gtk/a11y/gtkpopoveraccessible.h
index 8dcbd34..539449e 100644
--- a/gtk/a11y/gtkpopoveraccessible.h
+++ b/gtk/a11y/gtkpopoveraccessible.h
@@ -48,7 +48,7 @@ struct _GtkPopoverAccessibleClass
   GtkContainerAccessibleClass parent_class;
 };
 
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 GType gtk_popover_accessible_get_type (void);
 
 G_END_DECLS
diff --git a/gtk/a11y/gtkstackaccessible.h b/gtk/a11y/gtkstackaccessible.h
index ebd8ab4..11862bb 100644
--- a/gtk/a11y/gtkstackaccessible.h
+++ b/gtk/a11y/gtkstackaccessible.h
@@ -46,7 +46,7 @@ struct _GtkStackAccessibleClass
   GtkContainerAccessibleClass parent_class;
 };
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 GType gtk_stack_accessible_get_type (void);
 
 G_END_DECLS
diff --git a/gtk/gtkaboutdialog.c b/gtk/gtkaboutdialog.c
index 14fad51..e3fdb5d 100644
--- a/gtk/gtkaboutdialog.c
+++ b/gtk/gtkaboutdialog.c
@@ -336,8 +336,6 @@ gtk_about_dialog_class_init (GtkAboutDialogClass *klass)
    * which is to call gtk_show_uri_on_window().
    *
    * Returns: %TRUE if the link has been activated
-   *
-   * Since: 2.24
    */
   signals[ACTIVATE_LINK] =
     g_signal_new (I_("activate-link"),
@@ -353,8 +351,6 @@ gtk_about_dialog_class_init (GtkAboutDialogClass *klass)
    *
    * The name of the program.
    * If this is not set, it defaults to g_get_application_name().
-   *
-   * Since: 2.12
    */
   props[PROP_NAME] =
     g_param_spec_string ("program-name",
@@ -367,8 +363,6 @@ gtk_about_dialog_class_init (GtkAboutDialogClass *klass)
    * GtkAboutDialog:version:
    *
    * The version of the program.
-   *
-   * Since: 2.6
    */
   props[PROP_VERSION] =
     g_param_spec_string ("version",
@@ -381,8 +375,6 @@ gtk_about_dialog_class_init (GtkAboutDialogClass *klass)
    * GtkAboutDialog:copyright:
    *
    * Copyright information for the program.
-   *
-   * Since: 2.6
    */
   props[PROP_COPYRIGHT] =
     g_param_spec_string ("copyright",
@@ -397,8 +389,6 @@ gtk_about_dialog_class_init (GtkAboutDialogClass *klass)
    * Comments about the program. This string is displayed in a label
    * in the main dialog, thus it should be a short explanation of
    * the main purpose of the program, not a detailed list of features.
-   *
-   * Since: 2.6
    */
   props[PROP_COMMENTS] =
     g_param_spec_string ("comments",
@@ -422,8 +412,6 @@ gtk_about_dialog_class_init (GtkAboutDialogClass *klass)
    * The text may contain links in this format <http://www.some.place/>
    * and email references in the form <mail-to some body>, and these will
    * be converted into clickable links.
-   *
-   * Since: 2.6
    */
   props[PROP_LICENSE] =
     g_param_spec_string ("license",
@@ -443,8 +431,6 @@ gtk_about_dialog_class_init (GtkAboutDialogClass *klass)
    * The text may contain links in this format <http://www.some.place/>
    * and email references in the form <mail-to some body>, and these will
    * be converted into clickable links.
-   *
-   * Since: 3.90
    */
   props[PROP_SYSTEM_INFORMATION] =
     g_param_spec_string ("system-information",
@@ -471,8 +457,6 @@ gtk_about_dialog_class_init (GtkAboutDialogClass *klass)
    * For any other #GtkLicense value, the contents of the
    * #GtkAboutDialog:license property are also set by this property as
    * a side effect.
-   *
-   * Since: 3.0
    */
   props[PROP_LICENSE_TYPE] =
     g_param_spec_enum ("license-type",
@@ -487,8 +471,6 @@ gtk_about_dialog_class_init (GtkAboutDialogClass *klass)
    *
    * The URL for the link to the website of the program.
    * This should be a string starting with "http://.
-   *
-   * Since: 2.6
    */
   props[PROP_WEBSITE] =
     g_param_spec_string ("website",
@@ -501,8 +483,6 @@ gtk_about_dialog_class_init (GtkAboutDialogClass *klass)
    * GtkAboutDialog:website-label:
    *
    * The label for the link to the website of the program.
-   *
-   * Since: 2.6
    */
   props[PROP_WEBSITE_LABEL] =
     g_param_spec_string ("website-label",
@@ -517,8 +497,6 @@ gtk_about_dialog_class_init (GtkAboutDialogClass *klass)
    * The authors of the program, as a %NULL-terminated array of strings.
    * Each string may contain email addresses and URLs, which will be displayed
    * as links, see the introduction for more details.
-   *
-   * Since: 2.6
    */
   props[PROP_AUTHORS] =
     g_param_spec_boxed ("authors",
@@ -533,8 +511,6 @@ gtk_about_dialog_class_init (GtkAboutDialogClass *klass)
    * The people documenting the program, as a %NULL-terminated array of strings.
    * Each string may contain email addresses and URLs, which will be displayed
    * as links, see the introduction for more details.
-   *
-   * Since: 2.6
    */
   props[PROP_DOCUMENTERS] =
     g_param_spec_boxed ("documenters",
@@ -549,8 +525,6 @@ gtk_about_dialog_class_init (GtkAboutDialogClass *klass)
    * The people who contributed artwork to the program, as a %NULL-terminated
    * array of strings. Each string may contain email addresses and URLs, which
    * will be displayed as links, see the introduction for more details.
-   *
-   * Since: 2.6
    */
   props[PROP_ARTISTS] =
     g_param_spec_boxed ("artists",
@@ -565,8 +539,6 @@ gtk_about_dialog_class_init (GtkAboutDialogClass *klass)
    * Credits to the translators. This string should be marked as translatable.
    * The string may contain email addresses and URLs, which will be displayed
    * as links, see the introduction for more details.
-   *
-   * Since: 2.6
    */
   props[PROP_TRANSLATOR_CREDITS] =
     g_param_spec_string ("translator-credits",
@@ -580,8 +552,6 @@ gtk_about_dialog_class_init (GtkAboutDialogClass *klass)
    *
    * A logo for the about box. If it is %NULL, the default window icon
    * set with gtk_window_set_default_icon() will be used.
-   *
-   * Since: 2.6
    */
   props[PROP_LOGO] =
     g_param_spec_object ("logo",
@@ -595,8 +565,6 @@ gtk_about_dialog_class_init (GtkAboutDialogClass *klass)
    *
    * A named icon to use as the logo for the about box. This property
    * overrides the #GtkAboutDialog:logo property.
-   *
-   * Since: 2.6
    */
   props[PROP_LOGO_ICON_NAME] =
     g_param_spec_string ("logo-icon-name",
@@ -609,8 +577,6 @@ gtk_about_dialog_class_init (GtkAboutDialogClass *klass)
    * GtkAboutDialog:wrap-license:
    *
    * Whether to wrap the text in the license dialog.
-   *
-   * Since: 2.8
    */
   props[PROP_WRAP_LICENSE] =
     g_param_spec_boolean ("wrap-license",
@@ -1108,8 +1074,6 @@ gtk_about_dialog_show (GtkWidget *widget)
  *
  * Returns: The program name. The string is owned by the about
  *  dialog and must not be modified.
- *
- * Since: 2.12
  */
 const gchar *
 gtk_about_dialog_get_program_name (GtkAboutDialog *about)
@@ -1152,8 +1116,6 @@ update_name_version (GtkAboutDialog *about)
  *
  * Sets the name to display in the about dialog.
  * If this is not set, it defaults to g_get_application_name().
- *
- * Since: 2.12
  */
 void
 gtk_about_dialog_set_program_name (GtkAboutDialog *about,
@@ -1184,8 +1146,6 @@ gtk_about_dialog_set_program_name (GtkAboutDialog *about,
  *
  * Returns: The version string. The string is owned by the about
  *  dialog and must not be modified.
- *
- * Since: 2.6
  */
 const gchar *
 gtk_about_dialog_get_version (GtkAboutDialog *about)
@@ -1201,8 +1161,6 @@ gtk_about_dialog_get_version (GtkAboutDialog *about)
  * @version: (allow-none): the version string
  *
  * Sets the version string to display in the about dialog.
- *
- * Since: 2.6
  */
 void
 gtk_about_dialog_set_version (GtkAboutDialog *about,
@@ -1232,8 +1190,6 @@ gtk_about_dialog_set_version (GtkAboutDialog *about,
  *
  * Returns: The copyright string. The string is owned by the about
  *  dialog and must not be modified.
- *
- * Since: 2.6
  */
 const gchar *
 gtk_about_dialog_get_copyright (GtkAboutDialog *about)
@@ -1250,8 +1206,6 @@ gtk_about_dialog_get_copyright (GtkAboutDialog *about)
  *
  * Sets the copyright string to display in the about dialog.
  * This should be a short string of one or two lines.
- *
- * Since: 2.6
  */
 void
 gtk_about_dialog_set_copyright (GtkAboutDialog *about,
@@ -1291,8 +1245,6 @@ gtk_about_dialog_set_copyright (GtkAboutDialog *about,
  *
  * Returns: The comments. The string is owned by the about
  *  dialog and must not be modified.
- *
- * Since: 2.6
  */
 const gchar *
 gtk_about_dialog_get_comments (GtkAboutDialog *about)
@@ -1309,8 +1261,6 @@ gtk_about_dialog_get_comments (GtkAboutDialog *about)
  *
  * Sets the comments string to display in the about dialog.
  * This should be a short string of one or two lines.
- *
- * Since: 2.6
  */
 void
 gtk_about_dialog_set_comments (GtkAboutDialog *about,
@@ -1348,8 +1298,6 @@ gtk_about_dialog_set_comments (GtkAboutDialog *about,
  *
  * Returns: The license information. The string is owned by the about
  *  dialog and must not be modified.
- *
- * Since: 2.6
  */
 const gchar *
 gtk_about_dialog_get_license (GtkAboutDialog *about)
@@ -1367,8 +1315,6 @@ gtk_about_dialog_get_license (GtkAboutDialog *about)
  * Sets the license information to be displayed in the secondary
  * license dialog. If @license is %NULL, the license button is
  * hidden.
- *
- * Since: 2.6
  */
 void
 gtk_about_dialog_set_license (GtkAboutDialog *about,
@@ -1453,8 +1399,6 @@ gtk_about_dialog_set_system_information (GtkAboutDialog *about,
  * automatically wrapped.
  *
  * Returns: %TRUE if the license text is wrapped
- *
- * Since: 2.8
  */
 gboolean
 gtk_about_dialog_get_wrap_license (GtkAboutDialog *about)
@@ -1471,8 +1415,6 @@ gtk_about_dialog_get_wrap_license (GtkAboutDialog *about)
  *
  * Sets whether the license text in @about is
  * automatically wrapped.
- *
- * Since: 2.8
  */
 void
 gtk_about_dialog_set_wrap_license (GtkAboutDialog *about,
@@ -1502,8 +1444,6 @@ gtk_about_dialog_set_wrap_license (GtkAboutDialog *about,
  *
  * Returns: The website URL. The string is owned by the about
  *  dialog and must not be modified.
- *
- * Since: 2.6
  */
 const gchar *
 gtk_about_dialog_get_website (GtkAboutDialog *about)
@@ -1519,8 +1459,6 @@ gtk_about_dialog_get_website (GtkAboutDialog *about)
  * @website: (allow-none): a URL string starting with "http://";
  *
  * Sets the URL to use for the website link.
- *
- * Since: 2.6
  */
 void
 gtk_about_dialog_set_website (GtkAboutDialog *about,
@@ -1550,8 +1488,6 @@ gtk_about_dialog_set_website (GtkAboutDialog *about,
  *
  * Returns: The label used for the website link. The string is
  *     owned by the about dialog and must not be modified.
- *
- * Since: 2.6
  */
 const gchar *
 gtk_about_dialog_get_website_label (GtkAboutDialog *about)
@@ -1567,8 +1503,6 @@ gtk_about_dialog_get_website_label (GtkAboutDialog *about)
  * @website_label: the label used for the website link
  *
  * Sets the label to be used for the website link.
- *
- * Since: 2.6
  */
 void
 gtk_about_dialog_set_website_label (GtkAboutDialog *about,
@@ -1600,8 +1534,6 @@ gtk_about_dialog_set_website_label (GtkAboutDialog *about,
  * Returns: (array zero-terminated=1) (transfer none): A
  *  %NULL-terminated string array containing the authors. The array is
  *  owned by the about dialog and must not be modified.
- *
- * Since: 2.6
  */
 const gchar * const *
 gtk_about_dialog_get_authors (GtkAboutDialog *about)
@@ -1618,8 +1550,6 @@ gtk_about_dialog_get_authors (GtkAboutDialog *about)
  *
  * Sets the strings which are displayed in the authors tab
  * of the secondary credits dialog.
- *
- * Since: 2.6
  */
 void
 gtk_about_dialog_set_authors (GtkAboutDialog  *about,
@@ -1651,8 +1581,6 @@ gtk_about_dialog_set_authors (GtkAboutDialog  *about,
  * Returns: (array zero-terminated=1) (transfer none): A
  *  %NULL-terminated string array containing the documenters. The
  *  array is owned by the about dialog and must not be modified.
- *
- * Since: 2.6
  */
 const gchar * const *
 gtk_about_dialog_get_documenters (GtkAboutDialog *about)
@@ -1669,8 +1597,6 @@ gtk_about_dialog_get_documenters (GtkAboutDialog *about)
  *
  * Sets the strings which are displayed in the documenters tab
  * of the credits dialog.
- *
- * Since: 2.6
  */
 void
 gtk_about_dialog_set_documenters (GtkAboutDialog *about,
@@ -1702,8 +1628,6 @@ gtk_about_dialog_set_documenters (GtkAboutDialog *about,
  * Returns: (array zero-terminated=1) (transfer none): A
  *  %NULL-terminated string array containing the artists. The array is
  *  owned by the about dialog and must not be modified.
- *
- * Since: 2.6
  */
 const gchar * const *
 gtk_about_dialog_get_artists (GtkAboutDialog *about)
@@ -1720,8 +1644,6 @@ gtk_about_dialog_get_artists (GtkAboutDialog *about)
  *
  * Sets the strings which are displayed in the artists tab
  * of the secondary credits dialog.
- *
- * Since: 2.6
  */
 void
 gtk_about_dialog_set_artists (GtkAboutDialog *about,
@@ -1752,8 +1674,6 @@ gtk_about_dialog_set_artists (GtkAboutDialog *about,
  *
  * Returns: The translator credits string. The string is
  *   owned by the about dialog and must not be modified.
- *
- * Since: 2.6
  */
 const gchar *
 gtk_about_dialog_get_translator_credits (GtkAboutDialog *about)
@@ -1784,8 +1704,6 @@ gtk_about_dialog_get_translator_credits (GtkAboutDialog *about)
  * purpose, since translators will already know the purpose of that msgid, and
  * since #GtkAboutDialog will detect if “translator-credits” is untranslated
  * and hide the tab.
- *
- * Since: 2.6
  */
 void
 gtk_about_dialog_set_translator_credits (GtkAboutDialog *about,
@@ -1816,8 +1734,6 @@ gtk_about_dialog_set_translator_credits (GtkAboutDialog *about,
  * Returns: (transfer none): the texture displayed as logo. The
  *   texture is owned by the about dialog. If you want to keep a
  *   reference to it, you have to call g_object_ref() on it.
- *
- * Since: 2.6
  */
 GdkTexture *
 gtk_about_dialog_get_logo (GtkAboutDialog *about)
@@ -1842,8 +1758,6 @@ gtk_about_dialog_get_logo (GtkAboutDialog *about)
  * Sets the surface to be displayed as logo in the about dialog.
  * If it is %NULL, the default window icon set with
  * gtk_window_set_default_icon() will be used.
- *
- * Since: 2.6
  */
 void
 gtk_about_dialog_set_logo (GtkAboutDialog *about,
@@ -1890,8 +1804,6 @@ gtk_about_dialog_set_logo (GtkAboutDialog *about,
  * Returns: the icon name displayed as logo. The string is
  *   owned by the dialog. If you want to keep a reference
  *   to it, you have to call g_strdup() on it.
- *
- * Since: 2.6
  */
 const gchar *
 gtk_about_dialog_get_logo_icon_name (GtkAboutDialog *about)
@@ -1916,8 +1828,6 @@ gtk_about_dialog_get_logo_icon_name (GtkAboutDialog *about)
  * Sets the surface to be displayed as logo in the about dialog.
  * If it is %NULL, the default window icon set with
  * gtk_window_set_default_icon() will be used.
- *
- * Since: 2.6
  */
 void
 gtk_about_dialog_set_logo_icon_name (GtkAboutDialog *about,
@@ -2464,8 +2374,6 @@ populate_system_page (GtkAboutDialog *about)
  * Creates a new #GtkAboutDialog.
  *
  * Returns: a newly created #GtkAboutDialog
- *
- * Since: 2.6
  */
 GtkWidget *
 gtk_about_dialog_new (void)
@@ -2495,8 +2403,6 @@ close_cb (GtkAboutDialog *about,
  * This is a convenience function for showing an application’s about box.
  * The constructed dialog is associated with the parent window and
  * reused for future invocations of this function.
- *
- * Since: 2.6
  */
 void
 gtk_show_about_dialog (GtkWindow   *parent,
@@ -2554,8 +2460,6 @@ gtk_show_about_dialog (GtkWindow   *parent,
  *
  * This function overrides the license set using
  * gtk_about_dialog_set_license().
- *
- * Since: 3.0
  */
 void
 gtk_about_dialog_set_license_type (GtkAboutDialog *about,
@@ -2627,8 +2531,6 @@ gtk_about_dialog_set_license_type (GtkAboutDialog *about,
  * Retrieves the license set using gtk_about_dialog_set_license_type()
  *
  * Returns: a #GtkLicense value
- *
- * Since: 3.0
  */
 GtkLicense
 gtk_about_dialog_get_license_type (GtkAboutDialog *about)
@@ -2645,8 +2547,6 @@ gtk_about_dialog_get_license_type (GtkAboutDialog *about)
  * @people: (array zero-terminated=1): The people who belong to that section
  *
  * Creates a new section in the Credits page.
- *
- * Since: 3.4
  */
 void
 gtk_about_dialog_add_credit_section (GtkAboutDialog  *about,
diff --git a/gtk/gtkaboutdialog.h b/gtk/gtkaboutdialog.h
index 67be928..2d2cb7f 100644
--- a/gtk/gtkaboutdialog.h
+++ b/gtk/gtkaboutdialog.h
@@ -54,18 +54,16 @@ typedef struct _GtkAboutDialogPrivate GtkAboutDialogPrivate;
  * @GTK_LICENSE_BSD: The BSD standard license
  * @GTK_LICENSE_MIT_X11: The MIT/X11 standard license
  * @GTK_LICENSE_ARTISTIC: The Artistic License, version 2.0
- * @GTK_LICENSE_GPL_2_0_ONLY: The GNU General Public License, version 2.0 only. Since 3.12.
- * @GTK_LICENSE_GPL_3_0_ONLY: The GNU General Public License, version 3.0 only. Since 3.12.
- * @GTK_LICENSE_LGPL_2_1_ONLY: The GNU Lesser General Public License, version 2.1 only. Since 3.12.
- * @GTK_LICENSE_LGPL_3_0_ONLY: The GNU Lesser General Public License, version 3.0 only. Since 3.12.
- * @GTK_LICENSE_AGPL_3_0: The GNU Affero General Public License, version 3.0 or later. Since: 3.22.
- * @GTK_LICENSE_AGPL_3_0_ONLY: The GNU Affero General Public License, version 3.0 only.
+ * @GTK_LICENSE_GPL_2_0_ONLY: The GNU General Public License, version 2.0 only
+ * @GTK_LICENSE_GPL_3_0_ONLY: The GNU General Public License, version 3.0 only
+ * @GTK_LICENSE_LGPL_2_1_ONLY: The GNU Lesser General Public License, version 2.1 only
+ * @GTK_LICENSE_LGPL_3_0_ONLY: The GNU Lesser General Public License, version 3.0 only
+ * @GTK_LICENSE_AGPL_3_0: The GNU Affero General Public License, version 3.0 or later
+ * @GTK_LICENSE_AGPL_3_0_ONLY: The GNU Affero General Public License, version 3.0 only
  *
  * The type of license for an application.
  *
  * This enumeration can be expanded at later date.
- *
- * Since: 3.0
  */
 typedef enum {
   GTK_LICENSE_UNKNOWN,
@@ -209,7 +207,7 @@ const gchar *          gtk_about_dialog_get_logo_icon_name     (GtkAboutDialog
 GDK_AVAILABLE_IN_ALL
 void                   gtk_about_dialog_set_logo_icon_name     (GtkAboutDialog  *about,
                                                                 const gchar     *icon_name);
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 void                  gtk_about_dialog_add_credit_section      (GtkAboutDialog  *about,
                                                                 const gchar     *section_name,
                                                                 const gchar    **people);
diff --git a/gtk/gtkaccelgroup.c b/gtk/gtkaccelgroup.c
index 676c800..f93c233 100644
--- a/gtk/gtkaccelgroup.c
+++ b/gtk/gtkaccelgroup.c
@@ -252,8 +252,6 @@ gtk_accel_group_new (void)
  *
  * Returns: %TRUE if there are 1 or more locks on the @accel_group,
  *     %FALSE otherwise.
- *
- * Since: 2.14
  */
 gboolean
 gtk_accel_group_get_is_locked (GtkAccelGroup *accel_group)
@@ -271,8 +269,6 @@ gtk_accel_group_get_is_locked (GtkAccelGroup *accel_group)
  * @accel_group. For example, #GDK_CONTROL_MASK, #GDK_SHIFT_MASK, etc.
  *
  * Returns: the modifier mask for this accel group.
- *
- * Since: 2.14
  */
 GdkModifierType
 gtk_accel_group_get_modifier_mask (GtkAccelGroup *accel_group)
@@ -1188,8 +1184,6 @@ is_keycode (const gchar *string)
  *
  * If the parse fails, @accelerator_key, @accelerator_mods and
  * @accelerator_codes will be set to 0 (zero).
- *
- * Since: 3.4
  */
 void
 gtk_accelerator_parse_with_keycode (const gchar     *accelerator,
@@ -1469,8 +1463,6 @@ gtk_accelerator_parse (const gchar     *accelerator,
  * should use gtk_accelerator_parse() instead.
  *
  * Returns: a newly allocated accelerator name.
- *
- * Since: 3.4
  */
 gchar *
 gtk_accelerator_name_with_keycode (GdkDisplay      *display,
@@ -1656,8 +1648,6 @@ gtk_accelerator_name (guint           accelerator_key,
  * should use gtk_accelerator_parse() instead.
  *
  * Returns: a newly-allocated string representing the accelerator.
- *
- * Since: 3.4
  */
 gchar *
 gtk_accelerator_get_label_with_keycode (GdkDisplay      *display,
@@ -1693,8 +1683,6 @@ gtk_accelerator_get_label_with_keycode (GdkDisplay      *display,
  * which can be used to represent the accelerator to the user.
  *
  * Returns: a newly-allocated string representing the accelerator.
- *
- * Since: 2.6
  */
 gchar*
 gtk_accelerator_get_label (guint           accelerator_key,
diff --git a/gtk/gtkaccelgroup.h b/gtk/gtkaccelgroup.h
index d63a65d..bdb4d29 100644
--- a/gtk/gtkaccelgroup.h
+++ b/gtk/gtkaccelgroup.h
@@ -78,8 +78,6 @@ typedef gboolean (*GtkAccelGroupActivate) (GtkAccelGroup  *accel_group,
  * @key: 
  * @closure: 
  * @data: (closure):
- * 
- * Since: 2.2
  */
 typedef gboolean (*GtkAccelGroupFindFunc) (GtkAccelKey    *key,
                                           GClosure       *closure,
@@ -202,7 +200,7 @@ GDK_AVAILABLE_IN_ALL
 void    gtk_accelerator_parse                (const gchar     *accelerator,
                                               guint           *accelerator_key,
                                               GdkModifierType *accelerator_mods);
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 void gtk_accelerator_parse_with_keycode       (const gchar     *accelerator,
                                                guint           *accelerator_key,
                                                guint          **accelerator_codes,
@@ -210,7 +208,7 @@ void gtk_accelerator_parse_with_keycode       (const gchar     *accelerator,
 GDK_AVAILABLE_IN_ALL
 gchar*  gtk_accelerator_name                 (guint            accelerator_key,
                                               GdkModifierType  accelerator_mods);
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 gchar*  gtk_accelerator_name_with_keycode    (GdkDisplay      *display,
                                                guint            accelerator_key,
                                                guint            keycode,
@@ -218,7 +216,7 @@ gchar*       gtk_accelerator_name_with_keycode    (GdkDisplay      *display,
 GDK_AVAILABLE_IN_ALL
 gchar*   gtk_accelerator_get_label            (guint           accelerator_key,
                                                GdkModifierType accelerator_mods);
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 gchar*   gtk_accelerator_get_label_with_keycode (GdkDisplay      *display,
                                                  guint            accelerator_key,
                                                  guint            keycode,
diff --git a/gtk/gtkaccellabel.c b/gtk/gtkaccellabel.c
index 4188f81..ad9f205 100644
--- a/gtk/gtkaccellabel.c
+++ b/gtk/gtkaccellabel.c
@@ -962,8 +962,6 @@ gtk_accel_label_refetch (GtkAccelLabel *accel_label)
  * used regardless of any associated accel closure or widget.
  *
  * Providing an @accelerator_key of 0 removes the manual setting.
- *
- * Since: 3.6
  */
 void
 gtk_accel_label_set_accel (GtkAccelLabel   *accel_label,
@@ -986,8 +984,6 @@ gtk_accel_label_set_accel (GtkAccelLabel   *accel_label,
  *
  * Gets the keyval and modifier mask set with
  * gtk_accel_label_set_accel().
- *
- * Since: 3.12
  */
 void
 gtk_accel_label_get_accel (GtkAccelLabel   *accel_label,
diff --git a/gtk/gtkaccellabel.h b/gtk/gtkaccellabel.h
index d10004c..3a834bb 100644
--- a/gtk/gtkaccellabel.h
+++ b/gtk/gtkaccellabel.h
@@ -95,27 +95,27 @@ void           gtk_accel_label_set_accel_closure (GtkAccelLabel *accel_label,
                                              GClosure      *accel_closure);
 GDK_AVAILABLE_IN_ALL
 gboolean   gtk_accel_label_refetch           (GtkAccelLabel *accel_label);
-GDK_AVAILABLE_IN_3_6
+GDK_AVAILABLE_IN_ALL
 void       gtk_accel_label_set_accel         (GtkAccelLabel   *accel_label,
                                               guint            accelerator_key,
                                               GdkModifierType  accelerator_mods);
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 void       gtk_accel_label_get_accel         (GtkAccelLabel   *accel_label,
                                               guint           *accelerator_key,
                                               GdkModifierType *accelerator_mods);
 
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 void      gtk_accel_label_set_label          (GtkAccelLabel   *accel_label,
                                               const char      *text);
 
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 const char * gtk_accel_label_get_label       (GtkAccelLabel   *accel_label);
 
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 void      gtk_accel_label_set_use_underline  (GtkAccelLabel   *accel_label,
                                               gboolean         setting);
 
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 gboolean  gtk_accel_label_get_use_underline  (GtkAccelLabel   *accel_label);
 
 
diff --git a/gtk/gtkaccelmap.c b/gtk/gtkaccelmap.c
index c63586d..bbb2dd2 100644
--- a/gtk/gtkaccelmap.c
+++ b/gtk/gtkaccelmap.c
@@ -946,8 +946,6 @@ _gtk_accel_map_remove_group (const gchar   *accel_path,
  * locking the #GtkAccelGroup containing them. For runtime accelerator
  * changes to be possible, both the accelerator path and its #GtkAccelGroup
  * have to be unlocked. 
- *
- * Since: 2.4
  **/
 void 
 gtk_accel_map_lock_path (const gchar *accel_path)
@@ -973,8 +971,6 @@ gtk_accel_map_lock_path (const gchar *accel_path)
  * 
  * Undoes the last call to gtk_accel_map_lock_path() on this @accel_path.
  * Refer to gtk_accel_map_lock_path() for information about accelerator path locking.
- *
- * Since: 2.4
  **/
 void 
 gtk_accel_map_unlock_path (const gchar *accel_path)
@@ -1006,8 +1002,6 @@ gtk_accel_map_class_init (GtkAccelMapClass *accel_map_class)
    * The path is also used as the detail for the signal,
    * so it is possible to connect to
    * changed::`accel_path`.
-   *
-   * Since: 2.4
    */
   accel_map_signals[CHANGED] = g_signal_new (I_("changed"),
                                             G_TYPE_FROM_CLASS (accel_map_class),
@@ -1035,8 +1029,6 @@ static GtkAccelMap *accel_map;
  * other accelerator map functions.
  * 
  * Returns: (transfer none): the global #GtkAccelMap object
- *
- * Since: 2.4
  **/
 GtkAccelMap *
 gtk_accel_map_get (void)
diff --git a/gtk/gtkaccessible.c b/gtk/gtkaccessible.c
index fdf2ef7..e5693c0 100644
--- a/gtk/gtkaccessible.c
+++ b/gtk/gtkaccessible.c
@@ -167,8 +167,6 @@ gtk_accessible_class_init (GtkAccessibleClass *klass)
  * It is the caller’s responsibility to ensure that when @widget
  * is destroyed, the widget is unset by calling this function
  * again with @widget set to %NULL.
- *
- * Since: 2.22
  */
 void
 gtk_accessible_set_widget (GtkAccessible *accessible,
@@ -206,8 +204,6 @@ gtk_accessible_set_widget (GtkAccessible *accessible,
  *
  * Returns: (nullable) (transfer none): pointer to the #GtkWidget
  *     corresponding to the #GtkAccessible, or %NULL.
- *
- * Since: 2.22
  */
 GtkWidget*
 gtk_accessible_get_widget (GtkAccessible *accessible)
diff --git a/gtk/gtkactionable.c b/gtk/gtkactionable.c
index e515af2..f25cfd9 100644
--- a/gtk/gtkactionable.c
+++ b/gtk/gtkactionable.c
@@ -42,8 +42,6 @@
  * the “win.” or “app.” prefix that are associated with the #GtkApplicationWindow
  * or #GtkApplication, but other action groups that are added with
  * gtk_widget_insert_action_group() will be consulted as well.
- *
- * Since: 3.4
  **/
 
 /**
@@ -87,8 +85,6 @@ gtk_actionable_default_init (GtkActionableInterface *iface)
  * See gtk_actionable_set_action_name() for more information.
  *
  * Returns: (nullable): the action name, or %NULL if none is set
- *
- * Since: 3.4
  **/
 const gchar *
 gtk_actionable_get_action_name (GtkActionable *actionable)
@@ -115,8 +111,6 @@ gtk_actionable_get_action_name (GtkActionable *actionable)
  * containing #GtkApplicationWindow or its associated #GtkApplication,
  * respectively.  This is the same form used for actions in the #GMenu
  * associated with the window.
- *
- * Since: 3.4
  **/
 void
 gtk_actionable_set_action_name (GtkActionable *actionable,
@@ -137,8 +131,6 @@ gtk_actionable_set_action_name (GtkActionable *actionable,
  * See gtk_actionable_set_action_target_value() for more information.
  *
  * Returns: (transfer none): the current target value
- *
- * Since: 3.4
  **/
 GVariant *
 gtk_actionable_get_action_target_value (GtkActionable *actionable)
@@ -169,12 +161,10 @@ gtk_actionable_get_action_target_value (GtkActionable *actionable)
  * will be associated with the same action, but with a different target
  * value for that action.  Clicking on a particular button will activate
  * the action with the target of that button, which will typically cause
- * the action’s state to change to that value.  Since the action’s state
+ * the action’s state to change to that value. Since the action’s state
  * is now equal to the target value of the button, the button will now
  * be rendered as active (and the other buttons, with different targets,
  * rendered inactive).
- *
- * Since: 3.4
  **/
 void
 gtk_actionable_set_action_target_value (GtkActionable *actionable,
@@ -201,8 +191,6 @@ gtk_actionable_set_action_target_value (GtkActionable *actionable,
  * If you are setting a string-valued target and want to set the action
  * name at the same time, you can use
  * gtk_actionable_set_detailed_action_name ().
- *
- * Since: 3.4
  **/
 void
 gtk_actionable_set_action_target (GtkActionable *actionable,
@@ -232,8 +220,6 @@ gtk_actionable_set_action_target (GtkActionable *actionable,
  * @detailed_action_name must be of the form `"action::target"` where
  * `action` is the action name and `target` is the string to use
  * as the target.)
- *
- * Since: 3.4
  **/
 void
 gtk_actionable_set_detailed_action_name (GtkActionable *actionable,
diff --git a/gtk/gtkactionable.h b/gtk/gtkactionable.h
index 4501d9b..af42e5e 100644
--- a/gtk/gtkactionable.h
+++ b/gtk/gtkactionable.h
@@ -51,27 +51,27 @@ struct _GtkActionableInterface
                                                  GVariant      *target_value);
 };
 
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 GType                   gtk_actionable_get_type                         (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 const gchar *           gtk_actionable_get_action_name                  (GtkActionable *actionable);
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 void                    gtk_actionable_set_action_name                  (GtkActionable *actionable,
                                                                          const gchar   *action_name);
 
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 GVariant *              gtk_actionable_get_action_target_value          (GtkActionable *actionable);
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 void                    gtk_actionable_set_action_target_value          (GtkActionable *actionable,
                                                                          GVariant      *target_value);
 
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 void                    gtk_actionable_set_action_target                (GtkActionable *actionable,
                                                                          const gchar   *format_string,
                                                                          ...);
 
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 void                    gtk_actionable_set_detailed_action_name         (GtkActionable *actionable,
                                                                          const gchar   
*detailed_action_name);
 
diff --git a/gtk/gtkactionbar.c b/gtk/gtkactionbar.c
index e9b4cd5..a567240 100644
--- a/gtk/gtkactionbar.c
+++ b/gtk/gtkactionbar.c
@@ -461,8 +461,6 @@ gtk_action_bar_buildable_interface_init (GtkBuildableIface *iface)
  *
  * Adds @child to @action_bar, packed with reference to the
  * start of the @action_bar.
- *
- * Since: 3.12
  */
 void
 gtk_action_bar_pack_start (GtkActionBar *action_bar,
@@ -480,8 +478,6 @@ gtk_action_bar_pack_start (GtkActionBar *action_bar,
  *
  * Adds @child to @action_bar, packed with reference to the
  * end of the @action_bar.
- *
- * Since: 3.12
  */
 void
 gtk_action_bar_pack_end (GtkActionBar *action_bar,
@@ -498,8 +494,6 @@ gtk_action_bar_pack_end (GtkActionBar *action_bar,
  * @center_widget: (allow-none): a widget to use for the center
  *
  * Sets the center widget for the #GtkActionBar.
- *
- * Since: 3.12
  */
 void
 gtk_action_bar_set_center_widget (GtkActionBar *action_bar,
@@ -517,8 +511,6 @@ gtk_action_bar_set_center_widget (GtkActionBar *action_bar,
  * Retrieves the center bar widget of the bar.
  *
  * Returns: (transfer none) (nullable): the center #GtkWidget or %NULL.
- *
- * Since: 3.12
  */
 GtkWidget *
 gtk_action_bar_get_center_widget (GtkActionBar *action_bar)
@@ -536,8 +528,6 @@ gtk_action_bar_get_center_widget (GtkActionBar *action_bar)
  * Creates a new #GtkActionBar widget.
  *
  * Returns: a new #GtkActionBar
- *
- * Since: 3.12
  */
 GtkWidget *
 gtk_action_bar_new (void)
@@ -556,8 +546,6 @@ gtk_action_bar_new (void)
  *
  * Note: this does not show or hide @action_bar in the #GtkWidget:visible sense,
  * so revealing has no effect if #GtkWidget:visible is %FALSE.
- *
- * Since: 3.90
  */
 void
 gtk_action_bar_set_revealed (GtkActionBar *action_bar,
@@ -582,8 +570,6 @@ gtk_action_bar_set_revealed (GtkActionBar *action_bar,
  * Gets the value of the #GtkActionBar:revealed property.
  *
  * Returns: the current value of the #GtkActionBar:revealed property.
- *
- * Since: 3.90
  */
 gboolean
 gtk_action_bar_get_revealed (GtkActionBar *action_bar)
diff --git a/gtk/gtkactionbar.h b/gtk/gtkactionbar.h
index dca84da..a694da7 100644
--- a/gtk/gtkactionbar.h
+++ b/gtk/gtkactionbar.h
@@ -57,27 +57,27 @@ struct _GtkActionBarClass
   void (*_gtk_reserved4) (void);
 };
 
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 GType        gtk_action_bar_get_type          (void) G_GNUC_CONST;
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 GtkWidget   *gtk_action_bar_new               (void);
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 GtkWidget   *gtk_action_bar_get_center_widget (GtkActionBar *action_bar);
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 void         gtk_action_bar_set_center_widget (GtkActionBar *action_bar,
                                                GtkWidget    *center_widget);
 
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 void         gtk_action_bar_pack_start        (GtkActionBar *action_bar,
                                                GtkWidget    *child);
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 void         gtk_action_bar_pack_end          (GtkActionBar *action_bar,
                                                GtkWidget    *child);
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 void        gtk_action_bar_set_revealed       (GtkActionBar *action_bar,
                                                gboolean      revealed);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 gboolean    gtk_action_bar_get_revealed       (GtkActionBar *action_bar);
 
 
diff --git a/gtk/gtkadjustment.c b/gtk/gtkadjustment.c
index 6e34181..2d24c60 100644
--- a/gtk/gtkadjustment.c
+++ b/gtk/gtkadjustment.c
@@ -135,8 +135,6 @@ gtk_adjustment_class_init (GtkAdjustmentClass *class)
    * GtkAdjustment:value:
    *
    * The value of the adjustment.
-   *
-   * Since: 2.4
    */
   adjustment_props[PROP_VALUE] =
       g_param_spec_double ("value",
@@ -150,8 +148,6 @@ gtk_adjustment_class_init (GtkAdjustmentClass *class)
    * GtkAdjustment:lower:
    *
    * The minimum value of the adjustment.
-   *
-   * Since: 2.4
    */
   adjustment_props[PROP_LOWER] =
       g_param_spec_double ("lower",
@@ -168,8 +164,6 @@ gtk_adjustment_class_init (GtkAdjustmentClass *class)
    * Note that values will be restricted by
    * `upper - page-size` if the page-size
    * property is nonzero.
-   *
-   * Since: 2.4
    */
   adjustment_props[PROP_UPPER] =
       g_param_spec_double ("upper",
@@ -183,8 +177,6 @@ gtk_adjustment_class_init (GtkAdjustmentClass *class)
    * GtkAdjustment:step-increment:
    *
    * The step increment of the adjustment.
-   *
-   * Since: 2.4
    */
   adjustment_props[PROP_STEP_INCREMENT] =
       g_param_spec_double ("step-increment",
@@ -198,8 +190,6 @@ gtk_adjustment_class_init (GtkAdjustmentClass *class)
    * GtkAdjustment:page-increment:
    *
    * The page increment of the adjustment.
-   *
-   * Since: 2.4
    */
   adjustment_props[PROP_PAGE_INCREMENT] =
       g_param_spec_double ("page-increment",
@@ -216,8 +206,6 @@ gtk_adjustment_class_init (GtkAdjustmentClass *class)
    * Note that the page-size is irrelevant and should be set to zero
    * if the adjustment is used for a simple scalar value, e.g. in a
    * #GtkSpinButton.
-   *
-   * Since: 2.4
    */
   adjustment_props[PROP_PAGE_SIZE] =
       g_param_spec_double ("page-size",
@@ -588,8 +576,6 @@ gtk_adjustment_animate_to_value (GtkAdjustment *adjustment,
  * Retrieves the minimum value of the adjustment.
  *
  * Returns: The current minimum value of the adjustment
- *
- * Since: 2.14
  **/
 gdouble
 gtk_adjustment_get_lower (GtkAdjustment *adjustment)
@@ -619,8 +605,6 @@ gtk_adjustment_get_lower (GtkAdjustment *adjustment)
  * Alternatively, using a single g_object_set() for all the properties
  * to change, or using gtk_adjustment_configure() has the same effect
  * of compressing #GtkAdjustment::changed emissions.
- *
- * Since: 2.14
  **/
 void
 gtk_adjustment_set_lower (GtkAdjustment *adjustment,
@@ -641,8 +625,6 @@ gtk_adjustment_set_lower (GtkAdjustment *adjustment,
  * Retrieves the maximum value of the adjustment.
  *
  * Returns: The current maximum value of the adjustment
- *
- * Since: 2.14
  **/
 gdouble
 gtk_adjustment_get_upper (GtkAdjustment *adjustment)
@@ -667,8 +649,6 @@ gtk_adjustment_get_upper (GtkAdjustment *adjustment)
  * See gtk_adjustment_set_lower() about how to compress multiple
  * emissions of the #GtkAdjustment::changed signal when setting
  * multiple adjustment properties.
- *
- * Since: 2.14
  **/
 void
 gtk_adjustment_set_upper (GtkAdjustment *adjustment,
@@ -689,8 +669,6 @@ gtk_adjustment_set_upper (GtkAdjustment *adjustment,
  * Retrieves the step increment of the adjustment.
  *
  * Returns: The current step increment of the adjustment.
- *
- * Since: 2.14
  **/
 gdouble
 gtk_adjustment_get_step_increment (GtkAdjustment *adjustment)
@@ -712,8 +690,6 @@ gtk_adjustment_get_step_increment (GtkAdjustment *adjustment)
  * See gtk_adjustment_set_lower() about how to compress multiple
  * emissions of the #GtkAdjustment::changed signal when setting
  * multiple adjustment properties.
- *
- * Since: 2.14
  **/
 void
 gtk_adjustment_set_step_increment (GtkAdjustment *adjustment,
@@ -734,8 +710,6 @@ gtk_adjustment_set_step_increment (GtkAdjustment *adjustment,
  * Retrieves the page increment of the adjustment.
  *
  * Returns: The current page increment of the adjustment
- *
- * Since: 2.14
  **/
 gdouble
 gtk_adjustment_get_page_increment (GtkAdjustment *adjustment)
@@ -757,8 +731,6 @@ gtk_adjustment_get_page_increment (GtkAdjustment *adjustment)
  * See gtk_adjustment_set_lower() about how to compress multiple
  * emissions of the #GtkAdjustment::changed signal when setting
  * multiple adjustment properties.
- *
- * Since: 2.14
  **/
 void
 gtk_adjustment_set_page_increment (GtkAdjustment *adjustment,
@@ -779,8 +751,6 @@ gtk_adjustment_set_page_increment (GtkAdjustment *adjustment,
  * Retrieves the page size of the adjustment.
  *
  * Returns: The current page size of the adjustment
- *
- * Since: 2.14
  **/
 gdouble
 gtk_adjustment_get_page_size (GtkAdjustment *adjustment)
@@ -802,8 +772,6 @@ gtk_adjustment_get_page_size (GtkAdjustment *adjustment)
  * See gtk_adjustment_set_lower() about how to compress multiple
  * emissions of the GtkAdjustment::changed signal when setting
  * multiple adjustment properties.
- *
- * Since: 2.14
  **/
 void
 gtk_adjustment_set_page_size (GtkAdjustment *adjustment,
@@ -833,8 +801,6 @@ gtk_adjustment_set_page_size (GtkAdjustment *adjustment,
  * #GtkAdjustment::changed signal. See gtk_adjustment_set_lower()
  * for an alternative way of compressing multiple emissions of
  * #GtkAdjustment::changed into one.
- *
- * Since: 2.14
  **/
 void
 gtk_adjustment_configure (GtkAdjustment *adjustment,
@@ -936,8 +902,6 @@ gtk_adjustment_clamp_page (GtkAdjustment *adjustment,
  * Gets the smaller of step increment and page increment.
  *
  * Returns: the minimum increment of @adjustment
- *
- * Since: 3.2
  */
 gdouble
 gtk_adjustment_get_minimum_increment (GtkAdjustment *adjustment)
diff --git a/gtk/gtkadjustment.h b/gtk/gtkadjustment.h
index 8f6b4bb..3c4bf7c 100644
--- a/gtk/gtkadjustment.h
+++ b/gtk/gtkadjustment.h
@@ -124,7 +124,7 @@ void       gtk_adjustment_configure             (GtkAdjustment   *adjustment,
                                                  gdouble          step_increment,
                                                  gdouble          page_increment,
                                                  gdouble          page_size);
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 gdouble    gtk_adjustment_get_minimum_increment (GtkAdjustment   *adjustment);
 
 G_END_DECLS
diff --git a/gtk/gtkappchooser.c b/gtk/gtkappchooser.c
index 30c88e2..35fc9cd 100644
--- a/gtk/gtkappchooser.c
+++ b/gtk/gtkappchooser.c
@@ -86,8 +86,6 @@ gtk_app_chooser_default_init (GtkAppChooserIface *iface)
  * Returns the current value of the #GtkAppChooser:content-type property.
  *
  * Returns: the content type of @self. Free with g_free()
- *
- * Since: 3.0
  */
 gchar *
 gtk_app_chooser_get_content_type (GtkAppChooser *self)
@@ -111,8 +109,6 @@ gtk_app_chooser_get_content_type (GtkAppChooser *self)
  *
  * Returns: (nullable) (transfer full): a #GAppInfo for the currently selected
  *     application, or %NULL if none is selected. Free with g_object_unref()
- *
- * Since: 3.0
  */
 GAppInfo *
 gtk_app_chooser_get_app_info (GtkAppChooser *self)
@@ -125,8 +121,6 @@ gtk_app_chooser_get_app_info (GtkAppChooser *self)
  * @self: a #GtkAppChooser
  *
  * Reloads the list of applications.
- *
- * Since: 3.0
  */
 void
 gtk_app_chooser_refresh (GtkAppChooser *self)
diff --git a/gtk/gtkappchooserbutton.c b/gtk/gtkappchooserbutton.c
index 90838d1..7e3ac0e 100644
--- a/gtk/gtkappchooserbutton.c
+++ b/gtk/gtkappchooserbutton.c
@@ -626,8 +626,6 @@ gtk_app_chooser_button_class_init (GtkAppChooserButtonClass *klass)
    * The #GtkAppChooserButton:show-default-item property determines
    * whether the dropdown menu should show the default application
    * on top for the provided content type.
-   *
-   * Since: 3.2
    */
   properties[PROP_SHOW_DEFAULT_ITEM] =
     g_param_spec_boolean ("show-default-item",
@@ -765,8 +763,6 @@ real_insert_separator (GtkAppChooserButton *self,
  * that can handle content of the given type.
  *
  * Returns: a newly created #GtkAppChooserButton
- *
- * Since: 3.0
  */
 GtkWidget *
 gtk_app_chooser_button_new (const gchar *content_type)
@@ -784,8 +780,6 @@ gtk_app_chooser_button_new (const gchar *content_type)
  *
  * Appends a separator to the list of applications that is shown
  * in the popup.
- *
- * Since: 3.0
  */
 void
 gtk_app_chooser_button_append_separator (GtkAppChooserButton *self)
@@ -811,8 +805,6 @@ gtk_app_chooser_button_append_separator (GtkAppChooserButton *self)
  * #GtkAppChooserButton::custom-item-activated signal, to add a
  * callback for the activation of a particular custom item in the list.
  * See also gtk_app_chooser_button_append_separator().
- *
- * Since: 3.0
  */
 void
 gtk_app_chooser_button_append_custom_item (GtkAppChooserButton *self,
@@ -839,8 +831,6 @@ gtk_app_chooser_button_append_custom_item (GtkAppChooserButton *self,
  *
  * Use gtk_app_chooser_refresh() to bring the selection
  * to its initial state.
- *
- * Since: 3.0
  */
 void
 gtk_app_chooser_button_set_active_custom_item (GtkAppChooserButton *self,
@@ -869,8 +859,6 @@ gtk_app_chooser_button_set_active_custom_item (GtkAppChooserButton *self,
  * property.
  *
  * Returns: the value of #GtkAppChooserButton:show-dialog-item
- *
- * Since: 3.0
  */
 gboolean
 gtk_app_chooser_button_get_show_dialog_item (GtkAppChooserButton *self)
@@ -887,8 +875,6 @@ gtk_app_chooser_button_get_show_dialog_item (GtkAppChooserButton *self)
  *
  * Sets whether the dropdown menu of this button should show an
  * entry to trigger a #GtkAppChooserDialog.
- *
- * Since: 3.0
  */
 void
 gtk_app_chooser_button_set_show_dialog_item (GtkAppChooserButton *self,
@@ -912,8 +898,6 @@ gtk_app_chooser_button_set_show_dialog_item (GtkAppChooserButton *self,
  * property.
  *
  * Returns: the value of #GtkAppChooserButton:show-default-item
- *
- * Since: 3.2
  */
 gboolean
 gtk_app_chooser_button_get_show_default_item (GtkAppChooserButton *self)
@@ -930,8 +914,6 @@ gtk_app_chooser_button_get_show_default_item (GtkAppChooserButton *self)
  *
  * Sets whether the dropdown menu of this button should show the
  * default application for the given content type at top.
- *
- * Since: 3.2
  */
 void
 gtk_app_chooser_button_set_show_default_item (GtkAppChooserButton *self,
diff --git a/gtk/gtkappchooserbutton.h b/gtk/gtkappchooserbutton.h
index e737e04..1add19a 100644
--- a/gtk/gtkappchooserbutton.h
+++ b/gtk/gtkappchooserbutton.h
@@ -98,10 +98,10 @@ void     gtk_app_chooser_button_set_heading           (GtkAppChooserButton *self
 GDK_AVAILABLE_IN_ALL
 const gchar *
          gtk_app_chooser_button_get_heading           (GtkAppChooserButton *self);
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 void     gtk_app_chooser_button_set_show_default_item (GtkAppChooserButton *self,
                                                        gboolean             setting);
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 gboolean gtk_app_chooser_button_get_show_default_item (GtkAppChooserButton *self);
 
 G_END_DECLS
diff --git a/gtk/gtkappchooserdialog.c b/gtk/gtkappchooserdialog.c
index 87c548e..ae6527e 100644
--- a/gtk/gtkappchooserdialog.c
+++ b/gtk/gtkappchooserdialog.c
@@ -704,8 +704,6 @@ set_parent_and_flags (GtkWidget      *dialog,
  * to allow the user to select an application for it.
  *
  * Returns: a newly created #GtkAppChooserDialog
- *
- * Since: 3.0
  **/
 GtkWidget *
 gtk_app_chooser_dialog_new (GtkWindow      *parent,
@@ -735,8 +733,6 @@ gtk_app_chooser_dialog_new (GtkWindow      *parent,
  * to allow the user to select an application for it.
  *
  * Returns: a newly created #GtkAppChooserDialog
- *
- * Since: 3.0
  **/
 GtkWidget *
 gtk_app_chooser_dialog_new_for_content_type (GtkWindow      *parent,
@@ -763,8 +759,6 @@ gtk_app_chooser_dialog_new_for_content_type (GtkWindow      *parent,
  * Returns the #GtkAppChooserWidget of this dialog.
  *
  * Returns: (transfer none): the #GtkAppChooserWidget of @self
- *
- * Since: 3.0
  */
 GtkWidget *
 gtk_app_chooser_dialog_get_widget (GtkAppChooserDialog *self)
diff --git a/gtk/gtkappchooserwidget.c b/gtk/gtkappchooserwidget.c
index a704671..e396d05 100644
--- a/gtk/gtkappchooserwidget.c
+++ b/gtk/gtkappchooserwidget.c
@@ -1260,8 +1260,6 @@ gtk_app_chooser_widget_iface_init (GtkAppChooserIface *iface)
  * that can handle content of the given type.
  *
  * Returns: a newly created #GtkAppChooserWidget
- *
- * Since: 3.0
  */
 GtkWidget *
 gtk_app_chooser_widget_new (const gchar *content_type)
@@ -1278,8 +1276,6 @@ gtk_app_chooser_widget_new (const gchar *content_type)
  *
  * Sets whether the app chooser should show the default handler
  * for the content type in a separate section.
- *
- * Since: 3.0
  */
 void
 gtk_app_chooser_widget_set_show_default (GtkAppChooserWidget *self,
@@ -1305,8 +1301,6 @@ gtk_app_chooser_widget_set_show_default (GtkAppChooserWidget *self,
  * property.
  *
  * Returns: the value of #GtkAppChooserWidget:show-default
- *
- * Since: 3.0
  */
 gboolean
 gtk_app_chooser_widget_get_show_default (GtkAppChooserWidget *self)
@@ -1323,8 +1317,6 @@ gtk_app_chooser_widget_get_show_default (GtkAppChooserWidget *self)
  *
  * Sets whether the app chooser should show recommended applications
  * for the content type in a separate section.
- *
- * Since: 3.0
  */
 void
 gtk_app_chooser_widget_set_show_recommended (GtkAppChooserWidget *self,
@@ -1350,8 +1342,6 @@ gtk_app_chooser_widget_set_show_recommended (GtkAppChooserWidget *self,
  * property.
  *
  * Returns: the value of #GtkAppChooserWidget:show-recommended
- *
- * Since: 3.0
  */
 gboolean
 gtk_app_chooser_widget_get_show_recommended (GtkAppChooserWidget *self)
@@ -1368,8 +1358,6 @@ gtk_app_chooser_widget_get_show_recommended (GtkAppChooserWidget *self)
  *
  * Sets whether the app chooser should show related applications
  * for the content type in a separate section.
- *
- * Since: 3.0
  */
 void
 gtk_app_chooser_widget_set_show_fallback (GtkAppChooserWidget *self,
@@ -1395,8 +1383,6 @@ gtk_app_chooser_widget_set_show_fallback (GtkAppChooserWidget *self,
  * property.
  *
  * Returns: the value of #GtkAppChooserWidget:show-fallback
- *
- * Since: 3.0
  */
 gboolean
 gtk_app_chooser_widget_get_show_fallback (GtkAppChooserWidget *self)
@@ -1413,8 +1399,6 @@ gtk_app_chooser_widget_get_show_fallback (GtkAppChooserWidget *self)
  *
  * Sets whether the app chooser should show applications
  * which are unrelated to the content type.
- *
- * Since: 3.0
  */
 void
 gtk_app_chooser_widget_set_show_other (GtkAppChooserWidget *self,
@@ -1440,8 +1424,6 @@ gtk_app_chooser_widget_set_show_other (GtkAppChooserWidget *self,
  * property.
  *
  * Returns: the value of #GtkAppChooserWidget:show-other
- *
- * Since: 3.0
  */
 gboolean
 gtk_app_chooser_widget_get_show_other (GtkAppChooserWidget *self)
@@ -1458,8 +1440,6 @@ gtk_app_chooser_widget_get_show_other (GtkAppChooserWidget *self)
  *
  * Sets whether the app chooser should show all applications
  * in a flat list.
- *
- * Since: 3.0
  */
 void
 gtk_app_chooser_widget_set_show_all (GtkAppChooserWidget *self,
@@ -1485,8 +1465,6 @@ gtk_app_chooser_widget_set_show_all (GtkAppChooserWidget *self,
  * property.
  *
  * Returns: the value of #GtkAppChooserWidget:show-all
- *
- * Since: 3.0
  */
 gboolean
 gtk_app_chooser_widget_get_show_all (GtkAppChooserWidget *self)
@@ -1529,8 +1507,6 @@ gtk_app_chooser_widget_set_default_text (GtkAppChooserWidget *self,
  * that can handle the content type.
  *
  * Returns: the value of #GtkAppChooserWidget:default-text
- *
- * Since: 3.0
  */
 const gchar *
 gtk_app_chooser_widget_get_default_text (GtkAppChooserWidget *self)
diff --git a/gtk/gtkapplication.c b/gtk/gtkapplication.c
index cfe0b2b..91b14af 100644
--- a/gtk/gtkapplication.c
+++ b/gtk/gtkapplication.c
@@ -600,8 +600,6 @@ gtk_application_class_init (GtkApplicationClass *class)
    *
    * Emitted when a #GtkWindow is added to @application through
    * gtk_application_add_window().
-   *
-   * Since: 3.2
    */
   gtk_application_signals[WINDOW_ADDED] =
     g_signal_new (I_("window-added"), GTK_TYPE_APPLICATION, G_SIGNAL_RUN_FIRST,
@@ -618,8 +616,6 @@ gtk_application_class_init (GtkApplicationClass *class)
    * Emitted when a #GtkWindow is removed from @application,
    * either as a side-effect of being destroyed or explicitly
    * through gtk_application_remove_window().
-   *
-   * Since: 3.2
    */
   gtk_application_signals[WINDOW_REMOVED] =
     g_signal_new (I_("window-removed"), GTK_TYPE_APPLICATION, G_SIGNAL_RUN_FIRST,
@@ -632,8 +628,6 @@ gtk_application_class_init (GtkApplicationClass *class)
    * GtkApplication:register-session:
    *
    * Set this property to %TRUE to register with the session manager.
-   *
-   * Since: 3.4
    */
   gtk_application_props[PROP_REGISTER_SESSION] =
     g_param_spec_boolean ("register-session",
@@ -697,8 +691,6 @@ gtk_application_class_init (GtkApplicationClass *class)
  * GTK+ 3.6 or later.
  *
  * Returns: a new #GtkApplication instance
- *
- * Since: 3.0
  */
 GtkApplication *
 gtk_application_new (const gchar       *application_id,
@@ -732,8 +724,6 @@ gtk_application_new (const gchar       *application_id,
  *
  * GTK+ will keep the @application running as long as it has
  * any windows.
- *
- * Since: 3.0
  **/
 void
 gtk_application_add_window (GtkApplication *application,
@@ -767,8 +757,6 @@ gtk_application_add_window (GtkApplication *application,
  *
  * The application may stop running as a result of a call to this
  * function.
- *
- * Since: 3.0
  **/
 void
 gtk_application_remove_window (GtkApplication *application,
@@ -797,8 +785,6 @@ gtk_application_remove_window (GtkApplication *application,
  * deletion.
  *
  * Returns: (element-type GtkWindow) (transfer none): a #GList of #GtkWindow
- *
- * Since: 3.0
  **/
 GList *
 gtk_application_get_windows (GtkApplication *application)
@@ -820,8 +806,6 @@ gtk_application_get_windows (GtkApplication *application)
  *
  * Returns: (nullable) (transfer none): the window with ID @id, or
  *   %NULL if there is no window with this ID
- *
- * Since: 3.6
  */
 GtkWindow *
 gtk_application_get_window_by_id (GtkApplication *application,
@@ -854,8 +838,6 @@ gtk_application_get_window_by_id (GtkApplication *application,
  *
  * Returns: (transfer none) (nullable): the active window, or %NULL if
  *   there isn't one.
- *
- * Since: 3.6
  **/
 GtkWindow *
 gtk_application_get_active_window (GtkApplication *application)
@@ -914,8 +896,6 @@ gtk_application_update_accels (GtkApplication *application)
  * replaced with your own.
  *
  * Returns: %TRUE if you should set an app menu
- *
- * Since: 3.14
  **/
 gboolean
 gtk_application_prefers_app_menu (GtkApplication *application)
@@ -948,8 +928,6 @@ gtk_application_prefers_app_menu (GtkApplication *application)
  *
  * Use the base #GActionMap interface to add actions, to respond to the user
  * selecting these menu items.
- *
- * Since: 3.4
  */
 void
 gtk_application_set_app_menu (GtkApplication *application,
@@ -980,8 +958,6 @@ gtk_application_set_app_menu (GtkApplication *application,
  *
  * Returns: (transfer none) (nullable): the application menu of @application
  *   or %NULL if no application menu has been set.
- *
- * Since: 3.4
  */
 GMenuModel *
 gtk_application_get_app_menu (GtkApplication *application)
@@ -1014,8 +990,6 @@ gtk_application_get_app_menu (GtkApplication *application)
  *
  * Use the base #GActionMap interface to add actions, to respond to the
  * user selecting these menu items.
- *
- * Since: 3.4
  */
 void
 gtk_application_set_menubar (GtkApplication *application,
@@ -1045,8 +1019,6 @@ gtk_application_set_menubar (GtkApplication *application,
  * gtk_application_set_menubar().
  *
  * Returns: (transfer none): the menubar for windows of @application
- *
- * Since: 3.4
  */
 GMenuModel *
 gtk_application_get_menubar (GtkApplication *application)
@@ -1067,8 +1039,6 @@ gtk_application_get_menubar (GtkApplication *application)
  *     marked as idle (and possibly locked)
  *
  * Types of user actions that may be blocked by gtk_application_inhibit().
- *
- * Since: 3.4
  */
 
 /**
@@ -1105,8 +1075,6 @@ gtk_application_get_menubar (GtkApplication *application)
  *     request. It should be used as an argument to gtk_application_uninhibit()
  *     in order to remove the request. If the platform does not support
  *     inhibiting or the request failed for some reason, 0 is returned.
- *
- * Since: 3.4
  */
 guint
 gtk_application_inhibit (GtkApplication             *application,
@@ -1128,8 +1096,6 @@ gtk_application_inhibit (GtkApplication             *application,
  *
  * Removes an inhibitor that has been established with gtk_application_inhibit().
  * Inhibitors are also cleared when the application exits.
- *
- * Since: 3.4
  */
 void
 gtk_application_uninhibit (GtkApplication *application,
@@ -1170,8 +1136,6 @@ gtk_application_get_application_accels (GtkApplication *application)
  *
  * Returns: (transfer full): a %NULL-terminated array of strings,
  *     free with g_strfreev() when done
- *
- * Since: 3.12
  */
 gchar **
 gtk_application_list_action_descriptions (GtkApplication *application)
@@ -1198,8 +1162,6 @@ gtk_application_list_action_descriptions (GtkApplication *application)
  *
  * For the @detailed_action_name, see g_action_parse_detailed_name() and
  * g_action_print_detailed_name().
- *
- * Since: 3.12
  */
 void
 gtk_application_set_accels_for_action (GtkApplication      *application,
@@ -1234,8 +1196,6 @@ gtk_application_set_accels_for_action (GtkApplication      *application,
  *
  * Returns: (transfer full): accelerators for @detailed_action_name, as
  *     a %NULL-terminated array. Free with g_strfreev() when no longer needed
- *
- * Since: 3.12
  */
 gchar **
 gtk_application_get_accels_for_action (GtkApplication *application,
@@ -1270,8 +1230,6 @@ gtk_application_get_accels_for_action (GtkApplication *application,
  * If you are unsure, check it with gtk_accelerator_parse() first.
  *
  * Returns: (transfer full): a %NULL-terminated array of actions for @accel
- *
- * Since: 3.14
  */
 gchar **
 gtk_application_get_actions_for_accel (GtkApplication *application,
@@ -1326,8 +1284,6 @@ gtk_application_handle_window_map (GtkApplication *application,
  *
  * Returns: (transfer none): Gets the menu with the
  *     given id from the automatically loaded resources
- *
- * Since: 3.14
  */
 GMenu *
 gtk_application_get_menu_by_id (GtkApplication *application,
diff --git a/gtk/gtkapplication.h b/gtk/gtkapplication.h
index badb3f0..e59b611 100644
--- a/gtk/gtkapplication.h
+++ b/gtk/gtkapplication.h
@@ -89,15 +89,15 @@ void             gtk_application_remove_window (GtkApplication    *application,
 GDK_AVAILABLE_IN_ALL
 GList *          gtk_application_get_windows   (GtkApplication    *application);
 
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 GMenuModel *     gtk_application_get_app_menu  (GtkApplication    *application);
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 void             gtk_application_set_app_menu  (GtkApplication    *application,
                                                 GMenuModel        *app_menu);
 
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 GMenuModel *     gtk_application_get_menubar   (GtkApplication    *application);
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 void             gtk_application_set_menubar   (GtkApplication    *application,
                                                 GMenuModel        *menubar);
 
@@ -109,42 +109,42 @@ typedef enum
   GTK_APPLICATION_INHIBIT_IDLE    = (1 << 3)
 } GtkApplicationInhibitFlags;
 
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 guint            gtk_application_inhibit            (GtkApplication             *application,
                                                      GtkWindow                  *window,
                                                      GtkApplicationInhibitFlags  flags,
                                                      const gchar                *reason);
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 void             gtk_application_uninhibit          (GtkApplication             *application,
                                                      guint                       cookie);
 
-GDK_AVAILABLE_IN_3_6
+GDK_AVAILABLE_IN_ALL
 GtkWindow *      gtk_application_get_window_by_id   (GtkApplication             *application,
                                                      guint                       id);
 
-GDK_AVAILABLE_IN_3_6
+GDK_AVAILABLE_IN_ALL
 GtkWindow *      gtk_application_get_active_window  (GtkApplication             *application);
 
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 gchar **         gtk_application_list_action_descriptions        (GtkApplication       *application);
 
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 gchar **         gtk_application_get_accels_for_action           (GtkApplication       *application,
                                                                   const gchar          
*detailed_action_name);
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 gchar **         gtk_application_get_actions_for_accel           (GtkApplication       *application,
                                                                   const gchar          *accel);
 
 
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 void             gtk_application_set_accels_for_action           (GtkApplication       *application,
                                                                   const gchar          *detailed_action_name,
                                                                   const gchar * const  *accels);
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 gboolean         gtk_application_prefers_app_menu                (GtkApplication       *application);
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 GMenu *          gtk_application_get_menu_by_id                  (GtkApplication       *application,
                                                                   const gchar          *id);
 
diff --git a/gtk/gtkapplicationwindow.c b/gtk/gtkapplicationwindow.c
index 0d2304a..ec6fcb3 100644
--- a/gtk/gtkapplicationwindow.c
+++ b/gtk/gtkapplicationwindow.c
@@ -846,8 +846,6 @@ gtk_application_window_class_init (GtkApplicationWindowClass *class)
  * Creates a new #GtkApplicationWindow.
  *
  * Returns: a newly created #GtkApplicationWindow
- *
- * Since: 3.4
  */
 GtkWidget *
 gtk_application_window_new (GtkApplication *application)
@@ -867,8 +865,6 @@ gtk_application_window_new (GtkApplication *application)
  * and menubar as needed.
  *
  * Returns: %TRUE if @window will display a menubar when needed
- *
- * Since: 3.4
  */
 gboolean
 gtk_application_window_get_show_menubar (GtkApplicationWindow *window)
@@ -883,8 +879,6 @@ gtk_application_window_get_show_menubar (GtkApplicationWindow *window)
  *
  * Sets whether the window will display a menubar for the app menu
  * and menubar as needed.
- *
- * Since: 3.4
  */
 void
 gtk_application_window_set_show_menubar (GtkApplicationWindow *window,
@@ -913,8 +907,6 @@ gtk_application_window_set_show_menubar (GtkApplicationWindow *window,
  *
  * Returns: the unique ID for @window, or `0` if the window
  *   has not yet been added to a #GtkApplication
- *
- * Since: 3.6
  */
 guint
 gtk_application_window_get_id (GtkApplicationWindow *window)
@@ -953,8 +945,6 @@ show_help_overlay (GSimpleAction *action,
  * it.
  *
  * @window takes resposibility for destroying @help_overlay.
- *
- * Since: 3.20
  */
 void
 gtk_application_window_set_help_overlay (GtkApplicationWindow *window,
@@ -995,8 +985,6 @@ gtk_application_window_set_help_overlay (GtkApplicationWindow *window,
  * a prior call to gtk_application_window_set_help_overlay().
  *
  * Returns: (transfer none) (nullable): the help overlay associated with @window, or %NULL
- *
- * Since: 3.20
  */
 GtkShortcutsWindow *
 gtk_application_window_get_help_overlay (GtkApplicationWindow *window)
diff --git a/gtk/gtkapplicationwindow.h b/gtk/gtkapplicationwindow.h
index abe41c9..7f243ee 100644
--- a/gtk/gtkapplicationwindow.h
+++ b/gtk/gtkapplicationwindow.h
@@ -65,24 +65,24 @@ struct _GtkApplicationWindowClass
   gpointer padding[14];
 };
 
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 GType       gtk_application_window_get_type          (void) G_GNUC_CONST;
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 GtkWidget * gtk_application_window_new               (GtkApplication      *application);
 
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 void        gtk_application_window_set_show_menubar (GtkApplicationWindow *window,
                                                      gboolean              show_menubar);
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 gboolean    gtk_application_window_get_show_menubar (GtkApplicationWindow *window);
 
-GDK_AVAILABLE_IN_3_6
+GDK_AVAILABLE_IN_ALL
 guint       gtk_application_window_get_id           (GtkApplicationWindow *window);
 
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 void        gtk_application_window_set_help_overlay (GtkApplicationWindow *window,
                                                      GtkShortcutsWindow   *help_overlay);
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 GtkShortcutsWindow *
             gtk_application_window_get_help_overlay (GtkApplicationWindow *window);
 
diff --git a/gtk/gtkassistant.c b/gtk/gtkassistant.c
index e6b5b49..0487a8d 100644
--- a/gtk/gtkassistant.c
+++ b/gtk/gtkassistant.c
@@ -407,8 +407,6 @@ gtk_assistant_class_init (GtkAssistantClass *class)
    * @assistant: the #GtkAssistant
    *
    * The ::cancel signal is emitted when then the cancel button is clicked.
-   *
-   * Since: 2.10
    */
   signals[CANCEL] =
     g_signal_new (I_("cancel"),
@@ -429,8 +427,6 @@ gtk_assistant_class_init (GtkAssistantClass *class)
    *
    * A handler for this signal can do any preparations which are
    * necessary before showing @page.
-   *
-   * Since: 2.10
    */
   signals[PREPARE] =
     g_signal_new (I_("prepare"),
@@ -456,8 +452,6 @@ gtk_assistant_class_init (GtkAssistantClass *class)
    * %GTK_ASSISTANT_PAGE_PROGRESS after the confirmation page and handle
    * this operation within the #GtkAssistant::prepare signal of the progress
    * page.
-   *
-   * Since: 2.10
    */
   signals[APPLY] =
     g_signal_new (I_("apply"),
@@ -475,8 +469,6 @@ gtk_assistant_class_init (GtkAssistantClass *class)
    * The ::close signal is emitted either when the close button of
    * a summary page is clicked, or when the apply button in the last
    * page in the flow (of type %GTK_ASSISTANT_PAGE_CONFIRM) is clicked.
-   *
-   * Since: 2.10
    */
   signals[CLOSE] =
     g_signal_new (I_("close"),
@@ -507,8 +499,6 @@ gtk_assistant_class_init (GtkAssistantClass *class)
    *
    * For technical reasons, this property is declared as an integer
    * property, but you should only set it to %TRUE or %FALSE.
-   *
-   * Since: 3.12
    */
   g_object_class_install_property (gobject_class,
                                    PROP_USE_HEADER_BAR,
@@ -522,8 +512,6 @@ gtk_assistant_class_init (GtkAssistantClass *class)
    * GtkAssistant:page-type:
    *
    * The type of the assistant page.
-   *
-   * Since: 2.10
    */
   gtk_container_class_install_child_property (container_class,
                                               CHILD_PROP_PAGE_TYPE,
@@ -538,8 +526,6 @@ gtk_assistant_class_init (GtkAssistantClass *class)
    * GtkAssistant:title:
    *
    * The title of the page.
-   *
-   * Since: 2.10
    */
   gtk_container_class_install_child_property (container_class,
                                               CHILD_PROP_PAGE_TITLE,
@@ -555,8 +541,6 @@ gtk_assistant_class_init (GtkAssistantClass *class)
    * Setting the "complete" child property to %TRUE marks a page as
    * complete (i.e.: all the required fields are filled out). GTK+ uses
    * this information to control the sensitivity of the navigation buttons.
-   *
-   * Since: 2.10
    */
   gtk_container_class_install_child_property (container_class,
                                               CHILD_PROP_PAGE_COMPLETE,
@@ -1398,8 +1382,6 @@ gtk_assistant_remove (GtkContainer *container,
  * Creates a new #GtkAssistant.
  *
  * Returns: a newly created #GtkAssistant
- *
- * Since: 2.10
  */
 GtkWidget*
 gtk_assistant_new (void)
@@ -1420,8 +1402,6 @@ gtk_assistant_new (void)
  * Returns: The index (starting from 0) of the current
  *     page in the @assistant, or -1 if the @assistant has no pages,
  *     or no current page.
- *
- * Since: 2.10
  */
 gint
 gtk_assistant_get_current_page (GtkAssistant *assistant)
@@ -1451,8 +1431,6 @@ gtk_assistant_get_current_page (GtkAssistant *assistant)
  * Note that this will only be necessary in custom buttons,
  * as the @assistant flow can be set with
  * gtk_assistant_set_forward_page_func().
- *
- * Since: 2.10
  */
 void
 gtk_assistant_set_current_page (GtkAssistant *assistant,
@@ -1500,8 +1478,6 @@ gtk_assistant_set_current_page (GtkAssistant *assistant,
  *
  * This function is for use when creating pages of the
  * #GTK_ASSISTANT_PAGE_CUSTOM type.
- *
- * Since: 3.0
  */
 void
 gtk_assistant_next_page (GtkAssistant *assistant)
@@ -1525,8 +1501,6 @@ gtk_assistant_next_page (GtkAssistant *assistant)
  *
  * This function is for use when creating pages of the
  * #GTK_ASSISTANT_PAGE_CUSTOM type.
- *
- * Since: 3.0
  */
 void
 gtk_assistant_previous_page (GtkAssistant *assistant)
@@ -1563,8 +1537,6 @@ gtk_assistant_previous_page (GtkAssistant *assistant)
  * Returns the number of pages in the @assistant
  *
  * Returns: the number of pages in the @assistant
- *
- * Since: 2.10
  */
 gint
 gtk_assistant_get_n_pages (GtkAssistant *assistant)
@@ -1588,8 +1560,6 @@ gtk_assistant_get_n_pages (GtkAssistant *assistant)
  *
  * Returns: (nullable) (transfer none): the child widget, or %NULL
  *     if @page_num is out of bounds
- *
- * Since: 2.10
  */
 GtkWidget*
 gtk_assistant_get_nth_page (GtkAssistant *assistant,
@@ -1625,8 +1595,6 @@ gtk_assistant_get_nth_page (GtkAssistant *assistant,
  * Prepends a page to the @assistant.
  *
  * Returns: the index (starting at 0) of the inserted page
- *
- * Since: 2.10
  */
 gint
 gtk_assistant_prepend_page (GtkAssistant *assistant,
@@ -1646,8 +1614,6 @@ gtk_assistant_prepend_page (GtkAssistant *assistant,
  * Appends a page to the @assistant.
  *
  * Returns: the index (starting at 0) of the inserted page
- *
- * Since: 2.10
  */
 gint
 gtk_assistant_append_page (GtkAssistant *assistant,
@@ -1669,8 +1635,6 @@ gtk_assistant_append_page (GtkAssistant *assistant,
  * Inserts a page in the @assistant at a given position.
  *
  * Returns: the index (starting from 0) of the inserted page
- *
- * Since: 2.10
  */
 gint
 gtk_assistant_insert_page (GtkAssistant *assistant,
@@ -1755,8 +1719,6 @@ gtk_assistant_insert_page (GtkAssistant *assistant,
  *     or -1 to remove the last page
  *
  * Removes the @page_num’s page from @assistant.
- *
- * Since: 3.2
  */
 void
 gtk_assistant_remove_page (GtkAssistant *assistant,
@@ -1787,8 +1749,6 @@ gtk_assistant_remove_page (GtkAssistant *assistant,
  * Setting @page_func to %NULL will make the assistant to
  * use the default forward function, which just goes to the
  * next visible page.
- *
- * Since: 2.10
  */
 void
 gtk_assistant_set_forward_page_func (GtkAssistant         *assistant,
@@ -1843,8 +1803,6 @@ add_to_action_area (GtkAssistant *assistant,
  * @child: a #GtkWidget
  *
  * Adds a widget to the action area of a #GtkAssistant.
- *
- * Since: 2.10
  */
 void
 gtk_assistant_add_action_widget (GtkAssistant *assistant,
@@ -1877,8 +1835,6 @@ gtk_assistant_add_action_widget (GtkAssistant *assistant,
  * @child: a #GtkWidget
  *
  * Removes a widget from the action area of a #GtkAssistant.
- *
- * Since: 2.10
  */
 void
 gtk_assistant_remove_action_widget (GtkAssistant *assistant,
@@ -1912,8 +1868,6 @@ gtk_assistant_remove_action_widget (GtkAssistant *assistant,
  *
  * The title is displayed in the header area of the assistant
  * when @page is the current page.
- *
- * Since: 2.10
  */
 void
 gtk_assistant_set_page_title (GtkAssistant *assistant,
@@ -1951,8 +1905,6 @@ gtk_assistant_set_page_title (GtkAssistant *assistant,
  * Gets the title for @page.
  *
  * Returns: the title for @page
- *
- * Since: 2.10
  */
 const gchar*
 gtk_assistant_get_page_title (GtkAssistant *assistant,
@@ -1982,8 +1934,6 @@ gtk_assistant_get_page_title (GtkAssistant *assistant,
  * Sets the page type for @page.
  *
  * The page type determines the page behavior in the @assistant.
- *
- * Since: 2.10
  */
 void
 gtk_assistant_set_page_type (GtkAssistant         *assistant,
@@ -2030,8 +1980,6 @@ gtk_assistant_set_page_type (GtkAssistant         *assistant,
  * Gets the page type of @page.
  *
  * Returns: the page type of @page
- *
- * Since: 2.10
  */
 GtkAssistantPageType
 gtk_assistant_get_page_type (GtkAssistant *assistant,
@@ -2062,8 +2010,6 @@ gtk_assistant_get_page_type (GtkAssistant *assistant,
  *
  * This will make @assistant update the buttons state
  * to be able to continue the task.
- *
- * Since: 2.10
  */
 void
 gtk_assistant_set_page_complete (GtkAssistant *assistant,
@@ -2104,8 +2050,6 @@ gtk_assistant_set_page_complete (GtkAssistant *assistant,
  * Gets whether @page is complete.
  *
  * Returns: %TRUE if @page is complete.
- *
- * Since: 2.10
  */
 gboolean
 gtk_assistant_get_page_complete (GtkAssistant *assistant,
@@ -2134,8 +2078,6 @@ gtk_assistant_get_page_complete (GtkAssistant *assistant,
  *
  * Sets whether the assistant is adding padding around
  * the page.
- *
- * Since: 3.18
  */
 void
 gtk_assistant_set_page_has_padding (GtkAssistant *assistant,
@@ -2174,7 +2116,6 @@ gtk_assistant_set_page_has_padding (GtkAssistant *assistant,
  * Gets whether page has padding.
  *
  * Returns: %TRUE if @page has padding
- * Since: 3.18
  */
 gboolean
 gtk_assistant_get_page_has_padding (GtkAssistant *assistant,
@@ -2208,8 +2149,6 @@ gtk_assistant_get_page_has_padding (GtkAssistant *assistant,
  * One situation where it can be necessary to call this
  * function is when changing a value on the current page
  * affects the future page flow of the assistant.
- *
- * Since: 2.10
  */
 void
 gtk_assistant_update_buttons_state (GtkAssistant *assistant)
@@ -2232,8 +2171,6 @@ gtk_assistant_update_buttons_state (GtkAssistant *assistant)
  * or undone. For example, showing a progress page to track
  * a long-running, unreversible operation after the user has
  * clicked apply on a confirmation page.
- *
- * Since: 2.22
  */
 void
 gtk_assistant_commit (GtkAssistant *assistant)
diff --git a/gtk/gtkassistant.h b/gtk/gtkassistant.h
index 933a75d..5d5629a 100644
--- a/gtk/gtkassistant.h
+++ b/gtk/gtkassistant.h
@@ -160,7 +160,7 @@ GDK_AVAILABLE_IN_ALL
 gint                  gtk_assistant_insert_page           (GtkAssistant         *assistant,
                                                            GtkWidget            *page,
                                                            gint                  position);
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 void                  gtk_assistant_remove_page           (GtkAssistant         *assistant,
                                                            gint                  page_num);
 GDK_AVAILABLE_IN_ALL
@@ -202,11 +202,11 @@ void                  gtk_assistant_update_buttons_state  (GtkAssistant *assista
 GDK_AVAILABLE_IN_ALL
 void                  gtk_assistant_commit                (GtkAssistant *assistant);
 
-GDK_AVAILABLE_IN_3_18
+GDK_AVAILABLE_IN_ALL
 void                  gtk_assistant_set_page_has_padding  (GtkAssistant *assistant,
                                                            GtkWidget    *page,
                                                            gboolean      has_padding);
-GDK_AVAILABLE_IN_3_18
+GDK_AVAILABLE_IN_ALL
 gboolean              gtk_assistant_get_page_has_padding  (GtkAssistant *assistant,
                                                            GtkWidget    *page);
 
diff --git a/gtk/gtkbbox.c b/gtk/gtkbbox.c
index 5a22037..743ed18 100644
--- a/gtk/gtkbbox.c
+++ b/gtk/gtkbbox.c
@@ -344,8 +344,6 @@ gtk_button_box_get_layout (GtkButtonBox *widget)
  * Returns whether @child should appear in a secondary group of children.
  *
  * Returns: whether @child should appear in a secondary group of children.
- *
- * Since: 2.4
  **/
 gboolean
 gtk_button_box_get_child_secondary (GtkButtonBox *widget,
@@ -1056,8 +1054,6 @@ gtk_button_box_size_allocate (GtkWidget           *widget,
  * Creates a new #GtkButtonBox.
  *
  * Returns: a new #GtkButtonBox.
- *
- * Since: 3.0
  */
 GtkWidget *
 gtk_button_box_new (GtkOrientation orientation)
@@ -1076,8 +1072,6 @@ gtk_button_box_new (GtkOrientation orientation)
  * sizing.
  *
  * Returns: %TRUE if the child is not subject to homogenous sizing
- *
- * Since: 3.2
  */
 gboolean
 gtk_button_box_get_child_non_homogeneous (GtkButtonBox *widget,
@@ -1096,8 +1090,6 @@ gtk_button_box_get_child_non_homogeneous (GtkButtonBox *widget,
  * @non_homogeneous: the new value
  *
  * Sets whether the child is exempted from homogeous sizing.
- *
- * Since: 3.2
  */
 void
 gtk_button_box_set_child_non_homogeneous (GtkButtonBox *widget,
diff --git a/gtk/gtkbbox.h b/gtk/gtkbbox.h
index a191feb..c8bcf2e 100644
--- a/gtk/gtkbbox.h
+++ b/gtk/gtkbbox.h
@@ -116,10 +116,10 @@ GDK_AVAILABLE_IN_ALL
 void              gtk_button_box_set_child_secondary (GtkButtonBox      *widget,
                                                       GtkWidget         *child,
                                                       gboolean           is_secondary);
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 gboolean          gtk_button_box_get_child_non_homogeneous (GtkButtonBox *widget,
                                                             GtkWidget    *child);
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 void              gtk_button_box_set_child_non_homogeneous (GtkButtonBox *widget,
                                                             GtkWidget    *child,
                                                             gboolean      non_homogeneous);
diff --git a/gtk/gtkbindings.c b/gtk/gtkbindings.c
index 4234db7..72ef46c 100644
--- a/gtk/gtkbindings.c
+++ b/gtk/gtkbindings.c
@@ -833,8 +833,6 @@ gtk_binding_entry_clear_internal (GtkBindingSet  *binding_set,
  * Install a binding on @binding_set which causes key lookups
  * to be aborted, to prevent bindings from lower priority sets
  * to be activated.
- *
- * Since: 2.12
  */
 void
 gtk_binding_entry_skip (GtkBindingSet  *binding_set,
@@ -1391,8 +1389,6 @@ create_signal_scanner (void)
  *
  * Returns: %G_TOKEN_NONE if the signal was successfully parsed and added,
  *     the expected token otherwise
- *
- * Since: 3.0
  */
 GTokenType
 gtk_binding_entry_add_signal_from_string (GtkBindingSet *binding_set,
@@ -1574,8 +1570,6 @@ gtk_bindings_activate (GObject         *object,
  * @event, and if one was found, activate it.
  *
  * Returns: %TRUE if a matching key binding was found
- *
- * Since: 2.4
  */
 gboolean
 gtk_bindings_activate_event (GObject     *object,
diff --git a/gtk/gtkborder.c b/gtk/gtkborder.c
index 54f4e73..434f38e 100644
--- a/gtk/gtkborder.c
+++ b/gtk/gtkborder.c
@@ -33,8 +33,6 @@
  *
  * Returns: (transfer full): a newly allocated #GtkBorder-struct.
  *  Free with gtk_border_free()
- *
- * Since: 2.14
  */
 GtkBorder *
 gtk_border_new (void)
diff --git a/gtk/gtkbox.c b/gtk/gtkbox.c
index 5568126..3567ecb 100644
--- a/gtk/gtkbox.c
+++ b/gtk/gtkbox.c
@@ -1332,8 +1332,6 @@ gtk_box_init (GtkBox *box)
  * Creates a new #GtkBox.
  *
  * Returns: a new #GtkBox.
- *
- * Since: 3.0
  **/
 GtkWidget*
 gtk_box_new (GtkOrientation orientation,
@@ -1478,8 +1476,6 @@ gtk_box_get_spacing (GtkBox *box)
  * and the baseline is not allocated by the parent then
  * @position is used to allocate the baseline wrt the
  * extra space available.
- *
- * Since: 3.10
  */
 void
 gtk_box_set_baseline_position (GtkBox             *box,
@@ -1506,8 +1502,6 @@ gtk_box_set_baseline_position (GtkBox             *box,
  * Gets the value set by gtk_box_set_baseline_position().
  *
  * Returns: the baseline position
- *
- * Since: 3.10
  **/
 GtkBaselinePosition
 gtk_box_get_baseline_position (GtkBox *box)
diff --git a/gtk/gtkbox.h b/gtk/gtkbox.h
index 64539d9..57c47bb 100644
--- a/gtk/gtkbox.h
+++ b/gtk/gtkbox.h
@@ -93,10 +93,10 @@ void        gtk_box_set_spacing         (GtkBox         *box,
                                          gint            spacing);
 GDK_AVAILABLE_IN_ALL
 gint        gtk_box_get_spacing         (GtkBox         *box);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void        gtk_box_set_baseline_position (GtkBox             *box,
                                           GtkBaselinePosition position);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 GtkBaselinePosition gtk_box_get_baseline_position (GtkBox         *box);
 
 GDK_AVAILABLE_IN_ALL
diff --git a/gtk/gtkbuildable.c b/gtk/gtkbuildable.c
index d16e008..0be8203 100644
--- a/gtk/gtkbuildable.c
+++ b/gtk/gtkbuildable.c
@@ -54,8 +54,6 @@ gtk_buildable_default_init (GtkBuildableInterface *iface)
  * @name: name to set
  *
  * Sets the name of the @buildable object.
- *
- * Since: 2.12
  **/
 void
 gtk_buildable_set_name (GtkBuildable *buildable,
@@ -88,8 +86,6 @@ gtk_buildable_set_name (GtkBuildable *buildable,
  * used to construct the @buildable.
  *
  * Returns: the name set with gtk_buildable_set_name()
- *
- * Since: 2.12
  **/
 const gchar *
 gtk_buildable_get_name (GtkBuildable *buildable)
@@ -116,8 +112,6 @@ gtk_buildable_get_name (GtkBuildable *buildable)
  *
  * Adds a child to @buildable. @type is an optional string
  * describing how the child should be added.
- *
- * Since: 2.12
  **/
 void
 gtk_buildable_add_child (GtkBuildable *buildable,
@@ -144,8 +138,6 @@ gtk_buildable_add_child (GtkBuildable *buildable,
  * @value: value of property
  *
  * Sets the property name @name to @value on the @buildable object.
- *
- * Since: 2.12
  **/
 void
 gtk_buildable_set_buildable_property (GtkBuildable *buildable,
@@ -177,8 +169,6 @@ gtk_buildable_set_buildable_property (GtkBuildable *buildable,
  * Note that this will be called once for each time 
  * gtk_builder_add_from_file() or gtk_builder_add_from_string() 
  * is called on a builder.
- *
- * Since: 2.12
  **/
 void
 gtk_buildable_parser_finished (GtkBuildable *buildable,
@@ -206,8 +196,6 @@ gtk_buildable_parser_finished (GtkBuildable *buildable,
  * specified in the UI definition.
  *
  * Returns: (transfer full): the constructed child
- *
- * Since: 2.12
  **/
 GObject *
 gtk_buildable_construct_child (GtkBuildable *buildable,
@@ -240,8 +228,6 @@ gtk_buildable_construct_child (GtkBuildable *buildable,
  * 
  * Returns: %TRUE if a object has a custom implementation, %FALSE
  *          if it doesn't.
- *
- * Since: 2.12
  **/
 gboolean
 gtk_buildable_custom_tag_start (GtkBuildable  *buildable,
@@ -274,8 +260,6 @@ gtk_buildable_custom_tag_start (GtkBuildable  *buildable,
  *
  * This is called at the end of each custom element handled by 
  * the buildable.
- *
- * Since: 2.12
  **/
 void
 gtk_buildable_custom_tag_end (GtkBuildable  *buildable,
@@ -305,8 +289,6 @@ gtk_buildable_custom_tag_end (GtkBuildable  *buildable,
  *
  * This is similar to gtk_buildable_parser_finished() but is
  * called once for each custom tag handled by the @buildable.
- * 
- * Since: 2.12
  **/
 void
 gtk_buildable_custom_finished (GtkBuildable  *buildable,
@@ -334,8 +316,6 @@ gtk_buildable_custom_finished (GtkBuildable  *buildable,
  * Get the internal child called @childname of the @buildable object.
  *
  * Returns: (transfer none): the internal child of the buildable object
- *
- * Since: 2.12
  **/
 GObject *
 gtk_buildable_get_internal_child (GtkBuildable *buildable,
diff --git a/gtk/gtkbuilder.c b/gtk/gtkbuilder.c
index a548f00..c492da1 100644
--- a/gtk/gtkbuilder.c
+++ b/gtk/gtkbuilder.c
@@ -274,8 +274,6 @@ gtk_builder_class_init (GtkBuilderClass *klass)
   * have been marked as translatable in interface descriptions.
   * If the translation domain is %NULL, #GtkBuilder uses gettext(),
   * otherwise g_dgettext().
-  *
-  * Since: 2.12
   */
   builder_props[PROP_TRANSLATION_DOMAIN] =
       g_param_spec_string ("translation-domain",
@@ -1021,8 +1019,6 @@ _gtk_builder_finish (GtkBuilder *builder)
  * gtk_builder_new_from_resource() or gtk_builder_new_from_string().
  *
  * Returns: a new (empty) #GtkBuilder object
- *
- * Since: 2.12
  **/
 GtkBuilder *
 gtk_builder_new (void)
@@ -1053,8 +1049,6 @@ gtk_builder_new (void)
  * thing to do when an error is detected is to call g_error().
  *
  * Returns: A positive value on success, 0 if an error occurred
- *
- * Since: 2.12
  **/
 guint
 gtk_builder_add_from_file (GtkBuilder   *builder,
@@ -1118,8 +1112,6 @@ gtk_builder_add_from_file (GtkBuilder   *builder,
  * #GtkTreeModel), you have to explicitly list all of them in @object_ids.
  *
  * Returns: A positive value on success, 0 if an error occurred
- *
- * Since: 2.14
  **/
 guint
 gtk_builder_add_objects_from_file (GtkBuilder   *builder,
@@ -1242,8 +1234,6 @@ gtk_builder_extend_with_template (GtkBuilder   *builder,
  * to call g_error().
  *
  * Returns: A positive value on success, 0 if an error occurred
- *
- * Since: 3.4
  **/
 guint
 gtk_builder_add_from_resource (GtkBuilder   *builder,
@@ -1319,8 +1309,6 @@ gtk_builder_add_from_resource (GtkBuilder   *builder,
  * #GtkTreeModel), you have to explicitly list all of them in @object_ids.
  *
  * Returns: A positive value on success, 0 if an error occurred
- *
- * Since: 3.4
  **/
 guint
 gtk_builder_add_objects_from_resource (GtkBuilder   *builder,
@@ -1398,8 +1386,6 @@ gtk_builder_add_objects_from_resource (GtkBuilder   *builder,
  * to call g_error().
  *
  * Returns: A positive value on success, 0 if an error occurred
- *
- * Since: 2.12
  **/
 guint
 gtk_builder_add_from_string (GtkBuilder   *builder,
@@ -1453,8 +1439,6 @@ gtk_builder_add_from_string (GtkBuilder   *builder,
  * #GtkTreeModel), you have to explicitly list all of them in @object_ids.
  *
  * Returns: A positive value on success, 0 if an error occurred
- *
- * Since: 2.14
  **/
 guint
 gtk_builder_add_objects_from_string (GtkBuilder   *builder,
@@ -1501,8 +1485,6 @@ gtk_builder_add_objects_from_string (GtkBuilder   *builder,
  *
  * Returns: (nullable) (transfer none): the object named @name or %NULL if
  *    it could not be found in the object tree.
- *
- * Since: 2.12
  **/
 GObject *
 gtk_builder_get_object (GtkBuilder  *builder,
@@ -1525,8 +1507,6 @@ gtk_builder_get_object (GtkBuilder  *builder,
  * Returns: (element-type GObject) (transfer container): a newly-allocated #GSList containing all the objects
  *   constructed by the #GtkBuilder instance. It should be freed by
  *   g_slist_free()
- *
- * Since: 2.12
  **/
 GSList *
 gtk_builder_get_objects (GtkBuilder *builder)
@@ -1551,8 +1531,6 @@ gtk_builder_get_objects (GtkBuilder *builder)
  *
  * Sets the translation domain of @builder.
  * See #GtkBuilder:translation-domain.
- *
- * Since: 2.12
  **/
 void
 gtk_builder_set_translation_domain (GtkBuilder  *builder,
@@ -1577,8 +1555,6 @@ gtk_builder_set_translation_domain (GtkBuilder  *builder,
  *
  * Returns: the translation domain. This string is owned
  * by the builder object and must not be modified or freed.
- *
- * Since: 2.12
  **/
 const gchar *
 gtk_builder_get_translation_domain (GtkBuilder *builder)
@@ -1596,8 +1572,6 @@ gtk_builder_get_translation_domain (GtkBuilder *builder)
  *
  * Add @object to the @builder object pool so it can be referenced just like any
  * other object built by builder.
- *
- * Since: 3.8
  **/
 void
 gtk_builder_expose_object (GtkBuilder    *builder,
@@ -1682,8 +1656,6 @@ gtk_builder_connect_signals_default (GtkBuilder    *builder,
  * On Linux and Unices, this is not necessary; applications should instead
  * be compiled with the -Wl,--export-dynamic CFLAGS, and linked against
  * gmodule-export-2.0.
- *
- * Since: 2.12
  **/
 void
 gtk_builder_connect_signals (GtkBuilder *builder,
@@ -1723,8 +1695,6 @@ gtk_builder_connect_signals (GtkBuilder *builder,
  * could be useful where the programmer wants more control over the signal
  * connection process. Note that this function can only be called once,
  * subsequent calls will do nothing.
- *
- * Since: 2.12
  */
 
 /**
@@ -1736,8 +1706,6 @@ gtk_builder_connect_signals (GtkBuilder *builder,
  * This function can be thought of the interpreted language binding
  * version of gtk_builder_connect_signals(), except that it does not
  * require GModule to function correctly.
- *
- * Since: 2.12
  */
 void
 gtk_builder_connect_signals_full (GtkBuilder            *builder,
@@ -1824,8 +1792,6 @@ gtk_builder_connect_signals_full (GtkBuilder            *builder,
  * #GError from the #GTK_BUILDER_ERROR domain.
  *
  * Returns: %TRUE on success
- *
- * Since: 2.12
  */
 gboolean
 gtk_builder_value_from_string (GtkBuilder   *builder,
@@ -1901,8 +1867,6 @@ gtk_builder_value_from_string (GtkBuilder   *builder,
  * #GError from the #GTK_BUILDER_ERROR domain.
  *
  * Returns: %TRUE on success
- *
- * Since: 2.12
  */
 gboolean
 gtk_builder_value_from_string_type (GtkBuilder   *builder,
@@ -2420,8 +2384,6 @@ error:
  *
  * Returns: the #GType found for @type_name or #G_TYPE_INVALID
  *   if no type was found
- *
- * Since: 2.12
  */
 GType
 gtk_builder_get_type_from_name (GtkBuilder  *builder,
@@ -2507,8 +2469,6 @@ _gtk_builder_get_template_type (GtkBuilder *builder)
  * for any callback symbols that are added. Using this method allows for better
  * encapsulation as it does not require that callback symbols be declared in
  * the global namespace.
- *
- * Since: 3.10
  */
 void
 gtk_builder_add_callback_symbol (GtkBuilder  *builder,
@@ -2535,8 +2495,6 @@ gtk_builder_add_callback_symbol (GtkBuilder  *builder,
  *
  * A convenience function to add many callbacks instead of calling
  * gtk_builder_add_callback_symbol() for each symbol.
- *
- * Since: 3.10
  */
 void
 gtk_builder_add_callback_symbols (GtkBuilder  *builder,
@@ -2584,8 +2542,6 @@ gtk_builder_add_callback_symbols (GtkBuilder  *builder,
  * using gtk_builder_connect_signals_full()
  *
  * Returns: (nullable): The callback symbol in @builder for @callback_name, or %NULL
- *
- * Since: 3.10
  */
 GCallback
 gtk_builder_lookup_callback_symbol (GtkBuilder  *builder,
@@ -2612,8 +2568,6 @@ gtk_builder_lookup_callback_symbol (GtkBuilder  *builder,
  * user interface descriptions that are shipped as part of your program.
  *
  * Returns: a #GtkBuilder containing the described interface
- *
- * Since: 3.10
  **/
 GtkBuilder *
 gtk_builder_new_from_file (const gchar *filename)
@@ -2639,8 +2593,6 @@ gtk_builder_new_from_file (const gchar *filename)
  * description, then the program will be aborted.
  *
  * Returns: a #GtkBuilder containing the described interface
- *
- * Since: 3.10
  **/
 GtkBuilder *
 gtk_builder_new_from_resource (const gchar *resource_path)
@@ -2671,8 +2623,6 @@ gtk_builder_new_from_resource (const gchar *resource_path)
  * from untrusted sources.
  *
  * Returns: a #GtkBuilder containing the interface described by @string
- *
- * Since: 3.10
  **/
 GtkBuilder *
 gtk_builder_new_from_string (const gchar *string,
@@ -2697,8 +2647,6 @@ gtk_builder_new_from_string (const gchar *string,
  *
  * You only need this function if there is more than one #GApplication
  * in your process. @application cannot be %NULL.
- *
- * Since: 3.10
  **/
 void
 gtk_builder_set_application (GtkBuilder     *builder,
@@ -2728,8 +2676,6 @@ gtk_builder_set_application (GtkBuilder     *builder,
  *
  * Returns: (nullable) (transfer none): the application being used by the builder,
  *     or %NULL
- *
- * Since: 3.10
  **/
 GtkApplication *
 gtk_builder_get_application (GtkBuilder *builder)
diff --git a/gtk/gtkbuilder.h b/gtk/gtkbuilder.h
index 959d7cf..bf50171 100644
--- a/gtk/gtkbuilder.h
+++ b/gtk/gtkbuilder.h
@@ -138,7 +138,7 @@ guint        gtk_builder_add_objects_from_file   (GtkBuilder    *builder,
                                                   const gchar   *filename,
                                                   gchar        **object_ids,
                                                   GError       **error);
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 guint        gtk_builder_add_objects_from_resource(GtkBuilder    *builder,
                                                   const gchar   *resource_path,
                                                   gchar        **object_ids,
@@ -154,7 +154,7 @@ GObject*     gtk_builder_get_object              (GtkBuilder    *builder,
                                                   const gchar   *name);
 GDK_AVAILABLE_IN_ALL
 GSList*      gtk_builder_get_objects             (GtkBuilder    *builder);
-GDK_AVAILABLE_IN_3_8
+GDK_AVAILABLE_IN_ALL
 void         gtk_builder_expose_object           (GtkBuilder    *builder,
                                                   const gchar   *name,
                                                   GObject       *object);
@@ -186,32 +186,32 @@ gboolean     gtk_builder_value_from_string_type  (GtkBuilder    *builder,
                                                   const gchar          *string,
                                                   GValue               *value,
                                                  GError       **error);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 GtkBuilder * gtk_builder_new_from_file           (const gchar   *filename);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 GtkBuilder * gtk_builder_new_from_resource       (const gchar   *resource_path);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 GtkBuilder * gtk_builder_new_from_string         (const gchar   *string,
                                                   gssize         length);
 
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void         gtk_builder_add_callback_symbol     (GtkBuilder    *builder,
                                                  const gchar   *callback_name,
                                                  GCallback      callback_symbol);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void         gtk_builder_add_callback_symbols    (GtkBuilder    *builder,
                                                  const gchar   *first_callback_name,
                                                  GCallback      first_callback_symbol,
                                                  ...) G_GNUC_NULL_TERMINATED;
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 GCallback    gtk_builder_lookup_callback_symbol  (GtkBuilder    *builder,
                                                  const gchar   *callback_name);
 
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 void         gtk_builder_set_application         (GtkBuilder     *builder,
                                                   GtkApplication *application);
 
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 GtkApplication * gtk_builder_get_application     (GtkBuilder     *builder);
 
 
@@ -226,7 +226,7 @@ GtkApplication * gtk_builder_get_application     (GtkBuilder     *builder);
 #define GTK_BUILDER_WARN_INVALID_CHILD_TYPE(object, type) \
   g_warning ("'%s' is not a valid child type of '%s'", type, g_type_name (G_OBJECT_TYPE (object)))
 
-GDK_AVAILABLE_IN_3_18
+GDK_AVAILABLE_IN_ALL
 guint     gtk_builder_extend_with_template  (GtkBuilder    *builder,
                                              GtkWidget     *widget,
                                              GType          template_type,                                   
                       const gchar   *buffer,
diff --git a/gtk/gtkbutton.c b/gtk/gtkbutton.c
index 6f46594..0d58e66 100644
--- a/gtk/gtkbutton.c
+++ b/gtk/gtkbutton.c
@@ -622,8 +622,6 @@ gtk_button_new_with_label (const gchar *label)
  * will be updated appropriately.
  *
  * Returns: a new #GtkButton displaying the themed icon
- *
- * Since: 3.10
  */
 GtkWidget*
 gtk_button_new_from_icon_name (const gchar *icon_name)
@@ -1086,8 +1084,6 @@ gtk_button_grab_notify (GtkWidget *widget,
  * Adds a #GtkImage with the given icon name as a child. The icon will be
  * of size %GTK_ICON_SIZE_BUTTON. If @button already contains a child widget,
  * that child widget will be removed and replaced with the image.
- *
- * Since: 3.90
  */
 void
 gtk_button_set_icon_name (GtkButton  *button,
@@ -1129,8 +1125,6 @@ gtk_button_set_icon_name (GtkButton  *button,
  * Returns the icon name set via gtk_button_set_icon_name().
  *
  * Returns: (nullable): The icon name set via gtk_button_set_icon_name()
- *
- * Since: 3.90
  */
 const char *
 gtk_button_get_icon_name (GtkButton *button)
diff --git a/gtk/gtkbutton.h b/gtk/gtkbutton.h
index 2bd236c..6be4714 100644
--- a/gtk/gtkbutton.h
+++ b/gtk/gtkbutton.h
@@ -88,7 +88,7 @@ GDK_AVAILABLE_IN_ALL
 GtkWidget*     gtk_button_new               (void);
 GDK_AVAILABLE_IN_ALL
 GtkWidget*     gtk_button_new_with_label    (const gchar    *label);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 GtkWidget*     gtk_button_new_from_icon_name (const gchar    *icon_name);
 GDK_AVAILABLE_IN_ALL
 GtkWidget*     gtk_button_new_with_mnemonic (const gchar    *label);
@@ -111,10 +111,10 @@ void                  gtk_button_set_use_underline  (GtkButton      *button,
 GDK_AVAILABLE_IN_ALL
 gboolean              gtk_button_get_use_underline  (GtkButton      *button);
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 void                  gtk_button_set_icon_name      (GtkButton      *button,
                                                      const char     *icon_name);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 const char *          gtk_button_get_icon_name      (GtkButton      *button);
 
 
diff --git a/gtk/gtkcalendar.c b/gtk/gtkcalendar.c
index 2d03959..5bbb6ca 100644
--- a/gtk/gtkcalendar.c
+++ b/gtk/gtkcalendar.c
@@ -433,8 +433,6 @@ gtk_calendar_class_init (GtkCalendarClass *class)
  * GtkCalendar:show-heading:
  *
  * Determines whether a heading is displayed.
- *
- * Since: 2.4
  */
   g_object_class_install_property (gobject_class,
                                    PROP_SHOW_HEADING,
@@ -448,8 +446,6 @@ gtk_calendar_class_init (GtkCalendarClass *class)
  * GtkCalendar:show-day-names:
  *
  * Determines whether day names are displayed.
- *
- * Since: 2.4
  */
   g_object_class_install_property (gobject_class,
                                    PROP_SHOW_DAY_NAMES,
@@ -462,8 +458,6 @@ gtk_calendar_class_init (GtkCalendarClass *class)
  * GtkCalendar:no-month-change:
  *
  * Determines whether the selected month can be changed.
- *
- * Since: 2.4
  */
   g_object_class_install_property (gobject_class,
                                    PROP_NO_MONTH_CHANGE,
@@ -477,8 +471,6 @@ gtk_calendar_class_init (GtkCalendarClass *class)
  * GtkCalendar:show-week-numbers:
  *
  * Determines whether week numbers are displayed.
- *
- * Since: 2.4
  */
   g_object_class_install_property (gobject_class,
                                    PROP_SHOW_WEEK_NUMBERS,
@@ -493,8 +485,6 @@ gtk_calendar_class_init (GtkCalendarClass *class)
  *
  * Width of a detail cell, in characters.
  * A value of 0 allows any width. See gtk_calendar_set_detail_func().
- *
- * Since: 2.14
  */
   g_object_class_install_property (gobject_class,
                                    PROP_DETAIL_WIDTH_CHARS,
@@ -509,8 +499,6 @@ gtk_calendar_class_init (GtkCalendarClass *class)
  *
  * Height of a detail cell, in rows.
  * A value of 0 allows any width. See gtk_calendar_set_detail_func().
- *
- * Since: 2.14
  */
   g_object_class_install_property (gobject_class,
                                    PROP_DETAIL_HEIGHT_ROWS,
@@ -526,8 +514,6 @@ gtk_calendar_class_init (GtkCalendarClass *class)
  * Determines whether details are shown directly in the widget, or if they are
  * available only as tooltip. When this property is set days with details are
  * marked.
- *
- * Since: 2.14
  */
   g_object_class_install_property (gobject_class,
                                    PROP_SHOW_DETAILS,
@@ -3107,8 +3093,6 @@ gtk_calendar_new (void)
  * Returns the current display options of @calendar.
  *
  * Returns: the display options.
- *
- * Since: 2.4
  **/
 GtkCalendarDisplayOptions
 gtk_calendar_get_display_options (GtkCalendar         *calendar)
@@ -3125,8 +3109,6 @@ gtk_calendar_get_display_options (GtkCalendar         *calendar)
  *
  * Sets display options (whether to display the heading and the month
  * headings).
- *
- * Since: 2.4
  **/
 void
 gtk_calendar_set_display_options (GtkCalendar          *calendar,
@@ -3344,8 +3326,6 @@ gtk_calendar_mark_day (GtkCalendar *calendar,
  * Returns if the @day of the @calendar is already marked.
  *
  * Returns: whether the day is marked.
- *
- * Since: 3.0
  */
 gboolean
 gtk_calendar_get_day_is_marked (GtkCalendar *calendar,
@@ -3439,8 +3419,6 @@ gtk_calendar_get_date (GtkCalendar *calendar,
  * The size of the details area can be restricted by setting the
  * #GtkCalendar:detail-width-chars and #GtkCalendar:detail-height-rows
  * properties.
- *
- * Since: 2.14
  */
 void
 gtk_calendar_set_detail_func (GtkCalendar           *calendar,
@@ -3473,8 +3451,6 @@ gtk_calendar_set_detail_func (GtkCalendar           *calendar,
  *
  * Updates the width of detail cells.
  * See #GtkCalendar:detail-width-chars.
- *
- * Since: 2.14
  */
 void
 gtk_calendar_set_detail_width_chars (GtkCalendar *calendar,
@@ -3501,8 +3477,6 @@ gtk_calendar_set_detail_width_chars (GtkCalendar *calendar,
  *
  * Updates the height of detail cells.
  * See #GtkCalendar:detail-height-rows.
- *
- * Since: 2.14
  */
 void
 gtk_calendar_set_detail_height_rows (GtkCalendar *calendar,
@@ -3529,8 +3503,6 @@ gtk_calendar_set_detail_height_rows (GtkCalendar *calendar,
  * Queries the width of detail cells, in characters.
  * See #GtkCalendar:detail-width-chars.
  *
- * Since: 2.14
- *
  * Returns: The width of detail cells, in characters.
  */
 gint
@@ -3548,8 +3520,6 @@ gtk_calendar_get_detail_width_chars (GtkCalendar *calendar)
  * Queries the height of detail cells, in rows.
  * See #GtkCalendar:detail-width-chars.
  *
- * Since: 2.14
- *
  * Returns: The height of detail cells, in rows.
  */
 gint
diff --git a/gtk/gtkcalendar.h b/gtk/gtkcalendar.h
index 8c4870b..bff8623 100644
--- a/gtk/gtkcalendar.h
+++ b/gtk/gtkcalendar.h
@@ -84,8 +84,6 @@ typedef enum
  * specified day. Examples for such details are holidays or appointments. The
  * function returns %NULL when no information is available.
  *
- * Since: 2.14
- *
  * Returns: (nullable) (transfer full): Newly allocated string with Pango markup
  *     with details for the specified day or %NULL.
  */
diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c
index f1b4224..bccaa06 100644
--- a/gtk/gtkcellarea.c
+++ b/gtk/gtkcellarea.c
@@ -679,8 +679,6 @@ gtk_cell_area_class_init (GtkCellAreaClass *class)
    * @is_expanded: whether the view is currently showing the children of this row
    *
    * This signal is emitted whenever applying attributes to @area from @model
-   *
-   * Since: 3.0
    */
   cell_area_signals[SIGNAL_APPLY_ATTRIBUTES] =
     g_signal_new (I_("apply-attributes"),
@@ -708,8 +706,6 @@ gtk_cell_area_class_init (GtkCellAreaClass *class)
    *
    * Indicates that editing has started on @renderer and that @editable
    * should be added to the owning cell-layouting widget at @cell_area.
-   *
-   * Since: 3.0
    */
   cell_area_signals[SIGNAL_ADD_EDITABLE] =
     g_signal_new (I_("add-editable"),
@@ -733,8 +729,6 @@ gtk_cell_area_class_init (GtkCellAreaClass *class)
    *
    * Indicates that editing finished on @renderer and that @editable
    * should be removed from the owning cell-layouting widget.
-   *
-   * Since: 3.0
    */
   cell_area_signals[SIGNAL_REMOVE_EDITABLE] =
     g_signal_new (I_("remove-editable"),
@@ -761,8 +755,6 @@ gtk_cell_area_class_init (GtkCellAreaClass *class)
    * currently focused renderer did not change, this is
    * because focus may change to the same renderer in the
    * same cell area for a different row of data.
-   *
-   * Since: 3.0
    */
   cell_area_signals[SIGNAL_FOCUS_CHANGED] =
     g_signal_new (I_("focus-changed"),
@@ -780,8 +772,6 @@ gtk_cell_area_class_init (GtkCellAreaClass *class)
    * GtkCellArea:focus-cell:
    *
    * The cell in the area that currently has focus
-   *
-   * Since: 3.0
    */
   g_object_class_install_property (object_class,
                                    PROP_FOCUS_CELL,
@@ -798,8 +788,6 @@ gtk_cell_area_class_init (GtkCellAreaClass *class)
    *
    * This property is read-only and only changes as
    * a result of a call gtk_cell_area_activate_cell().
-   *
-   * Since: 3.0
    */
   g_object_class_install_property (object_class,
                                    PROP_EDITED_CELL,
@@ -816,8 +804,6 @@ gtk_cell_area_class_init (GtkCellAreaClass *class)
    *
    * This property is read-only and only changes as
    * a result of a call gtk_cell_area_activate_cell().
-   *
-   * Since: 3.0
    */
   g_object_class_install_property (object_class,
                                    PROP_EDIT_WIDGET,
@@ -1605,8 +1591,6 @@ gtk_cell_area_buildable_custom_tag_end (GtkBuildable *buildable,
  * @renderer: the #GtkCellRenderer to add to @area
  *
  * Adds @renderer to @area with the default child cell properties.
- *
- * Since: 3.0
  */
 void
 gtk_cell_area_add (GtkCellArea        *area,
@@ -1624,8 +1608,6 @@ gtk_cell_area_add (GtkCellArea        *area,
  * @renderer: the #GtkCellRenderer to remove from @area
  *
  * Removes @renderer from @area.
- *
- * Since: 3.0
  */
 void
 gtk_cell_area_remove (GtkCellArea        *area,
@@ -1682,8 +1664,6 @@ get_has_renderer (GtkCellRenderer  *renderer,
  * Checks if @area contains @renderer.
  *
  * Returns: %TRUE if @renderer is in the @area.
- *
- * Since: 3.0
  */
 gboolean
 gtk_cell_area_has_renderer (GtkCellArea     *area,
@@ -1706,8 +1686,6 @@ gtk_cell_area_has_renderer (GtkCellArea     *area,
  * @callback_data: user provided data pointer
  *
  * Calls @callback for every #GtkCellRenderer in @area.
- *
- * Since: 3.0
  */
 void
 gtk_cell_area_foreach (GtkCellArea        *area,
@@ -1732,8 +1710,6 @@ gtk_cell_area_foreach (GtkCellArea        *area,
  *
  * Calls @callback for every #GtkCellRenderer in @area with the
  * allocated rectangle inside @cell_area.
- *
- * Since: 3.0
  */
 void
 gtk_cell_area_foreach_alloc (GtkCellArea          *area,
@@ -1767,8 +1743,6 @@ gtk_cell_area_foreach_alloc (GtkCellArea          *area,
  * Delegates event handling to a #GtkCellArea.
  *
  * Returns: %TRUE if the event was handled by @area.
- *
- * Since: 3.0
  */
 gint
 gtk_cell_area_event (GtkCellArea          *area,
@@ -1809,8 +1783,6 @@ gtk_cell_area_event (GtkCellArea          *area,
  *
  * Snapshots @area’s cells according to @area’s layout onto at
  * the given coordinates.
- *
- * Since: 3.90
  */
 void
 gtk_cell_area_snapshot (GtkCellArea          *area,
@@ -1864,8 +1836,6 @@ get_cell_allocation (GtkCellRenderer        *renderer,
  *
  * Derives the allocation of @renderer inside @area if @area
  * were to be renderered in @cell_area.
- *
- * Since: 3.0
  */
 void
 gtk_cell_area_get_cell_allocation (GtkCellArea          *area,
@@ -1922,8 +1892,6 @@ get_cell_by_position (GtkCellRenderer     *renderer,
  * returns the full cell allocation for it inside @cell_area.
  *
  * Returns: (transfer none): the #GtkCellRenderer at @x and @y.
- *
- * Since: 3.0
  */
 GtkCellRenderer *
 gtk_cell_area_get_cell_at_position (GtkCellArea          *area,
@@ -1967,8 +1935,6 @@ gtk_cell_area_get_cell_at_position (GtkCellArea          *area,
  * which was used to request the size of those rows of data).
  *
  * Returns: (transfer full): a newly created #GtkCellAreaContext which can be used with @area.
- *
- * Since: 3.0
  */
 GtkCellAreaContext *
 gtk_cell_area_create_context (GtkCellArea *area)
@@ -1996,8 +1962,6 @@ gtk_cell_area_create_context (GtkCellArea *area)
  * to be displayed.
  *
  * Returns: (transfer full): a newly created #GtkCellAreaContext copy of @context.
- *
- * Since: 3.0
  */
 GtkCellAreaContext *
 gtk_cell_area_copy_context (GtkCellArea        *area,
@@ -2017,8 +1981,6 @@ gtk_cell_area_copy_context (GtkCellArea        *area,
  * or a width-for-height layout.
  *
  * Returns: The #GtkSizeRequestMode preferred by @area.
- *
- * Since: 3.0
  */
 GtkSizeRequestMode
 gtk_cell_area_get_request_mode (GtkCellArea *area)
@@ -2044,8 +2006,6 @@ gtk_cell_area_get_request_mode (GtkCellArea *area)
  * to check the @minimum_width and @natural_width of this call but rather to
  * consult gtk_cell_area_context_get_preferred_width() after a series of
  * requests.
- *
- * Since: 3.0
  */
 void
 gtk_cell_area_get_preferred_width (GtkCellArea        *area,
@@ -2084,8 +2044,6 @@ gtk_cell_area_get_preferred_width (GtkCellArea        *area,
  * requested with gtk_cell_area_get_preferred_width() again and then
  * the full width of the requested rows checked again with
  * gtk_cell_area_context_get_preferred_width().
- *
- * Since: 3.0
  */
 void
 gtk_cell_area_get_preferred_height_for_width (GtkCellArea        *area,
@@ -2120,8 +2078,6 @@ gtk_cell_area_get_preferred_height_for_width (GtkCellArea        *area,
  * to check the @minimum_height and @natural_height of this call but rather to
  * consult gtk_cell_area_context_get_preferred_height() after a series of
  * requests.
- *
- * Since: 3.0
  */
 void
 gtk_cell_area_get_preferred_height (GtkCellArea        *area,
@@ -2160,8 +2116,6 @@ gtk_cell_area_get_preferred_height (GtkCellArea        *area,
  * requested with gtk_cell_area_get_preferred_height() again and then
  * the full height of the requested rows checked again with
  * gtk_cell_area_context_get_preferred_height().
- *
- * Since: 3.0
  */
 void
 gtk_cell_area_get_preferred_width_for_height (GtkCellArea        *area,
@@ -2193,8 +2147,6 @@ gtk_cell_area_get_preferred_width_for_height (GtkCellArea        *area,
  *
  * Connects an @attribute to apply values from @column for the
  * #GtkTreeModel in use.
- *
- * Since: 3.0
  */
 void
 gtk_cell_area_attribute_connect (GtkCellArea        *area,
@@ -2262,8 +2214,6 @@ gtk_cell_area_attribute_connect (GtkCellArea        *area,
  * Disconnects @attribute for the @renderer in @area so that
  * attribute will no longer be updated with values from the
  * model.
- *
- * Since: 3.0
  */
 void
 gtk_cell_area_attribute_disconnect (GtkCellArea        *area,
@@ -2308,8 +2258,6 @@ gtk_cell_area_attribute_disconnect (GtkCellArea        *area,
  * or -1 if the attribute is not mapped.
  *
  * Returns: the model column, or -1
- *
- * Since: 3.14
  */
 gint
 gtk_cell_area_attribute_get_column (GtkCellArea     *area,
@@ -2349,8 +2297,6 @@ gtk_cell_area_attribute_get_column (GtkCellArea     *area,
  *
  * Applies any connected attributes to the renderers in
  * @area by pulling the values from @tree_model.
- *
- * Since: 3.0
  */
 void
 gtk_cell_area_apply_attributes (GtkCellArea  *area,
@@ -2380,8 +2326,6 @@ gtk_cell_area_apply_attributes (GtkCellArea  *area,
  * Returns: The current #GtkTreePath string for the current
  * attributes applied to @area. This string belongs to the area and
  * should not be freed.
- *
- * Since: 3.0
  */
 const gchar *
 gtk_cell_area_get_current_path_string (GtkCellArea *area)
@@ -2406,8 +2350,6 @@ gtk_cell_area_get_current_path_string (GtkCellArea *area)
  * @pspec: the #GParamSpec for the property
  *
  * Installs a cell property on a cell area class.
- *
- * Since: 3.0
  */
 void
 gtk_cell_area_class_install_cell_property (GtkCellAreaClass   *aclass,
@@ -2445,8 +2387,6 @@ gtk_cell_area_class_install_cell_property (GtkCellAreaClass   *aclass,
  *
  * Returns: (transfer none): the #GParamSpec of the child property
  *   or %NULL if @aclass has no child property with that name.
- *
- * Since: 3.0
  */
 GParamSpec*
 gtk_cell_area_class_find_cell_property (GtkCellAreaClass   *aclass,
@@ -2471,8 +2411,6 @@ gtk_cell_area_class_find_cell_property (GtkCellAreaClass   *aclass,
  * Returns: (array length=n_properties) (transfer container): a newly
  *     allocated %NULL-terminated array of #GParamSpec*.  The array
  *     must be freed with g_free().
- *
- * Since: 3.0
  */
 GParamSpec**
 gtk_cell_area_class_list_cell_properties (GtkCellAreaClass  *aclass,
@@ -2502,8 +2440,6 @@ gtk_cell_area_class_list_cell_properties (GtkCellAreaClass  *aclass,
  *
  * Adds @renderer to @area, setting cell properties at the same time.
  * See gtk_cell_area_add() and gtk_cell_area_cell_set() for more details.
- *
- * Since: 3.0
  */
 void
 gtk_cell_area_add_with_properties (GtkCellArea        *area,
@@ -2542,8 +2478,6 @@ gtk_cell_area_add_with_properties (GtkCellArea        *area,
  *           with @first_prop_name
  *
  * Sets one or more cell properties for @cell in @area.
- *
- * Since: 3.0
  */
 void
 gtk_cell_area_cell_set (GtkCellArea        *area,
@@ -2570,8 +2504,6 @@ gtk_cell_area_cell_set (GtkCellArea        *area,
  *     optionally by more name/return location pairs, followed by %NULL
  *
  * Gets the values of one or more cell properties for @renderer in @area.
- *
- * Since: 3.0
  */
 void
 gtk_cell_area_cell_get (GtkCellArea        *area,
@@ -2643,8 +2575,6 @@ area_set_cell_property (GtkCellArea     *area,
  *           with @first_prop_name
  *
  * Sets one or more cell properties for @renderer in @area.
- *
- * Since: 3.0
  */
 void
 gtk_cell_area_cell_set_valist (GtkCellArea        *area,
@@ -2705,8 +2635,6 @@ gtk_cell_area_cell_set_valist (GtkCellArea        *area,
  *     optionally by more name/return location pairs, followed by %NULL
  *
  * Gets the values of one or more cell properties for @renderer in @area.
- *
- * Since: 3.0
  */
 void
 gtk_cell_area_cell_get_valist (GtkCellArea        *area,
@@ -2764,8 +2692,6 @@ gtk_cell_area_cell_get_valist (GtkCellArea        *area,
  * @value: the value to set the cell property to
  *
  * Sets a cell property for @renderer in @area.
- *
- * Since: 3.0
  */
 void
 gtk_cell_area_cell_set_property (GtkCellArea        *area,
@@ -2802,8 +2728,6 @@ gtk_cell_area_cell_set_property (GtkCellArea        *area,
  * @value: a location to return the value
  *
  * Gets the value of a cell property for @renderer in @area.
- *
- * Since: 3.0
  */
 void
 gtk_cell_area_cell_get_property (GtkCellArea        *area,
@@ -2873,8 +2797,6 @@ gtk_cell_area_cell_get_property (GtkCellArea        *area,
  * after applying new attributes to @area.
  *
  * Returns: whether @area can do anything when activated.
- *
- * Since: 3.0
  */
 gboolean
 gtk_cell_area_is_activatable (GtkCellArea *area)
@@ -2898,8 +2820,6 @@ gtk_cell_area_is_activatable (GtkCellArea *area)
  * to how it lays out cells.
  *
  * Returns: %TRUE if focus remains inside @area as a result of this call.
- *
- * Since: 3.0
  */
 gboolean
 gtk_cell_area_focus (GtkCellArea      *area,
@@ -2925,8 +2845,6 @@ gtk_cell_area_focus (GtkCellArea      *area,
  * can also activate a widget if it currently has the focus.
  *
  * Returns: Whether @area was successfully activated.
- *
- * Since: 3.0
  */
 gboolean
 gtk_cell_area_activate (GtkCellArea         *area,
@@ -2953,8 +2871,6 @@ gtk_cell_area_activate (GtkCellArea         *area,
  * #GtkCellAreaClass.focus() or #GtkCellAreaClass.event(),
  * however it can also be used to implement functions such
  * as gtk_tree_view_set_cursor_on_cell().
- *
- * Since: 3.0
  */
 void
 gtk_cell_area_set_focus_cell (GtkCellArea     *area,
@@ -2995,8 +2911,6 @@ gtk_cell_area_set_focus_cell (GtkCellArea     *area,
  * Retrieves the currently focused cell for @area
  *
  * Returns: (transfer none): the currently focused cell in @area.
- *
- * Since: 3.0
  */
 GtkCellRenderer *
 gtk_cell_area_get_focus_cell (GtkCellArea *area)
@@ -3027,8 +2941,6 @@ gtk_cell_area_get_focus_cell (GtkCellArea *area)
  *
  * Events handled by focus siblings can also activate the given
  * focusable @renderer.
- *
- * Since: 3.0
  */
 void
 gtk_cell_area_add_focus_sibling (GtkCellArea     *area,
@@ -3072,8 +2984,6 @@ gtk_cell_area_add_focus_sibling (GtkCellArea     *area,
  *
  * Removes @sibling from @renderer’s focus sibling list
  * (see gtk_cell_area_add_focus_sibling()).
- *
- * Since: 3.0
  */
 void
 gtk_cell_area_remove_focus_sibling (GtkCellArea     *area,
@@ -3111,8 +3021,6 @@ gtk_cell_area_remove_focus_sibling (GtkCellArea     *area,
  * (see gtk_cell_area_add_focus_sibling()).
  *
  * Returns: %TRUE if @sibling is a focus sibling of @renderer
- *
- * Since: 3.0
  */
 gboolean
 gtk_cell_area_is_focus_sibling (GtkCellArea     *area,
@@ -3150,8 +3058,6 @@ gtk_cell_area_is_focus_sibling (GtkCellArea     *area,
  *
  * Returns: (element-type GtkCellRenderer) (transfer none): A #GList of #GtkCellRenderers.
  *       The returned list is internal and should not be freed.
- *
- * Since: 3.0
  */
 const GList *
 gtk_cell_area_get_focus_siblings (GtkCellArea     *area,
@@ -3182,8 +3088,6 @@ gtk_cell_area_get_focus_siblings (GtkCellArea     *area,
  *
  * Returns: (nullable) (transfer none): the #GtkCellRenderer for which @renderer
  *    is a sibling, or %NULL.
- *
- * Since: 3.0
  */
 GtkCellRenderer *
 gtk_cell_area_get_focus_from_sibling (GtkCellArea          *area,
@@ -3325,8 +3229,6 @@ gtk_cell_area_set_edit_widget (GtkCellArea     *area,
  * being edited.
  *
  * Returns: (transfer none): The currently edited #GtkCellRenderer
- *
- * Since: 3.0
  */
 GtkCellRenderer   *
 gtk_cell_area_get_edited_cell (GtkCellArea *area)
@@ -3348,8 +3250,6 @@ gtk_cell_area_get_edited_cell (GtkCellArea *area)
  * to edit the currently edited cell.
  *
  * Returns: (transfer none): The currently active #GtkCellEditable widget
- *
- * Since: 3.0
  */
 GtkCellEditable *
 gtk_cell_area_get_edit_widget (GtkCellArea *area)
@@ -3379,8 +3279,6 @@ gtk_cell_area_get_edit_widget (GtkCellArea *area)
  * implementation.
  *
  * Returns: whether cell activation was successful
- *
- * Since: 3.0
  */
 gboolean
 gtk_cell_area_activate_cell (GtkCellArea          *area,
@@ -3476,8 +3374,6 @@ gtk_cell_area_activate_cell (GtkCellArea          *area,
  * edit widget.
  *
  * See gtk_cell_area_get_edited_cell() and gtk_cell_area_get_edit_widget().
- *
- * Since: 3.0
  */
 void
 gtk_cell_area_stop_editing (GtkCellArea *area,
@@ -3532,8 +3428,6 @@ gtk_cell_area_stop_editing (GtkCellArea *area,
  * This is a convenience function for #GtkCellArea implementations
  * to get the inner area where a given #GtkCellRenderer will be
  * rendered. It removes any padding previously added by gtk_cell_area_request_renderer().
- *
- * Since: 3.0
  */
 void
 gtk_cell_area_inner_cell_area (GtkCellArea        *area,
@@ -3576,8 +3470,6 @@ gtk_cell_area_inner_cell_area (GtkCellArea        *area,
  * function to request size and then use gtk_cell_area_inner_cell_area()
  * at render and event time since this function will add padding
  * around the cell for focus painting.
- *
- * Since: 3.0
  */
 void
 gtk_cell_area_request_renderer (GtkCellArea        *area,
diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h
index ac1fc19..966d6e0 100644
--- a/gtk/gtkcellarea.h
+++ b/gtk/gtkcellarea.h
@@ -308,7 +308,7 @@ gint                  gtk_cell_area_event                          (GtkCellArea
                                                                     GdkEvent             *event,
                                                                     const GdkRectangle   *cell_area,
                                                                     GtkCellRendererState  flags);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 void                  gtk_cell_area_snapshot                       (GtkCellArea          *area,
                                                                     GtkCellAreaContext   *context,
                                                                     GtkWidget            *widget,
@@ -388,7 +388,7 @@ GDK_AVAILABLE_IN_ALL
 void                  gtk_cell_area_attribute_disconnect           (GtkCellArea        *area,
                                                                     GtkCellRenderer    *renderer,
                                                                     const gchar        *attribute);
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 gint                  gtk_cell_area_attribute_get_column           (GtkCellArea        *area,
                                                                     GtkCellRenderer    *renderer,
                                                                     const gchar        *attribute);
diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c
index 7ea9851..9060212 100644
--- a/gtk/gtkcellareabox.c
+++ b/gtk/gtkcellareabox.c
@@ -301,8 +301,6 @@ gtk_cell_area_box_class_init (GtkCellAreaBoxClass *class)
    * GtkCellAreaBox:spacing:
    *
    * The amount of space to reserve between cells.
-   *
-   * Since: 3.0
    */
   g_object_class_install_property (object_class,
                                    PROP_SPACING,
@@ -320,8 +318,6 @@ gtk_cell_area_box_class_init (GtkCellAreaBoxClass *class)
    *
    * Whether the cell renderer should receive extra space
    * when the area receives more than its natural size.
-   *
-   * Since: 3.0
    */
   gtk_cell_area_class_install_cell_property (area_class,
                                              CELL_PROP_EXPAND,
@@ -336,8 +332,6 @@ gtk_cell_area_box_class_init (GtkCellAreaBoxClass *class)
    * GtkCellAreaBox:align:
    *
    * Whether the cell renderer should be aligned in adjacent rows.
-   *
-   * Since: 3.0
    */
   gtk_cell_area_class_install_cell_property (area_class,
                                              CELL_PROP_ALIGN,
@@ -353,8 +347,6 @@ gtk_cell_area_box_class_init (GtkCellAreaBoxClass *class)
    *
    * Whether the cell renderer should require the same size
    * for all rows for which it was requested.
-   *
-   * Since: 3.0
    */
   gtk_cell_area_class_install_cell_property (area_class,
                                              CELL_PROP_FIXED_SIZE,
@@ -370,8 +362,6 @@ gtk_cell_area_box_class_init (GtkCellAreaBoxClass *class)
    *
    * A GtkPackType indicating whether the cell renderer is packed
    * with reference to the start or end of the area.
-   *
-   * Since: 3.0
    */
   gtk_cell_area_class_install_cell_property (area_class,
                                              CELL_PROP_PACK_TYPE,
@@ -2119,8 +2109,6 @@ _gtk_cell_area_box_group_visible (GtkCellAreaBox  *box,
  * Creates a new #GtkCellAreaBox.
  *
  * Returns: a newly created #GtkCellAreaBox
- *
- * Since: 3.0
  */
 GtkCellArea *
 gtk_cell_area_box_new (void)
@@ -2141,8 +2129,6 @@ gtk_cell_area_box_new (void)
  *
  * The @renderer is packed after any other #GtkCellRenderer packed
  * with reference to the start of @box.
- *
- * Since: 3.0
  */
 void
 gtk_cell_area_box_pack_start  (GtkCellAreaBox  *box,
@@ -2186,8 +2172,6 @@ gtk_cell_area_box_pack_start  (GtkCellAreaBox  *box,
  *
  * The @renderer is packed after (away from end of) any other
  * #GtkCellRenderer packed with reference to the end of @box.
- *
- * Since: 3.0
  */
 void
 gtk_cell_area_box_pack_end (GtkCellAreaBox  *box,
@@ -2225,8 +2209,6 @@ gtk_cell_area_box_pack_end (GtkCellAreaBox  *box,
  * Gets the spacing added between cell renderers.
  *
  * Returns: the space added between cell renderers in @box.
- *
- * Since: 3.0
  */
 gint
 gtk_cell_area_box_get_spacing (GtkCellAreaBox  *box)
@@ -2242,8 +2224,6 @@ gtk_cell_area_box_get_spacing (GtkCellAreaBox  *box)
  * @spacing: the space to add between #GtkCellRenderers
  *
  * Sets the spacing to add between cell renderers in @box.
- *
- * Since: 3.0
  */
 void
 gtk_cell_area_box_set_spacing (GtkCellAreaBox  *box,
diff --git a/gtk/gtkcellareacontext.c b/gtk/gtkcellareacontext.c
index e8ae95e..3669123 100644
--- a/gtk/gtkcellareacontext.c
+++ b/gtk/gtkcellareacontext.c
@@ -106,8 +106,6 @@ gtk_cell_area_context_class_init (GtkCellAreaContextClass *class)
    * GtkCellAreaContext:area:
    *
    * The #GtkCellArea this context was created by
-   *
-   * Since: 3.0
    */
   g_object_class_install_property (object_class,
                                    PROP_CELL_AREA,
@@ -123,8 +121,6 @@ gtk_cell_area_context_class_init (GtkCellAreaContextClass *class)
    * The minimum width for the #GtkCellArea in this context
    * for all #GtkTreeModel rows that this context was requested
    * for using gtk_cell_area_get_preferred_width().
-   *
-   * Since: 3.0
    */
   g_object_class_install_property (object_class,
                                    PROP_MIN_WIDTH,
@@ -140,8 +136,6 @@ gtk_cell_area_context_class_init (GtkCellAreaContextClass *class)
    * The natural width for the #GtkCellArea in this context
    * for all #GtkTreeModel rows that this context was requested
    * for using gtk_cell_area_get_preferred_width().
-   *
-   * Since: 3.0
    */
   g_object_class_install_property (object_class,
                                    PROP_NAT_WIDTH,
@@ -157,8 +151,6 @@ gtk_cell_area_context_class_init (GtkCellAreaContextClass *class)
    * The minimum height for the #GtkCellArea in this context
    * for all #GtkTreeModel rows that this context was requested
    * for using gtk_cell_area_get_preferred_height().
-   *
-   * Since: 3.0
    */
   g_object_class_install_property (object_class,
                                    PROP_MIN_HEIGHT,
@@ -174,8 +166,6 @@ gtk_cell_area_context_class_init (GtkCellAreaContextClass *class)
    * The natural height for the #GtkCellArea in this context
    * for all #GtkTreeModel rows that this context was requested
    * for using gtk_cell_area_get_preferred_height().
-   *
-   * Since: 3.0
    */
   g_object_class_install_property (object_class,
                                    PROP_NAT_HEIGHT,
@@ -327,8 +317,6 @@ gtk_cell_area_context_real_allocate (GtkCellAreaContext *context,
  * compute a proper allocation.
  *
  * Returns: (transfer none): the #GtkCellArea this context was created by.
- *
- * Since: 3.0
  */
 GtkCellArea *
 gtk_cell_area_context_get_area (GtkCellAreaContext *context)
@@ -423,8 +411,6 @@ gtk_cell_area_context_allocate (GtkCellAreaContext *context,
  *
  * After gtk_cell_area_context_reset() is called and/or before ever
  * requesting the size of a #GtkCellArea, the returned values are 0.
- *
- * Since: 3.0
  */
 void
 gtk_cell_area_context_get_preferred_width (GtkCellAreaContext *context,
@@ -457,8 +443,6 @@ gtk_cell_area_context_get_preferred_width (GtkCellAreaContext *context,
  *
  * After gtk_cell_area_context_reset() is called and/or before ever
  * requesting the size of a #GtkCellArea, the returned values are 0.
- *
- * Since: 3.0
  */
 void
 gtk_cell_area_context_get_preferred_height (GtkCellAreaContext *context,
@@ -492,8 +476,6 @@ gtk_cell_area_context_get_preferred_height (GtkCellAreaContext *context,
  *
  * After gtk_cell_area_context_reset() is called and/or before ever
  * requesting the size of a #GtkCellArea, the returned values are -1.
- *
- * Since: 3.0
  */
 void
 gtk_cell_area_context_get_preferred_height_for_width (GtkCellAreaContext *context,
@@ -524,8 +506,6 @@ gtk_cell_area_context_get_preferred_height_for_width (GtkCellAreaContext *contex
  *
  * After gtk_cell_area_context_reset() is called and/or before ever
  * requesting the size of a #GtkCellArea, the returned values are -1.
- *
- * Since: 3.0
  */
 void
 gtk_cell_area_context_get_preferred_width_for_height (GtkCellAreaContext *context,
@@ -553,8 +533,6 @@ gtk_cell_area_context_get_preferred_width_for_height (GtkCellAreaContext *contex
  * If the context was not allocated in width or height, or if the
  * context was recently reset with gtk_cell_area_context_reset(),
  * the returned value will be -1.
- *
- * Since: 3.0
  */
 void
 gtk_cell_area_context_get_allocation (GtkCellAreaContext *context,
@@ -587,8 +565,6 @@ gtk_cell_area_context_get_allocation (GtkCellAreaContext *context,
  * the request process over a series of #GtkTreeModel rows to
  * progressively push the requested width over a series of
  * gtk_cell_area_get_preferred_width() requests.
- *
- * Since: 3.0
  */
 void
 gtk_cell_area_context_push_preferred_width (GtkCellAreaContext *context,
@@ -633,8 +609,6 @@ gtk_cell_area_context_push_preferred_width (GtkCellAreaContext *context,
  * the request process over a series of #GtkTreeModel rows to
  * progressively push the requested height over a series of
  * gtk_cell_area_get_preferred_height() requests.
- *
- * Since: 3.0
  */
 void
 gtk_cell_area_context_push_preferred_height (GtkCellAreaContext *context,
diff --git a/gtk/gtkcelleditable.c b/gtk/gtkcelleditable.c
index 1b02665..204b571 100644
--- a/gtk/gtkcelleditable.c
+++ b/gtk/gtkcelleditable.c
@@ -43,8 +43,6 @@ gtk_cell_editable_default_init (GtkCellEditableInterface *iface)
    * GtkCellEditable:editing-canceled:
    *
    * Indicates whether editing on the cell has been canceled.
-   *
-   * Since: 2.20
    */
   g_object_interface_install_property (iface,
                                        g_param_spec_boolean ("editing-canceled",
diff --git a/gtk/gtkcelllayout.c b/gtk/gtkcelllayout.c
index 241f467..a48f76a 100644
--- a/gtk/gtkcelllayout.c
+++ b/gtk/gtkcelllayout.c
@@ -358,8 +358,6 @@ gtk_cell_layout_default_get_cells (GtkCellLayout *cell_layout)
  * is divided evenly between cells for which @expand is %TRUE.
  *
  * Note that reusing the same cell renderer is not supported.
- *
- * Since: 2.4
  */
 void
 gtk_cell_layout_pack_start (GtkCellLayout   *cell_layout,
@@ -383,8 +381,6 @@ gtk_cell_layout_pack_start (GtkCellLayout   *cell_layout,
  * divided evenly between cells for which @expand is %TRUE.
  *
  * Note that reusing the same cell renderer is not supported.
- *
- * Since: 2.4
  */
 void
 gtk_cell_layout_pack_end (GtkCellLayout   *cell_layout,
@@ -403,8 +399,6 @@ gtk_cell_layout_pack_end (GtkCellLayout   *cell_layout,
  *
  * Unsets all the mappings on all renderers on @cell_layout and
  * removes all renderers from @cell_layout.
- *
- * Since: 2.4
  */
 void
 gtk_cell_layout_clear (GtkCellLayout *cell_layout)
@@ -447,8 +441,6 @@ gtk_cell_layout_set_attributesv (GtkCellLayout   *cell_layout,
  * The attributes should be in attribute/column order, as in
  * gtk_cell_layout_add_attribute(). All existing attributes are
  * removed, and replaced with the new attributes.
- *
- * Since: 2.4
  */
 void
 gtk_cell_layout_set_attributes (GtkCellLayout   *cell_layout,
@@ -478,8 +470,6 @@ gtk_cell_layout_set_attributes (GtkCellLayout   *cell_layout,
  * @attribute is the parameter on @cell to be set from the value. So for
  * example if column 2 of the model contains strings, you could have the
  * “text” attribute of a #GtkCellRendererText get its values from column 2.
- *
- * Since: 2.4
  */
 void
 gtk_cell_layout_add_attribute (GtkCellLayout   *cell_layout,
@@ -510,8 +500,6 @@ gtk_cell_layout_add_attribute (GtkCellLayout   *cell_layout,
  * cell renderer(s) as appropriate.
  *
  * @func may be %NULL to remove a previously set function.
- *
- * Since: 2.4
  */
 void
 gtk_cell_layout_set_cell_data_func (GtkCellLayout         *cell_layout,
@@ -534,8 +522,6 @@ gtk_cell_layout_set_cell_data_func (GtkCellLayout         *cell_layout,
  *
  * Clears all existing attributes previously set with
  * gtk_cell_layout_set_attributes().
- *
- * Since: 2.4
  */
 void
 gtk_cell_layout_clear_attributes (GtkCellLayout   *cell_layout,
@@ -557,8 +543,6 @@ gtk_cell_layout_clear_attributes (GtkCellLayout   *cell_layout,
  *
  * Note that @cell has already to be packed into @cell_layout
  * for this to function properly.
- *
- * Since: 2.4
  */
 void
 gtk_cell_layout_reorder (GtkCellLayout   *cell_layout,
@@ -581,8 +565,6 @@ gtk_cell_layout_reorder (GtkCellLayout   *cell_layout,
  *     a list of cell renderers. The list, but not the renderers has
  *     been newly allocated and should be freed with g_list_free()
  *     when no longer needed.
- *
- * Since: 2.12
  */
 GList *
 gtk_cell_layout_get_cells (GtkCellLayout *cell_layout)
@@ -602,8 +584,6 @@ gtk_cell_layout_get_cells (GtkCellLayout *cell_layout)
  *
  * Returns: (transfer none) (nullable): the cell area used by @cell_layout,
  * or %NULL in case no cell area is used.
- *
- * Since: 3.0
  */
 GtkCellArea *
 gtk_cell_layout_get_area (GtkCellLayout *cell_layout)
diff --git a/gtk/gtkcellrenderer.c b/gtk/gtkcellrenderer.c
index 93ba426..be3e4ca 100644
--- a/gtk/gtkcellrenderer.c
+++ b/gtk/gtkcellrenderer.c
@@ -220,8 +220,6 @@ gtk_cell_renderer_class_init (GtkCellRendererClass *class)
    * editing when the user presses Escape. 
    *
    * See also: gtk_cell_renderer_stop_editing().
-   *
-   * Since: 2.4
    */
   cell_renderer_signals[EDITING_CANCELED] =
     g_signal_new (I_("editing-canceled"),
@@ -264,8 +262,6 @@ gtk_cell_renderer_class_init (GtkCellRendererClass *class)
    *     }
    * }
    * ]|
-   *
-   * Since: 2.6
    */
   cell_renderer_signals[EDITING_STARTED] =
     g_signal_new (I_("editing-started"),
@@ -391,8 +387,6 @@ gtk_cell_renderer_class_init (GtkCellRendererClass *class)
    * GtkCellRenderer:cell-background-rgba:
    *
    * Cell background as a #GdkRGBA
-   *
-   * Since: 3.0
    */
   g_object_class_install_property (object_class,
                                   PROP_CELL_BACKGROUND_RGBA,
@@ -685,8 +679,6 @@ set_cell_bg_color (GtkCellRenderer *cell,
  * blank space around the cell, and also the area containing the tree expander;
  * so the @background_area rectangles for all cells tile to cover the entire
  * @window.
- *
- * Since: 3.90
  **/
 void
 gtk_cell_renderer_snapshot (GtkCellRenderer      *cell,
@@ -922,8 +914,6 @@ gtk_cell_renderer_get_fixed_size (GtkCellRenderer *cell,
  * @yalign: the y alignment of the cell renderer
  *
  * Sets the renderer’s alignment within its available space.
- *
- * Since: 2.18
  **/
 void
 gtk_cell_renderer_set_alignment (GtkCellRenderer *cell,
@@ -965,8 +955,6 @@ gtk_cell_renderer_set_alignment (GtkCellRenderer *cell,
  * @yalign: (out) (allow-none): location to fill in with the y alignment of the cell, or %NULL
  *
  * Fills in @xalign and @yalign with the appropriate values of @cell.
- *
- * Since: 2.18
  **/
 void
 gtk_cell_renderer_get_alignment (GtkCellRenderer *cell,
@@ -992,8 +980,6 @@ gtk_cell_renderer_get_alignment (GtkCellRenderer *cell,
  * @ypad: the y padding of the cell renderer
  *
  * Sets the renderer’s padding.
- *
- * Since: 2.18
  **/
 void
 gtk_cell_renderer_set_padding (GtkCellRenderer *cell,
@@ -1034,8 +1020,6 @@ gtk_cell_renderer_set_padding (GtkCellRenderer *cell,
  * @ypad: (out) (allow-none): location to fill in with the y padding of the cell, or %NULL
  *
  * Fills in @xpad and @ypad with the appropriate values of @cell.
- *
- * Since: 2.18
  **/
 void
 gtk_cell_renderer_get_padding (GtkCellRenderer *cell,
@@ -1060,8 +1044,6 @@ gtk_cell_renderer_get_padding (GtkCellRenderer *cell,
  * @visible: the visibility of the cell
  *
  * Sets the cell renderer’s visibility.
- *
- * Since: 2.18
  **/
 void
 gtk_cell_renderer_set_visible (GtkCellRenderer *cell,
@@ -1087,8 +1069,6 @@ gtk_cell_renderer_set_visible (GtkCellRenderer *cell,
  * Returns the cell renderer’s visibility.
  *
  * Returns: %TRUE if the cell renderer is visible
- *
- * Since: 2.18
  */
 gboolean
 gtk_cell_renderer_get_visible (GtkCellRenderer *cell)
@@ -1104,8 +1084,6 @@ gtk_cell_renderer_get_visible (GtkCellRenderer *cell)
  * @sensitive: the sensitivity of the cell
  *
  * Sets the cell renderer’s sensitivity.
- *
- * Since: 2.18
  **/
 void
 gtk_cell_renderer_set_sensitive (GtkCellRenderer *cell,
@@ -1131,8 +1109,6 @@ gtk_cell_renderer_set_sensitive (GtkCellRenderer *cell,
  * Returns the cell renderer’s sensitivity.
  *
  * Returns: %TRUE if the cell renderer is sensitive
- *
- * Since: 2.18
  */
 gboolean
 gtk_cell_renderer_get_sensitive (GtkCellRenderer *cell)
@@ -1150,8 +1126,6 @@ gtk_cell_renderer_get_sensitive (GtkCellRenderer *cell)
  * Checks whether the cell renderer can do something when activated.
  *
  * Returns: %TRUE if the cell renderer can do anything when activated
- *
- * Since: 3.0
  */
 gboolean
 gtk_cell_renderer_is_activatable (GtkCellRenderer *cell)
@@ -1180,8 +1154,6 @@ gtk_cell_renderer_is_activatable (GtkCellRenderer *cell)
  * This function should be called by cell renderer implementations 
  * in response to the #GtkCellEditable::editing-done signal of 
  * #GtkCellEditable.
- *
- * Since: 2.6
  **/
 void
 gtk_cell_renderer_stop_editing (GtkCellRenderer *cell,
@@ -1395,8 +1367,6 @@ _gtk_cell_renderer_calc_offset    (GtkCellRenderer      *cell,
  * or a width-for-height layout.
  *
  * Returns: The #GtkSizeRequestMode preferred by this renderer.
- *
- * Since: 3.0
  */
 GtkSizeRequestMode
 gtk_cell_renderer_get_request_mode (GtkCellRenderer *cell)
@@ -1414,8 +1384,6 @@ gtk_cell_renderer_get_request_mode (GtkCellRenderer *cell)
  * @natural_size: (out) (allow-none): location to store the natural size, or %NULL
  *
  * Retreives a renderer’s natural size when rendered to @widget.
- *
- * Since: 3.0
  */
 void
 gtk_cell_renderer_get_preferred_width (GtkCellRenderer *cell,
@@ -1462,8 +1430,6 @@ gtk_cell_renderer_get_preferred_width (GtkCellRenderer *cell,
  * @natural_size: (out) (allow-none): location to store the natural size, or %NULL
  *
  * Retreives a renderer’s natural size when rendered to @widget.
- *
- * Since: 3.0
  */
 void
 gtk_cell_renderer_get_preferred_height (GtkCellRenderer *cell,
@@ -1512,8 +1478,6 @@ gtk_cell_renderer_get_preferred_height (GtkCellRenderer *cell,
  *
  * Retreives a cell renderers’s minimum and natural width if it were rendered to 
  * @widget with the specified @height.
- *
- * Since: 3.0
  */
 void
 gtk_cell_renderer_get_preferred_width_for_height (GtkCellRenderer *cell,
@@ -1562,8 +1526,6 @@ gtk_cell_renderer_get_preferred_width_for_height (GtkCellRenderer *cell,
  *
  * Retreives a cell renderers’s minimum and natural height if it were rendered to 
  * @widget with the specified @width.
- *
- * Since: 3.0
  */
 void
 gtk_cell_renderer_get_preferred_height_for_width (GtkCellRenderer *cell,
@@ -1611,8 +1573,6 @@ gtk_cell_renderer_get_preferred_height_for_width (GtkCellRenderer *cell,
  *
  * Retrieves the minimum and natural size of a cell taking
  * into account the widget’s preference for height-for-width management.
- *
- * Since: 3.0
  */
 void
 gtk_cell_renderer_get_preferred_size (GtkCellRenderer *cell,
@@ -1674,8 +1634,6 @@ gtk_cell_renderer_get_preferred_size (GtkCellRenderer *cell,
  *
  * Gets the aligned area used by @cell inside @cell_area. Used for finding
  * the appropriate edit and focus rectangle.
- *
- * Since: 3.0
  */
 void
 gtk_cell_renderer_get_aligned_area (GtkCellRenderer      *cell,
@@ -1711,8 +1669,6 @@ gtk_cell_renderer_get_aligned_area (GtkCellRenderer      *cell,
  * the given #GtkCellRendererState.
  *
  * Returns: the widget state flags applying to @cell
- *
- * Since: 3.0
  **/
 GtkStateFlags
 gtk_cell_renderer_get_state (GtkCellRenderer      *cell,
diff --git a/gtk/gtkcellrenderer.h b/gtk/gtkcellrenderer.h
index 59d7a03..2b297e1 100644
--- a/gtk/gtkcellrenderer.h
+++ b/gtk/gtkcellrenderer.h
@@ -220,7 +220,7 @@ void               gtk_cell_renderer_get_aligned_area               (GtkCellRend
                                                                     GtkCellRendererState flags,
                                                                     const GdkRectangle *cell_area,
                                                                     GdkRectangle       *aligned_area);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 void             gtk_cell_renderer_snapshot       (GtkCellRenderer      *cell,
                                                    GtkSnapshot          *snapshot,
                                                   GtkWidget            *widget,
diff --git a/gtk/gtkcellrendereraccel.c b/gtk/gtkcellrendereraccel.c
index 5e8da11..5c67845 100644
--- a/gtk/gtkcellrendereraccel.c
+++ b/gtk/gtkcellrendereraccel.c
@@ -131,8 +131,6 @@ gtk_cell_renderer_accel_class_init (GtkCellRendererAccelClass *cell_accel_class)
    * GtkCellRendererAccel:accel-key:
    *
    * The keyval of the accelerator.
-   *
-   * Since: 2.10
    */
   g_object_class_install_property (object_class,
                                    PROP_ACCEL_KEY,
@@ -148,8 +146,6 @@ gtk_cell_renderer_accel_class_init (GtkCellRendererAccelClass *cell_accel_class)
    * GtkCellRendererAccel:accel-mods:
    *
    * The modifier mask of the accelerator.
-   *
-   * Since: 2.10
    */
   g_object_class_install_property (object_class,
                                    PROP_ACCEL_MODS,
@@ -166,8 +162,6 @@ gtk_cell_renderer_accel_class_init (GtkCellRendererAccelClass *cell_accel_class)
    * The hardware keycode of the accelerator. Note that the hardware keycode is
    * only relevant if the key does not have a keyval. Normally, the keyboard
    * configuration should assign keyvals to all keys.
-   *
-   * Since: 2.10
    */ 
   g_object_class_install_property (object_class,
                                    PROP_KEYCODE,
@@ -186,8 +180,6 @@ gtk_cell_renderer_accel_class_init (GtkCellRendererAccelClass *cell_accel_class)
    * they are, consumed modifiers are suppressed, only accelerators
    * accepted by GTK+ are allowed, and the accelerators are rendered
    * in the same way as they are in menus.
-   *
-   * Since: 2.10
    */
   g_object_class_install_property (object_class,
                                    PROP_ACCEL_MODE,
@@ -207,8 +199,6 @@ gtk_cell_renderer_accel_class_init (GtkCellRendererAccelClass *cell_accel_class)
    * @hardware_keycode: the keycode of the new accelerator
    *
    * Gets emitted when the user has selected a new accelerator.
-   *
-   * Since: 2.10
    */
   signals[ACCEL_EDITED] = g_signal_new (I_("accel-edited"),
                                         GTK_TYPE_CELL_RENDERER_ACCEL,
@@ -228,8 +218,6 @@ gtk_cell_renderer_accel_class_init (GtkCellRendererAccelClass *cell_accel_class)
    * @path_string: the path identifying the row of the edited cell
    *
    * Gets emitted when the user has removed the accelerator.
-   *
-   * Since: 2.10
    */
   signals[ACCEL_CLEARED] = g_signal_new (I_("accel-cleared"),
                                          GTK_TYPE_CELL_RENDERER_ACCEL,
@@ -248,8 +236,6 @@ gtk_cell_renderer_accel_class_init (GtkCellRendererAccelClass *cell_accel_class)
  * Creates a new #GtkCellRendererAccel.
  * 
  * Returns: the new cell renderer
- *
- * Since: 2.10
  */
 GtkCellRenderer *
 gtk_cell_renderer_accel_new (void)
diff --git a/gtk/gtkcellrenderercombo.c b/gtk/gtkcellrenderercombo.c
index da49c77..b07f5cf 100644
--- a/gtk/gtkcellrenderercombo.c
+++ b/gtk/gtkcellrenderercombo.c
@@ -117,8 +117,6 @@ gtk_cell_renderer_combo_class_init (GtkCellRendererComboClass *klass)
    *
    * Holds a tree model containing the possible values for the combo box. 
    * Use the text_column property to specify the column holding the values.
-   * 
-   * Since: 2.6
    */
   g_object_class_install_property (object_class,
                                   PROP_MODEL,
@@ -140,8 +138,6 @@ gtk_cell_renderer_combo_class_init (GtkCellRendererComboClass *klass)
    * 
    * #GtkCellRendererCombo automatically adds a text cell renderer for 
    * this column to its combo box.
-   *
-   * Since: 2.6
    */
   g_object_class_install_property (object_class,
                                    PROP_TEXT_COLUMN,
@@ -158,8 +154,6 @@ gtk_cell_renderer_combo_class_init (GtkCellRendererComboClass *klass)
    *
    * If %TRUE, the cell renderer will include an entry and allow to enter 
    * values other than the ones in the popup list. 
-   *
-   * Since: 2.6
    */
   g_object_class_install_property (object_class,
                                    PROP_HAS_ENTRY,
@@ -189,8 +183,6 @@ gtk_cell_renderer_combo_class_init (GtkCellRendererComboClass *klass)
    * the tree view will immediately cease the editing operating.  This
    * means that you most probably want to refrain from changing the model
    * until the combo cell renderer emits the edited or editing_canceled signal.
-   *
-   * Since: 2.14
    */
   cell_renderer_combo_signals[CHANGED] =
     g_signal_new (I_("changed"),
@@ -230,8 +222,6 @@ gtk_cell_renderer_combo_init (GtkCellRendererCombo *self)
  * a different string in each row of the #GtkTreeView.
  * 
  * Returns: the new cell renderer
- *
- * Since: 2.6
  */
 GtkCellRenderer *
 gtk_cell_renderer_combo_new (void)
diff --git a/gtk/gtkcellrendererpixbuf.c b/gtk/gtkcellrendererpixbuf.c
index b438ddc..7fee20b 100644
--- a/gtk/gtkcellrendererpixbuf.c
+++ b/gtk/gtkcellrendererpixbuf.c
@@ -160,8 +160,6 @@ gtk_cell_renderer_pixbuf_class_init (GtkCellRendererPixbufClass *class)
                                                        GTK_PARAM_READWRITE));
   /**
    * GtkCellRendererPixbuf:surface:
-   *
-   * Since: 3.10
    */
   g_object_class_install_property (object_class,
                                   PROP_SURFACE,
@@ -173,8 +171,6 @@ gtk_cell_renderer_pixbuf_class_init (GtkCellRendererPixbufClass *class)
 
   /**
    * GtkCellRendererPixbuf:texture:
-   *
-   * Since: 3.94
    */
   g_object_class_install_property (object_class,
                                   PROP_TEXTURE,
@@ -188,8 +184,6 @@ gtk_cell_renderer_pixbuf_class_init (GtkCellRendererPixbufClass *class)
    * GtkCellRendererPixbuf:icon-size:
    *
    * The #GtkIconSize value that specifies the size of the rendered icon.
-   *
-   * Since: 3.94
    */
   g_object_class_install_property (object_class,
                                   PROP_ICON_SIZE,
@@ -205,8 +199,6 @@ gtk_cell_renderer_pixbuf_class_init (GtkCellRendererPixbufClass *class)
    *
    * The name of the themed icon to display.
    * This property only has an effect if not overridden by the "pixbuf" property.
-   *
-   * Since: 2.8 
    */
   g_object_class_install_property (object_class,
                                   PROP_ICON_NAME,
@@ -222,8 +214,6 @@ gtk_cell_renderer_pixbuf_class_init (GtkCellRendererPixbufClass *class)
    * The GIcon representing the icon to display.
    * If the icon theme is changed, the image will be updated
    * automatically.
-   *
-   * Since: 2.14
    */
   g_object_class_install_property (object_class,
                                    PROP_GICON,
diff --git a/gtk/gtkcellrendererprogress.c b/gtk/gtkcellrendererprogress.c
index 56ca8e4..ebacb72 100644
--- a/gtk/gtkcellrendererprogress.c
+++ b/gtk/gtkcellrendererprogress.c
@@ -129,8 +129,6 @@ gtk_cell_renderer_progress_class_init (GtkCellRendererProgressClass *klass)
    *
    * The "value" property determines the percentage to which the
    * progress bar will be "filled in".
-   *
-   * Since: 2.6
    **/
   g_object_class_install_property (object_class,
                                   PROP_VALUE,
@@ -147,8 +145,6 @@ gtk_cell_renderer_progress_class_init (GtkCellRendererProgressClass *klass)
    * over the progress bar. Setting this property to %NULL causes the default 
    * label to be displayed. Setting this property to an empty string causes 
    * no label to be displayed.
-   *
-   * Since: 2.6
    **/
   g_object_class_install_property (object_class,
                                   PROP_TEXT,
@@ -171,8 +167,6 @@ gtk_cell_renderer_progress_class_init (GtkCellRendererProgressClass *klass)
    *
    * To indicate that the activity has not started yet, set the property
    * to zero. To indicate completion, set the property to %G_MAXINT.
-   *
-   * Since: 2.12
    */
   g_object_class_install_property (object_class,
                                    PROP_PULSE,
@@ -188,8 +182,6 @@ gtk_cell_renderer_progress_class_init (GtkCellRendererProgressClass *klass)
    * The "text-xalign" property controls the horizontal alignment of the
    * text in the progress bar.  Valid values range from 0 (left) to 1
    * (right).  Reserved for RTL layouts.
-   *
-   * Since: 2.12
    */
   g_object_class_install_property (object_class,
                                    PROP_TEXT_XALIGN,
@@ -205,8 +197,6 @@ gtk_cell_renderer_progress_class_init (GtkCellRendererProgressClass *klass)
    * The "text-yalign" property controls the vertical alignment of the
    * text in the progress bar.  Valid values range from 0 (top) to 1
    * (bottom).
-   *
-   * Since: 2.12
    */
   g_object_class_install_property (object_class,
                                    PROP_TEXT_YALIGN,
@@ -259,8 +249,6 @@ gtk_cell_renderer_progress_init (GtkCellRendererProgress *cellprogress)
  * Creates a new #GtkCellRendererProgress. 
  *
  * Returns: the new cell renderer
- *
- * Since: 2.6
  **/
 GtkCellRenderer*
 gtk_cell_renderer_progress_new (void)
diff --git a/gtk/gtkcellrendererspin.c b/gtk/gtkcellrendererspin.c
index feb7a78..f56bfe0 100644
--- a/gtk/gtkcellrendererspin.c
+++ b/gtk/gtkcellrendererspin.c
@@ -105,8 +105,6 @@ gtk_cell_renderer_spin_class_init (GtkCellRendererSpinClass *klass)
    *
    * The adjustment that holds the value of the spinbutton. 
    * This must be non-%NULL for the cell renderer to be editable.
-   *
-   * Since: 2.10
    */
   g_object_class_install_property (object_class,
                                   PROP_ADJUSTMENT,
@@ -121,8 +119,6 @@ gtk_cell_renderer_spin_class_init (GtkCellRendererSpinClass *klass)
    * GtkCellRendererSpin:climb-rate:
    *
    * The acceleration rate when you hold down a button.
-   *
-   * Since: 2.10
    */
   g_object_class_install_property (object_class,
                                   PROP_CLIMB_RATE,
@@ -135,8 +131,6 @@ gtk_cell_renderer_spin_class_init (GtkCellRendererSpinClass *klass)
    * GtkCellRendererSpin:digits:
    *
    * The number of decimal places to display.
-   *
-   * Since: 2.10
    */
   g_object_class_install_property (object_class,
                                   PROP_DIGITS,
@@ -362,8 +356,6 @@ gtk_cell_renderer_spin_start_editing (GtkCellRenderer      *cell,
  * Creates a new #GtkCellRendererSpin. 
  *
  * Returns: a new #GtkCellRendererSpin
- *
- * Since: 2.10
  */
 GtkCellRenderer *
 gtk_cell_renderer_spin_new (void)
diff --git a/gtk/gtkcellrendererspinner.c b/gtk/gtkcellrendererspinner.c
index de5c79d..d14cdd2 100644
--- a/gtk/gtkcellrendererspinner.c
+++ b/gtk/gtkcellrendererspinner.c
@@ -112,8 +112,6 @@ gtk_cell_renderer_spinner_class_init (GtkCellRendererSpinnerClass *klass)
   /* GtkCellRendererSpinner:active:
    *
    * Whether the spinner is active (ie. shown) in the cell
-   *
-   * Since: 2.20
    */
   g_object_class_install_property (object_class,
                                    PROP_ACTIVE,
@@ -131,8 +129,6 @@ gtk_cell_renderer_spinner_class_init (GtkCellRendererSpinnerClass *klass)
    *
    * By default, the #GtkSpinner widget draws one full cycle of the animation,
    * consisting of 12 frames, in 750 milliseconds.
-   *
-   * Since: 2.20
    */
   g_object_class_install_property (object_class,
                                    PROP_PULSE,
@@ -146,8 +142,6 @@ gtk_cell_renderer_spinner_class_init (GtkCellRendererSpinnerClass *klass)
    * GtkCellRendererSpinner:size:
    *
    * The #GtkIconSize value that specifies the size of the rendered spinner.
-   *
-   * Since: 2.20
    */
   g_object_class_install_property (object_class,
                                    PROP_SIZE,
@@ -174,8 +168,6 @@ gtk_cell_renderer_spinner_init (GtkCellRendererSpinner *cell)
  * activity.
  *
  * Returns: a new #GtkCellRenderer
- *
- * Since: 2.20
  */
 GtkCellRenderer *
 gtk_cell_renderer_spinner_new (void)
diff --git a/gtk/gtkcellrenderertext.c b/gtk/gtkcellrenderertext.c
index 5838d94..516bec9 100644
--- a/gtk/gtkcellrenderertext.c
+++ b/gtk/gtkcellrenderertext.c
@@ -287,8 +287,6 @@ gtk_cell_renderer_text_class_init (GtkCellRendererTextClass *class)
    * GtkCellRendererText:background-rgba:
    *
    * Background color as a #GdkRGBA
-   *
-   * Since: 3.0
    */
   text_cell_renderer_props[PROP_BACKGROUND_RGBA] =
       g_param_spec_boxed ("background-rgba",
@@ -307,8 +305,6 @@ gtk_cell_renderer_text_class_init (GtkCellRendererTextClass *class)
    * GtkCellRendererText:foreground-rgba:
    *
    * Foreground color as a #GdkRGBA
-   *
-   * Since: 3.0
    */
   text_cell_renderer_props[PROP_FOREGROUND_RGBA] =
       g_param_spec_boxed ("foreground-rgba",
@@ -442,8 +438,6 @@ gtk_cell_renderer_text_class_init (GtkCellRendererTextClass *class)
    * does not have enough room to display the entire string. Setting it to
    * %PANGO_ELLIPSIZE_NONE turns off ellipsizing. See the wrap-width property
    * for another way of making the text fit into a given width.
-   *
-   * Since: 2.6
    */
   text_cell_renderer_props[PROP_ELLIPSIZE] =
       g_param_spec_enum ("ellipsize",
@@ -461,8 +455,6 @@ gtk_cell_renderer_text_class_init (GtkCellRendererTextClass *class)
    * The desired width of the cell, in characters. If this property is set to
    * -1, the width will be calculated automatically, otherwise the cell will
    * request either 3 characters or the property value, whichever is greater.
-   *
-   * Since: 2.6
    **/
   text_cell_renderer_props[PROP_WIDTH_CHARS] =
       g_param_spec_int ("width-chars",
@@ -483,8 +475,6 @@ gtk_cell_renderer_text_class_init (GtkCellRendererTextClass *class)
    * cell should not receive any greater allocation unless it is
    * set to expand in its #GtkCellLayout and all of the cell's siblings
    * have received their natural width.
-   *
-   * Since: 3.0
    **/
   text_cell_renderer_props[PROP_MAX_WIDTH_CHARS] =
       g_param_spec_int ("max-width-chars",
@@ -500,8 +490,6 @@ gtk_cell_renderer_text_class_init (GtkCellRendererTextClass *class)
    * Specifies how to break the string into multiple lines, if the cell
    * renderer does not have enough room to display the entire string.
    * This property has no effect unless the wrap-width property is set.
-   *
-   * Since: 2.8
    */
   text_cell_renderer_props[PROP_WRAP_MODE] =
       g_param_spec_enum ("wrap-mode",
@@ -519,8 +507,6 @@ gtk_cell_renderer_text_class_init (GtkCellRendererTextClass *class)
    * Specifies the minimum width at which the text is wrapped. The wrap-mode property can
    * be used to influence at what character positions the line breaks can be placed.
    * Setting wrap-width to -1 turns wrapping off.
-   *
-   * Since: 2.8
    */
   text_cell_renderer_props[PROP_WRAP_WIDTH] =
       g_param_spec_int ("wrap-width",
@@ -538,8 +524,6 @@ gtk_cell_renderer_text_class_init (GtkCellRendererTextClass *class)
    * Note that this property describes how to align the lines of text in
    * case there are several of them. The "xalign" property of #GtkCellRenderer,
    * on the other hand, sets the horizontal alignment of the whole text.
-   *
-   * Since: 2.10
    */
   text_cell_renderer_props[PROP_ALIGN] =
       g_param_spec_enum ("alignment",
diff --git a/gtk/gtkcellrenderertoggle.c b/gtk/gtkcellrenderertoggle.c
index c88a8ac..2742300 100644
--- a/gtk/gtkcellrenderertoggle.c
+++ b/gtk/gtkcellrenderertoggle.c
@@ -575,8 +575,6 @@ gtk_cell_renderer_toggle_set_active (GtkCellRendererToggle *toggle,
  * gtk_cell_renderer_toggle_set_activatable().
  *
  * Returns: %TRUE if the cell renderer is activatable.
- *
- * Since: 2.18
  **/
 gboolean
 gtk_cell_renderer_toggle_get_activatable (GtkCellRendererToggle *toggle)
@@ -592,8 +590,6 @@ gtk_cell_renderer_toggle_get_activatable (GtkCellRendererToggle *toggle)
  * @setting: the value to set.
  *
  * Makes the cell renderer activatable.
- *
- * Since: 2.18
  **/
 void
 gtk_cell_renderer_toggle_set_activatable (GtkCellRendererToggle *toggle,
diff --git a/gtk/gtkcellview.c b/gtk/gtkcellview.c
index 10b2c6d..e29eee4 100644
--- a/gtk/gtkcellview.c
+++ b/gtk/gtkcellview.c
@@ -803,8 +803,6 @@ row_changed_cb (GtkTreeModel         *model,
  * Creates a new #GtkCellView widget.
  *
  * Returns: A newly created #GtkCellView widget.
- *
- * Since: 2.6
  */
 GtkWidget *
 gtk_cell_view_new (void)
@@ -831,8 +829,6 @@ gtk_cell_view_new (void)
  * possible.
  *
  * Returns: A newly created #GtkCellView widget.
- *
- * Since: 2.6
  */
 GtkWidget *
 gtk_cell_view_new_with_context (GtkCellArea        *area,
@@ -855,8 +851,6 @@ gtk_cell_view_new_with_context (GtkCellArea        *area,
  * to it, and makes it show @text.
  *
  * Returns: A newly created #GtkCellView widget.
- *
- * Since: 2.6
  */
 GtkWidget *
 gtk_cell_view_new_with_text (const gchar *text)
@@ -888,8 +882,6 @@ gtk_cell_view_new_with_text (const gchar *text)
  * marked up with the [Pango text markup language][PangoMarkupFormat].
  *
  * Returns: A newly created #GtkCellView widget.
- *
- * Since: 2.6
  */
 GtkWidget *
 gtk_cell_view_new_with_markup (const gchar *markup)
@@ -920,8 +912,6 @@ gtk_cell_view_new_with_markup (const gchar *markup)
  * to it, and makes it show @texture.
  *
  * Returns: A newly created #GtkCellView widget.
- *
- * Since: 3.94
  */
 GtkWidget *
 gtk_cell_view_new_with_texture (GdkTexture *texture)
@@ -953,8 +943,6 @@ gtk_cell_view_new_with_texture (GdkTexture *texture)
  * 
  * Sets a property of a cell renderer of @cell_view, and
  * makes sure the display of @cell_view is updated.
- *
- * Since: 2.6
  */
 static void
 gtk_cell_view_set_value (GtkCellView     *cell_view,
@@ -977,8 +965,6 @@ gtk_cell_view_set_value (GtkCellView     *cell_view,
  * Sets the model for @cell_view.  If @cell_view already has a model
  * set, it will remove it before setting the new model.  If @model is
  * %NULL, then it will unset the old model.
- *
- * Since: 2.6
  */
 void
 gtk_cell_view_set_model (GtkCellView  *cell_view,
@@ -1020,8 +1006,6 @@ gtk_cell_view_set_model (GtkCellView  *cell_view,
  * returned.
  *
  * Returns: (nullable) (transfer none): a #GtkTreeModel used or %NULL
- *
- * Since: 2.16
  **/
 GtkTreeModel *
 gtk_cell_view_get_model (GtkCellView *cell_view)
@@ -1042,8 +1026,6 @@ gtk_cell_view_get_model (GtkCellView *cell_view)
  * this is not normally a desired result, but may be
  * a needed intermediate state if say, the model for
  * the #GtkCellView becomes temporarily empty.
- *
- * Since: 2.6
  **/
 void
 gtk_cell_view_set_displayed_row (GtkCellView *cell_view,
@@ -1077,8 +1059,6 @@ gtk_cell_view_set_displayed_row (GtkCellView *cell_view,
  * %NULL is returned.
  *
  * Returns: (nullable) (transfer full): the currently displayed row or %NULL
- *
- * Since: 2.6
  */
 GtkTreePath *
 gtk_cell_view_get_displayed_row (GtkCellView *cell_view)
@@ -1100,8 +1080,6 @@ gtk_cell_view_get_displayed_row (GtkCellView *cell_view)
  *
  * Returns: whether @cell_view draws all of its
  * cells in a sensitive state
- *
- * Since: 3.0
  */
 gboolean
 gtk_cell_view_get_draw_sensitive (GtkCellView     *cell_view)
@@ -1124,8 +1102,6 @@ gtk_cell_view_get_draw_sensitive (GtkCellView     *cell_view)
  * cells in a sensitive state, this is used by #GtkComboBox menus
  * to ensure that rows with insensitive cells that contain
  * children appear sensitive in the parent menu item.
- *
- * Since: 3.0
  */
 void
 gtk_cell_view_set_draw_sensitive (GtkCellView     *cell_view,
@@ -1154,8 +1130,6 @@ gtk_cell_view_set_draw_sensitive (GtkCellView     *cell_view,
  *
  * Returns: whether @cell_view requests space to fit
  * the entire #GtkTreeModel.
- *
- * Since: 3.0
  */
 gboolean
 gtk_cell_view_get_fit_model (GtkCellView     *cell_view)
@@ -1179,8 +1153,6 @@ gtk_cell_view_get_fit_model (GtkCellView     *cell_view)
  * This is used by #GtkComboBox to ensure that the cell view displayed on
  * the combo box’s button always gets enough space and does not resize
  * when selection changes.
- *
- * Since: 3.0
  */
 void
 gtk_cell_view_set_fit_model (GtkCellView *cell_view,
diff --git a/gtk/gtkcellview.h b/gtk/gtkcellview.h
index 8a0efb2..2514c77 100644
--- a/gtk/gtkcellview.h
+++ b/gtk/gtkcellview.h
@@ -77,7 +77,7 @@ GDK_AVAILABLE_IN_ALL
 GtkWidget        *gtk_cell_view_new_with_text           (const gchar     *text);
 GDK_AVAILABLE_IN_ALL
 GtkWidget        *gtk_cell_view_new_with_markup         (const gchar     *markup);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GtkWidget        *gtk_cell_view_new_with_texture        (GdkTexture      *texture);
 GDK_AVAILABLE_IN_ALL
 void              gtk_cell_view_set_model               (GtkCellView     *cell_view,
diff --git a/gtk/gtkcenterbox.c b/gtk/gtkcenterbox.c
index bfa2061..f7b4382 100644
--- a/gtk/gtkcenterbox.c
+++ b/gtk/gtkcenterbox.c
@@ -740,8 +740,6 @@ gtk_center_box_init (GtkCenterBox *self)
  * Creates a new #GtkCenterBox.
  *
  * Returns: the new #GtkCenterBox.
- *
- * Since: 3.92
  */
 GtkWidget *
 gtk_center_box_new (void)
@@ -755,8 +753,6 @@ gtk_center_box_new (void)
  * @child: (nullable): the new start widget, or %NULL
  *
  * Sets the start widget. To remove the existing start widget, pass %NULL.
- *
- * Since: 3.92
  */
 void
 gtk_center_box_set_start_widget (GtkCenterBox *self,
@@ -778,8 +774,6 @@ gtk_center_box_set_start_widget (GtkCenterBox *self,
  * @child: (nullable): the new center widget, or %NULL
  *
  * Sets the center widget. To remove the existing center widget, pas %NULL.
- *
- * Since: 3.92
  */
 void
 gtk_center_box_set_center_widget (GtkCenterBox *self,
@@ -801,8 +795,6 @@ gtk_center_box_set_center_widget (GtkCenterBox *self,
  * @child: (nullable): the new end widget, or %NULL
  *
  * Sets the end widget. To remove the existing end widget, pass %NULL.
- *
- * Since: 3.92
  */
 void
 gtk_center_box_set_end_widget (GtkCenterBox *self,
@@ -825,8 +817,6 @@ gtk_center_box_set_end_widget (GtkCenterBox *self,
  * Gets the start widget, or %NULL if there is none.
  *
  * Returns: (transfer none) (nullable): the start widget.
- *
- * Since: 3.92
  */
 GtkWidget *
 gtk_center_box_get_start_widget (GtkCenterBox *self)
@@ -841,8 +831,6 @@ gtk_center_box_get_start_widget (GtkCenterBox *self)
  * Gets the center widget, or %NULL if there is none.
  *
  * Returns: (transfer none) (nullable): the center widget.
- *
- * Since: 3.92
  */
 GtkWidget *
 gtk_center_box_get_center_widget (GtkCenterBox *self)
@@ -857,8 +845,6 @@ gtk_center_box_get_center_widget (GtkCenterBox *self)
  * Gets the end widget, or %NULL if there is none.
  *
  * Returns: (transfer none) (nullable): the end widget.
- *
- * Since: 3.92
  */
 GtkWidget *
 gtk_center_box_get_end_widget (GtkCenterBox *self)
@@ -878,8 +864,6 @@ gtk_center_box_get_end_widget (GtkCenterBox *self)
  * requested, and the baseline is not allocated by the parent then
  * @position is used to allocate the baseline wrt. the extra space
  * available.
- *
- * Since: 3.92
  */
 void
 gtk_center_box_set_baseline_position (GtkCenterBox        *self,
@@ -902,8 +886,6 @@ gtk_center_box_set_baseline_position (GtkCenterBox        *self,
  * Gets the value set by gtk_center_box_set_baseline_position().
  *
  * Returns: the baseline position
- *
- * Since: 3.92
  */
 GtkBaselinePosition
 gtk_center_box_get_baseline_position (GtkCenterBox *self)
diff --git a/gtk/gtkcenterbox.h b/gtk/gtkcenterbox.h
index bfd68f8..c1996a3 100644
--- a/gtk/gtkcenterbox.h
+++ b/gtk/gtkcenterbox.h
@@ -40,32 +40,32 @@ G_BEGIN_DECLS
 typedef struct _GtkCenterBox             GtkCenterBox;
 typedef struct _GtkCenterBoxClass        GtkCenterBoxClass;
 
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 GType      gtk_center_box_get_type (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 GtkWidget *gtk_center_box_new (void);
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 void       gtk_center_box_set_start_widget   (GtkCenterBox *self,
                                               GtkWidget    *child);
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 void       gtk_center_box_set_center_widget  (GtkCenterBox *self,
                                               GtkWidget    *child);
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 void       gtk_center_box_set_end_widget     (GtkCenterBox *self,
                                               GtkWidget    *child);
 
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 GtkWidget * gtk_center_box_get_start_widget  (GtkCenterBox *self);
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 GtkWidget * gtk_center_box_get_center_widget (GtkCenterBox *self);
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 GtkWidget * gtk_center_box_get_end_widget    (GtkCenterBox *self);
 
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 void                gtk_center_box_set_baseline_position (GtkCenterBox        *self,
                                                           GtkBaselinePosition  position);
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 GtkBaselinePosition gtk_center_box_get_baseline_position (GtkCenterBox        *self);
 
 G_END_DECLS
diff --git a/gtk/gtkcheckbutton.h b/gtk/gtkcheckbutton.h
index 2c3f54b..b1e4682 100644
--- a/gtk/gtkcheckbutton.h
+++ b/gtk/gtkcheckbutton.h
@@ -71,15 +71,15 @@ GDK_AVAILABLE_IN_ALL
 GtkWidget* gtk_check_button_new_with_label    (const gchar *label);
 GDK_AVAILABLE_IN_ALL
 GtkWidget* gtk_check_button_new_with_mnemonic (const gchar *label);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 void       gtk_check_button_set_draw_indicator (GtkCheckButton *check_button,
                                                 gboolean        draw_indicator);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 gboolean   gtk_check_button_get_draw_indicator (GtkCheckButton *check_button);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 void       gtk_check_button_set_inconsistent   (GtkCheckButton *check_button,
                                                 gboolean        inconsistent);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 gboolean   gtk_check_button_get_inconsistent   (GtkCheckButton *check_button);
 
 G_END_DECLS
diff --git a/gtk/gtkcheckmenuitem.c b/gtk/gtkcheckmenuitem.c
index e14687b..f941ac7 100644
--- a/gtk/gtkcheckmenuitem.c
+++ b/gtk/gtkcheckmenuitem.c
@@ -421,8 +421,6 @@ gtk_check_menu_item_get_inconsistent (GtkCheckMenuItem *check_menu_item)
  * @draw_as_radio: whether @check_menu_item is drawn like a #GtkRadioMenuItem
  *
  * Sets whether @check_menu_item is drawn like a #GtkRadioMenuItem
- *
- * Since: 2.4
  **/
 void
 gtk_check_menu_item_set_draw_as_radio (GtkCheckMenuItem *check_menu_item,
@@ -459,8 +457,6 @@ gtk_check_menu_item_set_draw_as_radio (GtkCheckMenuItem *check_menu_item,
  * Returns whether @check_menu_item looks like a #GtkRadioMenuItem
  * 
  * Returns: Whether @check_menu_item looks like a #GtkRadioMenuItem
- * 
- * Since: 2.4
  **/
 gboolean
 gtk_check_menu_item_get_draw_as_radio (GtkCheckMenuItem *check_menu_item)
diff --git a/gtk/gtkcolorbutton.c b/gtk/gtkcolorbutton.c
index fe8e95a..be3d40f 100644
--- a/gtk/gtkcolorbutton.c
+++ b/gtk/gtkcolorbutton.c
@@ -201,8 +201,6 @@ gtk_color_button_class_init (GtkColorButtonClass *klass)
    * If this property is set to %TRUE, the color swatch on the button is
    * rendered against a checkerboard background to show its opacity and
    * the opacity slider is displayed in the color selection dialog.
-   *
-   * Since: 2.4
    */
   g_object_class_install_property (gobject_class,
                                    PROP_USE_ALPHA,
@@ -215,8 +213,6 @@ gtk_color_button_class_init (GtkColorButtonClass *klass)
    * GtkColorButton:title:
    *
    * The title of the color selection dialog
-   *
-   * Since: 2.4
    */
   g_object_class_install_property (gobject_class,
                                    PROP_TITLE,
@@ -230,8 +226,6 @@ gtk_color_button_class_init (GtkColorButtonClass *klass)
    * GtkColorButton:rgba:
    *
    * The RGBA color.
-   *
-   * Since: 3.0
    */
   g_object_class_install_property (gobject_class,
                                    PROP_RGBA,
@@ -253,8 +247,6 @@ gtk_color_button_class_init (GtkColorButtonClass *klass)
    * Note that this signal is only emitted when the user
    * changes the color. If you need to react to programmatic color changes
    * as well, use the notify::color signal.
-   *
-   * Since: 2.4
    */
   color_button_signals[COLOR_SET] = g_signal_new (I_("color-set"),
                                                   G_TYPE_FROM_CLASS (gobject_class),
@@ -273,8 +265,6 @@ gtk_color_button_class_init (GtkColorButtonClass *klass)
    * This property should be used in cases where the palette
    * in the editor would be redundant, such as when the color
    * button is already part of a palette.
-   *
-   * Since: 3.20
    */
   g_object_class_install_property (gobject_class,
                                    PROP_SHOW_EDITOR,
@@ -464,8 +454,6 @@ gtk_color_button_finalize (GObject *object)
  * color when the user finishes.
  *
  * Returns: a new color button
- *
- * Since: 2.4
  */
 GtkWidget *
 gtk_color_button_new (void)
@@ -480,8 +468,6 @@ gtk_color_button_new (void)
  * Creates a new color button.
  *
  * Returns: a new color button
- *
- * Since: 3.0
  */
 GtkWidget *
 gtk_color_button_new_with_rgba (const GdkRGBA *rgba)
@@ -628,8 +614,6 @@ set_use_alpha (GtkColorButton *button,
  * @title: String containing new window title
  *
  * Sets the title for the color selection dialog.
- *
- * Since: 2.4
  */
 void
 gtk_color_button_set_title (GtkColorButton *button,
@@ -657,8 +641,6 @@ gtk_color_button_set_title (GtkColorButton *button,
  * Gets the title of the color selection dialog.
  *
  * Returns: An internal string, do not free the return value
- *
- * Since: 2.4
  */
 const gchar *
 gtk_color_button_get_title (GtkColorButton *button)
diff --git a/gtk/gtkcolorchooser.c b/gtk/gtkcolorchooser.c
index f68c13f..eb63aac 100644
--- a/gtk/gtkcolorchooser.c
+++ b/gtk/gtkcolorchooser.c
@@ -36,8 +36,6 @@
  *
  * In GTK+, the main widgets that implement this interface are
  * #GtkColorChooserWidget, #GtkColorChooserDialog and #GtkColorButton.
- *
- * Since: 3.4
  */
 
 enum
@@ -59,8 +57,6 @@ gtk_color_chooser_default_init (GtkColorChooserInterface *iface)
    * The ::rgba property contains the currently selected color,
    * as a #GdkRGBA struct. The property can be set to change
    * the current selection programmatically.
-   *
-   * Since: 3.4
    */
   g_object_interface_install_property (iface,
       g_param_spec_boxed ("rgba",
@@ -79,8 +75,6 @@ gtk_color_chooser_default_init (GtkColorChooserInterface *iface)
    *
    * Implementations are expected to show alpha by rendering the color
    * over a non-uniform background (like a checkerboard pattern).
-   *
-   * Since: 3.4
    */
   g_object_interface_install_property (iface,
       g_param_spec_boolean ("use-alpha",
@@ -98,8 +92,6 @@ gtk_color_chooser_default_init (GtkColorChooserInterface *iface)
    * This usually happens when the user clicks a color swatch,
    * or a color is selected and the user presses one of the keys
    * Space, Shift+Space, Return or Enter.
-   *
-   * Since: 3.4
    */
   signals[COLOR_ACTIVATED] =
     g_signal_new (I_("color-activated"),
@@ -125,8 +117,6 @@ _gtk_color_chooser_color_activated (GtkColorChooser *chooser,
  * @color: (out): a #GdkRGBA to fill in with the current color
  *
  * Gets the currently-selected color.
- *
- * Since: 3.4
  */
 void
 gtk_color_chooser_get_rgba (GtkColorChooser *chooser,
@@ -143,8 +133,6 @@ gtk_color_chooser_get_rgba (GtkColorChooser *chooser,
  * @color: the new color
  *
  * Sets the color.
- *
- * Since: 3.4
  */
 void
 gtk_color_chooser_set_rgba (GtkColorChooser *chooser,
@@ -164,8 +152,6 @@ gtk_color_chooser_set_rgba (GtkColorChooser *chooser,
  *
  * Returns: %TRUE if the color chooser uses the alpha channel,
  *     %FALSE if not
- *
- * Since: 3.4
  */
 gboolean
 gtk_color_chooser_get_use_alpha (GtkColorChooser *chooser)
@@ -185,8 +171,6 @@ gtk_color_chooser_get_use_alpha (GtkColorChooser *chooser)
  * @use_alpha: %TRUE if color chooser should use alpha channel, %FALSE if not
  *
  * Sets whether or not the color chooser should use the alpha channel.
- *
- * Since: 3.4
  */
 void
 gtk_color_chooser_set_use_alpha (GtkColorChooser *chooser,
@@ -224,8 +208,6 @@ gtk_color_chooser_set_use_alpha (GtkColorChooser *chooser,
  * from the color chooser.
  *
  * If @colors is %NULL, removes all previously added palettes.
- *
- * Since: 3.4
  */
 void
 gtk_color_chooser_add_palette (GtkColorChooser *chooser,
diff --git a/gtk/gtkcolorchooser.h b/gtk/gtkcolorchooser.h
index 1921895..fc95317 100644
--- a/gtk/gtkcolorchooser.h
+++ b/gtk/gtkcolorchooser.h
@@ -59,23 +59,23 @@ struct _GtkColorChooserInterface
   gpointer padding[12];
 };
 
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 GType    gtk_color_chooser_get_type        (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 void     gtk_color_chooser_get_rgba       (GtkColorChooser *chooser,
                                            GdkRGBA         *color);
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 void     gtk_color_chooser_set_rgba       (GtkColorChooser *chooser,
                                            const GdkRGBA   *color);
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 gboolean gtk_color_chooser_get_use_alpha  (GtkColorChooser *chooser);
 
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 void     gtk_color_chooser_set_use_alpha  (GtkColorChooser *chooser,
                                            gboolean         use_alpha);
 
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 void     gtk_color_chooser_add_palette    (GtkColorChooser *chooser,
                                            GtkOrientation   orientation,
                                            gint             colors_per_line,
diff --git a/gtk/gtkcolorchooserdialog.c b/gtk/gtkcolorchooserdialog.c
index a06b7d1..73c6aad 100644
--- a/gtk/gtkcolorchooserdialog.c
+++ b/gtk/gtkcolorchooserdialog.c
@@ -37,8 +37,6 @@
  *
  * The #GtkColorChooserDialog widget is a dialog for choosing
  * a color. It implements the #GtkColorChooser interface.
- *
- * Since: 3.4
  */
 
 struct _GtkColorChooserDialogPrivate
@@ -262,8 +260,6 @@ gtk_color_chooser_dialog_iface_init (GtkColorChooserInterface *iface)
  * Creates a new #GtkColorChooserDialog.
  *
  * Returns: a new #GtkColorChooserDialog
- *
- * Since: 3.4
  */
 GtkWidget *
 gtk_color_chooser_dialog_new (const gchar *title,
diff --git a/gtk/gtkcolorchooserdialog.h b/gtk/gtkcolorchooserdialog.h
index 7288bed..7b86d15 100644
--- a/gtk/gtkcolorchooserdialog.h
+++ b/gtk/gtkcolorchooserdialog.h
@@ -56,10 +56,10 @@ struct _GtkColorChooserDialogClass
   void (*_gtk_reserved4) (void);
 };
 
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 GType       gtk_color_chooser_dialog_get_type (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 GtkWidget * gtk_color_chooser_dialog_new      (const gchar *title,
                                                GtkWindow   *parent);
 
diff --git a/gtk/gtkcolorchooserwidget.c b/gtk/gtkcolorchooserwidget.c
index 2514802..93b8bbc 100644
--- a/gtk/gtkcolorchooserwidget.c
+++ b/gtk/gtkcolorchooserwidget.c
@@ -58,8 +58,6 @@
  * # CSS names
  *
  * GtkColorChooserWidget has a single CSS node with name colorchooser.
- *
- * Since: 3.4
  */
 
 struct _GtkColorChooserWidgetPrivate
@@ -690,8 +688,6 @@ gtk_color_chooser_widget_class_init (GtkColorChooserWidgetClass *class)
    * The ::show-editor property is %TRUE when the color chooser
    * is showing the single-color editor. It can be set to switch
    * the color chooser into single-color editing mode.
-   *
-   * Since: 3.4
    */
   g_object_class_install_property (object_class, PROP_SHOW_EDITOR,
       g_param_spec_boolean ("show-editor", P_("Show editor"), P_("Show editor"),
@@ -826,8 +822,6 @@ gtk_color_chooser_widget_iface_init (GtkColorChooserInterface *iface)
  * Creates a new #GtkColorChooserWidget.
  *
  * Returns: a new #GtkColorChooserWidget
- *
- * Since: 3.4
  */
 GtkWidget *
 gtk_color_chooser_widget_new (void)
diff --git a/gtk/gtkcolorchooserwidget.h b/gtk/gtkcolorchooserwidget.h
index b47cdd0..60f4616 100644
--- a/gtk/gtkcolorchooserwidget.h
+++ b/gtk/gtkcolorchooserwidget.h
@@ -66,10 +66,10 @@ struct _GtkColorChooserWidgetClass
   void (*_gtk_reserved8) (void);
 };
 
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 GType       gtk_color_chooser_widget_get_type (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 GtkWidget * gtk_color_chooser_widget_new      (void);
 
 G_END_DECLS
diff --git a/gtk/gtkcolorutils.c b/gtk/gtkcolorutils.c
index 94843bd..97954c5 100644
--- a/gtk/gtkcolorutils.c
+++ b/gtk/gtkcolorutils.c
@@ -198,8 +198,6 @@ rgb_to_hsv (gdouble *r,
  *
  * Input values must be in the [0.0, 1.0] range;
  * output values will be in the same range.
- *
- * Since: 2.14
  */
 void
 gtk_hsv_to_rgb (gdouble  h, gdouble  s, gdouble  v,
@@ -234,8 +232,6 @@ gtk_hsv_to_rgb (gdouble  h, gdouble  s, gdouble  v,
  *
  * Input values must be in the [0.0, 1.0] range;
  * output values will be in the same range.
- *
- * Since: 2.14
  */
 void
 gtk_rgb_to_hsv (gdouble  r, gdouble  g, gdouble  b,
diff --git a/gtk/gtkcombobox.c b/gtk/gtkcombobox.c
index daf95a5..68776dd 100644
--- a/gtk/gtkcombobox.c
+++ b/gtk/gtkcombobox.c
@@ -460,8 +460,6 @@ gtk_combo_box_class_init (GtkComboBoxClass *klass)
    * call to gtk_combo_box_set_active_iter().
    * It will also be emitted while typing into the entry of a combo box
    * with an entry.
-   *
-   * Since: 2.4
    */
   combo_box_signals[CHANGED] =
     g_signal_new (I_("changed"),
@@ -479,8 +477,6 @@ gtk_combo_box_class_init (GtkComboBoxClass *klass)
    * The ::move-active signal is a
    * [keybinding signal][GtkBindingSignal]
    * which gets emitted to move the active selection.
-   *
-   * Since: 2.12
    */
   combo_box_signals[MOVE_ACTIVE] =
     g_signal_new_class_handler (I_("move-active"),
@@ -501,8 +497,6 @@ gtk_combo_box_class_init (GtkComboBoxClass *klass)
    * which gets emitted to popup the combo box list.
    *
    * The default binding for this signal is Alt+Down.
-   *
-   * Since: 2.12
    */
   combo_box_signals[POPUP] =
     g_signal_new_class_handler (I_("popup"),
@@ -521,8 +515,6 @@ gtk_combo_box_class_init (GtkComboBoxClass *klass)
    * which gets emitted to popdown the combo box list.
    *
    * The default bindings for this signal are Alt+Up and Escape.
-   *
-   * Since: 2.12
    */
   combo_box_signals[POPDOWN] =
     g_signal_new_class_handler (I_("popdown"),
@@ -573,8 +565,6 @@ gtk_combo_box_class_init (GtkComboBoxClass *klass)
    *
    * Returns: (transfer full): a newly allocated string representing @path
    * for the current GtkComboBox model.
-   *
-   * Since: 3.4
    */
   combo_box_signals[FORMAT_ENTRY_TEXT] =
     g_signal_new (I_("format-entry-text"),
@@ -648,8 +638,6 @@ gtk_combo_box_class_init (GtkComboBoxClass *klass)
    *
    * The model from which the combo box takes the values shown
    * in the list.
-   *
-   * Since: 2.4
    */
   g_object_class_install_property (object_class,
                                    PROP_MODEL,
@@ -664,8 +652,6 @@ gtk_combo_box_class_init (GtkComboBoxClass *klass)
    *
    * If wrap-width is set to a positive value, items in the popup will be laid
    * out along multiple columns, starting a new row on reaching the wrap width.
-   *
-   * Since: 2.4
    */
   g_object_class_install_property (object_class,
                                    PROP_WRAP_WIDTH,
@@ -685,8 +671,6 @@ gtk_combo_box_class_init (GtkComboBoxClass *klass)
    * of type %G_TYPE_INT in the model. The value in that column for each item
    * will determine how many rows that item will span in the popup. Therefore,
    * values in this column must be greater than zero.
-   *
-   * Since: 2.4
    */
   g_object_class_install_property (object_class,
                                    PROP_ROW_SPAN_COLUMN,
@@ -707,8 +691,6 @@ gtk_combo_box_class_init (GtkComboBoxClass *klass)
    * will determine how many columns that item will span in the popup.
    * Therefore, values in this column must be greater than zero, and the sum of
    * an item’s column position + span should not exceed #GtkComboBox:wrap-width.
-   *
-   * Since: 2.4
    */
   g_object_class_install_property (object_class,
                                    PROP_COLUMN_SPAN_COLUMN,
@@ -729,8 +711,6 @@ gtk_combo_box_class_init (GtkComboBoxClass *klass)
    * this property has the value
    * `gtk_tree_path_get_indices (path)[0]`,
    * where `path` is the #GtkTreePath of the active item.
-   *
-   * Since: 2.4
    */
   g_object_class_install_property (object_class,
                                    PROP_ACTIVE,
@@ -747,8 +727,6 @@ gtk_combo_box_class_init (GtkComboBoxClass *klass)
    *
    * The has-frame property controls whether a frame
    * is drawn around the entry.
-   *
-   * Since: 2.6
    */
   g_object_class_install_property (object_class,
                                    PROP_HAS_FRAME,
@@ -764,8 +742,6 @@ gtk_combo_box_class_init (GtkComboBoxClass *klass)
    * Whether the combo boxes dropdown is popped up.
    * Note that this property is mainly useful, because
    * it allows you to connect to notify::popup-shown.
-   *
-   * Since: 2.10
    */
   g_object_class_install_property (object_class,
                                    PROP_POPUP_SHOWN,
@@ -781,8 +757,6 @@ gtk_combo_box_class_init (GtkComboBoxClass *klass)
     *
     * Whether the dropdown button is sensitive when
     * the model is empty.
-    *
-    * Since: 2.14
     */
    g_object_class_install_property (object_class,
                                     PROP_BUTTON_SENSITIVITY,
@@ -797,8 +771,6 @@ gtk_combo_box_class_init (GtkComboBoxClass *klass)
     * GtkComboBox:has-entry:
     *
     * Whether the combo box has an entry.
-    *
-    * Since: 2.24
     */
    g_object_class_install_property (object_class,
                                     PROP_HAS_ENTRY,
@@ -813,8 +785,6 @@ gtk_combo_box_class_init (GtkComboBoxClass *klass)
     *
     * The column in the combo box's model to associate with strings from the entry
     * if the combo was created with #GtkComboBox:has-entry = %TRUE.
-    *
-    * Since: 2.24
     */
    g_object_class_install_property (object_class,
                                     PROP_ENTRY_TEXT_COLUMN,
@@ -831,8 +801,6 @@ gtk_combo_box_class_init (GtkComboBoxClass *klass)
     *
     * The column in the combo box's model that provides string
     * IDs for the values in the model, if != -1.
-    *
-    * Since: 3.0
     */
    g_object_class_install_property (object_class,
                                     PROP_ID_COLUMN,
@@ -847,8 +815,6 @@ gtk_combo_box_class_init (GtkComboBoxClass *klass)
     * GtkComboBox:active-id:
     *
     * The value of the ID column of the active row.
-    *
-    * Since: 3.0
     */
    g_object_class_install_property (object_class,
                                     PROP_ACTIVE_ID,
@@ -864,8 +830,6 @@ gtk_combo_box_class_init (GtkComboBoxClass *klass)
     *
     * Whether the popup's width should be a fixed width matching the
     * allocated width of the combo box.
-    *
-    * Since: 3.0
     */
    g_object_class_install_property (object_class,
                                     PROP_POPUP_FIXED_WIDTH,
@@ -1525,8 +1489,6 @@ gtk_combo_box_menu_popup (GtkComboBox    *combo_box)
  * applications should have little use for it.
  *
  * Before calling this, @combo_box must be mapped, or nothing will happen.
- *
- * Since: 2.4
  */
 void
 gtk_combo_box_popup (GtkComboBox *combo_box)
@@ -1546,8 +1508,6 @@ gtk_combo_box_popup (GtkComboBox *combo_box)
  * with the device, as it was previously only used for list-mode ComboBoxes,
  * and those were removed in GTK+ 4. However, it is retained in case similar
  * functionality is added back later.
- *
- * Since: 3.0
  **/
 void
 gtk_combo_box_popup_for_device (GtkComboBox *combo_box,
@@ -1598,8 +1558,6 @@ gtk_combo_box_real_popdown (GtkComboBox *combo_box)
  *
  * This function is mostly intended for use by accessibility technologies;
  * applications should have little use for it.
- *
- * Since: 2.4
  */
 void
 gtk_combo_box_popdown (GtkComboBox *combo_box)
@@ -2019,8 +1977,6 @@ gtk_combo_box_cell_layout_get_area (GtkCellLayout *cell_layout)
  * Creates a new empty #GtkComboBox.
  *
  * Returns: A new #GtkComboBox.
- *
- * Since: 2.4
  */
 GtkWidget *
 gtk_combo_box_new (void)
@@ -2034,8 +1990,6 @@ gtk_combo_box_new (void)
  * Creates a new empty #GtkComboBox with an entry.
  *
  * Returns: A new #GtkComboBox.
- *
- * Since: 2.24
  */
 GtkWidget *
 gtk_combo_box_new_with_entry (void)
@@ -2050,8 +2004,6 @@ gtk_combo_box_new_with_entry (void)
  * Creates a new #GtkComboBox with the model initialized to @model.
  *
  * Returns: A new #GtkComboBox.
- *
- * Since: 2.4
  */
 GtkWidget *
 gtk_combo_box_new_with_model (GtkTreeModel *model)
@@ -2073,8 +2025,6 @@ gtk_combo_box_new_with_model (GtkTreeModel *model)
  * and with the model initialized to @model.
  *
  * Returns: A new #GtkComboBox
- *
- * Since: 2.24
  */
 GtkWidget *
 gtk_combo_box_new_with_model_and_entry (GtkTreeModel *model)
@@ -2094,8 +2044,6 @@ gtk_combo_box_new_with_model_and_entry (GtkTreeModel *model)
  * is in table mode.
  *
  * Returns: the wrap width.
- *
- * Since: 2.6
  */
 gint
 gtk_combo_box_get_wrap_width (GtkComboBox *combo_box)
@@ -2113,8 +2061,6 @@ gtk_combo_box_get_wrap_width (GtkComboBox *combo_box)
  * Sets the wrap width of @combo_box to be @width. The wrap width is basically
  * the preferred number of columns when you want the popup to be layed out
  * in a table.
- *
- * Since: 2.4
  */
 void
 gtk_combo_box_set_wrap_width (GtkComboBox *combo_box,
@@ -2142,8 +2088,6 @@ gtk_combo_box_set_wrap_width (GtkComboBox *combo_box,
  * Returns the column with row span information for @combo_box.
  *
  * Returns: the row span column.
- *
- * Since: 2.6
  */
 gint
 gtk_combo_box_get_row_span_column (GtkComboBox *combo_box)
@@ -2161,8 +2105,6 @@ gtk_combo_box_get_row_span_column (GtkComboBox *combo_box)
  * Sets the column with row span information for @combo_box to be @row_span.
  * The row span column contains integers which indicate how many rows
  * an item should span.
- *
- * Since: 2.4
  */
 void
 gtk_combo_box_set_row_span_column (GtkComboBox *combo_box,
@@ -2193,8 +2135,6 @@ gtk_combo_box_set_row_span_column (GtkComboBox *combo_box,
  * Returns the column with column span information for @combo_box.
  *
  * Returns: the column span column.
- *
- * Since: 2.6
  */
 gint
 gtk_combo_box_get_column_span_column (GtkComboBox *combo_box)
@@ -2212,8 +2152,6 @@ gtk_combo_box_get_column_span_column (GtkComboBox *combo_box)
  * Sets the column with column span information for @combo_box to be
  * @column_span. The column span column contains integers which indicate
  * how many columns an item should span.
- *
- * Since: 2.4
  */
 void
 gtk_combo_box_set_column_span_column (GtkComboBox *combo_box,
@@ -2249,8 +2187,6 @@ gtk_combo_box_set_column_span_column (GtkComboBox *combo_box,
  *
  * Returns: An integer which is the index of the currently active item,
  *     or -1 if there’s no active item.
- *
- * Since: 2.4
  */
 gint
 gtk_combo_box_get_active (GtkComboBox *combo_box)
@@ -2283,8 +2219,6 @@ gtk_combo_box_get_active (GtkComboBox *combo_box)
  * no active item
  *
  * Sets the active item of @combo_box to be the item at @index.
- *
- * Since: 2.4
  */
 void
 gtk_combo_box_set_active (GtkComboBox *combo_box,
@@ -2385,8 +2319,6 @@ gtk_combo_box_set_active_internal (GtkComboBox *combo_box,
  * Otherwise, @iter is left unchanged.
  *
  * Returns: %TRUE if @iter was set, %FALSE otherwise
- *
- * Since: 2.4
  */
 gboolean
 gtk_combo_box_get_active_iter (GtkComboBox     *combo_box,
@@ -2417,8 +2349,6 @@ gtk_combo_box_get_active_iter (GtkComboBox     *combo_box,
  *
  * Sets the current active item to be the one referenced by @iter, or
  * unsets the active item if @iter is %NULL.
- *
- * Since: 2.4
  */
 void
 gtk_combo_box_set_active_iter (GtkComboBox     *combo_box,
@@ -2446,8 +2376,6 @@ gtk_combo_box_set_active_iter (GtkComboBox     *combo_box,
  * Note that this function does not clear the cell renderers, you have to
  * call gtk_cell_layout_clear() yourself if you need to set up different
  * cell renderers for the new model.
- *
- * Since: 2.4
  */
 void
 gtk_combo_box_set_model (GtkComboBox  *combo_box,
@@ -2512,8 +2440,6 @@ out:
  *
  * Returns: (transfer none): A #GtkTreeModel which was passed
  *     during construction.
- *
- * Since: 2.4
  */
 GtkTreeModel *
 gtk_combo_box_get_model (GtkComboBox *combo_box)
@@ -2886,8 +2812,6 @@ gtk_combo_box_start_editing (GtkCellEditable *cell_editable,
  *
  * Specifies whether the popup’s width should be a fixed width
  * matching the allocated width of the combo box.
- *
- * Since: 3.0
  **/
 void
 gtk_combo_box_set_popup_fixed_width (GtkComboBox *combo_box,
@@ -2915,8 +2839,6 @@ gtk_combo_box_set_popup_fixed_width (GtkComboBox *combo_box,
  * the allocated width of the combo box.
  *
  * Returns: %TRUE if the popup uses a fixed width
- *
- * Since: 3.0
  **/
 gboolean
 gtk_combo_box_get_popup_fixed_width (GtkComboBox *combo_box)
@@ -2938,8 +2860,6 @@ gtk_combo_box_get_popup_fixed_width (GtkComboBox *combo_box)
  *
  * Returns: (transfer none): the accessible object corresponding
  *     to the combo box’s popup.
- *
- * Since: 2.6
  */
 AtkObject*
 gtk_combo_box_get_popup_accessible (GtkComboBox *combo_box)
@@ -2956,8 +2876,6 @@ gtk_combo_box_get_popup_accessible (GtkComboBox *combo_box)
  * Returns the current row separator function.
  *
  * Returns: the current row separator function.
- *
- * Since: 2.6
  */
 GtkTreeViewRowSeparatorFunc
 gtk_combo_box_get_row_separator_func (GtkComboBox *combo_box)
@@ -2977,8 +2895,6 @@ gtk_combo_box_get_row_separator_func (GtkComboBox *combo_box)
  * Sets the row separator function, which is used to determine
  * whether a row should be drawn as a separator. If the row separator
  * function is %NULL, no separators are drawn. This is the default value.
- *
- * Since: 2.6
  */
 void
 gtk_combo_box_set_row_separator_func (GtkComboBox                 *combo_box,
@@ -3014,8 +2930,6 @@ gtk_combo_box_set_row_separator_func (GtkComboBox                 *combo_box,
  * Sets whether the dropdown button of the combo box should be
  * always sensitive (%GTK_SENSITIVITY_ON), never sensitive (%GTK_SENSITIVITY_OFF)
  * or only if there is at least one item to display (%GTK_SENSITIVITY_AUTO).
- *
- * Since: 2.14
  **/
 void
 gtk_combo_box_set_button_sensitivity (GtkComboBox        *combo_box,
@@ -3048,8 +2962,6 @@ gtk_combo_box_set_button_sensitivity (GtkComboBox        *combo_box,
  *    if the button is always insensitive or
  *    %GTK_SENSITIVITY_AUTO if it is only sensitive as long as
  *    the model has one item to be selected.
- *
- * Since: 2.14
  **/
 GtkSensitivityType
 gtk_combo_box_get_button_sensitivity (GtkComboBox *combo_box)
@@ -3067,8 +2979,6 @@ gtk_combo_box_get_button_sensitivity (GtkComboBox *combo_box)
  * Returns whether the combo box has an entry.
  *
  * Returns: whether there is an entry in @combo_box.
- *
- * Since: 2.24
  **/
 gboolean
 gtk_combo_box_get_has_entry (GtkComboBox *combo_box)
@@ -3090,8 +3000,6 @@ gtk_combo_box_get_has_entry (GtkComboBox *combo_box)
  *
  * This is only relevant if @combo_box has been created with
  * #GtkComboBox:has-entry as %TRUE.
- *
- * Since: 2.24
  */
 void
 gtk_combo_box_set_entry_text_column (GtkComboBox *combo_box,
@@ -3130,8 +3038,6 @@ gtk_combo_box_set_entry_text_column (GtkComboBox *combo_box,
  * from to display in the internal entry.
  *
  * Returns: A column in the data source model of @combo_box.
- *
- * Since: 2.24
  */
 gint
 gtk_combo_box_get_entry_text_column (GtkComboBox *combo_box)
@@ -3204,8 +3110,6 @@ gtk_combo_box_buildable_get_internal_child (GtkBuildable *buildable,
  * Sets the model column which @combo_box should use to get string IDs
  * for values from. The column @id_column in the model of @combo_box
  * must be of type %G_TYPE_STRING.
- *
- * Since: 3.0
  */
 void
 gtk_combo_box_set_id_column (GtkComboBox *combo_box,
@@ -3241,8 +3145,6 @@ gtk_combo_box_set_id_column (GtkComboBox *combo_box,
  * for values from.
  *
  * Returns: A column in the data source model of @combo_box.
- *
- * Since: 3.0
  */
 gint
 gtk_combo_box_get_id_column (GtkComboBox *combo_box)
@@ -3269,8 +3171,6 @@ gtk_combo_box_get_id_column (GtkComboBox *combo_box)
  * is returned.
  *
  * Returns: (nullable): the ID of the active row, or %NULL
- *
- * Since: 3.0
  **/
 const gchar *
 gtk_combo_box_get_active_id (GtkComboBox *combo_box)
@@ -3320,8 +3220,6 @@ gtk_combo_box_get_active_id (GtkComboBox *combo_box)
  * Returns: %TRUE if a row with a matching ID was found.  If a %NULL
  *          @active_id was given to unset the active row, the function
  *          always returns %TRUE.
- *
- * Since: 3.0
  **/
 gboolean
 gtk_combo_box_set_active_id (GtkComboBox *combo_box,
diff --git a/gtk/gtkcomboboxtext.c b/gtk/gtkcomboboxtext.c
index f03ebba..1993eb1 100644
--- a/gtk/gtkcomboboxtext.c
+++ b/gtk/gtkcomboboxtext.c
@@ -335,8 +335,6 @@ gtk_combo_box_text_buildable_custom_finished (GtkBuildable *buildable,
  * strings.
  *
  * Returns: A new #GtkComboBoxText
- *
- * Since: 2.24
  */
 GtkWidget *
 gtk_combo_box_text_new (void)
@@ -352,8 +350,6 @@ gtk_combo_box_text_new (void)
  * strings. The combo box created by this function has an entry.
  *
  * Returns: a new #GtkComboBoxText
- *
- * Since: 2.24
  */
 GtkWidget *
 gtk_combo_box_text_new_with_entry (void)
@@ -372,8 +368,6 @@ gtk_combo_box_text_new_with_entry (void)
  *
  * This is the same as calling gtk_combo_box_text_insert_text() with a
  * position of -1.
- *
- * Since: 2.24
  */
 void
 gtk_combo_box_text_append_text (GtkComboBoxText *combo_box,
@@ -391,8 +385,6 @@ gtk_combo_box_text_append_text (GtkComboBoxText *combo_box,
  *
  * This is the same as calling gtk_combo_box_text_insert_text() with a
  * position of 0.
- *
- * Since: 2.24
  */
 void
 gtk_combo_box_text_prepend_text (GtkComboBoxText *combo_box,
@@ -413,8 +405,6 @@ gtk_combo_box_text_prepend_text (GtkComboBoxText *combo_box,
  *
  * This is the same as calling gtk_combo_box_text_insert() with a %NULL
  * ID string.
- *
- * Since: 2.24
  */
 void
 gtk_combo_box_text_insert_text (GtkComboBoxText *combo_box,
@@ -435,8 +425,6 @@ gtk_combo_box_text_insert_text (GtkComboBoxText *combo_box,
  *
  * This is the same as calling gtk_combo_box_text_insert() with a
  * position of -1.
- *
- * Since: 2.24
  */
 void
 gtk_combo_box_text_append (GtkComboBoxText *combo_box,
@@ -457,8 +445,6 @@ gtk_combo_box_text_append (GtkComboBoxText *combo_box,
  *
  * This is the same as calling gtk_combo_box_text_insert() with a
  * position of 0.
- *
- * Since: 2.24
  */
 void
 gtk_combo_box_text_prepend (GtkComboBoxText *combo_box,
@@ -481,8 +467,6 @@ gtk_combo_box_text_prepend (GtkComboBoxText *combo_box,
  * #GtkComboBox:id-column.
  *
  * If @position is negative then @text is appended.
- *
- * Since: 3.0
  */
 void
 gtk_combo_box_text_insert (GtkComboBoxText *combo_box,
@@ -537,8 +521,6 @@ gtk_combo_box_text_insert (GtkComboBoxText *combo_box,
  * @position: Index of the item to remove
  *
  * Removes the string at @position from @combo_box.
- *
- * Since: 2.24
  */
 void
 gtk_combo_box_text_remove (GtkComboBoxText *combo_box,
@@ -564,8 +546,6 @@ gtk_combo_box_text_remove (GtkComboBoxText *combo_box,
  * @combo_box: A #GtkComboBoxText
  *
  * Removes all the text entries from the combo box.
- *
- * Since: 3.0
  */
 void
 gtk_combo_box_text_remove_all (GtkComboBoxText *combo_box)
@@ -589,8 +569,6 @@ gtk_combo_box_text_remove_all (GtkComboBoxText *combo_box)
  *
  * Returns: (transfer full): a newly allocated string containing the
  *     currently active text. Must be freed with g_free().
- *
- * Since: 2.24
  */
 gchar *
 gtk_combo_box_text_get_active_text (GtkComboBoxText *combo_box)
diff --git a/gtk/gtkcontainer.c b/gtk/gtkcontainer.c
index 8697492..0ffc27b 100644
--- a/gtk/gtkcontainer.c
+++ b/gtk/gtkcontainer.c
@@ -853,8 +853,6 @@ gtk_container_child_type (GtkContainer *container)
  * This is an analogue of g_object_notify() for child properties.
  *
  * Also see gtk_widget_child_notify().
- *
- * Since: 3.2
  */
 void
 gtk_container_child_notify (GtkContainer *container,
@@ -912,8 +910,6 @@ gtk_container_child_notify (GtkContainer *container,
  * @pspec on the child.
  *
  * This is an analogue of g_object_notify_by_pspec() for child properties.
- *
- * Since: 3.18
  */
 void
 gtk_container_child_notify_by_pspec (GtkContainer *container,
@@ -1354,8 +1350,6 @@ gtk_container_class_install_child_property (GtkContainerClass *cclass,
  *     child properties
  *
  * Installs child properties on a container class.
- *
- * Since: 3.18
  */
 void
 gtk_container_class_install_child_properties (GtkContainerClass  *cclass,
diff --git a/gtk/gtkcontainer.h b/gtk/gtkcontainer.h
index 6c99944..33b5f4f 100644
--- a/gtk/gtkcontainer.h
+++ b/gtk/gtkcontainer.h
@@ -163,7 +163,7 @@ GDK_AVAILABLE_IN_ALL
 void         gtk_container_class_install_child_property (GtkContainerClass *cclass,
                                                         guint              property_id,
                                                         GParamSpec        *pspec);
-GDK_AVAILABLE_IN_3_18
+GDK_AVAILABLE_IN_ALL
 void         gtk_container_class_install_child_properties (GtkContainerClass *cclass,
                                                            guint              n_pspecs,
                                                            GParamSpec       **pspecs);
@@ -209,12 +209,12 @@ void           gtk_container_child_get_property           (GtkContainer      *container,
                                                         const gchar       *property_name,
                                                         GValue            *value);
 
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 void gtk_container_child_notify (GtkContainer *container,
                                  GtkWidget    *child,
                                  const gchar  *child_property);
 
-GDK_AVAILABLE_IN_3_18
+GDK_AVAILABLE_IN_ALL
 void gtk_container_child_notify_by_pspec (GtkContainer *container,
                                           GtkWidget    *child,
                                           GParamSpec   *pspec);
diff --git a/gtk/gtkcssprovider.c b/gtk/gtkcssprovider.c
index d4d865b..724ce21 100644
--- a/gtk/gtkcssprovider.c
+++ b/gtk/gtkcssprovider.c
@@ -1550,8 +1550,6 @@ gtk_css_provider_load_from_path (GtkCssProvider  *css_provider,
  *
  * To track errors while loading CSS, connect to the
  * #GtkCssProvider::parsing-error signal.
- *
- * Since: 3.16
  */
 void
 gtk_css_provider_load_from_resource (GtkCssProvider *css_provider,
@@ -1948,8 +1946,6 @@ gtk_css_provider_print_keyframes (GHashTable *keyframes,
  * this @provider.
  *
  * Returns: a new string representing the @provider.
- *
- * Since: 3.2
  **/
 char *
 gtk_css_provider_to_string (GtkCssProvider *provider)
diff --git a/gtk/gtkcssprovider.h b/gtk/gtkcssprovider.h
index a77c418..ed2b5b2 100644
--- a/gtk/gtkcssprovider.h
+++ b/gtk/gtkcssprovider.h
@@ -91,7 +91,7 @@ GType gtk_css_provider_get_type (void) G_GNUC_CONST;
 GDK_AVAILABLE_IN_ALL
 GtkCssProvider * gtk_css_provider_new (void);
 
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 char *           gtk_css_provider_to_string      (GtkCssProvider  *provider);
 
 GDK_AVAILABLE_IN_ALL
@@ -105,7 +105,7 @@ GDK_AVAILABLE_IN_ALL
 void             gtk_css_provider_load_from_path (GtkCssProvider  *css_provider,
                                                   const gchar     *path);
 
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 void             gtk_css_provider_load_from_resource (GtkCssProvider *css_provider,
                                                       const gchar    *resource_path);
 
diff --git a/gtk/gtkcsssection.c b/gtk/gtkcsssection.c
index 40abdb3..b8e15f2 100644
--- a/gtk/gtkcsssection.c
+++ b/gtk/gtkcsssection.c
@@ -97,8 +97,6 @@ _gtk_css_section_end (GtkCssSection *section)
  * Increments the reference count on @section.
  *
  * Returns: @section itself.
- *
- * Since: 3.2
  **/
 GtkCssSection *
 gtk_css_section_ref (GtkCssSection *section)
@@ -116,8 +114,6 @@ gtk_css_section_ref (GtkCssSection *section)
  *
  * Decrements the reference count on @section, freeing the
  * structure if the reference count reaches 0.
- *
- * Since: 3.2
  **/
 void
 gtk_css_section_unref (GtkCssSection *section)
@@ -143,8 +139,6 @@ gtk_css_section_unref (GtkCssSection *section)
  * Gets the type of information that @section describes.
  *
  * Returns: the type of @section
- *
- * Since: 3.2
  **/
 GtkCssSectionType
 gtk_css_section_get_section_type (const GtkCssSection *section)
@@ -167,8 +161,6 @@ gtk_css_section_get_section_type (const GtkCssSection *section)
  * a different file.
  *
  * Returns: (nullable) (transfer none): the parent section or %NULL if none
- *
- * Since: 3.2
  **/
 GtkCssSection *
 gtk_css_section_get_parent (const GtkCssSection *section)
@@ -188,8 +180,6 @@ gtk_css_section_get_parent (const GtkCssSection *section)
  *
  * Returns: (transfer none): the #GFile that @section was parsed from
  *     or %NULL if @section was parsed from other data
- *
- * Since: 3.2
  **/
 GFile *
 gtk_css_section_get_file (const GtkCssSection *section)
@@ -208,8 +198,6 @@ gtk_css_section_get_file (const GtkCssSection *section)
  * will return 0.
  *
  * Returns: the line number
- *
- * Since: 3.2
  **/
 guint
 gtk_css_section_get_start_line (const GtkCssSection *section)
@@ -227,8 +215,6 @@ gtk_css_section_get_start_line (const GtkCssSection *section)
  * returned via gtk_css_section_get_start_line().
  *
  * Returns: the offset in bytes from the start of the line.
- *
- * Since: 3.2
  **/
 guint
 gtk_css_section_get_start_position (const GtkCssSection *section)
@@ -253,8 +239,6 @@ gtk_css_section_get_start_position (const GtkCssSection *section)
  * successfully.
  *
  * Returns: the line number
- *
- * Since: 3.2
  **/
 guint
 gtk_css_section_get_end_line (const GtkCssSection *section)
@@ -281,8 +265,6 @@ gtk_css_section_get_end_line (const GtkCssSection *section)
  * successfully.
  *
  * Returns: the offset in bytes from the start of the line.
- *
- * Since: 3.2
  **/
 guint
 gtk_css_section_get_end_position (const GtkCssSection *section)
diff --git a/gtk/gtkcsssection.h b/gtk/gtkcsssection.h
index be85862..8553633 100644
--- a/gtk/gtkcsssection.h
+++ b/gtk/gtkcsssection.h
@@ -50,8 +50,6 @@ G_BEGIN_DECLS
  *
  * More types might be added in the future as the parser incorporates
  * more features.
- *
- * Since: 3.2
  */
 typedef enum
 {
@@ -72,32 +70,30 @@ typedef enum
  * Defines a part of a CSS document. Because sections are nested into
  * one another, you can use gtk_css_section_get_parent() to get the
  * containing region.
- *
- * Since: 3.2
  */
 typedef struct _GtkCssSection GtkCssSection;
 
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 GType              gtk_css_section_get_type            (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 GtkCssSection *    gtk_css_section_ref                 (GtkCssSection        *section);
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 void               gtk_css_section_unref               (GtkCssSection        *section);
 
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 GtkCssSectionType  gtk_css_section_get_section_type    (const GtkCssSection  *section);
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 GtkCssSection *    gtk_css_section_get_parent          (const GtkCssSection  *section);
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 GFile *            gtk_css_section_get_file            (const GtkCssSection  *section);
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 guint              gtk_css_section_get_start_line      (const GtkCssSection  *section);
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 guint              gtk_css_section_get_start_position  (const GtkCssSection  *section);
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 guint              gtk_css_section_get_end_line        (const GtkCssSection  *section);
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 guint              gtk_css_section_get_end_position    (const GtkCssSection  *section);
 
 G_END_DECLS
diff --git a/gtk/gtkcustompaperunixdialog.c b/gtk/gtkcustompaperunixdialog.c
index ffbdfb2..5ee93e2 100644
--- a/gtk/gtkcustompaperunixdialog.c
+++ b/gtk/gtkcustompaperunixdialog.c
@@ -392,8 +392,6 @@ gtk_custom_paper_unix_dialog_finalize (GObject *object)
  * Creates a new custom paper dialog.
  *
  * Returns: the new #GtkCustomPaperUnixDialog
- *
- * Since: 2.18
  */
 GtkWidget *
 _gtk_custom_paper_unix_dialog_new (GtkWindow   *parent,
diff --git a/gtk/gtkdialog.c b/gtk/gtkdialog.c
index cc02eac..103ab7c 100644
--- a/gtk/gtkdialog.c
+++ b/gtk/gtkdialog.c
@@ -576,8 +576,6 @@ gtk_dialog_class_init (GtkDialogClass *class)
    *
    * For technical reasons, this property is declared as an integer
    * property, but you should only set it to %TRUE or %FALSE.
-   *
-   * Since: 3.12
    */
   g_object_class_install_property (gobject_class,
                                    PROP_USE_HEADER_BAR,
@@ -1250,8 +1248,6 @@ gtk_dialog_run (GtkDialog *dialog)
  *
  * Returns: (nullable) (transfer none): the @widget button that uses the given
  *     @response_id, or %NULL.
- *
- * Since: 2.20
  */
 GtkWidget*
 gtk_dialog_get_widget_for_response (GtkDialog *dialog,
@@ -1294,8 +1290,6 @@ gtk_dialog_get_widget_for_response (GtkDialog *dialog,
  *
  * Returns: the response id of @widget, or %GTK_RESPONSE_NONE
  *  if @widget doesn’t have a response id set.
- *
- * Since: 2.8
  */
 gint
 gtk_dialog_get_response_for_widget (GtkDialog *dialog,
@@ -1595,8 +1589,6 @@ gtk_dialog_get_action_area (GtkDialog *dialog)
  * #GtkDialog:use-header-bar property is %TRUE.
  *
  * Returns: (transfer none): the header bar
- *
- * Since: 3.12
  */
 GtkWidget *
 gtk_dialog_get_header_bar (GtkDialog *dialog)
@@ -1613,8 +1605,6 @@ gtk_dialog_get_header_bar (GtkDialog *dialog)
  * Returns the content area of @dialog.
  *
  * Returns: (type Gtk.Box) (transfer none): the content area #GtkBox.
- *
- * Since: 2.14
  **/
 GtkWidget *
 gtk_dialog_get_content_area (GtkDialog *dialog)
diff --git a/gtk/gtkdialog.h b/gtk/gtkdialog.h
index 4786a49..377a155 100644
--- a/gtk/gtkdialog.h
+++ b/gtk/gtkdialog.h
@@ -190,7 +190,7 @@ gint gtk_dialog_run                (GtkDialog *dialog);
 
 GDK_AVAILABLE_IN_ALL
 GtkWidget * gtk_dialog_get_content_area (GtkDialog *dialog);
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 GtkWidget * gtk_dialog_get_header_bar   (GtkDialog *dialog);
 
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkDialog, g_object_unref)
diff --git a/gtk/gtkdnd-quartz.c b/gtk/gtkdnd-quartz.c
index 198cc12..709e3ff 100644
--- a/gtk/gtkdnd-quartz.c
+++ b/gtk/gtkdnd-quartz.c
@@ -1432,8 +1432,6 @@ gtk_drag_set_icon_surface (GdkDragContext  *context,
  * size of the icon depends on the icon theme (the icon is
  * loaded at the symbolic size #GTK_ICON_SIZE_DND), thus 
  * @hot_x and @hot_y have to be used with care.
- *
- * Since: 2.8
  **/
 void 
 gtk_drag_set_icon_name (GdkDragContext *context,
diff --git a/gtk/gtkdnd.c b/gtk/gtkdnd.c
index 571f69c..14d9c34 100644
--- a/gtk/gtkdnd.c
+++ b/gtk/gtkdnd.c
@@ -1033,8 +1033,6 @@ gtk_drag_begin_internal (GtkWidget          *widget,
  * gtk_drag_source_set() is used.
  *
  * Returns: (transfer none): the context for this drag
- *
- * Since: 3.10
  */
 GdkDragContext *
 gtk_drag_begin_with_coordinates (GtkWidget         *widget,
@@ -1257,8 +1255,6 @@ gtk_drag_set_icon_texture (GdkDragContext *context,
  * size of the icon depends on the icon theme (the icon is
  * loaded at the symbolic size #GTK_ICON_SIZE_DND), thus 
  * @hot_x and @hot_y have to be used with care.
- *
- * Since: 2.8
  */
 void 
 gtk_drag_set_icon_name (GdkDragContext *context,
@@ -1288,8 +1284,6 @@ gtk_drag_set_icon_name (GdkDragContext *context,
  * Sets the icon for a given drag from the given @icon.
  * See the documentation for gtk_drag_set_icon_name()
  * for more details about using icons in drag and drop.
- *
- * Since: 3.2
  */
 void 
 gtk_drag_set_icon_gicon (GdkDragContext *context,
@@ -1535,8 +1529,6 @@ gtk_drag_check_threshold (GtkWidget *widget,
  *
  * If a drag is cancelled in this way, the @result argument of
  * #GtkWidget::drag-failed is set to @GTK_DRAG_RESULT_ERROR.
- *
- * Since: 3.16
  */
 void
 gtk_drag_cancel (GdkDragContext *context)
diff --git a/gtk/gtkdnd.h b/gtk/gtkdnd.h
index 7da0ff0..50f7270 100644
--- a/gtk/gtkdnd.h
+++ b/gtk/gtkdnd.h
@@ -59,7 +59,7 @@ void gtk_drag_unhighlight (GtkWidget  *widget);
 
 /* Source side */
 
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 GdkDragContext *gtk_drag_begin_with_coordinates (GtkWidget         *widget,
                                                  GdkDevice         *device,
                                                  GdkContentFormats *targets,
@@ -67,7 +67,7 @@ GdkDragContext *gtk_drag_begin_with_coordinates (GtkWidget         *widget,
                                                  gint               x,
                                                  gint               y);
 
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 void gtk_drag_cancel           (GdkDragContext *context);
 
 GDK_AVAILABLE_IN_ALL
@@ -78,7 +78,7 @@ void gtk_drag_set_icon_widget (GdkDragContext *context,
 GDK_AVAILABLE_IN_ALL
 void gtk_drag_set_icon_surface(GdkDragContext *context,
                               cairo_surface_t *surface);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void gtk_drag_set_icon_texture(GdkDragContext *context,
                               GdkTexture     *texture,
                                int             hot_x,
@@ -88,7 +88,7 @@ void gtk_drag_set_icon_name   (GdkDragContext *context,
                               const gchar    *icon_name,
                               gint            hot_x,
                               gint            hot_y);
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 void gtk_drag_set_icon_gicon  (GdkDragContext *context,
                               GIcon          *icon,
                               gint            hot_x,
diff --git a/gtk/gtkdragdest.c b/gtk/gtkdragdest.c
index c57c615..e9cf698 100644
--- a/gtk/gtkdragdest.c
+++ b/gtk/gtkdragdest.c
@@ -259,8 +259,6 @@ gtk_drag_dest_set_target_list (GtkWidget     *widget,
  * are added with @info = 0. If you need another value,
  * use gtk_target_list_add_text_targets() and
  * gtk_drag_dest_set_target_list().
- *
- * Since: 2.6
  */
 void
 gtk_drag_dest_add_text_targets (GtkWidget *widget)
@@ -286,8 +284,6 @@ gtk_drag_dest_add_text_targets (GtkWidget *widget)
  * are added with @info = 0. If you need another value,
  * use gtk_target_list_add_image_targets() and
  * gtk_drag_dest_set_target_list().
- *
- * Since: 2.6
  */
 void
 gtk_drag_dest_add_image_targets (GtkWidget *widget)
@@ -313,8 +309,6 @@ gtk_drag_dest_add_image_targets (GtkWidget *widget)
  * are added with @info = 0. If you need another value,
  * use gtk_target_list_add_uri_targets() and
  * gtk_drag_dest_set_target_list().
- *
- * Since: 2.6
  */
 void
 gtk_drag_dest_add_uri_targets (GtkWidget *widget)
@@ -342,8 +336,6 @@ gtk_drag_dest_add_uri_targets (GtkWidget *widget)
  *
  * This may be used when a widget wants to do generic
  * actions regardless of the targets that the source offers.
- *
- * Since: 2.10
  */
 void
 gtk_drag_dest_set_track_motion (GtkWidget *widget,
@@ -369,8 +361,6 @@ gtk_drag_dest_set_track_motion (GtkWidget *widget,
  *
  * Returns: %TRUE if the widget always emits
  *   #GtkWidget::drag-motion events
- *
- * Since: 2.10
  */
 gboolean
 gtk_drag_dest_get_track_motion (GtkWidget *widget)
diff --git a/gtk/gtkdragsource.c b/gtk/gtkdragsource.c
index b3ca083..a50b682 100644
--- a/gtk/gtkdragsource.c
+++ b/gtk/gtkdragsource.c
@@ -192,8 +192,6 @@ gtk_drag_source_unset (GtkWidget *widget)
  * drag-and-drop.
  *
  * Returns: (nullable) (transfer none): the #GdkContentFormats, or %NULL if none
- *
- * Since: 2.4
  */
 GdkContentFormats *
 gtk_drag_source_get_target_list (GtkWidget *widget)
@@ -215,8 +213,6 @@ gtk_drag_source_get_target_list (GtkWidget *widget)
  * Changes the target types that this widget offers for drag-and-drop.
  * The widget must first be made into a drag source with
  * gtk_drag_source_set().
- *
- * Since: 2.4
  */
 void
 gtk_drag_source_set_target_list (GtkWidget         *widget,
@@ -252,8 +248,6 @@ gtk_drag_source_set_target_list (GtkWidget         *widget,
  * are added with @info = 0. If you need another value, 
  * use gtk_content_formats_add_text_targets() and
  * gtk_drag_source_set_target_list().
- * 
- * Since: 2.6
  */
 void
 gtk_drag_source_add_text_targets (GtkWidget *widget)
@@ -279,8 +273,6 @@ gtk_drag_source_add_text_targets (GtkWidget *widget)
  * are added with @info = 0. If you need another value, 
  * use gtk_target_list_add_image_targets() and
  * gtk_drag_source_set_target_list().
- * 
- * Since: 2.6
  */
 void
 gtk_drag_source_add_image_targets (GtkWidget *widget)
@@ -306,8 +298,6 @@ gtk_drag_source_add_image_targets (GtkWidget *widget)
  * are added with @info = 0. If you need another value, 
  * use gtk_content_formats_add_uri_targets() and
  * gtk_drag_source_set_target_list().
- * 
- * Since: 2.6
  */
 void
 gtk_drag_source_add_uri_targets (GtkWidget *widget)
@@ -332,8 +322,6 @@ gtk_drag_source_add_uri_targets (GtkWidget *widget)
  * Sets the icon that will be used for drags from a particular widget
  * from a cairo surface. GTK+ retains a reference for @surface and will
  * release it when it is no longer needed.
- *
- * Since: 3.94
  */
 void
 gtk_drag_source_set_icon_surface (GtkWidget       *widget,
@@ -357,8 +345,6 @@ gtk_drag_source_set_icon_surface (GtkWidget       *widget,
  *
  * Sets the icon that will be used for drags from a particular source
  * to a themed icon. See the docs for #GtkIconTheme for more details.
- *
- * Since: 2.8
  */
 void
 gtk_drag_source_set_icon_name (GtkWidget   *widget,
@@ -383,8 +369,6 @@ gtk_drag_source_set_icon_name (GtkWidget   *widget,
  * 
  * Sets the icon that will be used for drags from a particular source
  * to @icon. See the docs for #GtkIconTheme for more details.
- *
- * Since: 3.2
  */
 void
 gtk_drag_source_set_icon_gicon (GtkWidget *widget,
diff --git a/gtk/gtkdragsource.h b/gtk/gtkdragsource.h
index 29c0db9..80eded5 100644
--- a/gtk/gtkdragsource.h
+++ b/gtk/gtkdragsource.h
@@ -58,13 +58,13 @@ void           gtk_drag_source_add_image_targets (GtkWidget    *widget);
 GDK_AVAILABLE_IN_ALL
 void           gtk_drag_source_add_uri_targets   (GtkWidget    *widget);
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void gtk_drag_source_set_icon_surface (GtkWidget       *widget,
                                        cairo_surface_t *surface);
 GDK_AVAILABLE_IN_ALL
 void gtk_drag_source_set_icon_name    (GtkWidget       *widget,
                                       const gchar     *icon_name);
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 void gtk_drag_source_set_icon_gicon   (GtkWidget       *widget,
                                       GIcon           *icon);
 
diff --git a/gtk/gtkdrawingarea.c b/gtk/gtkdrawingarea.c
index 6e7ba54..a42db6c 100644
--- a/gtk/gtkdrawingarea.c
+++ b/gtk/gtkdrawingarea.c
@@ -276,8 +276,6 @@ gtk_drawing_area_class_init (GtkDrawingAreaClass *class)
    * GtkDrawingArea:content-width
    *
    * The content width. See gtk_drawing_area_set_content_width() for details.
-   *
-   * Since: 3.90
    */
   props[PROP_CONTENT_WIDTH] =
     g_param_spec_int ("content-width",
@@ -290,8 +288,6 @@ gtk_drawing_area_class_init (GtkDrawingAreaClass *class)
    * GtkDrawingArea:content-height
    *
    * The content height. See gtk_drawing_area_set_content_height() for details.
-   *
-   * Since: 3.90
    */
   props[PROP_CONTENT_HEIGHT] =
     g_param_spec_int ("content-height",
@@ -336,8 +332,6 @@ gtk_drawing_area_new (void)
  * that.
  *
  * If the width is set to 0 (the default), the drawing area may disappear.
- *
- * Since: 3.90
  **/
 void
 gtk_drawing_area_set_content_width (GtkDrawingArea *self,
@@ -364,8 +358,6 @@ gtk_drawing_area_set_content_width (GtkDrawingArea *self,
  * Retrieves the value previously set via gtk_drawing_area_set_content_width().
  *
  * Returns: The width requested for content of the drawing area
- *
- * Since: 3.90
  **/
 int
 gtk_drawing_area_get_content_width (GtkDrawingArea *self)
@@ -389,8 +381,6 @@ gtk_drawing_area_get_content_width (GtkDrawingArea *self)
  * that.
  *
  * If the height is set to 0 (the default), the drawing area may disappear.
- *
- * Since: 3.90
  **/
 void
 gtk_drawing_area_set_content_height (GtkDrawingArea *self,
@@ -417,8 +407,6 @@ gtk_drawing_area_set_content_height (GtkDrawingArea *self,
  * Retrieves the value previously set via gtk_drawing_area_set_content_height().
  *
  * Returns: The height requested for content of the drawing area
- *
- * Since: 3.90
  **/
 int
 gtk_drawing_area_get_content_height (GtkDrawingArea *self)
@@ -450,8 +438,6 @@ gtk_drawing_area_get_content_height (GtkDrawingArea *self)
  *
  * If what you are drawing does change, call gtk_widget_queue_draw() on the
  * drawing area. This will call a redraw and will call @draw_func again.
- *
- * Since: 3.90
  */
 void
 gtk_drawing_area_set_draw_func (GtkDrawingArea         *self,
diff --git a/gtk/gtkdrawingarea.h b/gtk/gtkdrawingarea.h
index 7d0ebb0..56e295c 100644
--- a/gtk/gtkdrawingarea.h
+++ b/gtk/gtkdrawingarea.h
@@ -59,8 +59,6 @@ typedef struct _GtkDrawingAreaClass  GtkDrawingAreaClass;
  *
  * This function should exclusively redraw the contents of the drawing area
  * and must not call any widget functions that cause changes.
- *
- * Since: 3.90
  */
 typedef void (* GtkDrawingAreaDrawFunc)  (GtkDrawingArea *drawing_area,
                                           cairo_t        *cr,
@@ -90,17 +88,17 @@ GType      gtk_drawing_area_get_type (void) G_GNUC_CONST;
 GDK_AVAILABLE_IN_ALL
 GtkWidget* gtk_drawing_area_new      (void);
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 void            gtk_drawing_area_set_content_width      (GtkDrawingArea         *self,
                                                          int                     width);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 int             gtk_drawing_area_get_content_width      (GtkDrawingArea         *self);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 void            gtk_drawing_area_set_content_height     (GtkDrawingArea         *self,
                                                          int                     height);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 int             gtk_drawing_area_get_content_height     (GtkDrawingArea         *self);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 void            gtk_drawing_area_set_draw_func          (GtkDrawingArea         *self,
                                                          GtkDrawingAreaDrawFunc  draw_func,
                                                          gpointer                user_data,
diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c
index f1bcf64..e469941 100644
--- a/gtk/gtkentry.c
+++ b/gtk/gtkentry.c
@@ -918,8 +918,6 @@ gtk_entry_class_init (GtkEntryClass *class)
    * The desired maximum width of the entry, in characters.
    * If this property is set to -1, the width will be calculated
    * automatically.
-   *
-   * Since: 3.12
    */
   entry_props[PROP_MAX_WIDTH_CHARS] =
       g_param_spec_int ("max-width-chars",
@@ -949,8 +947,6 @@ gtk_entry_class_init (GtkEntryClass *class)
    *
    * The horizontal alignment, from 0 (left) to 1 (right).
    * Reversed for RTL layouts.
-   *
-   * Since: 2.4
    */
   entry_props[PROP_XALIGN] =
       g_param_spec_float ("xalign",
@@ -964,8 +960,6 @@ gtk_entry_class_init (GtkEntryClass *class)
    * GtkEntry:truncate-multiline:
    *
    * When %TRUE, pasted multi-line text is truncated to the first line.
-   *
-   * Since: 2.10
    */
   entry_props[PROP_TRUNCATE_MULTILINE] =
       g_param_spec_boolean ("truncate-multiline",
@@ -978,8 +972,6 @@ gtk_entry_class_init (GtkEntryClass *class)
    * GtkEntry:overwrite-mode:
    *
    * If text is overwritten when typing in the #GtkEntry.
-   *
-   * Since: 2.14
    */
   entry_props[PROP_OVERWRITE_MODE] =
       g_param_spec_boolean ("overwrite-mode",
@@ -992,8 +984,6 @@ gtk_entry_class_init (GtkEntryClass *class)
    * GtkEntry:text-length:
    *
    * The length of the text in the #GtkEntry.
-   *
-   * Since: 2.14
    */
   entry_props[PROP_TEXT_LENGTH] =
       g_param_spec_uint ("text-length",
@@ -1007,8 +997,6 @@ gtk_entry_class_init (GtkEntryClass *class)
    * GtkEntry:invisible-char-set:
    *
    * Whether the invisible char has been set for the #GtkEntry.
-   *
-   * Since: 2.16
    */
   entry_props[PROP_INVISIBLE_CHAR_SET] =
       g_param_spec_boolean ("invisible-char-set",
@@ -1025,8 +1013,6 @@ gtk_entry_class_init (GtkEntryClass *class)
    * Note that the warning is shown using a secondary icon, and thus
    * does not work if you are using the secondary icon position for some
    * other purpose.
-   *
-   * Since: 2.16
    */
   entry_props[PROP_CAPS_LOCK_WARNING] =
       g_param_spec_boolean ("caps-lock-warning",
@@ -1039,8 +1025,6 @@ gtk_entry_class_init (GtkEntryClass *class)
    * GtkEntry:progress-fraction:
    *
    * The current fraction of the task that's been completed.
-   *
-   * Since: 2.16
    */
   entry_props[PROP_PROGRESS_FRACTION] =
       g_param_spec_double ("progress-fraction",
@@ -1055,8 +1039,6 @@ gtk_entry_class_init (GtkEntryClass *class)
    *
    * The fraction of total entry width to move the progress
    * bouncing block for each call to gtk_entry_progress_pulse().
-   *
-   * Since: 2.16
    */
   entry_props[PROP_PROGRESS_PULSE_STEP] =
       g_param_spec_double ("progress-pulse-step",
@@ -1071,8 +1053,6 @@ gtk_entry_class_init (GtkEntryClass *class)
   *
   * The text that will be displayed in the #GtkEntry when it is empty
   * and unfocused.
-  *
-  * Since: 3.2
   */
   entry_props[PROP_PLACEHOLDER_TEXT] =
       g_param_spec_string ("placeholder-text",
@@ -1085,8 +1065,6 @@ gtk_entry_class_init (GtkEntryClass *class)
    * GtkEntry:primary-icon-texture:
    *
    * A #GdkTexture to use as the primary icon for the entry.
-   *
-   * Since: 3.94
    */
   entry_props[PROP_TEXTURE_PRIMARY] =
       g_param_spec_object ("primary-icon-texture",
@@ -1099,8 +1077,6 @@ gtk_entry_class_init (GtkEntryClass *class)
    * GtkEntry:secondary-icon-texture:
    *
    * A #GtkTexture to use as the secondary icon for the entry.
-   *
-   * Since: 3.94
    */
   entry_props[PROP_TEXTURE_SECONDARY] =
       g_param_spec_object ("secondary-icon-texture",
@@ -1113,8 +1089,6 @@ gtk_entry_class_init (GtkEntryClass *class)
    * GtkEntry:primary-icon-name:
    *
    * The icon name to use for the primary icon for the entry.
-   *
-   * Since: 2.16
    */
   entry_props[PROP_ICON_NAME_PRIMARY] =
       g_param_spec_string ("primary-icon-name",
@@ -1127,8 +1101,6 @@ gtk_entry_class_init (GtkEntryClass *class)
    * GtkEntry:secondary-icon-name:
    *
    * The icon name to use for the secondary icon for the entry.
-   *
-   * Since: 2.16
    */
   entry_props[PROP_ICON_NAME_SECONDARY] =
       g_param_spec_string ("secondary-icon-name",
@@ -1141,8 +1113,6 @@ gtk_entry_class_init (GtkEntryClass *class)
    * GtkEntry:primary-icon-gicon:
    *
    * The #GIcon to use for the primary icon for the entry.
-   *
-   * Since: 2.16
    */
   entry_props[PROP_GICON_PRIMARY] =
       g_param_spec_object ("primary-icon-gicon",
@@ -1155,8 +1125,6 @@ gtk_entry_class_init (GtkEntryClass *class)
    * GtkEntry:secondary-icon-gicon:
    *
    * The #GIcon to use for the secondary icon for the entry.
-   *
-   * Since: 2.16
    */
   entry_props[PROP_GICON_SECONDARY] =
       g_param_spec_object ("secondary-icon-gicon",
@@ -1169,8 +1137,6 @@ gtk_entry_class_init (GtkEntryClass *class)
    * GtkEntry:primary-icon-storage-type:
    *
    * The representation which is used for the primary icon of the entry.
-   *
-   * Since: 2.16
    */
   entry_props[PROP_STORAGE_TYPE_PRIMARY] =
       g_param_spec_enum ("primary-icon-storage-type",
@@ -1184,8 +1150,6 @@ gtk_entry_class_init (GtkEntryClass *class)
    * GtkEntry:secondary-icon-storage-type:
    *
    * The representation which is used for the secondary icon of the entry.
-   *
-   * Since: 2.16
    */
   entry_props[PROP_STORAGE_TYPE_SECONDARY] =
       g_param_spec_enum ("secondary-icon-storage-type",
@@ -1205,8 +1169,6 @@ gtk_entry_class_init (GtkEntryClass *class)
    *
    * Sensitive, but non-activatable icons can be used for purely
    * informational purposes.
-   *
-   * Since: 2.16
    */
   entry_props[PROP_ACTIVATABLE_PRIMARY] =
       g_param_spec_boolean ("primary-icon-activatable",
@@ -1225,8 +1187,6 @@ gtk_entry_class_init (GtkEntryClass *class)
    *
    * Sensitive, but non-activatable icons can be used for purely
    * informational purposes.
-   *
-   * Since: 2.16
    */
   entry_props[PROP_ACTIVATABLE_SECONDARY] =
       g_param_spec_boolean ("secondary-icon-activatable",
@@ -1246,8 +1206,6 @@ gtk_entry_class_init (GtkEntryClass *class)
    *
    * An icon should be set insensitive if the action that would trigger
    * when clicked is currently not available.
-   *
-   * Since: 2.16
    */
   entry_props[PROP_SENSITIVE_PRIMARY] =
       g_param_spec_boolean ("primary-icon-sensitive",
@@ -1267,8 +1225,6 @@ gtk_entry_class_init (GtkEntryClass *class)
    *
    * An icon should be set insensitive if the action that would trigger
    * when clicked is currently not available.
-   *
-   * Since: 2.16
    */
   entry_props[PROP_SENSITIVE_SECONDARY] =
       g_param_spec_boolean ("secondary-icon-sensitive",
@@ -1283,8 +1239,6 @@ gtk_entry_class_init (GtkEntryClass *class)
    * The contents of the tooltip on the primary icon.
    *
    * Also see gtk_entry_set_icon_tooltip_text().
-   *
-   * Since: 2.16
    */
   entry_props[PROP_TOOLTIP_TEXT_PRIMARY] =
       g_param_spec_string ("primary-icon-tooltip-text",
@@ -1299,8 +1253,6 @@ gtk_entry_class_init (GtkEntryClass *class)
    * The contents of the tooltip on the secondary icon.
    *
    * Also see gtk_entry_set_icon_tooltip_text().
-   *
-   * Since: 2.16
    */
   entry_props[PROP_TOOLTIP_TEXT_SECONDARY] =
       g_param_spec_string ("secondary-icon-tooltip-text",
@@ -1316,8 +1268,6 @@ gtk_entry_class_init (GtkEntryClass *class)
    * with the [Pango text markup language][PangoMarkupFormat].
    *
    * Also see gtk_entry_set_icon_tooltip_markup().
-   *
-   * Since: 2.16
    */
   entry_props[PROP_TOOLTIP_MARKUP_PRIMARY] =
       g_param_spec_string ("primary-icon-tooltip-markup",
@@ -1333,8 +1283,6 @@ gtk_entry_class_init (GtkEntryClass *class)
    * with the [Pango text markup language][PangoMarkupFormat].
    *
    * Also see gtk_entry_set_icon_tooltip_markup().
-   *
-   * Since: 2.16
    */
   entry_props[PROP_TOOLTIP_MARKUP_SECONDARY] =
       g_param_spec_string ("secondary-icon-tooltip-markup",
@@ -1352,8 +1300,6 @@ gtk_entry_class_init (GtkEntryClass *class)
    * Setting this to a non-%NULL value overrides the
    * system-wide IM module setting. See the GtkSettings
    * #GtkSettings:gtk-im-module property.
-   *
-   * Since: 2.16
    */
   entry_props[PROP_IM_MODULE] =
       g_param_spec_string ("im-module",
@@ -1366,8 +1312,6 @@ gtk_entry_class_init (GtkEntryClass *class)
    * GtkEntry:completion:
    *
    * The auxiliary completion object to use with the entry.
-   *
-   * Since: 3.2
    */
   entry_props[PROP_COMPLETION] =
       g_param_spec_object ("completion",
@@ -1387,8 +1331,6 @@ gtk_entry_class_init (GtkEntryClass *class)
    * Note that setting the purpose to %GTK_INPUT_PURPOSE_PASSWORD or
    * %GTK_INPUT_PURPOSE_PIN is independent from setting
    * #GtkEntry:visibility.
-   *
-   * Since: 3.6
    */
   entry_props[PROP_INPUT_PURPOSE] =
       g_param_spec_enum ("input-purpose",
@@ -1403,8 +1345,6 @@ gtk_entry_class_init (GtkEntryClass *class)
    *
    * Additional hints (beyond #GtkEntry:input-purpose) that
    * allow input methods to fine-tune their behaviour.
-   *
-   * Since: 3.6
    */
   entry_props[PROP_INPUT_HINTS] =
       g_param_spec_flags ("input-hints",
@@ -1423,8 +1363,6 @@ gtk_entry_class_init (GtkEntryClass *class)
    *
    * The #PangoAttribute's @start_index and @end_index must refer to the
    * #GtkEntryBuffer text, i.e. without the preedit string.
-   *
-   * Since: 3.6
    */
   entry_props[PROP_ATTRIBUTES] =
       g_param_spec_boxed ("attributes",
@@ -1438,8 +1376,6 @@ gtk_entry_class_init (GtkEntryClass *class)
    *
    * If :populate-all is %TRUE, the #GtkEntry::populate-popup
    * signal is also emitted for touch popups.
-   *
-   * Since: 3.8
    */
   entry_props[PROP_POPULATE_ALL] =
       g_param_spec_boolean ("populate-all",
@@ -1452,8 +1388,6 @@ gtk_entry_class_init (GtkEntryClass *class)
    * GtkEntry::tabs:
    *
    * A list of tabstops to apply to the text of the entry.
-   *
-   * Since: 3.8
    */
   entry_props[PROP_TABS] =
       g_param_spec_boxed ("tabs",
@@ -1467,8 +1401,6 @@ gtk_entry_class_init (GtkEntryClass *class)
    *
    * When this is %TRUE, the entry will show an emoji icon in the secondary
    * icon position that brings up the Emoji chooser when clicked.
-   *
-   * Since: 3.22.19
    */
   entry_props[PROP_SHOW_EMOJI_ICON] =
       g_param_spec_boolean ("show-emoji-icon",
@@ -1729,8 +1661,6 @@ gtk_entry_class_init (GtkEntryClass *class)
    *
    * The ::icon-press signal is emitted when an activatable icon
    * is clicked.
-   *
-   * Since: 2.16
    */
   signals[ICON_PRESS] =
     g_signal_new (I_("icon-press"),
@@ -1751,8 +1681,6 @@ gtk_entry_class_init (GtkEntryClass *class)
    *
    * The ::icon-release signal is emitted on the button release from a
    * mouse click over an activatable icon.
-   *
-   * Since: 2.16
    */
   signals[ICON_RELEASE] =
     g_signal_new (I_("icon-release"),
@@ -1773,8 +1701,6 @@ gtk_entry_class_init (GtkEntryClass *class)
    * If an input method is used, the typed text will not immediately
    * be committed to the buffer. So if you are interested in the text,
    * connect to this signal.
-   *
-   * Since: 2.20
    */
   signals[PREEDIT_CHANGED] =
     g_signal_new_class_handler (I_("preedit-changed"),
@@ -1796,8 +1722,6 @@ gtk_entry_class_init (GtkEntryClass *class)
    * which gets emitted to present the Emoji chooser for the @entry.
    *
    * The default bindings for this signal are Ctrl-. and Ctrl-;
-   *
-   * Since: 3.22.27
    */
   signals[INSERT_EMOJI] =
     g_signal_new (I_("insert-emoji"),
@@ -4366,8 +4290,6 @@ gtk_entry_grab_focus (GtkWidget *widget)
  * You only want to call this on some special entries
  * which the user usually doesn't want to replace all text in,
  * such as search-as-you-type entries.
- *
- * Since: 3.16
  */
 void
 gtk_entry_grab_focus_without_selecting (GtkEntry *entry)
@@ -6043,8 +5965,6 @@ gtk_entry_handle_drag_finished (GtkTextHandle         *handle,
  *
  * This can be necessary in the case where modifying the buffer
  * would confuse on-going input method behavior.
- *
- * Since: 2.22
  */
 void
 gtk_entry_reset_im_context (GtkEntry *entry)
@@ -6077,8 +5997,6 @@ gtk_entry_reset_im_context (GtkEntry *entry)
  * See gtk_text_view_reset_im_context() for an example of use.
  *
  * Returns: %TRUE if the input method handled the key event.
- *
- * Since: 2.22
  */
 gboolean
 gtk_entry_im_context_filter_keypress (GtkEntry    *entry,
@@ -6752,8 +6670,6 @@ gtk_entry_new (void)
  * Creates a new entry with the specified text buffer.
  *
  * Returns: a new #GtkEntry
- *
- * Since: 2.18
  */
 GtkWidget*
 gtk_entry_new_with_buffer (GtkEntryBuffer *buffer)
@@ -6785,8 +6701,6 @@ get_buffer (GtkEntry *entry)
  * Get the #GtkEntryBuffer object which holds the text for
  * this widget.
  *
- * Since: 2.18
- *
  * Returns: (transfer none): A #GtkEntryBuffer object.
  */
 GtkEntryBuffer*
@@ -6804,8 +6718,6 @@ gtk_entry_get_buffer (GtkEntry *entry)
  *
  * Set the #GtkEntryBuffer object which holds the text for
  * this widget.
- *
- * Since: 2.18
  */
 void
 gtk_entry_set_buffer (GtkEntry       *entry,
@@ -7015,8 +6927,6 @@ gtk_entry_get_invisible_char (GtkEntry *entry)
  * Unsets the invisible char previously set with
  * gtk_entry_set_invisible_char(). So that the
  * default invisible char is used again.
- *
- * Since: 2.16
  **/
 void
 gtk_entry_unset_invisible_char (GtkEntry *entry)
@@ -7050,8 +6960,6 @@ gtk_entry_unset_invisible_char (GtkEntry *entry)
  * @overwrite: new value
  *
  * Sets whether the text is overwritten when typing in the #GtkEntry.
- *
- * Since: 2.14
  **/
 void
 gtk_entry_set_overwrite_mode (GtkEntry *entry,
@@ -7076,8 +6984,6 @@ gtk_entry_set_overwrite_mode (GtkEntry *entry,
  * Gets the value set by gtk_entry_set_overwrite_mode().
  *
  * Returns: whether the text is overwritten when typing.
- *
- * Since: 2.14
  **/
 gboolean
 gtk_entry_get_overwrite_mode (GtkEntry *entry)
@@ -7167,8 +7073,6 @@ gtk_entry_get_max_length (GtkEntry *entry)
  *
  * Returns: the current number of characters
  *               in #GtkEntry, or 0 if there are none.
- *
- * Since: 2.14
  **/
 guint16
 gtk_entry_get_text_length (GtkEntry *entry)
@@ -7278,8 +7182,6 @@ gtk_entry_get_width_chars (GtkEntry *entry)
  * @n_chars: the new desired maximum width, in characters
  *
  * Sets the desired maximum width in characters of @entry.
- *
- * Since: 3.12
  */
 void
 gtk_entry_set_max_width_chars (GtkEntry *entry,
@@ -7307,8 +7209,6 @@ gtk_entry_set_max_width_chars (GtkEntry *entry,
  * See gtk_entry_set_max_width_chars().
  *
  * Returns: the maximum width of the entry, in characters
- *
- * Since: 3.12
  */
 gint
 gtk_entry_get_max_width_chars (GtkEntry *entry)
@@ -7518,8 +7418,6 @@ gtk_entry_get_layout_offsets (GtkEntry *entry,
  * Sets the alignment for the contents of the entry. This controls
  * the horizontal positioning of the contents when the displayed
  * text is shorter than the width of the entry.
- *
- * Since: 2.4
  **/
 void
 gtk_entry_set_alignment (GtkEntry *entry, gfloat xalign)
@@ -7550,8 +7448,6 @@ gtk_entry_set_alignment (GtkEntry *entry, gfloat xalign)
  * Gets the value set by gtk_entry_set_alignment().
  *
  * Returns: the alignment
- *
- * Since: 2.4
  **/
 gfloat
 gtk_entry_get_alignment (GtkEntry *entry)
@@ -7570,8 +7466,6 @@ gtk_entry_get_alignment (GtkEntry *entry)
  * Sets the icon shown in the specified position using a #GdkTexture
  *
  * If @texture is %NULL, no icon will be shown in the specified position.
- *
- * Since: 3.94
  */
 void
 gtk_entry_set_icon_from_texture (GtkEntry             *entry,
@@ -7632,8 +7526,6 @@ gtk_entry_set_icon_from_texture (GtkEntry             *entry,
  * instead.
  *
  * If @icon_name is %NULL, no icon will be shown in the specified position.
- *
- * Since: 2.16
  */
 void
 gtk_entry_set_icon_from_icon_name (GtkEntry             *entry,
@@ -7690,8 +7582,6 @@ gtk_entry_set_icon_from_icon_name (GtkEntry             *entry,
  * instead.
  *
  * If @icon is %NULL, no icon will be shown in the specified position.
- *
- * Since: 2.16
  */
 void
 gtk_entry_set_icon_from_gicon (GtkEntry             *entry,
@@ -7742,8 +7632,6 @@ gtk_entry_set_icon_from_gicon (GtkEntry             *entry,
  * @activatable: %TRUE if the icon should be activatable
  *
  * Sets whether the icon is activatable.
- *
- * Since: 2.16
  */
 void
 gtk_entry_set_icon_activatable (GtkEntry             *entry,
@@ -7785,8 +7673,6 @@ gtk_entry_set_icon_activatable (GtkEntry             *entry,
  * Returns whether the icon is activatable.
  *
  * Returns: %TRUE if the icon is activatable.
- *
- * Since: 2.16
  */
 gboolean
 gtk_entry_get_icon_activatable (GtkEntry             *entry,
@@ -7815,8 +7701,6 @@ gtk_entry_get_icon_activatable (GtkEntry             *entry,
  *
  * Returns: (transfer none) (nullable): A #GdkTexture, or %NULL if no icon is
  *     set for this position or the icon set is not a #GdkTexture.
- *
- * Since: 3.94
  */
 GdkTexture *
 gtk_entry_get_icon_texture (GtkEntry             *entry,
@@ -7849,8 +7733,6 @@ gtk_entry_get_icon_texture (GtkEntry             *entry,
  *
  * Returns: (transfer none) (nullable): A #GIcon, or %NULL if no icon is set
  *     or if the icon is not a #GIcon
- *
- * Since: 2.16
  */
 GIcon *
 gtk_entry_get_icon_gicon (GtkEntry             *entry,
@@ -7882,8 +7764,6 @@ gtk_entry_get_icon_gicon (GtkEntry             *entry,
  *
  * Returns: (nullable): An icon name, or %NULL if no icon is set or if the icon
  *          wasn’t set from an icon name
- *
- * Since: 2.16
  */
 const gchar *
 gtk_entry_get_icon_name (GtkEntry             *entry,
@@ -7912,8 +7792,6 @@ gtk_entry_get_icon_name (GtkEntry             *entry,
  *             sensitive or insensitive
  *
  * Sets the sensitivity for the specified icon.
- *
- * Since: 2.16
  */
 void
 gtk_entry_set_icon_sensitive (GtkEntry             *entry,
@@ -7955,8 +7833,6 @@ gtk_entry_set_icon_sensitive (GtkEntry             *entry,
  * Returns whether the icon appears sensitive or insensitive.
  *
  * Returns: %TRUE if the icon is sensitive.
- *
- * Since: 2.16
  */
 gboolean
 gtk_entry_get_icon_sensitive (GtkEntry             *entry,
@@ -7988,8 +7864,6 @@ gtk_entry_get_icon_sensitive (GtkEntry             *entry,
  * the return value will be %GTK_IMAGE_EMPTY.
  *
  * Returns: image representation being used
- *
- * Since: 2.16
  **/
 GtkImageType
 gtk_entry_get_icon_storage_type (GtkEntry             *entry,
@@ -8024,8 +7898,6 @@ gtk_entry_get_icon_storage_type (GtkEntry             *entry,
  * signal handler.
  *
  * Returns: the index of the icon at the given position, or -1
- *
- * Since: 2.16
  */
 gint
 gtk_entry_get_icon_at_pos (GtkEntry *entry,
@@ -8075,8 +7947,6 @@ gtk_entry_get_icon_at_pos (GtkEntry *entry,
  * #GtkWidget::drag-begin signal to set a different icon. Note that you 
  * have to use g_signal_connect_after() to ensure that your signal handler
  * gets executed after the default handler.
- *
- * Since: 2.16
  */
 void
 gtk_entry_set_icon_drag_source (GtkEntry             *entry,
@@ -8116,8 +7986,6 @@ gtk_entry_set_icon_drag_source (GtkEntry             *entry,
  *
  * Returns: index of the icon which is the source of the current
  *          DND operation, or -1.
- *
- * Since: 2.16
  */
 gint
 gtk_entry_get_current_icon_drag_source (GtkEntry *entry)
@@ -8157,8 +8025,6 @@ gtk_entry_get_current_icon_drag_source (GtkEntry *entry)
  * with the icon's allocation, relative to @entry's allocation.
  *
  * See also gtk_entry_get_text_area()
- *
- * Since: 3.0
  */
 void
 gtk_entry_get_icon_area (GtkEntry             *entry,
@@ -8228,8 +8094,6 @@ ensure_has_tooltip (GtkEntry *entry)
  * 
  * Returns: (nullable): the tooltip text, or %NULL. Free the returned
  *     string with g_free() when done.
- * 
- * Since: 2.16
  */
 gchar *
 gtk_entry_get_icon_tooltip_text (GtkEntry             *entry,
@@ -8275,8 +8139,6 @@ gtk_entry_get_icon_tooltip_text (GtkEntry             *entry,
  * which suppresses icon tooltips too. You can resolve this by then calling
  * gtk_widget_set_has_tooltip() to set GtkWidget:has-tooltip back to %TRUE, or
  * setting at least one non-empty tooltip on any icon achieves the same result.
- *
- * Since: 2.16
  */
 void
 gtk_entry_set_icon_tooltip_text (GtkEntry             *entry,
@@ -8322,8 +8184,6 @@ gtk_entry_set_icon_tooltip_text (GtkEntry             *entry,
  * 
  * Returns: (nullable): the tooltip text, or %NULL. Free the returned
  *     string with g_free() when done.
- * 
- * Since: 2.16
  */
 gchar *
 gtk_entry_get_icon_tooltip_markup (GtkEntry             *entry,
@@ -8359,8 +8219,6 @@ gtk_entry_get_icon_tooltip_markup (GtkEntry             *entry,
  *
  * See also gtk_widget_set_tooltip_markup() and 
  * gtk_entry_set_icon_tooltip_text().
- *
- * Since: 2.16
  */
 void
 gtk_entry_set_icon_tooltip_markup (GtkEntry             *entry,
@@ -9305,8 +9163,6 @@ gtk_entry_reset_blink_time (GtkEntry *entry)
  * All further configuration of the completion mechanism is done on
  * @completion using the #GtkEntryCompletion API. Completion is disabled if
  * @completion is set to %NULL.
- *
- * Since: 2.4
  */
 void
 gtk_entry_set_completion (GtkEntry           *entry,
@@ -9352,8 +9208,6 @@ gtk_entry_set_completion (GtkEntry           *entry,
  *
  * Returns: (transfer none): The auxiliary completion object currently
  *     in use by @entry.
- *
- * Since: 2.4
  */
 GtkEntryCompletion *
 gtk_entry_get_completion (GtkEntry *entry)
@@ -9380,8 +9234,6 @@ gtk_entry_get_completion (GtkEntry *entry)
  *
  * The adjustment has to be in pixel units and in the same coordinate system 
  * as the entry. 
- * 
- * Since: 2.12
  */
 void
 gtk_entry_set_cursor_hadjustment (GtkEntry      *entry,
@@ -9409,8 +9261,6 @@ gtk_entry_set_cursor_hadjustment (GtkEntry      *entry,
  *
  * Returns: (transfer none) (nullable): the horizontal cursor adjustment, or %NULL
  *   if none has been set.
- *
- * Since: 2.12
  */
 GtkAdjustment*
 gtk_entry_get_cursor_hadjustment (GtkEntry *entry)
@@ -9445,8 +9295,6 @@ gtk_entry_ensure_progress_widget (GtkEntry *entry)
  * Causes the entry’s progress indicator to “fill in” the given
  * fraction of the bar. The fraction should be between 0.0 and 1.0,
  * inclusive.
- *
- * Since: 2.16
  */
 void
 gtk_entry_set_progress_fraction (GtkEntry *entry,
@@ -9480,8 +9328,6 @@ gtk_entry_set_progress_fraction (GtkEntry *entry,
  * See gtk_entry_set_progress_fraction().
  *
  * Returns: a fraction from 0.0 to 1.0
- *
- * Since: 2.16
  */
 gdouble
 gtk_entry_get_progress_fraction (GtkEntry *entry)
@@ -9503,8 +9349,6 @@ gtk_entry_get_progress_fraction (GtkEntry *entry)
  *
  * Sets the fraction of total entry width to move the progress
  * bouncing block for each call to gtk_entry_progress_pulse().
- *
- * Since: 2.16
  */
 void
 gtk_entry_set_progress_pulse_step (GtkEntry *entry,
@@ -9532,8 +9376,6 @@ gtk_entry_set_progress_pulse_step (GtkEntry *entry,
  * Retrieves the pulse step set with gtk_entry_set_progress_pulse_step().
  *
  * Returns: a fraction from 0.0 to 1.0
- *
- * Since: 2.16
  */
 gdouble
 gtk_entry_get_progress_pulse_step (GtkEntry *entry)
@@ -9558,8 +9400,6 @@ gtk_entry_get_progress_pulse_step (GtkEntry *entry)
  * gtk_entry_progress_pulse() causes the block to move by a little bit
  * (the amount of movement per pulse is determined by
  * gtk_entry_set_progress_pulse_step()).
- *
- * Since: 2.16
  */
 void
 gtk_entry_progress_pulse (GtkEntry *entry)
@@ -9586,8 +9426,6 @@ gtk_entry_progress_pulse (GtkEntry *entry)
  * is given the initial focus in a window. Sometimes this can be
  * worked around by delaying the initial focus setting until the
  * first key event arrives.
- *
- * Since: 3.2
  **/
 void
 gtk_entry_set_placeholder_text (GtkEntry    *entry,
@@ -9618,8 +9456,6 @@ gtk_entry_set_placeholder_text (GtkEntry    *entry,
  *
  * Returns: a pointer to the placeholder text as a string. This string points to internally allocated
  * storage in the widget and must not be freed, modified or stored.
- *
- * Since: 3.2
  **/
 const gchar *
 gtk_entry_get_placeholder_text (GtkEntry *entry)
@@ -9695,8 +9531,6 @@ keymap_state_changed (GdkKeymap *keymap,
  * Sets the #GtkEntry:input-purpose property which
  * can be used by on-screen keyboards and other input
  * methods to adjust their behaviour.
- *
- * Since: 3.6
  */
 void
 gtk_entry_set_input_purpose (GtkEntry        *entry,
@@ -9720,8 +9554,6 @@ gtk_entry_set_input_purpose (GtkEntry        *entry,
  * @entry: a #GtkEntry
  *
  * Gets the value of the #GtkEntry:input-purpose property.
- *
- * Since: 3.6
  */
 GtkInputPurpose
 gtk_entry_get_input_purpose (GtkEntry *entry)
@@ -9744,8 +9576,6 @@ gtk_entry_get_input_purpose (GtkEntry *entry)
  *
  * Sets the #GtkEntry:input-hints property, which
  * allows input methods to fine-tune their behaviour.
- *
- * Since: 3.6
  */
 void
 gtk_entry_set_input_hints (GtkEntry      *entry,
@@ -9769,8 +9599,6 @@ gtk_entry_set_input_hints (GtkEntry      *entry,
  * @entry: a #GtkEntry
  *
  * Gets the value of the #GtkEntry:input-hints property.
- *
- * Since: 3.6
  */
 GtkInputHints
 gtk_entry_get_input_hints (GtkEntry *entry)
@@ -9793,8 +9621,6 @@ gtk_entry_get_input_hints (GtkEntry *entry)
  *
  * Sets a #PangoAttrList; the attributes in the list are applied to the
  * entry text.
- *
- * Since: 3.6
  */
 void
 gtk_entry_set_attributes (GtkEntry      *entry,
@@ -9825,8 +9651,6 @@ gtk_entry_set_attributes (GtkEntry      *entry,
  *
  * Returns: (transfer none) (nullable): the attribute list, or %NULL
  *     if none was set.
- *
- * Since: 3.6
  */
 PangoAttrList *
 gtk_entry_get_attributes (GtkEntry *entry)
@@ -9843,8 +9667,6 @@ gtk_entry_get_attributes (GtkEntry *entry)
  *
  * Sets a #PangoTabArray; the tabstops in the array are applied to the entry
  * text.
- *
- * Since: 3.10
  */
 
 void
@@ -9877,8 +9699,6 @@ gtk_entry_set_tabs (GtkEntry      *entry,
  * any.
  *
  * Returns: (nullable) (transfer none): the tabstops, or %NULL if none was set.
- *
- * Since: 3.10
  */
 
 PangoTabArray *
diff --git a/gtk/gtkentry.h b/gtk/gtkentry.h
index 256140d..a43f704 100644
--- a/gtk/gtkentry.h
+++ b/gtk/gtkentry.h
@@ -58,8 +58,6 @@ G_BEGIN_DECLS
  * @GTK_ENTRY_ICON_SECONDARY: At the end of the entry (depending on the text direction).
  *
  * Specifies the side of the entry at which an icon is placed.
- *
- * Since: 2.16
  */
 typedef enum
 {
@@ -212,10 +210,10 @@ void       gtk_entry_set_width_chars            (GtkEntry      *entry,
 GDK_AVAILABLE_IN_ALL
 gint       gtk_entry_get_width_chars            (GtkEntry      *entry);
 
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 void       gtk_entry_set_max_width_chars        (GtkEntry      *entry,
                                                  gint           n_chars);
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 gint       gtk_entry_get_max_width_chars        (GtkEntry      *entry);
 
 /* Somewhat more convenient than the GtkEditable generic functions
@@ -276,14 +274,14 @@ gdouble        gtk_entry_get_progress_pulse_step (GtkEntry     *entry);
 
 GDK_AVAILABLE_IN_ALL
 void           gtk_entry_progress_pulse          (GtkEntry     *entry);
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 const gchar*   gtk_entry_get_placeholder_text    (GtkEntry             *entry);
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 void           gtk_entry_set_placeholder_text    (GtkEntry             *entry,
                                                   const gchar          *text);
 /* Setting and managing icons
  */
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void           gtk_entry_set_icon_from_texture           (GtkEntry             *entry,
                                                          GtkEntryIconPosition  icon_pos,
                                                          GdkTexture           *texture);
@@ -298,7 +296,7 @@ void           gtk_entry_set_icon_from_gicon             (GtkEntry             *
 GDK_AVAILABLE_IN_ALL
 GtkImageType   gtk_entry_get_icon_storage_type           (GtkEntry             *entry,
                                                          GtkEntryIconPosition  icon_pos);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GdkTexture *   gtk_entry_get_icon_texture                (GtkEntry             *entry,
                                                          GtkEntryIconPosition  icon_pos);
 GDK_AVAILABLE_IN_ALL
@@ -357,32 +355,32 @@ gboolean    gtk_entry_im_context_filter_keypress         (GtkEntry             *
 GDK_AVAILABLE_IN_ALL
 void        gtk_entry_reset_im_context                   (GtkEntry             *entry);
 
-GDK_AVAILABLE_IN_3_6
+GDK_AVAILABLE_IN_ALL
 void            gtk_entry_set_input_purpose                  (GtkEntry             *entry,
                                                               GtkInputPurpose       purpose);
-GDK_AVAILABLE_IN_3_6
+GDK_AVAILABLE_IN_ALL
 GtkInputPurpose gtk_entry_get_input_purpose                  (GtkEntry             *entry);
 
-GDK_AVAILABLE_IN_3_6
+GDK_AVAILABLE_IN_ALL
 void            gtk_entry_set_input_hints                    (GtkEntry             *entry,
                                                               GtkInputHints         hints);
-GDK_AVAILABLE_IN_3_6
+GDK_AVAILABLE_IN_ALL
 GtkInputHints   gtk_entry_get_input_hints                    (GtkEntry             *entry);
 
-GDK_AVAILABLE_IN_3_6
+GDK_AVAILABLE_IN_ALL
 void            gtk_entry_set_attributes                     (GtkEntry             *entry,
                                                               PangoAttrList        *attrs);
-GDK_AVAILABLE_IN_3_6
+GDK_AVAILABLE_IN_ALL
 PangoAttrList  *gtk_entry_get_attributes                     (GtkEntry             *entry);
 
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void            gtk_entry_set_tabs                           (GtkEntry             *entry,
                                                               PangoTabArray        *tabs);
 
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 PangoTabArray  *gtk_entry_get_tabs                           (GtkEntry             *entry);
 
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 void           gtk_entry_grab_focus_without_selecting        (GtkEntry             *entry);
 
 G_END_DECLS
diff --git a/gtk/gtkentrybuffer.c b/gtk/gtkentrybuffer.c
index 9c36a55..afb3be9 100644
--- a/gtk/gtkentrybuffer.c
+++ b/gtk/gtkentrybuffer.c
@@ -43,8 +43,6 @@
  * text to be stored in an alternate location, such as non-pageable memory,
  * useful in the case of important passwords. Or a derived class could 
  * integrate with an application’s concept of undo/redo.
- *
- * Since: 2.18
  */
 
 /* Initial size of buffer, in bytes */
@@ -342,8 +340,6 @@ gtk_entry_buffer_class_init (GtkEntryBufferClass *klass)
    * GtkEntryBuffer:text:
    *
    * The contents of the buffer.
-   *
-   * Since: 2.18
    */
   entry_buffer_props[PROP_TEXT] =
       g_param_spec_string ("text",
@@ -356,8 +352,6 @@ gtk_entry_buffer_class_init (GtkEntryBufferClass *klass)
    * GtkEntryBuffer:length:
    *
    * The length (in characters) of the text in buffer.
-   *
-   * Since: 2.18
    */
    entry_buffer_props[PROP_LENGTH] =
        g_param_spec_uint ("length",
@@ -370,8 +364,6 @@ gtk_entry_buffer_class_init (GtkEntryBufferClass *klass)
    * GtkEntryBuffer:max-length:
    *
    * The maximum length (in characters) of the text in the buffer.
-   *
-   * Since: 2.18
    */
   entry_buffer_props[PROP_MAX_LENGTH] =
       g_param_spec_int ("max-length",
@@ -390,8 +382,6 @@ gtk_entry_buffer_class_init (GtkEntryBufferClass *klass)
    * @n_chars: The number of characters that were inserted.
    *
    * This signal is emitted after text is inserted into the buffer.
-   *
-   * Since: 2.18
    */
   signals[INSERTED_TEXT] = g_signal_new (I_("inserted-text"),
                                          GTK_TYPE_ENTRY_BUFFER,
@@ -411,8 +401,6 @@ gtk_entry_buffer_class_init (GtkEntryBufferClass *klass)
    * @n_chars: The number of characters that were deleted.
    *
    * This signal is emitted after text is deleted from the buffer.
-   *
-   * Since: 2.18
    */
   signals[DELETED_TEXT] =  g_signal_new (I_("deleted-text"),
                                          GTK_TYPE_ENTRY_BUFFER,
@@ -439,8 +427,6 @@ gtk_entry_buffer_class_init (GtkEntryBufferClass *klass)
  * Optionally, specify initial text to set in the buffer.
  *
  * Returns: A new GtkEntryBuffer object.
- *
- * Since: 2.18
  **/
 GtkEntryBuffer*
 gtk_entry_buffer_new (const gchar *initial_chars,
@@ -459,8 +445,6 @@ gtk_entry_buffer_new (const gchar *initial_chars,
  * Retrieves the length in characters of the buffer.
  *
  * Returns: The number of characters in the buffer.
- *
- * Since: 2.18
  **/
 guint
 gtk_entry_buffer_get_length (GtkEntryBuffer *buffer)
@@ -483,8 +467,6 @@ gtk_entry_buffer_get_length (GtkEntryBuffer *buffer)
  * See gtk_entry_buffer_get_length().
  *
  * Returns: The byte length of the buffer.
- *
- * Since: 2.18
  **/
 gsize
 gtk_entry_buffer_get_bytes (GtkEntryBuffer *buffer)
@@ -514,8 +496,6 @@ gtk_entry_buffer_get_bytes (GtkEntryBuffer *buffer)
  *      string. This string points to internally allocated
  *      storage in the buffer and must not be freed, modified or
  *      stored.
- *
- * Since: 2.18
  **/
 const gchar*
 gtk_entry_buffer_get_text (GtkEntryBuffer *buffer)
@@ -542,8 +522,6 @@ gtk_entry_buffer_get_text (GtkEntryBuffer *buffer)
  * and gtk_entry_buffer_insert_text().
  *
  * Note that @n_chars is in characters, not in bytes.
- *
- * Since: 2.18
  **/
 void
 gtk_entry_buffer_set_text (GtkEntryBuffer *buffer,
@@ -569,8 +547,6 @@ gtk_entry_buffer_set_text (GtkEntryBuffer *buffer,
  * Sets the maximum allowed length of the contents of the buffer. If
  * the current contents are longer than the given length, then they
  * will be truncated to fit.
- *
- * Since: 2.18
  **/
 void
 gtk_entry_buffer_set_max_length (GtkEntryBuffer *buffer,
@@ -599,8 +575,6 @@ gtk_entry_buffer_set_max_length (GtkEntryBuffer *buffer,
  *
  * Returns: the maximum allowed number of characters
  *               in #GtkEntryBuffer, or 0 if there is no maximum.
- *
- * Since: 2.18
  */
 gint
 gtk_entry_buffer_get_max_length (GtkEntryBuffer *buffer)
@@ -627,8 +601,6 @@ gtk_entry_buffer_get_max_length (GtkEntryBuffer *buffer)
  * Note that the position and length are in characters, not in bytes.
  *
  * Returns: The number of characters actually inserted.
- *
- * Since: 2.18
  */
 guint
 gtk_entry_buffer_insert_text (GtkEntryBuffer *buffer,
@@ -686,8 +658,6 @@ gtk_entry_buffer_insert_text (GtkEntryBuffer *buffer,
  * Note that the positions are specified in characters, not bytes.
  *
  * Returns: The number of characters deleted.
- *
- * Since: 2.18
  */
 guint
 gtk_entry_buffer_delete_text (GtkEntryBuffer *buffer,
@@ -721,8 +691,6 @@ gtk_entry_buffer_delete_text (GtkEntryBuffer *buffer,
  * @n_chars: number of characters inserted
  *
  * Used when subclassing #GtkEntryBuffer
- *
- * Since: 2.18
  */
 void
 gtk_entry_buffer_emit_inserted_text (GtkEntryBuffer *buffer,
@@ -741,8 +709,6 @@ gtk_entry_buffer_emit_inserted_text (GtkEntryBuffer *buffer,
  * @n_chars: number of characters deleted
  *
  * Used when subclassing #GtkEntryBuffer
- *
- * Since: 2.18
  */
 void
 gtk_entry_buffer_emit_deleted_text (GtkEntryBuffer *buffer,
diff --git a/gtk/gtkentrycompletion.c b/gtk/gtkentrycompletion.c
index ebb2fb1..32d564b 100644
--- a/gtk/gtkentrycompletion.c
+++ b/gtk/gtkentrycompletion.c
@@ -227,8 +227,6 @@ gtk_entry_completion_class_init (GtkEntryCompletionClass *klass)
    * next '/'.
    *
    * Returns: %TRUE if the signal has been handled
-   *
-   * Since: 2.6
    */
   entry_completion_signals[INSERT_PREFIX] =
     g_signal_new (I_("insert-prefix"),
@@ -255,8 +253,6 @@ gtk_entry_completion_class_init (GtkEntryCompletionClass *klass)
    * gtk_entry_completion_set_model().
    *
    * Returns: %TRUE if the signal has been handled
-   *
-   * Since: 2.4
    */
   entry_completion_signals[MATCH_SELECTED] =
     g_signal_new (I_("match-selected"),
@@ -284,8 +280,6 @@ gtk_entry_completion_class_init (GtkEntryCompletionClass *klass)
    * gtk_entry_completion_set_model().
    *
    * Returns: %TRUE if the signal has been handled
-   *
-   * Since: 2.12
    */
   entry_completion_signals[CURSOR_ON_MATCH] =
     g_signal_new (I_("cursor-on-match"),
@@ -306,8 +300,6 @@ gtk_entry_completion_class_init (GtkEntryCompletionClass *klass)
    * number of rows in completion_complete method.
    * (In other words when GtkEntryCompletion is out of
    *  suggestions)
-   *
-   * Since: 3.14
    */
   entry_completion_signals[NO_MATCHES] =
     g_signal_new (I_("no-matches"),
@@ -324,8 +316,6 @@ gtk_entry_completion_class_init (GtkEntryCompletionClass *klass)
    * @index: the index of the activated action
    *
    * Gets emitted when an action is activated.
-   *
-   * Since: 2.4
    */
   entry_completion_signals[ACTION_ACTIVATED] =
     g_signal_new (I_("action-activated"),
@@ -356,8 +346,6 @@ gtk_entry_completion_class_init (GtkEntryCompletionClass *klass)
    *
    * The column of the model containing the strings.
    * Note that the strings must be UTF-8.
-   *
-   * Since: 2.6
    */
   entry_completion_props[PROP_TEXT_COLUMN] =
     g_param_spec_int ("text-column",
@@ -373,8 +361,6 @@ gtk_entry_completion_class_init (GtkEntryCompletionClass *klass)
    * should be inserted automatically in the entry. Note that this
    * requires text-column to be set, even if you are using a custom
    * match function.
-   *
-   * Since: 2.6
    **/
   entry_completion_props[PROP_INLINE_COMPLETION] =
       g_param_spec_boolean ("inline-completion",
@@ -388,8 +374,6 @@ gtk_entry_completion_class_init (GtkEntryCompletionClass *klass)
    *
    * Determines whether the possible completions should be
    * shown in a popup window.
-   *
-   * Since: 2.6
    **/
   entry_completion_props[PROP_POPUP_COMPLETION] =
       g_param_spec_boolean ("popup-completion",
@@ -403,8 +387,6 @@ gtk_entry_completion_class_init (GtkEntryCompletionClass *klass)
    *
    * Determines whether the completions popup window will be
    * resized to the width of the entry.
-   *
-   * Since: 2.8
    */
   entry_completion_props[PROP_POPUP_SET_WIDTH] =
       g_param_spec_boolean ("popup-set-width",
@@ -420,8 +402,6 @@ gtk_entry_completion_class_init (GtkEntryCompletionClass *klass)
    * for a single possible completion. You probably want to set
    * this to %FALSE if you are using
    * [inline completion][GtkEntryCompletion--inline-completion].
-   *
-   * Since: 2.8
    */
   entry_completion_props[PROP_POPUP_SINGLE_MATCH] =
       g_param_spec_boolean ("popup-single-match",
@@ -435,8 +415,6 @@ gtk_entry_completion_class_init (GtkEntryCompletionClass *klass)
    *
    * Determines whether the possible completions on the popup
    * will appear in the entry as you navigate through them.
-   *
-   * Since: 2.12
    */
   entry_completion_props[PROP_INLINE_SELECTION] =
       g_param_spec_boolean ("inline-selection",
@@ -453,8 +431,6 @@ gtk_entry_completion_class_init (GtkEntryCompletionClass *klass)
    * If no area is specified when creating the entry completion with
    * gtk_entry_completion_new_with_area() a horizontally oriented
    * #GtkCellAreaBox will be used.
-   *
-   * Since: 3.0
    */
   entry_completion_props[PROP_CELL_AREA] =
       g_param_spec_object ("cell-area",
@@ -1017,8 +993,6 @@ gtk_entry_completion_selection_changed (GtkTreeSelection *selection,
  * Creates a new #GtkEntryCompletion object.
  *
  * Returns: A newly created #GtkEntryCompletion object
- *
- * Since: 2.4
  */
 GtkEntryCompletion *
 gtk_entry_completion_new (void)
@@ -1039,8 +1013,6 @@ gtk_entry_completion_new (void)
  * #GtkTreeViewColumn for the drop-down menu.
  *
  * Returns: A newly created #GtkEntryCompletion object
- *
- * Since: 3.0
  */
 GtkEntryCompletion *
 gtk_entry_completion_new_with_area (GtkCellArea *area)
@@ -1059,8 +1031,6 @@ gtk_entry_completion_new_with_area (GtkCellArea *area)
  * Gets the entry @completion has been attached to.
  *
  * Returns: (transfer none): The entry @completion has been attached to
- *
- * Since: 2.4
  */
 GtkWidget *
 gtk_entry_completion_get_entry (GtkEntryCompletion *completion)
@@ -1078,8 +1048,6 @@ gtk_entry_completion_get_entry (GtkEntryCompletion *completion)
  * Sets the model for a #GtkEntryCompletion. If @completion already has
  * a model set, it will remove it before setting the new model.
  * If model is %NULL, then it will unset the model.
- *
- * Since: 2.4
  */
 void
 gtk_entry_completion_set_model (GtkEntryCompletion *completion,
@@ -1124,8 +1092,6 @@ gtk_entry_completion_set_model (GtkEntryCompletion *completion,
  *
  * Returns: (nullable) (transfer none): A #GtkTreeModel, or %NULL if none
  *     is currently being used
- *
- * Since: 2.4
  */
 GtkTreeModel *
 gtk_entry_completion_get_model (GtkEntryCompletion *completion)
@@ -1148,8 +1114,6 @@ gtk_entry_completion_get_model (GtkEntryCompletion *completion)
  * Sets the match function for @completion to be @func. The match function
  * is used to determine if a row should or should not be in the completion
  * list.
- *
- * Since: 2.4
  */
 void
 gtk_entry_completion_set_match_func (GtkEntryCompletion          *completion,
@@ -1176,8 +1140,6 @@ gtk_entry_completion_set_match_func (GtkEntryCompletion          *completion,
  * @length. This is useful for long lists, where completing using a small
  * key takes a lot of time and will come up with meaningless results anyway
  * (ie, a too large dataset).
- *
- * Since: 2.4
  */
 void
 gtk_entry_completion_set_minimum_key_length (GtkEntryCompletion *completion,
@@ -1202,8 +1164,6 @@ gtk_entry_completion_set_minimum_key_length (GtkEntryCompletion *completion,
  * Returns the minimum key length as set for @completion.
  *
  * Returns: The currently used minimum key length
- *
- * Since: 2.4
  */
 gint
 gtk_entry_completion_get_minimum_key_length (GtkEntryCompletion *completion)
@@ -1220,8 +1180,6 @@ gtk_entry_completion_get_minimum_key_length (GtkEntryCompletion *completion)
  * Requests a completion operation, or in other words a refiltering of the
  * current list with completions, using the current key. The completion list
  * view will be updated accordingly.
- *
- * Since: 2.4
  */
 void
 gtk_entry_completion_complete (GtkEntryCompletion *completion)
@@ -1291,8 +1249,6 @@ gtk_entry_completion_insert_action (GtkEntryCompletion *completion,
  *
  * Note that @index_ is a relative position in the list of actions and
  * the position of an action can change when deleting a different action.
- *
- * Since: 2.4
  */
 void
 gtk_entry_completion_insert_action_text (GtkEntryCompletion *completion,
@@ -1313,8 +1269,6 @@ gtk_entry_completion_insert_action_text (GtkEntryCompletion *completion,
  *
  * Inserts an action in @completion’s action item list at position @index_
  * with markup @markup.
- *
- * Since: 2.4
  */
 void
 gtk_entry_completion_insert_action_markup (GtkEntryCompletion *completion,
@@ -1336,8 +1290,6 @@ gtk_entry_completion_insert_action_markup (GtkEntryCompletion *completion,
  *
  * Note that @index_ is a relative position and the position of an
  * action may have changed since it was inserted.
- *
- * Since: 2.4
  */
 void
 gtk_entry_completion_delete_action (GtkEntryCompletion *completion,
@@ -1367,8 +1319,6 @@ gtk_entry_completion_delete_action (GtkEntryCompletion *completion,
  * column. If you need to set the text column, but don't want the cell
  * renderer, use g_object_set() to set the #GtkEntryCompletion:text-column
  * property directly.
- *
- * Since: 2.4
  */
 void
 gtk_entry_completion_set_text_column (GtkEntryCompletion *completion,
@@ -1401,8 +1351,6 @@ gtk_entry_completion_set_text_column (GtkEntryCompletion *completion,
  * Returns the column in the model of @completion to get strings from.
  *
  * Returns: the column containing the strings
- *
- * Since: 2.6
  */
 gint
 gtk_entry_completion_get_text_column (GtkEntryCompletion *completion)
@@ -1650,8 +1598,6 @@ gtk_entry_completion_cursor_on_match (GtkEntryCompletion *completion,
  *
  * Returns: (nullable) (transfer full): The common prefix all rows starting with
  *   @key or %NULL if no row matches @key.
- *
- * Since: 3.4
  **/
 gchar *
 gtk_entry_completion_compute_prefix (GtkEntryCompletion *completion,
@@ -1755,8 +1701,6 @@ gtk_entry_completion_real_insert_prefix (GtkEntryCompletion *completion,
  * the completion or %NULL if there’s no completion ongoing.
  *
  * Returns: the prefix for the current completion
- *
- * Since: 2.12
  */
 const gchar*
 gtk_entry_completion_get_completion_prefix (GtkEntryCompletion *completion)
@@ -1819,8 +1763,6 @@ gtk_entry_completion_insert_completion (GtkEntryCompletion *completion,
  * @completion: a #GtkEntryCompletion
  *
  * Requests a prefix insertion.
- *
- * Since: 2.6
  */
 void
 gtk_entry_completion_insert_prefix (GtkEntryCompletion *completion)
@@ -1854,8 +1796,6 @@ gtk_entry_completion_insert_prefix (GtkEntryCompletion *completion)
  *
  * Sets whether the common prefix of the possible completions should
  * be automatically inserted in the entry.
- *
- * Since: 2.6
  */
 void
 gtk_entry_completion_set_inline_completion (GtkEntryCompletion *completion,
@@ -1881,8 +1821,6 @@ gtk_entry_completion_set_inline_completion (GtkEntryCompletion *completion,
  * be automatically inserted in the entry.
  *
  * Returns: %TRUE if inline completion is turned on
- *
- * Since: 2.6
  */
 gboolean
 gtk_entry_completion_get_inline_completion (GtkEntryCompletion *completion)
@@ -1898,8 +1836,6 @@ gtk_entry_completion_get_inline_completion (GtkEntryCompletion *completion)
  * @popup_completion: %TRUE to do popup completion
  *
  * Sets whether the completions should be presented in a popup window.
- *
- * Since: 2.6
  */
 void
 gtk_entry_completion_set_popup_completion (GtkEntryCompletion *completion,
@@ -1925,8 +1861,6 @@ gtk_entry_completion_set_popup_completion (GtkEntryCompletion *completion,
  * Returns whether the completions should be presented in a popup window.
  *
  * Returns: %TRUE if popup completion is turned on
- *
- * Since: 2.6
  */
 gboolean
 gtk_entry_completion_get_popup_completion (GtkEntryCompletion *completion)
@@ -1943,8 +1877,6 @@ gtk_entry_completion_get_popup_completion (GtkEntryCompletion *completion)
  *
  * Sets whether the completion popup window will be resized to be the same
  * width as the entry.
- *
- * Since: 2.8
  */
 void
 gtk_entry_completion_set_popup_set_width (GtkEntryCompletion *completion,
@@ -1971,8 +1903,6 @@ gtk_entry_completion_set_popup_set_width (GtkEntryCompletion *completion,
  *
  * Returns: %TRUE if the popup window will be resized to the width of
  *   the entry
- *
- * Since: 2.8
  */
 gboolean
 gtk_entry_completion_get_popup_set_width (GtkEntryCompletion *completion)
@@ -1992,8 +1922,6 @@ gtk_entry_completion_get_popup_set_width (GtkEntryCompletion *completion)
  * Sets whether the completion popup window will appear even if there is
  * only a single match. You may want to set this to %FALSE if you
  * are using [inline completion][GtkEntryCompletion--inline-completion].
- *
- * Since: 2.8
  */
 void
 gtk_entry_completion_set_popup_single_match (GtkEntryCompletion *completion,
@@ -2020,8 +1948,6 @@ gtk_entry_completion_set_popup_single_match (GtkEntryCompletion *completion,
  *
  * Returns: %TRUE if the popup window will appear regardless of the
  *    number of matches
- *
- * Since: 2.8
  */
 gboolean
 gtk_entry_completion_get_popup_single_match (GtkEntryCompletion *completion)
@@ -2038,8 +1964,6 @@ gtk_entry_completion_get_popup_single_match (GtkEntryCompletion *completion)
  *
  * Sets whether it is possible to cycle through the possible completions
  * inside the entry.
- *
- * Since: 2.12
  */
 void
 gtk_entry_completion_set_inline_selection (GtkEntryCompletion *completion,
@@ -2064,8 +1988,6 @@ gtk_entry_completion_set_inline_selection (GtkEntryCompletion *completion,
  * Returns %TRUE if inline-selection mode is turned on.
  *
  * Returns: %TRUE if inline-selection mode is on
- *
- * Since: 2.12
  */
 gboolean
 gtk_entry_completion_get_inline_selection (GtkEntryCompletion *completion)
diff --git a/gtk/gtkentrycompletion.h b/gtk/gtkentrycompletion.h
index d0f5d08..63155ad 100644
--- a/gtk/gtkentrycompletion.h
+++ b/gtk/gtkentrycompletion.h
@@ -122,7 +122,7 @@ void                gtk_entry_completion_set_minimum_key_length (GtkEntryComplet
                                                                  gint                         length);
 GDK_AVAILABLE_IN_ALL
 gint                gtk_entry_completion_get_minimum_key_length (GtkEntryCompletion          *completion);
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 gchar *             gtk_entry_completion_compute_prefix         (GtkEntryCompletion          *completion,
                                                                  const char                  *key);
 GDK_AVAILABLE_IN_ALL
diff --git a/gtk/gtkenums.h b/gtk/gtkenums.h
index 81565d1..2fd2739 100644
--- a/gtk/gtkenums.h
+++ b/gtk/gtkenums.h
@@ -110,8 +110,6 @@ typedef enum
  * requested height of the baseline-aligned children then it can use a
  * #GtkBaselinePosition to select where to put the baseline inside the
  * extra availible space.
- *
- * Since: 3.10
  */
 typedef enum
 {
@@ -771,21 +769,21 @@ typedef enum
 
 /**
  * GtkStateFlags:
- * @GTK_STATE_FLAG_NORMAL: State during normal operation.
- * @GTK_STATE_FLAG_ACTIVE: Widget is active.
- * @GTK_STATE_FLAG_PRELIGHT: Widget has a mouse pointer over it.
- * @GTK_STATE_FLAG_SELECTED: Widget is selected.
- * @GTK_STATE_FLAG_INSENSITIVE: Widget is insensitive.
- * @GTK_STATE_FLAG_INCONSISTENT: Widget is inconsistent.
- * @GTK_STATE_FLAG_FOCUSED: Widget has the keyboard focus.
- * @GTK_STATE_FLAG_BACKDROP: Widget is in a background toplevel window.
- * @GTK_STATE_FLAG_DIR_LTR: Widget is in left-to-right text direction. Since 3.8
- * @GTK_STATE_FLAG_DIR_RTL: Widget is in right-to-left text direction. Since 3.8
- * @GTK_STATE_FLAG_LINK: Widget is a link. Since 3.12
- * @GTK_STATE_FLAG_VISITED: The location the widget points to has already been visited. Since 3.12
- * @GTK_STATE_FLAG_CHECKED: Widget is checked. Since 3.14
- * @GTK_STATE_FLAG_DROP_ACTIVE: Widget is highlighted as a drop target for DND. Since 3.20
- * @GTK_STATE_FLAG_FOCUS_VISIBLE: Widget has the visible focus. Since: 3.92
+ * @GTK_STATE_FLAG_NORMAL: State during normal operation
+ * @GTK_STATE_FLAG_ACTIVE: Widget is active
+ * @GTK_STATE_FLAG_PRELIGHT: Widget has a mouse pointer over it
+ * @GTK_STATE_FLAG_SELECTED: Widget is selected
+ * @GTK_STATE_FLAG_INSENSITIVE: Widget is insensitive
+ * @GTK_STATE_FLAG_INCONSISTENT: Widget is inconsistent
+ * @GTK_STATE_FLAG_FOCUSED: Widget has the keyboard focus
+ * @GTK_STATE_FLAG_BACKDROP: Widget is in a background toplevel window
+ * @GTK_STATE_FLAG_DIR_LTR: Widget is in left-to-right text direction
+ * @GTK_STATE_FLAG_DIR_RTL: Widget is in right-to-left text direction
+ * @GTK_STATE_FLAG_LINK: Widget is a link
+ * @GTK_STATE_FLAG_VISITED: The location the widget points to has already been visited
+ * @GTK_STATE_FLAG_CHECKED: Widget is checked
+ * @GTK_STATE_FLAG_DROP_ACTIVE: Widget is highlighted as a drop target for DND
+ * @GTK_STATE_FLAG_FOCUS_VISIBLE: Widget has the visible focus
  *
  * Describes a widget state. Widget states are used to match the widget
  * against CSS pseudo-classes. Note that GTK extends the regular CSS
@@ -846,8 +844,6 @@ typedef enum {
  * Describes how #GtkLevelBar contents should be rendered.
  * Note that this enumeration could be extended with additional modes
  * in the future.
- *
- * Since: 3.6
  */
 typedef enum {
   GTK_LEVEL_BAR_MODE_CONTINUOUS,
@@ -887,8 +883,6 @@ G_END_DECLS
  *
  * This enumeration may be extended in the future; input methods should
  * interpret unknown values as “free form”.
- *
- * Since: 3.6
  */
 typedef enum
 {
@@ -931,8 +925,6 @@ typedef enum
  *
  * This enumeration may be extended in the future; input methods should
  * ignore unknown values.
- *
- * Since: 3.6
  */
 typedef enum
 {
@@ -968,8 +960,6 @@ typedef enum
  *   grab broken handlers for controllers in this phase to be run.
  *
  * Describes the stage at which events are fed into a #GtkEventController.
- *
- * Since: 3.14
  */
 typedef enum
 {
@@ -986,8 +976,6 @@ typedef enum
  * @GTK_EVENT_SEQUENCE_DENIED: The sequence is denied.
  *
  * Describes the state of a #GdkEventSequence in a #GtkGesture.
- *
- * Since: 3.14
  */
 typedef enum
 {
@@ -1004,8 +992,6 @@ typedef enum
  * @GTK_PAN_DIRECTION_DOWN: panned downwards
  *
  * Describes the panning direction of a #GtkGesturePan
- *
- * Since: 3.14
  */
 typedef enum
 {
@@ -1024,8 +1010,6 @@ typedef enum
  *
  * Describes constraints to positioning of popovers. More values
  * may be added to this enumeration in the future.
- *
- * Since: 3.20
  */
 typedef enum
 {
diff --git a/gtk/gtkeventcontroller.c b/gtk/gtkeventcontroller.c
index 0d4f7a0..38cf96a 100644
--- a/gtk/gtkeventcontroller.c
+++ b/gtk/gtkeventcontroller.c
@@ -160,8 +160,6 @@ gtk_event_controller_class_init (GtkEventControllerClass *klass)
    * GtkEventController:widget:
    *
    * The widget receiving the #GdkEvents that the controller will handle.
-   *
-   * Since: 3.14
    */
   properties[PROP_WIDGET] =
       g_param_spec_object ("widget",
@@ -173,8 +171,6 @@ gtk_event_controller_class_init (GtkEventControllerClass *klass)
    * GtkEventController:propagation-phase:
    *
    * The propagation phase at which this controller will handle events.
-   *
-   * Since: 3.14
    */
   properties[PROP_PROPAGATION_PHASE] =
       g_param_spec_enum ("propagation-phase",
@@ -206,8 +202,6 @@ gtk_event_controller_init (GtkEventController *controller)
  *
  * Returns: %TRUE if the event was potentially useful to trigger the
  *          controller action
- *
- * Since: 3.14
  **/
 gboolean
 gtk_event_controller_handle_event (GtkEventController *controller,
@@ -241,8 +235,6 @@ gtk_event_controller_handle_event (GtkEventController *controller,
  * Returns the #GtkWidget this controller relates to.
  *
  * Returns: (transfer none): a #GtkWidget
- *
- * Since: 3.14
  **/
 GtkWidget *
 gtk_event_controller_get_widget (GtkEventController *controller)
@@ -263,8 +255,6 @@ gtk_event_controller_get_widget (GtkEventController *controller)
  * Resets the @controller to a clean state. Every interaction
  * the controller did through gtk_event_controll_handle_event()
  * will be dropped at this point.
- *
- * Since: 3.14
  **/
 void
 gtk_event_controller_reset (GtkEventController *controller)
@@ -286,8 +276,6 @@ gtk_event_controller_reset (GtkEventController *controller)
  * Gets the propagation phase at which @controller handles events.
  *
  * Returns: the propagation phase
- *
- * Since: 3.14
  **/
 GtkPropagationPhase
 gtk_event_controller_get_propagation_phase (GtkEventController *controller)
@@ -311,8 +299,6 @@ gtk_event_controller_get_propagation_phase (GtkEventController *controller)
  * If @phase is %GTK_PHASE_NONE, no automatic event handling will be
  * performed, but other additional gesture maintenance will. In that phase,
  * the events can be managed by calling gtk_event_controller_handle_event().
- *
- * Since: 3.14
  **/
 void
 gtk_event_controller_set_propagation_phase (GtkEventController  *controller,
diff --git a/gtk/gtkeventcontroller.h b/gtk/gtkeventcontroller.h
index d53844e..d067225 100644
--- a/gtk/gtkeventcontroller.h
+++ b/gtk/gtkeventcontroller.h
@@ -41,22 +41,22 @@ G_BEGIN_DECLS
 #define GTK_EVENT_CONTROLLER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GTK_TYPE_EVENT_CONTROLLER, 
GtkEventControllerClass))
 
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 GType        gtk_event_controller_get_type       (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 GtkWidget  * gtk_event_controller_get_widget     (GtkEventController *controller);
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 gboolean     gtk_event_controller_handle_event   (GtkEventController *controller,
                                                   const GdkEvent     *event);
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 void         gtk_event_controller_reset          (GtkEventController *controller);
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 GtkPropagationPhase gtk_event_controller_get_propagation_phase (GtkEventController *controller);
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 void                gtk_event_controller_set_propagation_phase (GtkEventController  *controller,
                                                                 GtkPropagationPhase  phase);
 
diff --git a/gtk/gtkeventcontrollermotion.c b/gtk/gtkeventcontrollermotion.c
index 75c293e..bc48d9c 100644
--- a/gtk/gtkeventcontrollermotion.c
+++ b/gtk/gtkeventcontrollermotion.c
@@ -155,8 +155,6 @@ gtk_event_controller_motion_init (GtkEventControllerMotion *motion)
  * for the given @widget.
  *
  * Returns: a new #GtkEventControllerMotion
- *
- * Since: 3.94
  **/
 GtkEventController *
 gtk_event_controller_motion_new (GtkWidget *widget)
diff --git a/gtk/gtkeventcontrollermotion.h b/gtk/gtkeventcontrollermotion.h
index 82cd397..ad2808d 100644
--- a/gtk/gtkeventcontrollermotion.h
+++ b/gtk/gtkeventcontrollermotion.h
@@ -39,10 +39,10 @@ G_BEGIN_DECLS
 typedef struct _GtkEventControllerMotion GtkEventControllerMotion;
 typedef struct _GtkEventControllerMotionClass GtkEventControllerMotionClass;
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GType               gtk_event_controller_motion_get_type (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GtkEventController *gtk_event_controller_motion_new      (GtkWidget *widget);
 
 G_END_DECLS
diff --git a/gtk/gtkeventcontrollerscroll.c b/gtk/gtkeventcontrollerscroll.c
index 7b3fe2b..258fdfe 100644
--- a/gtk/gtkeventcontrollerscroll.c
+++ b/gtk/gtkeventcontrollerscroll.c
@@ -365,8 +365,6 @@ gtk_event_controller_scroll_class_init (GtkEventControllerScrollClass *klass)
    * GtkEventControllerScroll:flags:
    *
    * The flags affecting event controller behavior
-   *
-   * Since: 3.93
    **/
   pspecs[PROP_FLAGS] =
     g_param_spec_flags ("flags",
@@ -459,8 +457,6 @@ gtk_event_controller_scroll_init (GtkEventControllerScroll *scroll)
  * for the given @widget.
  *
  * Returns: a new #GtkEventControllerScroll
- *
- * Since: 3.93
  **/
 GtkEventController *
 gtk_event_controller_scroll_new (GtkWidget                     *widget,
@@ -480,8 +476,6 @@ gtk_event_controller_scroll_new (GtkWidget                     *widget,
  * @flags: behavior flags
  *
  * Sets the flags conditioning scroll controller behavior.
- *
- * Since: 3.93
  **/
 void
 gtk_event_controller_scroll_set_flags (GtkEventControllerScroll      *scroll,
@@ -503,8 +497,6 @@ gtk_event_controller_scroll_set_flags (GtkEventControllerScroll      *scroll,
  * Gets the flags conditioning the scroll controller behavior.
  *
  * Returns: the controller flags.
- *
- * Since: 3.93
  **/
 GtkEventControllerScrollFlags
 gtk_event_controller_scroll_get_flags (GtkEventControllerScroll *scroll)
diff --git a/gtk/gtkeventcontrollerscroll.h b/gtk/gtkeventcontrollerscroll.h
index ed5d976..864c74e 100644
--- a/gtk/gtkeventcontrollerscroll.h
+++ b/gtk/gtkeventcontrollerscroll.h
@@ -50,8 +50,6 @@ typedef struct _GtkEventControllerScrollClass GtkEventControllerScrollClass;
  * @GTK_EVENT_CONTROLLER_SCROLL_BOTH_AXES: Emit scroll on both axes.
  *
  * Describes the behavior of a #GtkEventControllerScroll.
- *
- * Since: 3.93
  **/
 typedef enum {
   GTK_EVENT_CONTROLLER_SCROLL_NONE       = 0,
@@ -62,16 +60,16 @@ typedef enum {
   GTK_EVENT_CONTROLLER_SCROLL_BOTH_AXES  = (GTK_EVENT_CONTROLLER_SCROLL_VERTICAL | 
GTK_EVENT_CONTROLLER_SCROLL_HORIZONTAL),
 } GtkEventControllerScrollFlags;
 
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 GType               gtk_event_controller_scroll_get_type  (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 GtkEventController *gtk_event_controller_scroll_new (GtkWidget                     *widget,
                                                      GtkEventControllerScrollFlags  flags);
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 void                gtk_event_controller_scroll_set_flags (GtkEventControllerScroll      *scroll,
                                                            GtkEventControllerScrollFlags  flags);
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 GtkEventControllerScrollFlags
                     gtk_event_controller_scroll_get_flags (GtkEventControllerScroll      *scroll);
 
diff --git a/gtk/gtkexpander.c b/gtk/gtkexpander.c
index 763d401..9ccf959 100644
--- a/gtk/gtkexpander.c
+++ b/gtk/gtkexpander.c
@@ -324,8 +324,6 @@ gtk_expander_class_init (GtkExpanderClass *klass)
    *
    * When this property is %TRUE, the expander will resize the toplevel
    * widget containing the expander upon expanding and collapsing.
-   *
-   * Since: 3.2
    */
   g_object_class_install_property (gobject_class,
                                    PROP_RESIZE_TOPLEVEL,
@@ -889,8 +887,6 @@ gtk_expander_measure (GtkWidget      *widget,
  * Creates a new expander using @label as the text of the label.
  *
  * Returns: a new #GtkExpander widget.
- *
- * Since: 2.4
  */
 GtkWidget *
 gtk_expander_new (const gchar *label)
@@ -911,8 +907,6 @@ gtk_expander_new (const gchar *label)
  * Pressing Alt and that key activates the button.
  *
  * Returns: a new #GtkExpander widget.
- *
- * Since: 2.4
  */
 GtkWidget *
 gtk_expander_new_with_mnemonic (const gchar *label)
@@ -931,8 +925,6 @@ gtk_expander_new_with_mnemonic (const gchar *label)
  * Sets the state of the expander. Set to %TRUE, if you want
  * the child widget to be revealed, and %FALSE if you want the
  * child widget to be hidden.
- *
- * Since: 2.4
  */
 void
 gtk_expander_set_expanded (GtkExpander *expander,
@@ -987,8 +979,6 @@ gtk_expander_set_expanded (GtkExpander *expander,
  * See gtk_expander_set_expanded().
  *
  * Returns: the current state of the expander
- *
- * Since: 2.4
  */
 gboolean
 gtk_expander_get_expanded (GtkExpander *expander)
@@ -1006,8 +996,6 @@ gtk_expander_get_expanded (GtkExpander *expander)
  * Sets the text of the label of the expander to @label.
  *
  * This will also clear any previously set labels.
- *
- * Since: 2.4
  */
 void
 gtk_expander_set_label (GtkExpander *expander,
@@ -1052,8 +1040,6 @@ gtk_expander_set_label (GtkExpander *expander,
  *
  * Returns: (nullable): The text of the label widget. This string is owned
  *     by the widget and must not be modified or freed.
- *
- * Since: 2.4
  */
 const gchar *
 gtk_expander_get_label (GtkExpander *expander)
@@ -1077,8 +1063,6 @@ gtk_expander_get_label (GtkExpander *expander)
  *
  * If true, an underline in the text of the expander label indicates
  * the next character should be used for the mnemonic accelerator key.
- *
- * Since: 2.4
  */
 void
 gtk_expander_set_use_underline (GtkExpander *expander,
@@ -1112,8 +1096,6 @@ gtk_expander_set_use_underline (GtkExpander *expander,
  *
  * Returns: %TRUE if an embedded underline in the expander
  *     label indicates the mnemonic accelerator keys
- *
- * Since: 2.4
  */
 gboolean
 gtk_expander_get_use_underline (GtkExpander *expander)
@@ -1131,8 +1113,6 @@ gtk_expander_get_use_underline (GtkExpander *expander)
  * Sets whether the text of the label contains markup in
  * [Pango’s text markup language][PangoMarkupFormat].
  * See gtk_label_set_markup().
- *
- * Since: 2.4
  */
 void
 gtk_expander_set_use_markup (GtkExpander *expander,
@@ -1166,8 +1146,6 @@ gtk_expander_set_use_markup (GtkExpander *expander,
  * See gtk_expander_set_use_markup().
  *
  * Returns: %TRUE if the label’s text will be parsed for markup
- *
- * Since: 2.4
  */
 gboolean
 gtk_expander_get_use_markup (GtkExpander *expander)
@@ -1184,8 +1162,6 @@ gtk_expander_get_use_markup (GtkExpander *expander)
  *
  * Set the label widget for the expander. This is the widget
  * that will appear embedded alongside the expander arrow.
- *
- * Since: 2.4
  */
 void
 gtk_expander_set_label_widget (GtkExpander *expander,
@@ -1236,8 +1212,6 @@ gtk_expander_set_label_widget (GtkExpander *expander,
  *
  * Returns: (nullable) (transfer none): the label widget,
  *     or %NULL if there is none
- *
- * Since: 2.4
  */
 GtkWidget *
 gtk_expander_get_label_widget (GtkExpander *expander)
@@ -1255,8 +1229,6 @@ gtk_expander_get_label_widget (GtkExpander *expander)
  *
  * Sets whether the label widget should fill all available
  * horizontal space allocated to @expander.
- *
- * Since: 2.22
  */
 void
 gtk_expander_set_label_fill (GtkExpander *expander,
@@ -1290,8 +1262,6 @@ gtk_expander_set_label_fill (GtkExpander *expander,
  *
  * Returns: %TRUE if the label widget will fill all
  *     available horizontal space
- *
- * Since: 2.22
  */
 gboolean
 gtk_expander_get_label_fill (GtkExpander *expander)
@@ -1308,8 +1278,6 @@ gtk_expander_get_label_fill (GtkExpander *expander)
  *
  * Sets whether the expander will resize the toplevel widget
  * containing the expander upon resizing and collpasing.
- *
- * Since: 3.2
  */
 void
 gtk_expander_set_resize_toplevel (GtkExpander *expander,
@@ -1332,8 +1300,6 @@ gtk_expander_set_resize_toplevel (GtkExpander *expander,
  * containing the expander upon resizing and collpasing.
  *
  * Returns: the “resize toplevel” setting.
- *
- * Since: 3.2
  */
 gboolean
 gtk_expander_get_resize_toplevel (GtkExpander *expander)
diff --git a/gtk/gtkexpander.h b/gtk/gtkexpander.h
index a0024d0..bed7a81 100644
--- a/gtk/gtkexpander.h
+++ b/gtk/gtkexpander.h
@@ -115,10 +115,10 @@ void                  gtk_expander_set_label_fill      (GtkExpander *expander,
                                                        gboolean     label_fill);
 GDK_AVAILABLE_IN_ALL
 gboolean              gtk_expander_get_label_fill      (GtkExpander *expander);
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 void                  gtk_expander_set_resize_toplevel (GtkExpander *expander,
                                                         gboolean     resize_toplevel);
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 gboolean              gtk_expander_get_resize_toplevel (GtkExpander *expander);
 
 G_END_DECLS
diff --git a/gtk/gtkfilechooser.c b/gtk/gtkfilechooser.c
index 7bed67c..ada9ee2 100644
--- a/gtk/gtkfilechooser.c
+++ b/gtk/gtkfilechooser.c
@@ -359,8 +359,6 @@ gtk_file_chooser_default_init (GtkFileChooserInterface *iface)
    *
    * Returns: a #GtkFileChooserConfirmation value that indicates which
    *  action to take after emitting the signal.
-   *
-   * Since: 2.8
    */
   g_signal_new (I_("confirm-overwrite"),
                iface_type,
@@ -433,8 +431,6 @@ gtk_file_chooser_default_init (GtkFileChooserInterface *iface)
    * Whether a file chooser in %GTK_FILE_CHOOSER_ACTION_SAVE mode
    * will present an overwrite confirmation dialog if the user
    * selects a file name that already exists.
-   *
-   * Since: 2.8
    */
   g_object_interface_install_property (iface,
                                       g_param_spec_boolean ("do-overwrite-confirmation",
@@ -450,8 +446,6 @@ gtk_file_chooser_default_init (GtkFileChooserInterface *iface)
    * 
    * Whether a file chooser not in %GTK_FILE_CHOOSER_ACTION_OPEN mode
    * will offer the user to create new folders.
-   *
-   * Since: 2.18
    */
   g_object_interface_install_property (iface,
                                       g_param_spec_boolean ("create-folders",
@@ -468,8 +462,6 @@ gtk_file_chooser_default_init (GtkFileChooserInterface *iface)
  * Registers an error quark for #GtkFileChooser if necessary.
  * 
  * Returns: The error quark used for #GtkFileChooser errors.
- *
- * Since: 2.4
  **/
 GQuark
 gtk_file_chooser_error_quark (void)
@@ -487,8 +479,6 @@ gtk_file_chooser_error_quark (void)
  * an option to create a new folder might be shown if the action is
  * %GTK_FILE_CHOOSER_ACTION_SAVE but not if the action is
  * %GTK_FILE_CHOOSER_ACTION_OPEN.
- *
- * Since: 2.4
  **/
 void
 gtk_file_chooser_set_action (GtkFileChooser       *chooser,
@@ -507,8 +497,6 @@ gtk_file_chooser_set_action (GtkFileChooser       *chooser,
  * gtk_file_chooser_set_action().
  * 
  * Returns: the action that the file selector is performing
- *
- * Since: 2.4
  **/
 GtkFileChooserAction
 gtk_file_chooser_get_action (GtkFileChooser *chooser)
@@ -540,8 +528,6 @@ gtk_file_chooser_get_action (GtkFileChooser *chooser)
  * On some systems non-native files may still be
  * available using the native filesystem via a userspace
  * filesystem (FUSE).
- *
- * Since: 2.4
  **/
 void
 gtk_file_chooser_set_local_only (GtkFileChooser *chooser,
@@ -560,8 +546,6 @@ gtk_file_chooser_set_local_only (GtkFileChooser *chooser,
  * file selector. See gtk_file_chooser_set_local_only()
  * 
  * Returns: %TRUE if only local files can be selected.
- *
- * Since: 2.4
  **/
 gboolean
 gtk_file_chooser_get_local_only (GtkFileChooser *chooser)
@@ -583,8 +567,6 @@ gtk_file_chooser_get_local_only (GtkFileChooser *chooser)
  * Sets whether multiple files can be selected in the file selector.  This is
  * only relevant if the action is set to be %GTK_FILE_CHOOSER_ACTION_OPEN or
  * %GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER.
- *
- * Since: 2.4
  **/
 void
 gtk_file_chooser_set_select_multiple (GtkFileChooser *chooser,
@@ -603,8 +585,6 @@ gtk_file_chooser_set_select_multiple (GtkFileChooser *chooser,
  * selector. See gtk_file_chooser_set_select_multiple().
  * 
  * Returns: %TRUE if multiple files can be selected.
- *
- * Since: 2.4
  **/
 gboolean
 gtk_file_chooser_get_select_multiple (GtkFileChooser *chooser)
@@ -626,8 +606,6 @@ gtk_file_chooser_get_select_multiple (GtkFileChooser *chooser)
  * Sets whether file choser will offer to create new folders.
  * This is only relevant if the action is not set to be 
  * %GTK_FILE_CHOOSER_ACTION_OPEN.
- *
- * Since: 2.18
  **/
 void
 gtk_file_chooser_set_create_folders (GtkFileChooser *chooser,
@@ -646,8 +624,6 @@ gtk_file_chooser_set_create_folders (GtkFileChooser *chooser,
  * See gtk_file_chooser_set_create_folders().
  * 
  * Returns: %TRUE if the Create Folder button should be displayed.
- *
- * Since: 2.18
  **/
 gboolean
 gtk_file_chooser_get_create_folders (GtkFileChooser *chooser)
@@ -676,8 +652,6 @@ gtk_file_chooser_get_create_folders (GtkFileChooser *chooser)
  * Returns: (nullable) (type filename): The currently selected filename,
  *  or %NULL if no file is selected, or the selected file can't
  *  be represented with a local filename. Free with g_free().
- *
- * Since: 2.4
  **/
 gchar *
 gtk_file_chooser_get_filename (GtkFileChooser *chooser)
@@ -737,8 +711,6 @@ gtk_file_chooser_get_filename (GtkFileChooser *chooser)
  * is already known, so the file chooser will use it.
  * 
  * Returns: Not useful.
- *
- * Since: 2.4
  **/
 gboolean
 gtk_file_chooser_set_filename (GtkFileChooser *chooser,
@@ -762,8 +734,6 @@ gtk_file_chooser_set_filename (GtkFileChooser *chooser,
  * Returns: Not useful.
  *
  * See also: gtk_file_chooser_set_filename()
- *
- * Since: 2.4
  **/
 gboolean
 gtk_file_chooser_select_filename (GtkFileChooser *chooser,
@@ -790,8 +760,6 @@ gtk_file_chooser_select_filename (GtkFileChooser *chooser,
  * Unselects a currently selected filename. If the filename
  * is not in the current directory, does not exist, or
  * is otherwise not currently selected, does nothing.
- *
- * Since: 2.4
  **/
 void
 gtk_file_chooser_unselect_filename (GtkFileChooser *chooser,
@@ -860,8 +828,6 @@ file_to_uri_with_native_path (GFile *file)
  *    containing the filenames of all selected files and subfolders in
  *    the current folder. Free the returned list with g_slist_free(),
  *    and the filenames with g_free().
- *
- * Since: 2.4
  **/
 GSList *
 gtk_file_chooser_get_filenames (GtkFileChooser *chooser)
@@ -892,8 +858,6 @@ gtk_file_chooser_get_filenames (GtkFileChooser *chooser)
  * for the rationale behind this.
  *
  * Returns: Not useful.
- *
- * Since: 2.4
  **/
 gboolean
 gtk_file_chooser_set_current_folder (GtkFileChooser *chooser,
@@ -933,8 +897,6 @@ gtk_file_chooser_set_current_folder (GtkFileChooser *chooser,
  * %NULL if the file chooser was unable to load the last folder that
  * was requested from it; for example, as would be for calling
  * gtk_file_chooser_set_current_folder() on a nonexistent folder.
- *
- * Since: 2.4
  **/
 gchar *
 gtk_file_chooser_get_current_folder (GtkFileChooser *chooser)
@@ -969,8 +931,6 @@ gtk_file_chooser_get_current_folder (GtkFileChooser *chooser)
  * gtk_file_chooser_set_filename() or gtk_file_chooser_set_uri() instead.
  * Please see the documentation for those functions for an example of using
  * gtk_file_chooser_set_current_name() as well.
- *
- * Since: 2.4
  **/
 void
 gtk_file_chooser_set_current_name  (GtkFileChooser *chooser,
@@ -999,8 +959,6 @@ gtk_file_chooser_set_current_name  (GtkFileChooser *chooser,
  * g_free().  Note that this string is not a full pathname or URI; it is
  * whatever the contents of the entry are.  Note also that this string is in
  * UTF-8 encoding, which is not necessarily the system’s encoding for filenames.
- *
- * Since: 3.10
  **/
 gchar *
 gtk_file_chooser_get_current_name (GtkFileChooser *chooser)
@@ -1025,8 +983,6 @@ gtk_file_chooser_get_current_name (GtkFileChooser *chooser)
  *    if no file is selected. If gtk_file_chooser_set_local_only() is set to
  *    %TRUE (the default) a local URI will be returned for any FUSE locations.
  *    Free with g_free()
- *
- * Since: 2.4
  **/
 gchar *
 gtk_file_chooser_get_uri (GtkFileChooser *chooser)
@@ -1089,8 +1045,6 @@ gtk_file_chooser_get_uri (GtkFileChooser *chooser)
  * is already known, so the file chooser will use it.
  * 
  * Returns: Not useful.
- *
- * Since: 2.4
  **/
 gboolean
 gtk_file_chooser_set_uri (GtkFileChooser *chooser,
@@ -1112,8 +1066,6 @@ gtk_file_chooser_set_uri (GtkFileChooser *chooser,
  * @chooser will be changed to the folder containing @filename.
  *
  * Returns: Not useful.
- *
- * Since: 2.4
  **/
 gboolean
 gtk_file_chooser_select_uri (GtkFileChooser *chooser,
@@ -1140,8 +1092,6 @@ gtk_file_chooser_select_uri (GtkFileChooser *chooser,
  * Unselects the file referred to by @uri. If the file
  * is not in the current directory, does not exist, or
  * is otherwise not currently selected, does nothing.
- *
- * Since: 2.4
  **/
 void
 gtk_file_chooser_unselect_uri (GtkFileChooser *chooser,
@@ -1162,8 +1112,6 @@ gtk_file_chooser_unselect_uri (GtkFileChooser *chooser,
  * @chooser: a #GtkFileChooser
  * 
  * Selects all the files in the current folder of a file chooser.
- *
- * Since: 2.4
  **/
 void
 gtk_file_chooser_select_all (GtkFileChooser *chooser)
@@ -1178,8 +1126,6 @@ gtk_file_chooser_select_all (GtkFileChooser *chooser)
  * @chooser: a #GtkFileChooser
  * 
  * Unselects all the files in the current folder of a file chooser.
- *
- * Since: 2.4
  **/
 void
 gtk_file_chooser_unselect_all (GtkFileChooser *chooser)
@@ -1200,8 +1146,6 @@ gtk_file_chooser_unselect_all (GtkFileChooser *chooser)
  * Returns: (element-type utf8) (transfer full): a #GSList containing the URIs of all selected
  *   files and subfolders in the current folder. Free the returned list
  *   with g_slist_free(), and the filenames with g_free().
- *
- * Since: 2.4
  **/
 GSList *
 gtk_file_chooser_get_uris (GtkFileChooser *chooser)
@@ -1237,8 +1181,6 @@ gtk_file_chooser_get_uris (GtkFileChooser *chooser)
  *
  * Returns: %TRUE if the folder could be changed successfully, %FALSE
  * otherwise.
- *
- * Since: 2.4
  **/
 gboolean
 gtk_file_chooser_set_current_folder_uri (GtkFileChooser *chooser,
@@ -1277,8 +1219,6 @@ gtk_file_chooser_set_current_folder_uri (GtkFileChooser *chooser,
  * was unable to load the last folder that was requested from it; for example,
  * as would be for calling gtk_file_chooser_set_current_folder_uri() on a
  * nonexistent folder.
- *
- * Since: 2.4
  */
 gchar *
 gtk_file_chooser_get_current_folder_uri (GtkFileChooser *chooser)
@@ -1309,8 +1249,6 @@ gtk_file_chooser_get_current_folder_uri (GtkFileChooser *chooser)
  *
  * Returns: %TRUE if the folder could be changed successfully, %FALSE
  * otherwise.
- *
- * Since: 2.14
  **/
 gboolean
 gtk_file_chooser_set_current_folder_file (GtkFileChooser  *chooser,
@@ -1332,8 +1270,6 @@ gtk_file_chooser_set_current_folder_file (GtkFileChooser  *chooser,
  * See gtk_file_chooser_get_current_folder_uri().
  *
  * Returns: (transfer full): the #GFile for the current folder.
- *
- * Since: 2.14
  */
 GFile *
 gtk_file_chooser_get_current_folder_file (GtkFileChooser *chooser)
@@ -1353,8 +1289,6 @@ gtk_file_chooser_get_current_folder_file (GtkFileChooser *chooser)
  * _gtk_file_chooser_select_uri().
  *
  * Returns: Not useful.
- *
- * Since: 2.14
  **/
 gboolean
 gtk_file_chooser_select_file (GtkFileChooser  *chooser,
@@ -1375,8 +1309,6 @@ gtk_file_chooser_select_file (GtkFileChooser  *chooser,
  * 
  * Unselects the file referred to by @file. If the file is not in the current
  * directory, does not exist, or is otherwise not currently selected, does nothing.
- *
- * Since: 2.14
  **/
 void
 gtk_file_chooser_unselect_file (GtkFileChooser *chooser,
@@ -1399,8 +1331,6 @@ gtk_file_chooser_unselect_file (GtkFileChooser *chooser,
  *   containing a #GFile for each selected file and subfolder in the
  *   current folder.  Free the returned list with g_slist_free(), and
  *   the files with g_object_unref().
- *
- * Since: 2.14
  **/
 GSList *
 gtk_file_chooser_get_files (GtkFileChooser *chooser)
@@ -1451,8 +1381,6 @@ gtk_file_chooser_get_files (GtkFileChooser *chooser)
  * ]|
  *
  * Returns: Not useful.
- *
- * Since: 2.14
  **/
 gboolean
 gtk_file_chooser_set_file (GtkFileChooser  *chooser,
@@ -1480,8 +1408,6 @@ gtk_file_chooser_set_file (GtkFileChooser  *chooser,
  *
  * Returns: (transfer full): a selected #GFile. You own the returned file;
  *     use g_object_unref() to release it.
- *
- * Since: 2.14
  **/
 GFile *
 gtk_file_chooser_get_file (GtkFileChooser *chooser)
@@ -1512,8 +1438,6 @@ gtk_file_chooser_get_file (GtkFileChooser *chooser)
  * and filenames and URIs.
  * 
  * Returns: the file system for @chooser.
- *
- * Since: 2.4
  **/
 GtkFileSystem *
 _gtk_file_chooser_get_file_system (GtkFileChooser *chooser)
@@ -1542,8 +1466,6 @@ _gtk_file_chooser_get_file_system (GtkFileChooser *chooser)
  * When there is no application-supplied preview widget, or the
  * application-supplied preview widget is not active, the file chooser
  * will display no preview at all.
- *
- * Since: 2.4
  **/
 void
 gtk_file_chooser_set_preview_widget (GtkFileChooser *chooser,
@@ -1562,8 +1484,6 @@ gtk_file_chooser_set_preview_widget (GtkFileChooser *chooser,
  * gtk_file_chooser_set_preview_widget().
  *
  * Returns: (nullable) (transfer none): the current preview widget, or %NULL
- *
- * Since: 2.4
  **/
 GtkWidget *
 gtk_file_chooser_get_preview_widget (GtkFileChooser *chooser)
@@ -1595,8 +1515,6 @@ gtk_file_chooser_get_preview_widget (GtkFileChooser *chooser)
  * may display an internally generated preview of the current file
  * or it may display no preview at all. See
  * gtk_file_chooser_set_preview_widget() for more details.
- *
- * Since: 2.4
  **/
 void
 gtk_file_chooser_set_preview_widget_active (GtkFileChooser *chooser,
@@ -1616,8 +1534,6 @@ gtk_file_chooser_set_preview_widget_active (GtkFileChooser *chooser,
  * gtk_file_chooser_set_preview_widget_active().
  * 
  * Returns: %TRUE if the preview widget is active for the current filename.
- *
- * Since: 2.4
  **/
 gboolean
 gtk_file_chooser_get_preview_widget_active (GtkFileChooser *chooser)
@@ -1642,8 +1558,6 @@ gtk_file_chooser_get_preview_widget_active (GtkFileChooser *chooser)
  * display the name themselves in their preview widget.
  *
  * See also: gtk_file_chooser_set_preview_widget()
- *
- * Since: 2.4
  **/
 void
 gtk_file_chooser_set_use_preview_label (GtkFileChooser *chooser,
@@ -1685,8 +1599,6 @@ gtk_file_chooser_get_use_preview_label (GtkFileChooser *chooser)
  *
  * Returns: (nullable) (transfer full): the #GFile for the file to preview,
  *     or %NULL if no file is selected. Free with g_object_unref().
- *
- * Since: 2.14
  **/
 GFile *
 gtk_file_chooser_get_preview_file (GtkFileChooser *chooser)
@@ -1707,8 +1619,6 @@ gtk_file_chooser_get_preview_file (GtkFileChooser *chooser)
  * 
  * Returns: %TRUE if the folder could be added successfully, %FALSE
  * otherwise.
- *
- * Since: 2.4
  **/
 gboolean
 _gtk_file_chooser_add_shortcut_folder (GtkFileChooser  *chooser,
@@ -1732,8 +1642,6 @@ _gtk_file_chooser_add_shortcut_folder (GtkFileChooser  *chooser,
  * 
  * Returns: %TRUE if the folder could be removed successfully, %FALSE
  * otherwise.
- *
- * Since: 2.4
  **/
 gboolean
 _gtk_file_chooser_remove_shortcut_folder (GtkFileChooser  *chooser,
@@ -1756,8 +1664,6 @@ _gtk_file_chooser_remove_shortcut_folder (GtkFileChooser  *chooser,
  * Returns: (nullable) (type filename): the filename to preview, or %NULL if
  *  no file is selected, or if the selected file cannot be represented
  *  as a local filename. Free with g_free()
- *
- * Since: 2.4
  **/
 char *
 gtk_file_chooser_get_preview_filename (GtkFileChooser *chooser)
@@ -1786,8 +1692,6 @@ gtk_file_chooser_get_preview_filename (GtkFileChooser *chooser)
  * 
  * Returns: (nullable) (transfer full): the URI for the file to preview,
  *     or %NULL if no file is selected. Free with g_free().
- *
- * Since: 2.4
  **/
 char *
 gtk_file_chooser_get_preview_uri (GtkFileChooser *chooser)
@@ -1813,8 +1717,6 @@ gtk_file_chooser_get_preview_uri (GtkFileChooser *chooser)
  * @extra_widget: widget for extra options
  * 
  * Sets an application-supplied widget to provide extra options to the user.
- *
- * Since: 2.4
  **/
 void
 gtk_file_chooser_set_extra_widget (GtkFileChooser *chooser,
@@ -1833,8 +1735,6 @@ gtk_file_chooser_set_extra_widget (GtkFileChooser *chooser,
  * gtk_file_chooser_set_extra_widget().
  *
  * Returns: (nullable) (transfer none): the current extra widget, or %NULL
- *
- * Since: 2.4
  **/
 GtkWidget *
 gtk_file_chooser_get_extra_widget (GtkFileChooser *chooser)
@@ -1866,8 +1766,6 @@ gtk_file_chooser_get_extra_widget (GtkFileChooser *chooser)
  * 
  * Note that the @chooser takes ownership of the filter, so you have to 
  * ref and sink it if you want to keep a reference.
- *
- * Since: 2.4
  **/
 void
 gtk_file_chooser_add_filter (GtkFileChooser *chooser,
@@ -1884,8 +1782,6 @@ gtk_file_chooser_add_filter (GtkFileChooser *chooser,
  * @filter: a #GtkFileFilter
  * 
  * Removes @filter from the list of filters that the user can select between.
- *
- * Since: 2.4
  **/
 void
 gtk_file_chooser_remove_filter (GtkFileChooser *chooser,
@@ -1907,8 +1803,6 @@ gtk_file_chooser_remove_filter (GtkFileChooser *chooser,
  *  #GSList containing the current set of user selectable filters. The
  *  contents of the list are owned by GTK+, but you must free the list
  *  itself with g_slist_free() when you are done with it.
- *
- * Since: 2.4
  **/
 GSList *
 gtk_file_chooser_list_filters  (GtkFileChooser *chooser)
@@ -1929,8 +1823,6 @@ gtk_file_chooser_list_filters  (GtkFileChooser *chooser)
  * in that list. Setting the current filter when the list of
  * filters is empty is useful if you want to restrict the displayed
  * set of files without letting the user change it.
- *
- * Since: 2.4
  **/
 void
 gtk_file_chooser_set_filter (GtkFileChooser *chooser,
@@ -1949,8 +1841,6 @@ gtk_file_chooser_set_filter (GtkFileChooser *chooser,
  * Gets the current filter; see gtk_file_chooser_set_filter().
  *
  * Returns: (nullable) (transfer none): the current filter, or %NULL
- *
- * Since: 2.4
  **/
 GtkFileFilter *
 gtk_file_chooser_get_filter (GtkFileChooser *chooser)
@@ -1983,8 +1873,6 @@ gtk_file_chooser_get_filter (GtkFileChooser *chooser)
  * 
  * Returns: %TRUE if the folder could be added successfully, %FALSE
  * otherwise.  In the latter case, the @error will be set as appropriate.
- *
- * Since: 2.4
  **/
 gboolean
 gtk_file_chooser_add_shortcut_folder (GtkFileChooser    *chooser,
@@ -2016,8 +1904,6 @@ gtk_file_chooser_add_shortcut_folder (GtkFileChooser    *chooser,
  * In the latter case, the @error will be set as appropriate.
  *
  * See also: gtk_file_chooser_add_shortcut_folder()
- *
- * Since: 2.4
  **/
 gboolean
 gtk_file_chooser_remove_shortcut_folder (GtkFileChooser    *chooser,
@@ -2048,8 +1934,6 @@ gtk_file_chooser_remove_shortcut_folder (GtkFileChooser    *chooser,
  * of folder filenames, or %NULL if there are no shortcut folders.
  * Free the returned list with g_slist_free(), and the filenames with
  * g_free().
- *
- * Since: 2.4
  **/
 GSList *
 gtk_file_chooser_list_shortcut_folders (GtkFileChooser *chooser)
@@ -2080,8 +1964,6 @@ gtk_file_chooser_list_shortcut_folders (GtkFileChooser *chooser)
  * 
  * Returns: %TRUE if the folder could be added successfully, %FALSE
  * otherwise.  In the latter case, the @error will be set as appropriate.
- *
- * Since: 2.4
  **/
 gboolean
 gtk_file_chooser_add_shortcut_folder_uri (GtkFileChooser    *chooser,
@@ -2113,8 +1995,6 @@ gtk_file_chooser_add_shortcut_folder_uri (GtkFileChooser    *chooser,
  * In the latter case, the @error will be set as appropriate.
  *
  * See also: gtk_file_chooser_add_shortcut_folder_uri()
- *
- * Since: 2.4
  **/
 gboolean
 gtk_file_chooser_remove_shortcut_folder_uri (GtkFileChooser    *chooser,
@@ -2144,8 +2024,6 @@ gtk_file_chooser_remove_shortcut_folder_uri (GtkFileChooser    *chooser,
  * Returns: (nullable) (element-type utf8) (transfer full): A list of
  * folder URIs, or %NULL if there are no shortcut folders.  Free the
  * returned list with g_slist_free(), and the URIs with g_free().
- *
- * Since: 2.4
  **/
 GSList *
 gtk_file_chooser_list_shortcut_folder_uris (GtkFileChooser *chooser)
@@ -2177,8 +2055,6 @@ _gtk_file_chooser_list_shortcut_folder_files (GtkFileChooser *chooser)
  * @show_hidden: %TRUE if hidden files and folders should be displayed.
  * 
  * Sets whether hidden files and folders are displayed in the file selector.  
- *
- * Since: 2.6
  **/
 void
 gtk_file_chooser_set_show_hidden (GtkFileChooser *chooser,
@@ -2197,8 +2073,6 @@ gtk_file_chooser_set_show_hidden (GtkFileChooser *chooser,
  * See gtk_file_chooser_set_show_hidden().
  * 
  * Returns: %TRUE if hidden files and folders are displayed.
- *
- * Since: 2.6
  **/
 gboolean
 gtk_file_chooser_get_show_hidden (GtkFileChooser *chooser)
@@ -2228,8 +2102,6 @@ gtk_file_chooser_get_show_hidden (GtkFileChooser *chooser)
  * You can override the way confirmation is done by actually handling the
  * #GtkFileChooser::confirm-overwrite signal; please refer to its documentation
  * for the details.
- *
- * Since: 2.8
  **/
 void
 gtk_file_chooser_set_do_overwrite_confirmation (GtkFileChooser *chooser,
@@ -2249,8 +2121,6 @@ gtk_file_chooser_set_do_overwrite_confirmation (GtkFileChooser *chooser,
  * 
  * Returns: %TRUE if the file chooser will present a confirmation dialog;
  * %FALSE otherwise.
- *
- * Since: 2.8
  **/
 gboolean
 gtk_file_chooser_get_do_overwrite_confirmation (GtkFileChooser *chooser)
@@ -2279,8 +2149,6 @@ gtk_file_chooser_get_do_overwrite_confirmation (GtkFileChooser *chooser)
  * using gtk_file_chooser_get_choice().
  *
  * Compare gtk_file_chooser_set_extra_widget().
- *
- * Since: 3.22
  */
 void
 gtk_file_chooser_add_choice (GtkFileChooser  *chooser,
@@ -2301,8 +2169,6 @@ gtk_file_chooser_add_choice (GtkFileChooser  *chooser,
  * @id: the ID of the choice to remove
  *
  * Removes a 'choice' that has been added with gtk_file_chooser_add_choice().
- *
- * Since: 3.22
  */
 void
 gtk_file_chooser_remove_choice (GtkFileChooser  *chooser,
@@ -2323,8 +2189,6 @@ gtk_file_chooser_remove_choice (GtkFileChooser  *chooser,
  * Selects an option in a 'choice' that has been added with
  * gtk_file_chooser_add_choice(). For a boolean choice, the
  * possible options are "true" and "false".
- *
- * Since: 3.22
  */
 void
 gtk_file_chooser_set_choice (GtkFileChooser  *chooser,
@@ -2345,7 +2209,6 @@ gtk_file_chooser_set_choice (GtkFileChooser  *chooser,
  * Gets the currently selected option in the 'choice' with the given ID.
  *
  * Returns: the ID of the currenly selected option
- * Since: 3.22
  */
 const char *
 gtk_file_chooser_get_choice (GtkFileChooser  *chooser,
diff --git a/gtk/gtkfilechooser.h b/gtk/gtkfilechooser.h
index 92cdbb3..9c13dd4 100644
--- a/gtk/gtkfilechooser.h
+++ b/gtk/gtkfilechooser.h
@@ -73,8 +73,6 @@ typedef enum
  * value determines whether the file chooser will present the stock
  * confirmation dialog, accept the user’s choice of a filename, or
  * let the user choose another filename.
- *
- * Since: 2.8
  */
 typedef enum
 {
@@ -155,7 +153,7 @@ gboolean             gtk_file_chooser_get_create_folders (GtkFileChooser *choose
 GDK_AVAILABLE_IN_ALL
 void        gtk_file_chooser_set_current_name  (GtkFileChooser *chooser,
                                                const gchar    *name);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 gchar *gtk_file_chooser_get_current_name (GtkFileChooser *chooser);
 
 /* Filename manipulation
@@ -304,20 +302,20 @@ gboolean gtk_file_chooser_remove_shortcut_folder_uri (GtkFileChooser *chooser,
 GDK_AVAILABLE_IN_ALL
 GSList *gtk_file_chooser_list_shortcut_folder_uris   (GtkFileChooser *chooser);
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 void        gtk_file_chooser_add_choice              (GtkFileChooser  *chooser,
                                                       const char      *id,
                                                       const char      *label,
                                                       const char     **options,
                                                       const char     **option_labels);
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 void        gtk_file_chooser_remove_choice           (GtkFileChooser  *chooser,
                                                       const char      *id);
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 void        gtk_file_chooser_set_choice              (GtkFileChooser  *chooser,
                                                       const char      *id,
                                                       const char      *option);
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 const char *gtk_file_chooser_get_choice              (GtkFileChooser  *chooser,
                                                       const char      *id);
 
diff --git a/gtk/gtkfilechooserbutton.c b/gtk/gtkfilechooserbutton.c
index 5c57199..706ab3c 100644
--- a/gtk/gtkfilechooserbutton.c
+++ b/gtk/gtkfilechooserbutton.c
@@ -406,8 +406,6 @@ gtk_file_chooser_button_class_init (GtkFileChooserButtonClass * class)
    *
    * Note that this signal is only emitted when the user
    * changes the file.
-   *
-   * Since: 2.12
    */
   file_chooser_button_signals[FILE_SET] =
     g_signal_new (I_("file-set"),
@@ -422,8 +420,6 @@ gtk_file_chooser_button_class_init (GtkFileChooserButtonClass * class)
    * GtkFileChooserButton:dialog:
    *
    * Instance of the #GtkFileChooserDialog associated with the button.
-   *
-   * Since: 2.6
    */
   g_object_class_install_property (gobject_class, PROP_DIALOG,
                                   g_param_spec_object ("dialog",
@@ -437,8 +433,6 @@ gtk_file_chooser_button_class_init (GtkFileChooserButtonClass * class)
    * GtkFileChooserButton:title:
    *
    * Title to put on the #GtkFileChooserDialog associated with the button.
-   *
-   * Since: 2.6
    */
   g_object_class_install_property (gobject_class, PROP_TITLE,
                                   g_param_spec_string ("title",
@@ -451,8 +445,6 @@ gtk_file_chooser_button_class_init (GtkFileChooserButtonClass * class)
    * GtkFileChooserButton:width-chars:
    *
    * The width of the entry and label inside the button, in characters.
-   *
-   * Since: 2.6
    */
   g_object_class_install_property (gobject_class, PROP_WIDTH_CHARS,
                                   g_param_spec_int ("width-chars",
@@ -2952,8 +2944,6 @@ native_response_cb (GtkFileChooserNative *native,
  * Creates a new file-selecting button widget.
  *
  * Returns: a new button widget.
- *
- * Since: 2.6
  */
 GtkWidget *
 gtk_file_chooser_button_new (const gchar          *title,
@@ -2984,8 +2974,6 @@ gtk_file_chooser_button_new (const gchar          *title,
  * order for the button to take over the file selected in the dialog.
  *
  * Returns: a new button widget.
- *
- * Since: 2.6
  */
 GtkWidget *
 gtk_file_chooser_button_new_with_dialog (GtkWidget *dialog)
@@ -3003,8 +2991,6 @@ gtk_file_chooser_button_new_with_dialog (GtkWidget *dialog)
  * @title: the new browse dialog title.
  *
  * Modifies the @title of the browse dialog used by @button.
- *
- * Since: 2.6
  */
 void
 gtk_file_chooser_button_set_title (GtkFileChooserButton *button,
@@ -3027,8 +3013,6 @@ gtk_file_chooser_button_set_title (GtkFileChooserButton *button,
  * should not be modified or freed.
  *
  * Returns: a pointer to the browse dialog’s title.
- *
- * Since: 2.6
  */
 const gchar *
 gtk_file_chooser_button_get_title (GtkFileChooserButton *button)
@@ -3048,8 +3032,6 @@ gtk_file_chooser_button_get_title (GtkFileChooserButton *button)
  * Retrieves the width in characters of the @button widget’s entry and/or label.
  *
  * Returns: an integer width (in characters) that the button will use to size itself.
- *
- * Since: 2.6
  */
 gint
 gtk_file_chooser_button_get_width_chars (GtkFileChooserButton *button)
@@ -3065,8 +3047,6 @@ gtk_file_chooser_button_get_width_chars (GtkFileChooserButton *button)
  * @n_chars: the new width, in characters.
  *
  * Sets the width (in characters) that @button will use to @n_chars.
- *
- * Since: 2.6
  */
 void
 gtk_file_chooser_button_set_width_chars (GtkFileChooserButton *button,
diff --git a/gtk/gtkfilechooserdialog.c b/gtk/gtkfilechooserdialog.c
index 701fa1a..517654e 100644
--- a/gtk/gtkfilechooserdialog.c
+++ b/gtk/gtkfilechooserdialog.c
@@ -696,8 +696,6 @@ gtk_file_chooser_dialog_new_valist (const gchar          *title,
  * gtk_dialog_new_with_buttons().
  *
  * Returns: a new #GtkFileChooserDialog
- *
- * Since: 2.4
  **/
 GtkWidget *
 gtk_file_chooser_dialog_new (const gchar          *title,
diff --git a/gtk/gtkfilechoosernative.c b/gtk/gtkfilechoosernative.c
index 83fd5cc..0d4d6a2 100644
--- a/gtk/gtkfilechoosernative.c
+++ b/gtk/gtkfilechoosernative.c
@@ -236,8 +236,6 @@ G_DEFINE_TYPE_WITH_CODE (GtkFileChooserNative, gtk_file_chooser_native, GTK_TYPE
  *
  * Returns: (nullable): The custom label, or %NULL for the default. This string
  * is owned by GTK+ and should not be modified or freed
- *
- * Since: 3.20
  **/
 const char *
 gtk_file_chooser_native_get_accept_label (GtkFileChooserNative *self)
@@ -259,8 +257,6 @@ gtk_file_chooser_native_get_accept_label (GtkFileChooserNative *self)
  * underscores). The first underlined character represents a keyboard
  * accelerator called a mnemonic.
  * Pressing Alt and that key activates the button.
- *
- * Since: 3.20
  **/
 void
 gtk_file_chooser_native_set_accept_label (GtkFileChooserNative *self,
@@ -282,8 +278,6 @@ gtk_file_chooser_native_set_accept_label (GtkFileChooserNative *self,
  *
  * Returns: (nullable): The custom label, or %NULL for the default. This string
  * is owned by GTK+ and should not be modified or freed
- *
- * Since: 3.20
  **/
 const char *
 gtk_file_chooser_native_get_cancel_label (GtkFileChooserNative *self)
@@ -305,8 +299,6 @@ gtk_file_chooser_native_get_cancel_label (GtkFileChooserNative *self)
  * underscores). The first underlined character represents a keyboard
  * accelerator called a mnemonic.
  * Pressing Alt and that key activates the button.
- *
- * Since: 3.20
  **/
 void
 gtk_file_chooser_native_set_cancel_label (GtkFileChooserNative *self,
@@ -550,8 +542,6 @@ gtk_file_chooser_native_init (GtkFileChooserNative *self)
  * Creates a new #GtkFileChooserNative.
  *
  * Returns: a new #GtkFileChooserNative
- *
- * Since: 3.20
  **/
 GtkFileChooserNative *
 gtk_file_chooser_native_new (const gchar          *title,
diff --git a/gtk/gtkfilechoosernative.h b/gtk/gtkfilechoosernative.h
index c2c21d7..b85fbbc 100644
--- a/gtk/gtkfilechoosernative.h
+++ b/gtk/gtkfilechoosernative.h
@@ -30,24 +30,24 @@ G_BEGIN_DECLS
 
 #define GTK_TYPE_FILE_CHOOSER_NATIVE             (gtk_file_chooser_native_get_type ())
 
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (GtkFileChooserNative, gtk_file_chooser_native, GTK, FILE_CHOOSER_NATIVE, 
GtkNativeDialog)
 
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 GtkFileChooserNative *gtk_file_chooser_native_new (const gchar          *title,
                                                    GtkWindow            *parent,
                                                    GtkFileChooserAction  action,
                                                    const gchar          *accept_label,
                                                    const gchar          *cancel_label);
 
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 const char *gtk_file_chooser_native_get_accept_label (GtkFileChooserNative *self);
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 void        gtk_file_chooser_native_set_accept_label (GtkFileChooserNative *self,
                                                       const char           *accept_label);
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 const char *gtk_file_chooser_native_get_cancel_label (GtkFileChooserNative *self);
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 void        gtk_file_chooser_native_set_cancel_label (GtkFileChooserNative *self,
                                                       const char           *cancel_label);
 
diff --git a/gtk/gtkfilechooserwidget.c b/gtk/gtkfilechooserwidget.c
index 4475ecc..066f4cf 100644
--- a/gtk/gtkfilechooserwidget.c
+++ b/gtk/gtkfilechooserwidget.c
@@ -8569,8 +8569,6 @@ gtk_file_chooser_widget_init (GtkFileChooserWidget *impl)
  * #GtkFileChooserDialog.
  *
  * Returns: a new #GtkFileChooserWidget
- *
- * Since: 2.4
  **/
 GtkWidget *
 gtk_file_chooser_widget_new (GtkFileChooserAction action)
diff --git a/gtk/gtkfilefilter.c b/gtk/gtkfilefilter.c
index 58decf9..a63d2ec 100644
--- a/gtk/gtkfilefilter.c
+++ b/gtk/gtkfilefilter.c
@@ -394,8 +394,6 @@ gtk_file_filter_buildable_custom_tag_end (GtkBuildable *buildable,
  * ]|
  * 
  * Returns: a new #GtkFileFilter
- * 
- * Since: 2.4
  **/
 GtkFileFilter *
 gtk_file_filter_new (void)
@@ -412,8 +410,6 @@ gtk_file_filter_new (void)
  * Sets the human-readable name of the filter; this is the string
  * that will be displayed in the file selector user interface if
  * there is a selectable list of filters.
- * 
- * Since: 2.4
  **/
 void
 gtk_file_filter_set_name (GtkFileFilter *filter,
@@ -435,8 +431,6 @@ gtk_file_filter_set_name (GtkFileFilter *filter,
  * Returns: (nullable): The human-readable name of the filter,
  *   or %NULL. This value is owned by GTK+ and must not
  *   be modified or freed.
- * 
- * Since: 2.4
  **/
 const gchar *
 gtk_file_filter_get_name (GtkFileFilter *filter)
@@ -460,8 +454,6 @@ file_filter_add_rule (GtkFileFilter *filter,
  * @mime_type: name of a MIME type
  * 
  * Adds a rule allowing a given mime type to @filter.
- * 
- * Since: 2.4
  **/
 void
 gtk_file_filter_add_mime_type (GtkFileFilter *filter,
@@ -486,8 +478,6 @@ gtk_file_filter_add_mime_type (GtkFileFilter *filter,
  * @pattern: a shell style glob
  * 
  * Adds a rule allowing a shell style glob to a filter.
- * 
- * Since: 2.4
  **/
 void
 gtk_file_filter_add_pattern (GtkFileFilter *filter,
@@ -512,8 +502,6 @@ gtk_file_filter_add_pattern (GtkFileFilter *filter,
  * 
  * Adds a rule allowing image files in the formats supported
  * by GdkPixbuf.
- * 
- * Since: 2.6
  **/
 void
 gtk_file_filter_add_pixbuf_formats (GtkFileFilter *filter)
@@ -545,8 +533,6 @@ gtk_file_filter_add_pixbuf_formats (GtkFileFilter *filter)
  * about what sorts of information that the filter function needs;
  * this allows GTK+ to avoid retrieving expensive information when
  * it isn’t needed by the filter.
- * 
- * Since: 2.4
  **/
 void
 gtk_file_filter_add_custom (GtkFileFilter         *filter,
@@ -583,8 +569,6 @@ gtk_file_filter_add_custom (GtkFileFilter         *filter,
  * 
  * Returns: bitfield of flags indicating needed fields when
  *   calling gtk_file_filter_filter()
- * 
- * Since: 2.4
  **/
 GtkFileFilterFlags
 gtk_file_filter_get_needed (GtkFileFilter *filter)
@@ -734,8 +718,6 @@ _gtk_file_filter_get_as_patterns (GtkFileFilter      *filter)
  * #GtkFileChooser.
  * 
  * Returns: %TRUE if the file should be displayed
- * 
- * Since: 2.4
  **/
 gboolean
 gtk_file_filter_filter (GtkFileFilter           *filter,
@@ -822,8 +804,6 @@ gtk_file_filter_filter (GtkFileFilter           *filter,
  * Serialize a file filter to an a{sv} variant.
  *
  * Returns: (transfer none): a new, floating, #GVariant
- *
- * Since: 3.22
  */
 GVariant *
 gtk_file_filter_to_gvariant (GtkFileFilter *filter)
@@ -878,8 +858,6 @@ gtk_file_filter_to_gvariant (GtkFileFilter *filter)
  * the format produced by gtk_file_filter_to_gvariant().
  *
  * Returns: (transfer full): a new #GtkFileFilter object
- *
- * Since: 3.22
  */
 GtkFileFilter *
 gtk_file_filter_new_from_gvariant (GVariant *variant)
diff --git a/gtk/gtkfilefilter.h b/gtk/gtkfilefilter.h
index 8051bef..7155565 100644
--- a/gtk/gtkfilefilter.h
+++ b/gtk/gtkfilefilter.h
@@ -122,9 +122,9 @@ GDK_AVAILABLE_IN_ALL
 gboolean           gtk_file_filter_filter     (GtkFileFilter           *filter,
                                               const GtkFileFilterInfo *filter_info);
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 GVariant      *gtk_file_filter_to_gvariant       (GtkFileFilter *filter);
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 GtkFileFilter *gtk_file_filter_new_from_gvariant (GVariant      *variant);
 
 G_END_DECLS
diff --git a/gtk/gtkflowbox.c b/gtk/gtkflowbox.c
index 0d444f6..8afc448 100644
--- a/gtk/gtkflowbox.c
+++ b/gtk/gtkflowbox.c
@@ -492,8 +492,6 @@ gtk_flow_box_child_init (GtkFlowBoxChild *child)
  * of a #GtkFlowBox.
  *
  * Returns: a new #GtkFlowBoxChild
- *
- * Since: 3.12
  */
 GtkWidget *
 gtk_flow_box_child_new (void)
@@ -509,8 +507,6 @@ gtk_flow_box_child_new (void)
  *
  * Returns: the index of the @child, or -1 if the @child is not
  *     in a flow box.
- *
- * Since: 3.12
  */
 gint
 gtk_flow_box_child_get_index (GtkFlowBoxChild *child)
@@ -535,8 +531,6 @@ gtk_flow_box_child_get_index (GtkFlowBoxChild *child)
  * #GtkFlowBox container.
  *
  * Returns: %TRUE if @child is selected
- *
- * Since: 3.12
  */
 gboolean
 gtk_flow_box_child_is_selected (GtkFlowBoxChild *child)
@@ -566,8 +560,6 @@ gtk_flow_box_child_is_selected (GtkFlowBoxChild *child)
  * and filtering functions into the widgets themselves. Another
  * alternative is to call gtk_flow_box_invalidate_sort() on any
  * model change, but that is more expensive.
- *
- * Since: 3.12
  */
 void
 gtk_flow_box_child_changed (GtkFlowBoxChild *child)
@@ -3829,8 +3821,6 @@ gtk_flow_box_bound_model_changed (GListModel *list,
  * Creates a GtkFlowBox.
  *
  * Returns: a new #GtkFlowBox container
- *
- * Since: 3.12
  */
 GtkWidget *
 gtk_flow_box_new (void)
@@ -3871,8 +3861,6 @@ gtk_flow_box_insert_css_node (GtkFlowBox    *box,
  *
  * If @position is -1, or larger than the total number of children
  * in the @box, then the @widget will be appended to the end.
- *
- * Since: 3.12
  */
 void
 gtk_flow_box_insert (GtkFlowBox *box,
@@ -3928,8 +3916,6 @@ gtk_flow_box_insert (GtkFlowBox *box,
  * Returns: (transfer none) (nullable): the child widget, which will
  *     always be a #GtkFlowBoxChild or %NULL in case no child widget
  *     with the given index exists.
- *
- * Since: 3.12
  */
 GtkFlowBoxChild *
 gtk_flow_box_get_child_at_index (GtkFlowBox *box,
@@ -3958,8 +3944,6 @@ gtk_flow_box_get_child_at_index (GtkFlowBox *box,
  * Returns: (transfer none) (nullable): the child widget, which will
  *     always be a #GtkFlowBoxChild or %NULL in case no child widget
  *     exists for the given x and y coordinates.
- *
- * Since: 3.22.6
  */
 GtkFlowBoxChild *
 gtk_flow_box_get_child_at_pos (GtkFlowBox *box,
@@ -4002,8 +3986,6 @@ gtk_flow_box_get_child_at_pos (GtkFlowBox *box,
  * The adjustments have to be in pixel units and in the same
  * coordinate system as the allocation for immediate children
  * of the box.
- *
- * Since: 3.12
  */
 void
 gtk_flow_box_set_hadjustment (GtkFlowBox    *box,
@@ -4039,8 +4021,6 @@ gtk_flow_box_set_hadjustment (GtkFlowBox    *box,
  * The adjustments have to be in pixel units and in the same
  * coordinate system as the allocation for immediate children
  * of the box.
- *
- * Since: 3.12
  */
 void
 gtk_flow_box_set_vadjustment (GtkFlowBox    *box,
@@ -4094,8 +4074,6 @@ gtk_flow_box_check_model_compat (GtkFlowBox *box)
  * Note that using a model is incompatible with the filtering and sorting
  * functionality in GtkFlowBox. When using a model, filtering and sorting
  * should be implemented by the model.
- *
- * Since: 3.18
  */
 void
 gtk_flow_box_bind_model (GtkFlowBox                 *box,
@@ -4145,8 +4123,6 @@ gtk_flow_box_bind_model (GtkFlowBox                 *box,
  * same size). See gtk_box_set_homogeneous().
  *
  * Returns: %TRUE if the box is homogeneous.
- *
- * Since: 3.12
  */
 gboolean
 gtk_flow_box_get_homogeneous (GtkFlowBox *box)
@@ -4165,8 +4141,6 @@ gtk_flow_box_get_homogeneous (GtkFlowBox *box)
  * Sets the #GtkFlowBox:homogeneous property of @box, controlling
  * whether or not all children of @box are given equal space
  * in the box.
- *
- * Since: 3.12
  */
 void
 gtk_flow_box_set_homogeneous (GtkFlowBox *box,
@@ -4192,8 +4166,6 @@ gtk_flow_box_set_homogeneous (GtkFlowBox *box,
  *
  * Sets the vertical space to add between children.
  * See the #GtkFlowBox:row-spacing property.
- *
- * Since: 3.12
  */
 void
 gtk_flow_box_set_row_spacing (GtkFlowBox *box,
@@ -4217,8 +4189,6 @@ gtk_flow_box_set_row_spacing (GtkFlowBox *box,
  * Gets the vertical spacing.
  *
  * Returns: the vertical spacing
- *
- * Since: 3.12
  */
 guint
 gtk_flow_box_get_row_spacing (GtkFlowBox *box)
@@ -4235,8 +4205,6 @@ gtk_flow_box_get_row_spacing (GtkFlowBox *box)
  *
  * Sets the horizontal space to add between children.
  * See the #GtkFlowBox:column-spacing property.
- *
- * Since: 3.12
  */
 void
 gtk_flow_box_set_column_spacing (GtkFlowBox *box,
@@ -4260,8 +4228,6 @@ gtk_flow_box_set_column_spacing (GtkFlowBox *box,
  * Gets the horizontal spacing.
  *
  * Returns: the horizontal spacing
- *
- * Since: 3.12
  */
 guint
 gtk_flow_box_get_column_spacing (GtkFlowBox *box)
@@ -4278,8 +4244,6 @@ gtk_flow_box_get_column_spacing (GtkFlowBox *box)
  *
  * Sets the minimum number of children to line up
  * in @box’s orientation before flowing.
- *
- * Since: 3.12
  */
 void
 gtk_flow_box_set_min_children_per_line (GtkFlowBox *box,
@@ -4303,8 +4267,6 @@ gtk_flow_box_set_min_children_per_line (GtkFlowBox *box,
  * Gets the minimum number of children per line.
  *
  * Returns: the minimum number of children per line
- *
- * Since: 3.12
  */
 guint
 gtk_flow_box_get_min_children_per_line (GtkFlowBox *box)
@@ -4325,8 +4287,6 @@ gtk_flow_box_get_min_children_per_line (GtkFlowBox *box)
  * Setting the maximum number of children per line
  * limits the overall natural size request to be no more
  * than @n_children children long in the given orientation.
- *
- * Since: 3.12
  */
 void
 gtk_flow_box_set_max_children_per_line (GtkFlowBox *box,
@@ -4351,8 +4311,6 @@ gtk_flow_box_set_max_children_per_line (GtkFlowBox *box,
  * Gets the maximum number of children per line.
  *
  * Returns: the maximum number of children per line
- *
- * Since: 3.12
  */
 guint
 gtk_flow_box_get_max_children_per_line (GtkFlowBox *box)
@@ -4369,8 +4327,6 @@ gtk_flow_box_get_max_children_per_line (GtkFlowBox *box)
  *
  * If @single is %TRUE, children will be activated when you click
  * on them, otherwise you need to double-click.
- *
- * Since: 3.12
  */
 void
 gtk_flow_box_set_activate_on_single_click (GtkFlowBox *box,
@@ -4395,8 +4351,6 @@ gtk_flow_box_set_activate_on_single_click (GtkFlowBox *box,
  *
  * Returns: %TRUE if children are activated on single click,
  *     %FALSE otherwise
- *
- * Since: 3.12
  */
 gboolean
 gtk_flow_box_get_activate_on_single_click (GtkFlowBox *box)
@@ -4428,8 +4382,6 @@ gtk_flow_box_set_accept_unpaired_release (GtkFlowBox *box,
  * Returns: (element-type GtkFlowBoxChild) (transfer container):
  *     A #GList containing the #GtkWidget for each selected child.
  *     Free with g_list_free() when done.
- *
- * Since: 3.12
  */
 GList *
 gtk_flow_box_get_selected_children (GtkFlowBox *box)
@@ -4459,8 +4411,6 @@ gtk_flow_box_get_selected_children (GtkFlowBox *box)
  *
  * Selects a single child of @box, if the selection
  * mode allows it.
- *
- * Since: 3.12
  */
 void
 gtk_flow_box_select_child (GtkFlowBox      *box,
@@ -4479,8 +4429,6 @@ gtk_flow_box_select_child (GtkFlowBox      *box,
  *
  * Unselects a single child of @box, if the selection
  * mode allows it.
- *
- * Since: 3.12
  */
 void
 gtk_flow_box_unselect_child (GtkFlowBox      *box,
@@ -4498,8 +4446,6 @@ gtk_flow_box_unselect_child (GtkFlowBox      *box,
  *
  * Select all children of @box, if the selection
  * mode allows it.
- *
- * Since: 3.12
  */
 void
 gtk_flow_box_select_all (GtkFlowBox *box)
@@ -4522,8 +4468,6 @@ gtk_flow_box_select_all (GtkFlowBox *box)
  *
  * Unselect all children of @box, if the selection
  * mode allows it.
- *
- * Since: 3.12
  */
 void
 gtk_flow_box_unselect_all (GtkFlowBox *box)
@@ -4549,8 +4493,6 @@ gtk_flow_box_unselect_all (GtkFlowBox *box)
  *
  * A function used by gtk_flow_box_selected_foreach().
  * It will be called on every selected child of the @box.
- *
- * Since: 3.12
  */
 
 /**
@@ -4563,8 +4505,6 @@ gtk_flow_box_unselect_all (GtkFlowBox *box)
  *
  * Note that the selection cannot be modified from within
  * this function.
- *
- * Since: 3.12
  */
 void
 gtk_flow_box_selected_foreach (GtkFlowBox            *box,
@@ -4593,8 +4533,6 @@ gtk_flow_box_selected_foreach (GtkFlowBox            *box,
  *
  * Sets how selection works in @box.
  * See #GtkSelectionMode for details.
- *
- * Since: 3.12
  */
 void
 gtk_flow_box_set_selection_mode (GtkFlowBox       *box,
@@ -4629,8 +4567,6 @@ gtk_flow_box_set_selection_mode (GtkFlowBox       *box,
  * Gets the selection mode of @box.
  *
  * Returns: the #GtkSelectionMode
- *
- * Since: 3.12
  */
 GtkSelectionMode
 gtk_flow_box_get_selection_mode (GtkFlowBox *box)
@@ -4652,8 +4588,6 @@ gtk_flow_box_get_selection_mode (GtkFlowBox *box)
  * visible or not.
  *
  * Returns: %TRUE if the row should be visible, %FALSE otherwise
- *
- * Since: 3.12
  */
 
 /**
@@ -4675,8 +4609,6 @@ gtk_flow_box_get_selection_mode (GtkFlowBox *box)
  *
  * Note that using a filter function is incompatible with using a model
  * (see gtk_flow_box_bind_model()).
- *
- * Since: 3.12
  */
 void
 gtk_flow_box_set_filter_func (GtkFlowBox           *box,
@@ -4713,8 +4645,6 @@ gtk_flow_box_set_filter_func (GtkFlowBox           *box,
  * factor. For instance, this would be used if the
  * filter function just looked for a specific search
  * term, and the entry with the string has changed.
- *
- * Since: 3.12
  */
 void
 gtk_flow_box_invalidate_filter (GtkFlowBox *box)
@@ -4738,8 +4668,6 @@ gtk_flow_box_invalidate_filter (GtkFlowBox *box)
  *
  * Returns: < 0 if @child1 should be before @child2, 0 if
  *     the are equal, and > 0 otherwise
- *
- * Since: 3.12
  */
 
 /**
@@ -4760,8 +4688,6 @@ gtk_flow_box_invalidate_filter (GtkFlowBox *box)
  *
  * Note that using a sort function is incompatible with using a model
  * (see gtk_flow_box_bind_model()).
- *
- * Since: 3.12
  */
 void
 gtk_flow_box_set_sort_func (GtkFlowBox         *box,
@@ -4826,8 +4752,6 @@ gtk_flow_box_css_node_foreach (gpointer data,
  *
  * Call this when the result of the sort function on
  * @box is changed due to an external factor.
- *
- * Since: 3.12
  */
 void
 gtk_flow_box_invalidate_sort (GtkFlowBox *box)
diff --git a/gtk/gtkflowbox.h b/gtk/gtkflowbox.h
index ba07f55..9061621 100644
--- a/gtk/gtkflowbox.h
+++ b/gtk/gtkflowbox.h
@@ -108,80 +108,78 @@ struct _GtkFlowBoxChildClass
  * gtk_flow_box_bind_model() for each item that gets added to the model.
  *
  * Returns: (transfer full): a #GtkWidget that represents @item
- *
- * Since: 3.18
  */
 typedef GtkWidget * (*GtkFlowBoxCreateWidgetFunc) (gpointer item,
                                                    gpointer  user_data);
 
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 GType                 gtk_flow_box_child_get_type            (void) G_GNUC_CONST;
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 GtkWidget*            gtk_flow_box_child_new                 (void);
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 gint                  gtk_flow_box_child_get_index           (GtkFlowBoxChild *child);
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 gboolean              gtk_flow_box_child_is_selected         (GtkFlowBoxChild *child);
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 void                  gtk_flow_box_child_changed             (GtkFlowBoxChild *child);
 
 
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 GType                 gtk_flow_box_get_type                  (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 GtkWidget            *gtk_flow_box_new                       (void);
 
-GDK_AVAILABLE_IN_3_18
+GDK_AVAILABLE_IN_ALL
 void                  gtk_flow_box_bind_model                (GtkFlowBox                 *box,
                                                               GListModel                 *model,
                                                               GtkFlowBoxCreateWidgetFunc  create_widget_func,
                                                               gpointer                    user_data,
                                                               GDestroyNotify              
user_data_free_func);
 
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 void                  gtk_flow_box_set_homogeneous           (GtkFlowBox           *box,
                                                               gboolean              homogeneous);
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 gboolean              gtk_flow_box_get_homogeneous           (GtkFlowBox           *box);
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 void                  gtk_flow_box_set_row_spacing           (GtkFlowBox           *box,
                                                               guint                 spacing);
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 guint                 gtk_flow_box_get_row_spacing           (GtkFlowBox           *box);
 
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 void                  gtk_flow_box_set_column_spacing        (GtkFlowBox           *box,
                                                               guint                 spacing);
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 guint                 gtk_flow_box_get_column_spacing        (GtkFlowBox           *box);
 
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 void                  gtk_flow_box_set_min_children_per_line (GtkFlowBox           *box,
                                                               guint                 n_children);
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 guint                 gtk_flow_box_get_min_children_per_line (GtkFlowBox           *box);
 
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 void                  gtk_flow_box_set_max_children_per_line (GtkFlowBox           *box,
                                                               guint                 n_children);
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 guint                 gtk_flow_box_get_max_children_per_line (GtkFlowBox           *box);
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 void                  gtk_flow_box_set_activate_on_single_click (GtkFlowBox        *box,
                                                                  gboolean           single);
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 gboolean              gtk_flow_box_get_activate_on_single_click (GtkFlowBox        *box);
 
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 void                  gtk_flow_box_insert                       (GtkFlowBox        *box,
                                                                  GtkWidget         *widget,
                                                                  gint               position);
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 GtkFlowBoxChild      *gtk_flow_box_get_child_at_index           (GtkFlowBox        *box,
                                                                  gint               idx);
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 GtkFlowBoxChild      *gtk_flow_box_get_child_at_pos             (GtkFlowBox        *box,
                                                                  gint               x,
                                                                  gint               y);
@@ -190,55 +188,55 @@ typedef void (* GtkFlowBoxForeachFunc) (GtkFlowBox      *box,
                                         GtkFlowBoxChild *child,
                                         gpointer         user_data);
 
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 void                  gtk_flow_box_selected_foreach             (GtkFlowBox        *box,
                                                                  GtkFlowBoxForeachFunc func,
                                                                  gpointer           data);
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 GList                *gtk_flow_box_get_selected_children        (GtkFlowBox        *box);
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 void                  gtk_flow_box_select_child                 (GtkFlowBox        *box,
                                                                  GtkFlowBoxChild   *child);
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 void                  gtk_flow_box_unselect_child               (GtkFlowBox        *box,
                                                                  GtkFlowBoxChild   *child);
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 void                  gtk_flow_box_select_all                   (GtkFlowBox        *box);
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 void                  gtk_flow_box_unselect_all                 (GtkFlowBox        *box);
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 void                  gtk_flow_box_set_selection_mode           (GtkFlowBox        *box,
                                                                  GtkSelectionMode   mode);
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 GtkSelectionMode      gtk_flow_box_get_selection_mode           (GtkFlowBox        *box);
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 void                  gtk_flow_box_set_hadjustment              (GtkFlowBox        *box,
                                                                  GtkAdjustment     *adjustment);
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 void                  gtk_flow_box_set_vadjustment              (GtkFlowBox        *box,
                                                                  GtkAdjustment     *adjustment);
 
 typedef gboolean (*GtkFlowBoxFilterFunc) (GtkFlowBoxChild *child,
                                           gpointer         user_data);
 
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 void                  gtk_flow_box_set_filter_func              (GtkFlowBox        *box,
                                                                  GtkFlowBoxFilterFunc filter_func,
                                                                  gpointer             user_data,
                                                                  GDestroyNotify       destroy);
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 void                  gtk_flow_box_invalidate_filter            (GtkFlowBox        *box);
 
 typedef gint (*GtkFlowBoxSortFunc) (GtkFlowBoxChild *child1,
                                     GtkFlowBoxChild *child2,
                                     gpointer         user_data);
 
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 void                  gtk_flow_box_set_sort_func                (GtkFlowBox        *box,
                                                                  GtkFlowBoxSortFunc  sort_func,
                                                                  gpointer            user_data,
                                                                  GDestroyNotify      destroy);
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 void                  gtk_flow_box_invalidate_sort              (GtkFlowBox         *box);
 
 G_END_DECLS
diff --git a/gtk/gtkfontbutton.c b/gtk/gtkfontbutton.c
index 8930585..4a6dcba 100644
--- a/gtk/gtkfontbutton.c
+++ b/gtk/gtkfontbutton.c
@@ -508,8 +508,6 @@ gtk_font_button_class_init (GtkFontButtonClass *klass)
    * GtkFontButton:title:
    * 
    * The title of the font chooser dialog.
-   *
-   * Since: 2.4
    */
   g_object_class_install_property (gobject_class,
                                    PROP_TITLE,
@@ -524,8 +522,6 @@ gtk_font_button_class_init (GtkFontButtonClass *klass)
    * 
    * If this property is set to %TRUE, the label will be drawn 
    * in the selected font.
-   *
-   * Since: 2.4
    */
   g_object_class_install_property (gobject_class,
                                    PROP_USE_FONT,
@@ -540,8 +536,6 @@ gtk_font_button_class_init (GtkFontButtonClass *klass)
    * 
    * If this property is set to %TRUE, the label will be drawn 
    * with the selected font size.
-   *
-   * Since: 2.4
    */
   g_object_class_install_property (gobject_class,
                                    PROP_USE_SIZE,
@@ -562,8 +556,6 @@ gtk_font_button_class_init (GtkFontButtonClass *klass)
    * Note that this signal is only emitted when the user
    * changes the font. If you need to react to programmatic font changes
    * as well, use the notify::font signal.
-   *
-   * Since: 2.4
    */
   font_button_signals[FONT_SET] = g_signal_new (I_("font-set"),
                                                 G_TYPE_FROM_CLASS (gobject_class),
@@ -738,8 +730,6 @@ gtk_font_button_get_property (GObject    *object,
  * Creates a new font picker widget.
  *
  * Returns: a new font picker widget.
- *
- * Since: 2.4
  */
 GtkWidget *
 gtk_font_button_new (void)
@@ -754,8 +744,6 @@ gtk_font_button_new (void)
  * Creates a new font picker widget.
  *
  * Returns: a new font picker widget.
- *
- * Since: 2.4
  */
 GtkWidget *
 gtk_font_button_new_with_font (const gchar *fontname)
@@ -769,8 +757,6 @@ gtk_font_button_new_with_font (const gchar *fontname)
  * @title: a string containing the font chooser dialog title
  *
  * Sets the title for the font chooser dialog.  
- *
- * Since: 2.4
  */
 void
 gtk_font_button_set_title (GtkFontButton *font_button, 
@@ -797,8 +783,6 @@ gtk_font_button_set_title (GtkFontButton *font_button,
  * Retrieves the title of the font chooser dialog.
  *
  * Returns: an internal copy of the title string which must not be freed.
- *
- * Since: 2.4
  */
 const gchar*
 gtk_font_button_get_title (GtkFontButton *font_button)
@@ -815,8 +799,6 @@ gtk_font_button_get_title (GtkFontButton *font_button)
  * Returns whether the selected font is used in the label.
  *
  * Returns: whether the selected font is used in the label.
- *
- * Since: 2.4
  */
 gboolean
 gtk_font_button_get_use_font (GtkFontButton *font_button)
@@ -832,8 +814,6 @@ gtk_font_button_get_use_font (GtkFontButton *font_button)
  * @use_font: If %TRUE, font name will be written using font chosen.
  *
  * If @use_font is %TRUE, the font name will be written using the selected font.  
- *
- * Since: 2.4
  */
 void  
 gtk_font_button_set_use_font (GtkFontButton *font_button,
@@ -861,8 +841,6 @@ gtk_font_button_set_use_font (GtkFontButton *font_button,
  * Returns whether the selected size is used in the label.
  *
  * Returns: whether the selected size is used in the label.
- *
- * Since: 2.4
  */
 gboolean
 gtk_font_button_get_use_size (GtkFontButton *font_button)
@@ -878,8 +856,6 @@ gtk_font_button_get_use_size (GtkFontButton *font_button)
  * @use_size: If %TRUE, font name will be written using the selected size.
  *
  * If @use_size is %TRUE, the font name will be written using the selected size.
- *
- * Since: 2.4
  */
 void  
 gtk_font_button_set_use_size (GtkFontButton *font_button,
diff --git a/gtk/gtkfontchooser.c b/gtk/gtkfontchooser.c
index 5c1547d..078225e 100644
--- a/gtk/gtkfontchooser.c
+++ b/gtk/gtkfontchooser.c
@@ -109,8 +109,6 @@ gtk_font_chooser_default_init (GtkFontChooserInterface *iface)
    * GtkFontChooser:level:
    *
    * The level of granularity to offer for selecting fonts.
-   *
-   * Since: 3.94
    */
   g_object_interface_install_property
      (iface,
@@ -126,8 +124,6 @@ gtk_font_chooser_default_init (GtkFontChooserInterface *iface)
    *
    * The selected font features, in a format that is compatible with
    * CSS and with Pango attributes.
-   *
-   * Since: 3.94
    */
   g_object_interface_install_property
      (iface,
@@ -143,8 +139,6 @@ gtk_font_chooser_default_init (GtkFontChooserInterface *iface)
    * The language for which the #GtkFontChooser:font-features were
    * selected, in a format that is compatible with CSS and with Pango
    * attributes.
-   *
-   * Since: 3.94
    */
   g_object_interface_install_property
      (iface,
@@ -187,8 +181,6 @@ gtk_font_chooser_default_init (GtkFontChooserInterface *iface)
  * Returns: (nullable) (transfer none): A #PangoFontFamily representing the
  *     selected font family, or %NULL. The returned object is owned by @fontchooser
  *     and must not be modified or freed.
- *
- * Since: 3.2
  */
 PangoFontFamily *
 gtk_font_chooser_get_font_family (GtkFontChooser *fontchooser)
@@ -210,8 +202,6 @@ gtk_font_chooser_get_font_family (GtkFontChooser *fontchooser)
  * Returns: (nullable) (transfer none): A #PangoFontFace representing the
  *     selected font group details, or %NULL. The returned object is owned by
  *     @fontchooser and must not be modified or freed.
- *
- * Since: 3.2
  */
 PangoFontFace *
 gtk_font_chooser_get_font_face (GtkFontChooser *fontchooser)
@@ -229,8 +219,6 @@ gtk_font_chooser_get_font_face (GtkFontChooser *fontchooser)
  *
  * Returns: A n integer representing the selected font size,
  *     or -1 if no font size is selected.
- *
- * Since: 3.2
  */
 gint
 gtk_font_chooser_get_font_size (GtkFontChooser *fontchooser)
@@ -258,8 +246,6 @@ gtk_font_chooser_get_font_size (GtkFontChooser *fontchooser)
  * Returns: (nullable) (transfer full): A string with the name
  *     of the current font, or %NULL if  no font is selected. You must
  *     free this string with g_free().
- *
- * Since: 3.2
  */
 gchar *
 gtk_font_chooser_get_font (GtkFontChooser *fontchooser)
@@ -280,8 +266,6 @@ gtk_font_chooser_get_font (GtkFontChooser *fontchooser)
  * @fontname: a font name like “Helvetica 12” or “Times Bold 18”
  *
  * Sets the currently-selected font.
- *
- * Since: 3.2
  */
 void
 gtk_font_chooser_set_font (GtkFontChooser *fontchooser,
@@ -310,8 +294,6 @@ gtk_font_chooser_set_font (GtkFontChooser *fontchooser,
  *
  * Returns: (nullable) (transfer full): A #PangoFontDescription for the
  *     current font, or %NULL if  no font is selected.
- *
- * Since: 3.2
  */
 PangoFontDescription *
 gtk_font_chooser_get_font_desc (GtkFontChooser *fontchooser)
@@ -331,8 +313,6 @@ gtk_font_chooser_get_font_desc (GtkFontChooser *fontchooser)
  * @font_desc: a #PangoFontDescription
  *
  * Sets the currently-selected font from @font_desc.
- *
- * Since: 3.2
  */
 void
 gtk_font_chooser_set_font_desc (GtkFontChooser             *fontchooser,
@@ -352,8 +332,6 @@ gtk_font_chooser_set_font_desc (GtkFontChooser             *fontchooser,
  *
  * Returns: (transfer full): the text displayed in the
  *     preview area
- *
- * Since: 3.2
  */
 gchar *
 gtk_font_chooser_get_preview_text (GtkFontChooser *fontchooser)
@@ -374,8 +352,6 @@ gtk_font_chooser_get_preview_text (GtkFontChooser *fontchooser)
  *
  * Sets the text displayed in the preview area.
  * The @text is used to show how the selected font looks.
- *
- * Since: 3.2
  */
 void
 gtk_font_chooser_set_preview_text (GtkFontChooser *fontchooser,
@@ -395,8 +371,6 @@ gtk_font_chooser_set_preview_text (GtkFontChooser *fontchooser,
  *
  * Returns: %TRUE if the preview entry is shown
  *     or %FALSE if it is hidden.
- *
- * Since: 3.2
  */
 gboolean
 gtk_font_chooser_get_show_preview_entry (GtkFontChooser *fontchooser)
@@ -416,8 +390,6 @@ gtk_font_chooser_get_show_preview_entry (GtkFontChooser *fontchooser)
  * @show_preview_entry: whether to show the editable preview entry or not
  *
  * Shows or hides the editable preview entry.
- *
- * Since: 3.2
  */
 void
 gtk_font_chooser_set_show_preview_entry (GtkFontChooser *fontchooser,
@@ -438,8 +410,6 @@ gtk_font_chooser_set_show_preview_entry (GtkFontChooser *fontchooser,
  *
  * Adds a filter function that decides which fonts to display
  * in the font chooser.
- *
- * Since: 3.2
  */
 void
 gtk_font_chooser_set_filter_func (GtkFontChooser   *fontchooser,
@@ -493,8 +463,6 @@ _gtk_font_chooser_font_activated (GtkFontChooser *chooser,
  * context = gtk_widget_get_pango_context (label);
  * pango_context_set_font_map (context, fontmap);
  * ]|
- *
- * Since: 3.18
  */
 void
 gtk_font_chooser_set_font_map (GtkFontChooser *fontchooser,
@@ -515,8 +483,6 @@ gtk_font_chooser_set_font_map (GtkFontChooser *fontchooser,
  * or %NULL if it does not have one.
  *
  * Returns: (nullable) (transfer full): a #PangoFontMap, or %NULL
- *
- * Since: 3.18
  */
 PangoFontMap *
 gtk_font_chooser_get_font_map (GtkFontChooser *fontchooser)
@@ -537,8 +503,6 @@ gtk_font_chooser_get_font_map (GtkFontChooser *fontchooser)
  * @level: the desired level of granularity
  *
  * Sets the desired level of granularity for selecting fonts.
- *
- * Since: 3.94
  */
 void
 gtk_font_chooser_set_level (GtkFontChooser      *fontchooser,
@@ -556,7 +520,6 @@ gtk_font_chooser_set_level (GtkFontChooser      *fontchooser,
  * Returns the current level of granularity for selecting fonts.
  *
  * Returns: the current granularity level
- * Since: 3.94
  */
 GtkFontChooserLevel
 gtk_font_chooser_get_level (GtkFontChooser *fontchooser)
@@ -577,7 +540,6 @@ gtk_font_chooser_get_level (GtkFontChooser *fontchooser)
  * Gets the currently-selected font features.
  *
  * Returns: the currently selected font features
- * Since: 3.94
  */
 char *
 gtk_font_chooser_get_font_features (GtkFontChooser *fontchooser)
@@ -598,7 +560,6 @@ gtk_font_chooser_get_font_features (GtkFontChooser *fontchooser)
  * Gets the currently-selected language for font features.
  *
  * Returns: the currently selected language
- * Since: 3.94
  */
 char *
 gtk_font_chooser_get_language (GtkFontChooser *fontchooser)
diff --git a/gtk/gtkfontchooser.h b/gtk/gtkfontchooser.h
index 18ca5d0..0159e78 100644
--- a/gtk/gtkfontchooser.h
+++ b/gtk/gtkfontchooser.h
@@ -97,58 +97,58 @@ struct _GtkFontChooserIface
   gpointer padding[10];
 };
 
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 GType            gtk_font_chooser_get_type                 (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 PangoFontFamily *gtk_font_chooser_get_font_family          (GtkFontChooser   *fontchooser);
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 PangoFontFace   *gtk_font_chooser_get_font_face            (GtkFontChooser   *fontchooser);
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 gint             gtk_font_chooser_get_font_size            (GtkFontChooser   *fontchooser);
 
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 PangoFontDescription *
                  gtk_font_chooser_get_font_desc            (GtkFontChooser             *fontchooser);
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 void             gtk_font_chooser_set_font_desc            (GtkFontChooser             *fontchooser,
                                                             const PangoFontDescription *font_desc);
 
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 gchar*           gtk_font_chooser_get_font                 (GtkFontChooser   *fontchooser);
 
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 void             gtk_font_chooser_set_font                 (GtkFontChooser   *fontchooser,
                                                             const gchar      *fontname);
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 gchar*           gtk_font_chooser_get_preview_text         (GtkFontChooser   *fontchooser);
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 void             gtk_font_chooser_set_preview_text         (GtkFontChooser   *fontchooser,
                                                             const gchar      *text);
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 gboolean         gtk_font_chooser_get_show_preview_entry   (GtkFontChooser   *fontchooser);
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 void             gtk_font_chooser_set_show_preview_entry   (GtkFontChooser   *fontchooser,
                                                             gboolean          show_preview_entry);
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 void             gtk_font_chooser_set_filter_func          (GtkFontChooser   *fontchooser,
                                                             GtkFontFilterFunc filter,
                                                             gpointer          user_data,
                                                             GDestroyNotify    destroy);
-GDK_AVAILABLE_IN_3_18
+GDK_AVAILABLE_IN_ALL
 void             gtk_font_chooser_set_font_map             (GtkFontChooser   *fontchooser,
                                                             PangoFontMap     *fontmap);
-GDK_AVAILABLE_IN_3_18
+GDK_AVAILABLE_IN_ALL
 PangoFontMap *   gtk_font_chooser_get_font_map             (GtkFontChooser   *fontchooser);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void             gtk_font_chooser_set_level                (GtkFontChooser   *fontchooser,
                                                             GtkFontChooserLevel level);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GtkFontChooserLevel
                  gtk_font_chooser_get_level                (GtkFontChooser   *fontchooser);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 char *           gtk_font_chooser_get_font_features        (GtkFontChooser   *fontchooser);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 char *           gtk_font_chooser_get_language             (GtkFontChooser   *fontchooser);
 
 G_END_DECLS
diff --git a/gtk/gtkfontchooserdialog.c b/gtk/gtkfontchooserdialog.c
index dca4811..b481238 100644
--- a/gtk/gtkfontchooserdialog.c
+++ b/gtk/gtkfontchooserdialog.c
@@ -63,8 +63,6 @@ struct _GtkFontChooserDialogPrivate
  * The GtkFontChooserDialog implementation of the #GtkBuildable
  * interface exposes the buttons with the names “select_button”
  * and “cancel_button”.
- *
- * Since: 3.2
  */
 
 static void     gtk_font_chooser_dialog_buildable_interface_init     (GtkBuildableIface *iface);
@@ -250,8 +248,6 @@ gtk_font_chooser_dialog_init (GtkFontChooserDialog *fontchooserdiag)
  * Creates a new #GtkFontChooserDialog.
  *
  * Returns: a new #GtkFontChooserDialog
- *
- * Since: 3.2
  */
 GtkWidget*
 gtk_font_chooser_dialog_new (const gchar *title,
diff --git a/gtk/gtkfontchooserdialog.h b/gtk/gtkfontchooserdialog.h
index c830d36..db7f5c3 100644
--- a/gtk/gtkfontchooserdialog.h
+++ b/gtk/gtkfontchooserdialog.h
@@ -62,9 +62,9 @@ struct _GtkFontChooserDialogClass
   void (*_gtk_reserved4) (void);
 };
 
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 GType      gtk_font_chooser_dialog_get_type         (void) G_GNUC_CONST;
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 GtkWidget* gtk_font_chooser_dialog_new              (const gchar          *title,
                                                      GtkWindow            *parent);
 
diff --git a/gtk/gtkfontchooserwidget.c b/gtk/gtkfontchooserwidget.c
index 7467c93..3ab05f3 100644
--- a/gtk/gtkfontchooserwidget.c
+++ b/gtk/gtkfontchooserwidget.c
@@ -92,8 +92,6 @@
  * # CSS nodes
  *
  * GtkFontChooserWidget has a single CSS node with name fontchooser.
- *
- * Since: 3.2
  */
 
 struct _GtkFontChooserWidgetPrivate
@@ -880,8 +878,6 @@ gtk_font_chooser_widget_init (GtkFontChooserWidget *fontchooser)
  * Creates a new #GtkFontChooserWidget.
  *
  * Returns: a new #GtkFontChooserWidget
- *
- * Since: 3.2
  */
 GtkWidget *
 gtk_font_chooser_widget_new (void)
diff --git a/gtk/gtkfontchooserwidget.h b/gtk/gtkfontchooserwidget.h
index a367091..7729dcc 100644
--- a/gtk/gtkfontchooserwidget.h
+++ b/gtk/gtkfontchooserwidget.h
@@ -66,10 +66,10 @@ struct _GtkFontChooserWidgetClass
   void (*_gtk_reserved8) (void);
 };
 
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 GType        gtk_font_chooser_widget_get_type                 (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 GtkWidget*   gtk_font_chooser_widget_new                      (void);
 
 G_END_DECLS
diff --git a/gtk/gtkgesture.c b/gtk/gtkgesture.c
index 9565fa2..4cabe4a 100644
--- a/gtk/gtkgesture.c
+++ b/gtk/gtkgesture.c
@@ -786,9 +786,6 @@ gtk_gesture_class_init (GtkGestureClass *klass)
    * GtkGesture:n-points:
    *
    * The number of touch points that trigger recognition on this gesture,
-   * 
-   *
-   * Since: 3.14
    */
   g_object_class_install_property (object_class,
                                    PROP_N_POINTS,
@@ -811,8 +808,6 @@ gtk_gesture_class_init (GtkGestureClass *klass)
    * Note: These conditions may also happen when an extra touch (eg. a third touch
    * on a 2-touches gesture) is lifted, in that situation @sequence won't pertain
    * to the current set of active touches, so don't rely on this being true.
-   *
-   * Since: 3.14
    */
   signals[BEGIN] =
     g_signal_new (I_("begin"),
@@ -835,8 +830,6 @@ gtk_gesture_class_init (GtkGestureClass *klass)
    * previously triggering recognition on @gesture (ie. a just pressed touch
    * sequence that exceeds #GtkGesture:n-points). This situation may be detected
    * by checking through gtk_gesture_handles_sequence().
-   *
-   * Since: 3.14
    */
   signals[END] =
     g_signal_new (I_("end"),
@@ -852,8 +845,6 @@ gtk_gesture_class_init (GtkGestureClass *klass)
    *
    * This signal is emitted whenever an event is handled while the gesture is
    * recognized. @sequence is guaranteed to pertain to the set of active touches.
-   *
-   * Since: 3.14
    */
   signals[UPDATE] =
     g_signal_new (I_("update"),
@@ -873,8 +864,6 @@ gtk_gesture_class_init (GtkGestureClass *klass)
    * was claimed by parent widgets' controllers (see gtk_gesture_set_sequence_state()).
    *
    * @gesture must forget everything about @sequence as a reaction to this signal.
-   *
-   * Since: 3.14
    */
   signals[CANCEL] =
     g_signal_new (I_("cancel"),
@@ -892,8 +881,6 @@ gtk_gesture_class_init (GtkGestureClass *klass)
    * This signal is emitted whenever a sequence state changes. See
    * gtk_gesture_set_sequence_state() to know more about the expectable
    * sequence lifetimes.
-   *
-   * Since: 3.14
    */
   signals[SEQUENCE_STATE_CHANGED] =
     g_signal_new (I_("sequence-state-changed"),
@@ -935,8 +922,6 @@ gtk_gesture_init (GtkGesture *gesture)
  * on @gesture, or %NULL if the gesture is not being interacted.
  *
  * Returns: (nullable) (transfer none): a #GdkDevice, or %NULL
- *
- * Since: 3.14
  **/
 GdkDevice *
 gtk_gesture_get_device (GtkGesture *gesture)
@@ -958,8 +943,6 @@ gtk_gesture_get_device (GtkGesture *gesture)
  * Returns the @sequence state, as seen by @gesture.
  *
  * Returns: The sequence state in @gesture
- *
- * Since: 3.14
  **/
 GtkEventSequenceState
 gtk_gesture_get_sequence_state (GtkGesture       *gesture,
@@ -1031,8 +1014,6 @@ gtk_gesture_get_sequence_state (GtkGesture       *gesture,
  *
  * Returns: %TRUE if @sequence is handled by @gesture,
  *          and the state is changed successfully
- *
- * Since: 3.14
  **/
 gboolean
 gtk_gesture_set_sequence_state (GtkGesture            *gesture,
@@ -1085,8 +1066,6 @@ gtk_gesture_set_sequence_state (GtkGesture            *gesture,
  *
  * Returns: %TRUE if the state of at least one sequence
  *     was changed successfully
- *
- * Since: 3.14
  */
 gboolean
 gtk_gesture_set_state (GtkGesture            *gesture,
@@ -1122,8 +1101,6 @@ gtk_gesture_set_state (GtkGesture            *gesture,
  *          of #GdkEventSequences, the list elements are owned by GTK+
  *          and must not be freed or modified, the list itself must be deleted
  *          through g_list_free()
- *
- * Since: 3.14
  **/
 GList *
 gtk_gesture_get_sequences (GtkGesture *gesture)
@@ -1164,8 +1141,6 @@ gtk_gesture_get_sequences (GtkGesture *gesture)
  * Returns the #GdkEventSequence that was last updated on @gesture.
  *
  * Returns: (transfer none) (nullable): The last updated sequence
- *
- * Since: 3.14
  **/
 GdkEventSequence *
 gtk_gesture_get_last_updated_sequence (GtkGesture *gesture)
@@ -1223,8 +1198,6 @@ gtk_gesture_get_last_event (GtkGesture       *gesture,
  * widget allocation.
  *
  * Returns: %TRUE if @sequence is currently interpreted
- *
- * Since: 3.14
  **/
 gboolean
 gtk_gesture_get_point (GtkGesture       *gesture,
@@ -1290,8 +1263,6 @@ _gtk_gesture_get_last_update_time (GtkGesture       *gesture,
  * regardless of the number of touchpoints.
  *
  * Returns: %TRUE if there are active touches, %FALSE otherwise
- *
- * Since: 3.14
  **/
 gboolean
 gtk_gesture_get_bounding_box (GtkGesture   *gesture,
@@ -1358,8 +1329,6 @@ gtk_gesture_get_bounding_box (GtkGesture   *gesture,
  * will be returned.
  *
  * Returns: %FALSE if no active touches are present, %TRUE otherwise
- *
- * Since: 3.14
  **/
 gboolean
 gtk_gesture_get_bounding_box_center (GtkGesture *gesture,
@@ -1388,8 +1357,6 @@ gtk_gesture_get_bounding_box_center (GtkGesture *gesture,
  * interacting with it.
  *
  * Returns: %TRUE if gesture is active
- *
- * Since: 3.14
  **/
 gboolean
 gtk_gesture_is_active (GtkGesture *gesture)
@@ -1409,8 +1376,6 @@ gtk_gesture_is_active (GtkGesture *gesture)
  * returned %TRUE for the sequences being currently interpreted.
  *
  * Returns: %TRUE if gesture is recognized
- *
- * Since: 3.14
  **/
 gboolean
 gtk_gesture_is_recognized (GtkGesture *gesture)
@@ -1445,8 +1410,6 @@ _gtk_gesture_check (GtkGesture *gesture)
  * @sequence.
  *
  * Returns: %TRUE if @gesture is handling @sequence, %FALSE otherwise
- *
- * Since: 3.14
  **/
 gboolean
 gtk_gesture_handles_sequence (GtkGesture       *gesture,
@@ -1517,8 +1480,6 @@ _gtk_gesture_get_group_link (GtkGesture *gesture)
  * #GdkEventSequence state is set to #GTK_EVENT_SEQUENCE_CLAIMED on one group,
  * every other gesture group attached to the same #GtkWidget will switch the
  * state for that sequence to #GTK_EVENT_SEQUENCE_DENIED.
- *
- * Since: 3.14
  **/
 void
 gtk_gesture_group (GtkGesture *gesture,
@@ -1556,8 +1517,6 @@ gtk_gesture_group (GtkGesture *gesture,
  * @gesture: a #GtkGesture
  *
  * Separates @gesture into an isolated group.
- *
- * Since: 3.14
  **/
 void
 gtk_gesture_ungroup (GtkGesture *gesture)
@@ -1587,8 +1546,6 @@ gtk_gesture_ungroup (GtkGesture *gesture)
  *
  * Returns: (element-type GtkGesture) (transfer container): The list
  *   of #GtkGestures, free with g_list_free()
- *
- * Since: 3.14
  **/
 GList *
 gtk_gesture_get_group (GtkGesture *gesture)
@@ -1610,8 +1567,6 @@ gtk_gesture_get_group (GtkGesture *gesture)
  * Returns %TRUE if both gestures pertain to the same group.
  *
  * Returns: whether the gestures are grouped
- *
- * Since: 3.14
  **/
 gboolean
 gtk_gesture_is_grouped_with (GtkGesture *gesture,
diff --git a/gtk/gtkgesture.h b/gtk/gtkgesture.h
index 0f13917..cb70894 100644
--- a/gtk/gtkgesture.h
+++ b/gtk/gtkgesture.h
@@ -39,66 +39,66 @@ G_BEGIN_DECLS
 typedef struct _GtkGesture GtkGesture;
 typedef struct _GtkGestureClass GtkGestureClass;
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 GType       gtk_gesture_get_type             (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 GdkDevice * gtk_gesture_get_device           (GtkGesture       *gesture);
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 gboolean    gtk_gesture_set_state            (GtkGesture            *gesture,
                                               GtkEventSequenceState  state);
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 GtkEventSequenceState
             gtk_gesture_get_sequence_state   (GtkGesture            *gesture,
                                               GdkEventSequence      *sequence);
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 gboolean    gtk_gesture_set_sequence_state   (GtkGesture            *gesture,
                                               GdkEventSequence      *sequence,
                                               GtkEventSequenceState  state);
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 GList     * gtk_gesture_get_sequences        (GtkGesture       *gesture);
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 GdkEventSequence * gtk_gesture_get_last_updated_sequence
                                              (GtkGesture       *gesture);
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 gboolean    gtk_gesture_handles_sequence     (GtkGesture       *gesture,
                                               GdkEventSequence *sequence);
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 const GdkEvent *
             gtk_gesture_get_last_event       (GtkGesture       *gesture,
                                               GdkEventSequence *sequence);
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 gboolean    gtk_gesture_get_point            (GtkGesture       *gesture,
                                               GdkEventSequence *sequence,
                                               gdouble          *x,
                                               gdouble          *y);
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 gboolean    gtk_gesture_get_bounding_box     (GtkGesture       *gesture,
                                               GdkRectangle     *rect);
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 gboolean    gtk_gesture_get_bounding_box_center
                                              (GtkGesture       *gesture,
                                               gdouble          *x,
                                               gdouble          *y);
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 gboolean    gtk_gesture_is_active            (GtkGesture       *gesture);
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 gboolean    gtk_gesture_is_recognized        (GtkGesture       *gesture);
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 void        gtk_gesture_group                (GtkGesture       *group_gesture,
                                               GtkGesture       *gesture);
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 void        gtk_gesture_ungroup              (GtkGesture       *gesture);
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 GList *     gtk_gesture_get_group            (GtkGesture       *gesture);
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 gboolean    gtk_gesture_is_grouped_with      (GtkGesture       *gesture,
                                               GtkGesture       *other);
 
diff --git a/gtk/gtkgesturedrag.c b/gtk/gtkgesturedrag.c
index b384f4d..11d7752 100644
--- a/gtk/gtkgesturedrag.c
+++ b/gtk/gtkgesturedrag.c
@@ -148,8 +148,6 @@ gtk_gesture_drag_class_init (GtkGestureDragClass *klass)
    * @start_y: Y coordinate, relative to the widget allocation
    *
    * This signal is emitted whenever dragging starts.
-   *
-   * Since: 3.14
    */
   signals[DRAG_BEGIN] =
     g_signal_new (I_("drag-begin"),
@@ -165,8 +163,6 @@ gtk_gesture_drag_class_init (GtkGestureDragClass *klass)
    * @offset_y: Y offset, relative to the start point
    *
    * This signal is emitted whenever the dragging point moves.
-   *
-   * Since: 3.14
    */
   signals[DRAG_UPDATE] =
     g_signal_new (I_("drag-update"),
@@ -182,8 +178,6 @@ gtk_gesture_drag_class_init (GtkGestureDragClass *klass)
    * @offset_y: Y offset, relative to the start point
    *
    * This signal is emitted whenever the dragging is finished.
-   *
-   * Since: 3.14
    */
   signals[DRAG_END] =
     g_signal_new (I_("drag-end"),
@@ -206,8 +200,6 @@ gtk_gesture_drag_init (GtkGestureDrag *gesture)
  * Returns a newly created #GtkGesture that recognizes drags.
  *
  * Returns: a newly created #GtkGestureDrag
- *
- * Since: 3.14
  **/
 GtkGesture *
 gtk_gesture_drag_new (GtkWidget *widget)
@@ -230,8 +222,6 @@ gtk_gesture_drag_new (GtkWidget *widget)
  * in window-relative coordinates.
  *
  * Returns: %TRUE if the gesture is active
- *
- * Since: 3.14
  **/
 gboolean
 gtk_gesture_drag_get_start_point (GtkGestureDrag *gesture,
@@ -270,8 +260,6 @@ gtk_gesture_drag_get_start_point (GtkGestureDrag *gesture,
  * as an offset to the starting drag point.
  *
  * Returns: %TRUE if the gesture is active
- *
- * Since: 3.14
  **/
 gboolean
 gtk_gesture_drag_get_offset (GtkGestureDrag *gesture,
diff --git a/gtk/gtkgesturedrag.h b/gtk/gtkgesturedrag.h
index be308eb..ab0cba7 100644
--- a/gtk/gtkgesturedrag.h
+++ b/gtk/gtkgesturedrag.h
@@ -38,17 +38,17 @@ G_BEGIN_DECLS
 typedef struct _GtkGestureDrag GtkGestureDrag;
 typedef struct _GtkGestureDragClass GtkGestureDragClass;
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 GType        gtk_gesture_drag_get_type          (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 GtkGesture * gtk_gesture_drag_new               (GtkWidget      *widget);
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 gboolean     gtk_gesture_drag_get_start_point   (GtkGestureDrag *gesture,
                                                  gdouble        *x,
                                                  gdouble        *y);
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 gboolean     gtk_gesture_drag_get_offset        (GtkGestureDrag *gesture,
                                                  gdouble        *x,
                                                  gdouble        *y);
diff --git a/gtk/gtkgesturelongpress.c b/gtk/gtkgesturelongpress.c
index 2630c84..68f2813 100644
--- a/gtk/gtkgesturelongpress.c
+++ b/gtk/gtkgesturelongpress.c
@@ -297,8 +297,6 @@ gtk_gesture_long_press_class_init (GtkGestureLongPressClass *klass)
    *
    * This signal is emitted whenever a press goes unmoved/unreleased longer than
    * what the GTK+ defaults tell.
-   *
-   * Since: 3.14
    */
   signals[PRESSED] =
     g_signal_new (I_("pressed"),
@@ -313,8 +311,6 @@ gtk_gesture_long_press_class_init (GtkGestureLongPressClass *klass)
    *
    * This signal is emitted whenever a press moved too far, or was released
    * before #GtkGestureLongPress::pressed happened.
-   *
-   * Since: 3.14
    */
   signals[CANCELLED] =
     g_signal_new (I_("cancelled"),
@@ -332,8 +328,6 @@ gtk_gesture_long_press_class_init (GtkGestureLongPressClass *klass)
  * Returns a newly created #GtkGesture that recognizes long presses.
  *
  * Returns: a newly created #GtkGestureLongPress
- *
- * Since: 3.14
  **/
 GtkGesture *
 gtk_gesture_long_press_new (GtkWidget *widget)
diff --git a/gtk/gtkgesturelongpress.h b/gtk/gtkgesturelongpress.h
index 6cdc755..6ab2cee 100644
--- a/gtk/gtkgesturelongpress.h
+++ b/gtk/gtkgesturelongpress.h
@@ -38,10 +38,10 @@ G_BEGIN_DECLS
 typedef struct _GtkGestureLongPress GtkGestureLongPress;
 typedef struct _GtkGestureLongPressClass GtkGestureLongPressClass;
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 GType        gtk_gesture_long_press_get_type   (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 GtkGesture * gtk_gesture_long_press_new        (GtkWidget *widget);
 
 G_END_DECLS
diff --git a/gtk/gtkgesturemultipress.c b/gtk/gtkgesturemultipress.c
index ee925a0..5f01227 100644
--- a/gtk/gtkgesturemultipress.c
+++ b/gtk/gtkgesturemultipress.c
@@ -356,8 +356,6 @@ gtk_gesture_multi_press_class_init (GtkGestureMultiPressClass *klass)
    * @y: The Y coordinate, in widget allocation coordinates
    *
    * This signal is emitted whenever a button or touch press happens.
-   *
-   * Since: 3.14
    */
   signals[PRESSED] =
     g_signal_new (I_("pressed"),
@@ -379,8 +377,6 @@ gtk_gesture_multi_press_class_init (GtkGestureMultiPressClass *klass)
    * will report the number of press that is paired to this event, note
    * that #GtkGestureMultiPress::stopped may have been emitted between the
    * press and its release, @n_press will only start over at the next press.
-   *
-   * Since: 3.14
    */
   signals[RELEASED] =
     g_signal_new (I_("released"),
@@ -396,8 +392,6 @@ gtk_gesture_multi_press_class_init (GtkGestureMultiPressClass *klass)
    *
    * This signal is emitted whenever any time/distance threshold has
    * been exceeded.
-   *
-   * Since: 3.14
    */
   signals[STOPPED] =
     g_signal_new (I_("stopped"),
@@ -420,8 +414,6 @@ gtk_gesture_multi_press_class_init (GtkGestureMultiPressClass *klass)
    * grabs, this can only happen on situations where input is grabbed
    * elsewhere mid-press or the pressed widget voluntarily relinquishes
    * its implicit grab.
-   *
-   * Since: 3.93.
    */
   signals[UNPAIRED_RELEASE] =
     g_signal_new (I_("unpaired-release"),
@@ -446,8 +438,6 @@ gtk_gesture_multi_press_init (GtkGestureMultiPress *gesture)
  * presses.
  *
  * Returns: a newly created #GtkGestureMultiPress
- *
- * Since: 3.14
  **/
 GtkGesture *
 gtk_gesture_multi_press_new (GtkWidget *widget)
@@ -473,8 +463,6 @@ gtk_gesture_multi_press_new (GtkWidget *widget)
  * Note: The rectangle is only used to determine whether any
  * non-first click falls within the expected area. This is not
  * akin to an input shape.
- *
- * Since: 3.14
  **/
 void
 gtk_gesture_multi_press_set_area (GtkGestureMultiPress *gesture,
@@ -506,8 +494,6 @@ gtk_gesture_multi_press_set_area (GtkGestureMultiPress *gesture,
  * details on what the press area represents.
  *
  * Returns: %TRUE if @rect was filled with the press area
- *
- * Since: 3.14
  **/
 gboolean
 gtk_gesture_multi_press_get_area (GtkGestureMultiPress *gesture,
diff --git a/gtk/gtkgesturemultipress.h b/gtk/gtkgesturemultipress.h
index b1cc021..06d4623 100644
--- a/gtk/gtkgesturemultipress.h
+++ b/gtk/gtkgesturemultipress.h
@@ -38,16 +38,16 @@ G_BEGIN_DECLS
 typedef struct _GtkGestureMultiPress GtkGestureMultiPress;
 typedef struct _GtkGestureMultiPressClass GtkGestureMultiPressClass;
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 GType        gtk_gesture_multi_press_get_type (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 GtkGesture * gtk_gesture_multi_press_new      (GtkWidget            *widget);
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 void         gtk_gesture_multi_press_set_area (GtkGestureMultiPress *gesture,
                                               const GdkRectangle   *rect);
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 gboolean     gtk_gesture_multi_press_get_area (GtkGestureMultiPress *gesture,
                                                GdkRectangle         *rect);
 
diff --git a/gtk/gtkgesturepan.c b/gtk/gtkgesturepan.c
index cbc34e6..7f6812a 100644
--- a/gtk/gtkgesturepan.c
+++ b/gtk/gtkgesturepan.c
@@ -228,8 +228,6 @@ gtk_gesture_pan_class_init (GtkGesturePanClass *klass)
    * GtkGesturePan:orientation:
    *
    * The expected orientation of pan gestures.
-   *
-   * Since: 3.14
    */
   g_object_class_install_property (object_class,
                                    PROP_ORIENTATION,
@@ -248,8 +246,6 @@ gtk_gesture_pan_class_init (GtkGesturePanClass *klass)
    *
    * This signal is emitted once a panning gesture along the
    * expected axis is detected.
-   *
-   * Since: 3.14
    */
   signals[PAN] =
     g_signal_new (I_("pan"),
@@ -278,8 +274,6 @@ gtk_gesture_pan_init (GtkGesturePan *gesture)
  * Returns a newly created #GtkGesture that recognizes pan gestures.
  *
  * Returns: a newly created #GtkGesturePan
- *
- * Since: 3.14
  **/
 GtkGesture *
 gtk_gesture_pan_new (GtkWidget      *widget,
@@ -300,8 +294,6 @@ gtk_gesture_pan_new (GtkWidget      *widget,
  * Returns the orientation of the pan gestures that this @gesture expects.
  *
  * Returns: the expected orientation for pan gestures
- *
- * Since: 3.14
  */
 GtkOrientation
 gtk_gesture_pan_get_orientation (GtkGesturePan *gesture)
@@ -321,8 +313,6 @@ gtk_gesture_pan_get_orientation (GtkGesturePan *gesture)
  * @orientation: expected orientation
  *
  * Sets the orientation to be expected on pan gestures.
- *
- * Since: 3.14
  */
 void
 gtk_gesture_pan_set_orientation (GtkGesturePan  *gesture,
diff --git a/gtk/gtkgesturepan.h b/gtk/gtkgesturepan.h
index 410d704..dc6a399 100644
--- a/gtk/gtkgesturepan.h
+++ b/gtk/gtkgesturepan.h
@@ -38,17 +38,17 @@ G_BEGIN_DECLS
 typedef struct _GtkGesturePan GtkGesturePan;
 typedef struct _GtkGesturePanClass GtkGesturePanClass;
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 GType             gtk_gesture_pan_get_type        (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 GtkGesture *      gtk_gesture_pan_new             (GtkWidget      *widget,
                                                    GtkOrientation  orientation);
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 GtkOrientation    gtk_gesture_pan_get_orientation (GtkGesturePan  *gesture);
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 void              gtk_gesture_pan_set_orientation (GtkGesturePan  *gesture,
                                                    GtkOrientation  orientation);
 
diff --git a/gtk/gtkgesturerotate.c b/gtk/gtkgesturerotate.c
index c5e8ab3..2b28ce4 100644
--- a/gtk/gtkgesturerotate.c
+++ b/gtk/gtkgesturerotate.c
@@ -236,8 +236,6 @@ gtk_gesture_rotate_class_init (GtkGestureRotateClass *klass)
    *
    * This signal is emitted when the angle between both tracked points
    * changes.
-   *
-   * Since: 3.14
    */
   signals[ANGLE_CHANGED] =
     g_signal_new (I_("angle-changed"),
@@ -256,8 +254,6 @@ gtk_gesture_rotate_class_init (GtkGestureRotateClass *klass)
  * rotation gestures.
  *
  * Returns: a newly created #GtkGestureRotate
- *
- * Since: 3.14
  **/
 GtkGesture *
 gtk_gesture_rotate_new (GtkWidget *widget)
@@ -278,8 +274,6 @@ gtk_gesture_rotate_new (GtkWidget *widget)
  * not active, 0 is returned.
  *
  * Returns: the angle delta in radians
- *
- * Since: 3.14
  **/
 gdouble
 gtk_gesture_rotate_get_angle_delta (GtkGestureRotate *gesture)
diff --git a/gtk/gtkgesturerotate.h b/gtk/gtkgesturerotate.h
index 4db84e4..07fa0f8 100644
--- a/gtk/gtkgesturerotate.h
+++ b/gtk/gtkgesturerotate.h
@@ -39,13 +39,13 @@ G_BEGIN_DECLS
 typedef struct _GtkGestureRotate GtkGestureRotate;
 typedef struct _GtkGestureRotateClass GtkGestureRotateClass;
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 GType        gtk_gesture_rotate_get_type        (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 GtkGesture * gtk_gesture_rotate_new             (GtkWidget        *widget);
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 gdouble      gtk_gesture_rotate_get_angle_delta (GtkGestureRotate *gesture);
 
 G_END_DECLS
diff --git a/gtk/gtkgesturesingle.c b/gtk/gtkgesturesingle.c
index 9c6ad83..f12f3ab 100644
--- a/gtk/gtkgesturesingle.c
+++ b/gtk/gtkgesturesingle.c
@@ -261,8 +261,6 @@ gtk_gesture_single_class_init (GtkGestureSingleClass *klass)
    * GtkGestureSingle:touch-only:
    *
    * Whether the gesture handles only touch events.
-   *
-   * Since: 3.14
    */
   properties[PROP_TOUCH_ONLY] =
       g_param_spec_boolean ("touch-only",
@@ -276,8 +274,6 @@ gtk_gesture_single_class_init (GtkGestureSingleClass *klass)
    *
    * Whether the gesture is exclusive. Exclusive gestures only listen to pointer
    * and pointer emulated events.
-   *
-   * Since: 3.14
    */
   properties[PROP_EXCLUSIVE] =
       g_param_spec_boolean ("exclusive",
@@ -290,8 +286,6 @@ gtk_gesture_single_class_init (GtkGestureSingleClass *klass)
    * GtkGestureSingle:button:
    *
    * Mouse button number to listen to, or 0 to listen for any button.
-   *
-   * Since: 3.14
    */
   properties[PROP_BUTTON] =
       g_param_spec_uint ("button",
@@ -321,8 +315,6 @@ gtk_gesture_single_init (GtkGestureSingle *gesture)
  * Returns %TRUE if the gesture is only triggered by touch events.
  *
  * Returns: %TRUE if the gesture only handles touch events
- *
- * Since: 3.14
  **/
 gboolean
 gtk_gesture_single_get_touch_only (GtkGestureSingle *gesture)
@@ -344,8 +336,6 @@ gtk_gesture_single_get_touch_only (GtkGestureSingle *gesture)
  * If @touch_only is %TRUE, @gesture will only handle events of type
  * #GDK_TOUCH_BEGIN, #GDK_TOUCH_UPDATE or #GDK_TOUCH_END. If %FALSE,
  * mouse events will be handled too.
- *
- * Since: 3.14
  **/
 void
 gtk_gesture_single_set_touch_only (GtkGestureSingle *gesture,
@@ -373,8 +363,6 @@ gtk_gesture_single_set_touch_only (GtkGestureSingle *gesture,
  * gtk_gesture_single_set_exclusive().
  *
  * Returns: Whether the gesture is exclusive
- *
- * Since: 3.14
  **/
 gboolean
 gtk_gesture_single_get_exclusive (GtkGestureSingle *gesture)
@@ -397,8 +385,6 @@ gtk_gesture_single_get_exclusive (GtkGestureSingle *gesture)
  * only handle pointer and "pointer emulated" touch events, so at
  * any given time, there is only one sequence able to interact with
  * those.
- *
- * Since: 3.14
  **/
 void
 gtk_gesture_single_set_exclusive (GtkGestureSingle *gesture,
@@ -426,8 +412,6 @@ gtk_gesture_single_set_exclusive (GtkGestureSingle *gesture,
  * reacts to any button press.
  *
  * Returns: The button number, or 0 for any button
- *
- * Since: 3.14
  **/
 guint
 gtk_gesture_single_get_button (GtkGestureSingle *gesture)
@@ -449,8 +433,6 @@ gtk_gesture_single_get_button (GtkGestureSingle *gesture)
  * Sets the button number @gesture listens to. If non-0, every
  * button press from a different button number will be ignored.
  * Touch events implicitly match with button 1.
- *
- * Since: 3.14
  **/
 void
 gtk_gesture_single_set_button (GtkGestureSingle *gesture,
@@ -477,8 +459,6 @@ gtk_gesture_single_set_button (GtkGestureSingle *gesture,
  * is none.
  *
  * Returns: The current button number
- *
- * Since: 3.14
  **/
 guint
 gtk_gesture_single_get_current_button (GtkGestureSingle *gesture)
@@ -500,8 +480,6 @@ gtk_gesture_single_get_current_button (GtkGestureSingle *gesture)
  * This is only meaningful if gtk_gesture_is_active() returns %TRUE.
  *
  * Returns: (nullable): the current sequence
- *
- * Since: 3.14
  **/
 GdkEventSequence *
 gtk_gesture_single_get_current_sequence (GtkGestureSingle *gesture)
diff --git a/gtk/gtkgesturesingle.h b/gtk/gtkgesturesingle.h
index 3dde8d7..09dc9b6 100644
--- a/gtk/gtkgesturesingle.h
+++ b/gtk/gtkgesturesingle.h
@@ -39,34 +39,34 @@ G_BEGIN_DECLS
 typedef struct _GtkGestureSingle GtkGestureSingle;
 typedef struct _GtkGestureSingleClass GtkGestureSingleClass;
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 GType       gtk_gesture_single_get_type       (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 gboolean    gtk_gesture_single_get_touch_only (GtkGestureSingle *gesture);
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 void        gtk_gesture_single_set_touch_only (GtkGestureSingle *gesture,
                                                gboolean          touch_only);
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 gboolean    gtk_gesture_single_get_exclusive  (GtkGestureSingle *gesture);
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 void        gtk_gesture_single_set_exclusive  (GtkGestureSingle *gesture,
                                                gboolean          exclusive);
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 guint       gtk_gesture_single_get_button     (GtkGestureSingle *gesture);
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 void        gtk_gesture_single_set_button     (GtkGestureSingle *gesture,
                                                guint             button);
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 guint       gtk_gesture_single_get_current_button
                                               (GtkGestureSingle *gesture);
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 GdkEventSequence * gtk_gesture_single_get_current_sequence
                                               (GtkGestureSingle *gesture);
 
diff --git a/gtk/gtkgestureswipe.c b/gtk/gtkgestureswipe.c
index 65a80ca..15872f8 100644
--- a/gtk/gtkgestureswipe.c
+++ b/gtk/gtkgestureswipe.c
@@ -231,8 +231,6 @@ gtk_gesture_swipe_class_init (GtkGestureSwipeClass *klass)
    *
    * This signal is emitted when the recognized gesture is finished, velocity
    * and direction are a product of previously recorded events.
-   *
-   * Since: 3.14
    */
   signals[SWIPE] =
     g_signal_new (I_("swipe"),
@@ -259,8 +257,6 @@ gtk_gesture_swipe_init (GtkGestureSwipe *gesture)
  * Returns a newly created #GtkGesture that recognizes swipes.
  *
  * Returns: a newly created #GtkGestureSwipe
- *
- * Since: 3.14
  **/
 GtkGesture *
 gtk_gesture_swipe_new (GtkWidget *widget)
@@ -283,8 +279,6 @@ gtk_gesture_swipe_new (GtkWidget *widget)
  * last event(s) processed.
  *
  * Returns: whether velocity could be calculated
- *
- * Since: 3.14
  **/
 gboolean
 gtk_gesture_swipe_get_velocity (GtkGestureSwipe *gesture,
diff --git a/gtk/gtkgestureswipe.h b/gtk/gtkgestureswipe.h
index 433fde8..1cfbfd7 100644
--- a/gtk/gtkgestureswipe.h
+++ b/gtk/gtkgestureswipe.h
@@ -39,13 +39,13 @@ G_BEGIN_DECLS
 typedef struct _GtkGestureSwipe GtkGestureSwipe;
 typedef struct _GtkGestureSwipeClass GtkGestureSwipeClass;
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 GType        gtk_gesture_swipe_get_type  (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 GtkGesture * gtk_gesture_swipe_new       (GtkWidget *widget);
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 gboolean     gtk_gesture_swipe_get_velocity (GtkGestureSwipe *gesture,
                                              gdouble         *velocity_x,
                                              gdouble         *velocity_y);
diff --git a/gtk/gtkgesturezoom.c b/gtk/gtkgesturezoom.c
index 0af6505..74e9025 100644
--- a/gtk/gtkgesturezoom.c
+++ b/gtk/gtkgesturezoom.c
@@ -206,8 +206,6 @@ gtk_gesture_zoom_class_init (GtkGestureZoomClass *klass)
    *
    * This signal is emitted whenever the distance between both tracked
    * sequences changes.
-   *
-   * Since: 3.14
    */
   signals[SCALE_CHANGED] =
     g_signal_new (I_("scale-changed"),
@@ -226,8 +224,6 @@ gtk_gesture_zoom_class_init (GtkGestureZoomClass *klass)
  * in/out gestures (usually known as pinch/zoom).
  *
  * Returns: a newly created #GtkGestureZoom
- *
- * Since: 3.14
  **/
 GtkGesture *
 gtk_gesture_zoom_new (GtkWidget *widget)
@@ -248,8 +244,6 @@ gtk_gesture_zoom_new (GtkWidget *widget)
  * considered 1:1). If @gesture is not active, 1 is returned.
  *
  * Returns: the scale delta
- *
- * Since: 3.14
  **/
 gdouble
 gtk_gesture_zoom_get_scale_delta (GtkGestureZoom *gesture)
diff --git a/gtk/gtkgesturezoom.h b/gtk/gtkgesturezoom.h
index 065f233..35a67d7 100644
--- a/gtk/gtkgesturezoom.h
+++ b/gtk/gtkgesturezoom.h
@@ -39,13 +39,13 @@ G_BEGIN_DECLS
 typedef struct _GtkGestureZoom GtkGestureZoom;
 typedef struct _GtkGestureZoomClass GtkGestureZoomClass;
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 GType        gtk_gesture_zoom_get_type        (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 GtkGesture * gtk_gesture_zoom_new             (GtkWidget      *widget);
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 gdouble      gtk_gesture_zoom_get_scale_delta (GtkGestureZoom *gesture);
 
 G_END_DECLS
diff --git a/gtk/gtkglarea.c b/gtk/gtkglarea.c
index 1e14e1b..d7ad09c 100644
--- a/gtk/gtkglarea.c
+++ b/gtk/gtkglarea.c
@@ -523,8 +523,6 @@ gtk_gl_area_allocate_texture (GtkGLArea *area)
  * This function is automatically called before emitting the
  * #GtkGLArea::render signal, and doesn't normally need to be called
  * by application code.
- *
- * Since: 3.16
  */
 void
 gtk_gl_area_attach_buffers (GtkGLArea *area)
@@ -794,8 +792,6 @@ gtk_gl_area_class_init (GtkGLAreaClass *klass)
    * The #GtkGLArea widget is responsible for creating the #GdkGLContext
    * instance. If you need to render with other kinds of buffers (stencil,
    * depth, etc), use render buffers.
-   *
-   * Since: 3.16
    */
   obj_props[PROP_CONTEXT] =
     g_param_spec_object ("context",
@@ -817,8 +813,6 @@ gtk_gl_area_class_init (GtkGLAreaClass *klass)
    * In order to force a rendering gtk_gl_area_queue_render() must be called.
    * This mode is useful when the scene changes seldomly, but takes a long time
    * to redraw.
-   *
-   * Since: 3.16
    */
   obj_props[PROP_AUTO_RENDER] =
     g_param_spec_boolean ("auto-render",
@@ -834,8 +828,6 @@ gtk_gl_area_class_init (GtkGLAreaClass *klass)
    *
    * If set to %TRUE the widget will allocate and enable a depth buffer for the
    * target framebuffer.
-   *
-   * Since: 3.16
    */
   obj_props[PROP_HAS_DEPTH_BUFFER] =
     g_param_spec_boolean ("has-depth-buffer",
@@ -851,8 +843,6 @@ gtk_gl_area_class_init (GtkGLAreaClass *klass)
    *
    * If set to %TRUE the widget will allocate and enable a stencil buffer for the
    * target framebuffer.
-   *
-   * Since: 3.16
    */
   obj_props[PROP_HAS_STENCIL_BUFFER] =
     g_param_spec_boolean ("has-stencil-buffer",
@@ -870,8 +860,6 @@ gtk_gl_area_class_init (GtkGLAreaClass *klass)
    * OpenGL ES instead of OpenGL.
    *
    * See also: gdk_gl_context_set_use_es()
-   *
-   * Since: 3.22
    */
   obj_props[PROP_USE_ES] =
     g_param_spec_boolean ("use-es",
@@ -901,8 +889,6 @@ gtk_gl_area_class_init (GtkGLAreaClass *klass)
    *
    * Returns: %TRUE to stop other handlers from being invoked for the event.
    *   %FALSE to propagate the event further.
-   *
-   * Since: 3.16
    */
   area_signals[RENDER] =
     g_signal_new (I_("render"),
@@ -929,8 +915,6 @@ gtk_gl_area_class_init (GtkGLAreaClass *klass)
    * is emitted.
    *
    * The default handler sets up the GL viewport.
-   *
-   * Since: 3.16
    */
   area_signals[RESIZE] =
     g_signal_new (I_("resize"),
@@ -958,8 +942,6 @@ gtk_gl_area_class_init (GtkGLAreaClass *klass)
    *
    * Returns: (transfer full): a newly created #GdkGLContext;
    *     the #GtkGLArea widget will take ownership of the returned value.
-   *
-   * Since: 3.16
    */
   area_signals[CREATE_CONTEXT] =
     g_signal_new (I_("create-context"),
@@ -989,8 +971,6 @@ gtk_gl_area_init (GtkGLArea *area)
  * Creates a new #GtkGLArea widget.
  *
  * Returns: (transfer full): the newly created #GtkGLArea
- *
- * Since: 3.16
  */
 GtkWidget *
 gtk_gl_area_new (void)
@@ -1006,8 +986,6 @@ gtk_gl_area_new (void)
  * Sets an error on the area which will be shown instead of the
  * GL rendering. This is useful in the #GtkGLArea::create-context
  * signal if GL context creation fails.
- *
- * Since: 3.16
  */
 void
 gtk_gl_area_set_error (GtkGLArea    *area,
@@ -1029,8 +1007,6 @@ gtk_gl_area_set_error (GtkGLArea    *area,
  * Gets the current error set on the @area.
  *
  * Returns: (nullable) (transfer none): the #GError or %NULL
- *
- * Since: 3.16
  */
 GError *
 gtk_gl_area_get_error (GtkGLArea *area)
@@ -1051,8 +1027,6 @@ gtk_gl_area_get_error (GtkGLArea *area)
  *
  * You should check the capabilities of the #GdkGLContext before drawing
  * with either API.
- *
- * Since: 3.22
  */
 void
 gtk_gl_area_set_use_es (GtkGLArea *area,
@@ -1081,8 +1055,6 @@ gtk_gl_area_set_use_es (GtkGLArea *area,
  *
  * Returns: %TRUE if the #GtkGLArea should create an OpenGL ES context
  *   and %FALSE otherwise
- *
- * Since: 3.22
  */
 gboolean
 gtk_gl_area_get_use_es (GtkGLArea *area)
@@ -1104,8 +1076,6 @@ gtk_gl_area_get_use_es (GtkGLArea *area)
  * for the widget.
  *
  * This function must be called before the area has been realized.
- *
- * Since: 3.16
  */
 void
 gtk_gl_area_set_required_version (GtkGLArea *area,
@@ -1128,8 +1098,6 @@ gtk_gl_area_set_required_version (GtkGLArea *area,
  *
  * Retrieves the required version of OpenGL set
  * using gtk_gl_area_set_required_version().
- *
- * Since: 3.16
  */
 void
 gtk_gl_area_get_required_version (GtkGLArea *area,
@@ -1153,8 +1121,6 @@ gtk_gl_area_get_required_version (GtkGLArea *area,
  * Returns whether the area has a depth buffer.
  *
  * Returns: %TRUE if the @area has a depth buffer, %FALSE otherwise
- *
- * Since: 3.16
  */
 gboolean
 gtk_gl_area_get_has_depth_buffer (GtkGLArea *area)
@@ -1174,8 +1140,6 @@ gtk_gl_area_get_has_depth_buffer (GtkGLArea *area)
  * If @has_depth_buffer is %TRUE the widget will allocate and
  * enable a depth buffer for the target framebuffer. Otherwise
  * there will be none.
- *
- * Since: 3.16
  */
 void
 gtk_gl_area_set_has_depth_buffer (GtkGLArea *area,
@@ -1204,8 +1168,6 @@ gtk_gl_area_set_has_depth_buffer (GtkGLArea *area,
  * Returns whether the area has a stencil buffer.
  *
  * Returns: %TRUE if the @area has a stencil buffer, %FALSE otherwise
- *
- * Since: 3.16
  */
 gboolean
 gtk_gl_area_get_has_stencil_buffer (GtkGLArea *area)
@@ -1225,8 +1187,6 @@ gtk_gl_area_get_has_stencil_buffer (GtkGLArea *area)
  * If @has_stencil_buffer is %TRUE the widget will allocate and
  * enable a stencil buffer for the target framebuffer. Otherwise
  * there will be none.
- *
- * Since: 3.16
  */
 void
 gtk_gl_area_set_has_stencil_buffer (GtkGLArea *area,
@@ -1259,8 +1219,6 @@ gtk_gl_area_set_has_stencil_buffer (GtkGLArea *area,
  * This is only needed when the gtk_gl_area_set_auto_render() has
  * been called with a %FALSE value. The default behaviour is to
  * emit #GtkGLArea::render on each draw.
- *
- * Since: 3.16
  */
 void
 gtk_gl_area_queue_render (GtkGLArea *area)
@@ -1282,8 +1240,6 @@ gtk_gl_area_queue_render (GtkGLArea *area)
  * Returns whether the area is in auto render mode or not.
  *
  * Returns: %TRUE if the @area is auto rendering, %FALSE otherwise
- *
- * Since: 3.16
  */
 gboolean
 gtk_gl_area_get_auto_render (GtkGLArea *area)
@@ -1309,8 +1265,6 @@ gtk_gl_area_get_auto_render (GtkGLArea *area)
  * unless the window is resized. In order to force a rendering
  * gtk_gl_area_queue_render() must be called. This mode is useful when
  * the scene changes seldomly, but takes a long time to redraw.
- *
- * Since: 3.16
  */
 void
 gtk_gl_area_set_auto_render (GtkGLArea *area,
@@ -1340,8 +1294,6 @@ gtk_gl_area_set_auto_render (GtkGLArea *area,
  * Retrieves the #GdkGLContext used by @area.
  *
  * Returns: (transfer none): the #GdkGLContext
- *
- * Since: 3.16
  */
 GdkGLContext *
 gtk_gl_area_get_context (GtkGLArea *area)
@@ -1363,8 +1315,6 @@ gtk_gl_area_get_context (GtkGLArea *area)
  * This function is automatically called before emitting the
  * #GtkGLArea::render signal, and doesn't normally need to be called
  * by application code.
- *
- * Since: 3.16
  */
 void
 gtk_gl_area_make_current (GtkGLArea *area)
diff --git a/gtk/gtkglarea.h b/gtk/gtkglarea.h
index 59d30be..9919221 100644
--- a/gtk/gtkglarea.h
+++ b/gtk/gtkglarea.h
@@ -43,8 +43,6 @@ typedef struct _GtkGLAreaClass          GtkGLAreaClass;
  * GtkGLArea:
  *
  * A #GtkWidget used for drawing with OpenGL.
- *
- * Since: 3.16
  */
 struct _GtkGLArea
 {
@@ -59,8 +57,6 @@ struct _GtkGLArea
  * @create_context: class closure for the #GtkGLArea::create-context signal
  *
  * The `GtkGLAreaClass` structure contains only private data.
- *
- * Since: 3.16
  */
 struct _GtkGLAreaClass
 {
@@ -79,56 +75,56 @@ struct _GtkGLAreaClass
   gpointer _padding[6];
 };
 
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 GType gtk_gl_area_get_type (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 GtkWidget *     gtk_gl_area_new                         (void);
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 void            gtk_gl_area_set_use_es                  (GtkGLArea    *area,
                                                          gboolean      use_es);
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 gboolean        gtk_gl_area_get_use_es                  (GtkGLArea    *area);
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 void            gtk_gl_area_set_required_version        (GtkGLArea    *area,
                                                          gint          major,
                                                          gint          minor);
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 void            gtk_gl_area_get_required_version        (GtkGLArea    *area,
                                                          gint         *major,
                                                          gint         *minor);
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 gboolean        gtk_gl_area_get_has_depth_buffer        (GtkGLArea    *area);
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 void            gtk_gl_area_set_has_depth_buffer        (GtkGLArea    *area,
                                                          gboolean      has_depth_buffer);
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 gboolean        gtk_gl_area_get_has_stencil_buffer      (GtkGLArea    *area);
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 void            gtk_gl_area_set_has_stencil_buffer      (GtkGLArea    *area,
                                                          gboolean      has_stencil_buffer);
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 gboolean        gtk_gl_area_get_auto_render             (GtkGLArea    *area);
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 void            gtk_gl_area_set_auto_render             (GtkGLArea    *area,
                                                          gboolean      auto_render);
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 void           gtk_gl_area_queue_render                 (GtkGLArea    *area);
 
 
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 GdkGLContext *  gtk_gl_area_get_context                 (GtkGLArea    *area);
 
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 void            gtk_gl_area_make_current                (GtkGLArea    *area);
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 void            gtk_gl_area_attach_buffers              (GtkGLArea    *area);
 
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 void            gtk_gl_area_set_error                   (GtkGLArea    *area,
                                                          const GError *error);
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 GError *        gtk_gl_area_get_error                   (GtkGLArea    *area);
 
 G_END_DECLS
diff --git a/gtk/gtkgrid.c b/gtk/gtkgrid.c
index fc9b0e8..2fe3024 100644
--- a/gtk/gtkgrid.c
+++ b/gtk/gtkgrid.c
@@ -1893,8 +1893,6 @@ gtk_grid_attach_next_to (GtkGrid         *grid,
  * cell whose upper left corner is at @left, @top.
  *
  * Returns: (transfer none) (nullable): the child at the given position, or %NULL
- *
- * Since: 3.2
  */
 GtkWidget *
 gtk_grid_get_child_at (GtkGrid *grid,
@@ -1931,8 +1929,6 @@ gtk_grid_get_child_at (GtkGrid *grid,
  * Children which are attached at or below this position
  * are moved one row down. Children which span across this
  * position are grown to span the new row.
- *
- * Since: 3.2
  */
 void
 gtk_grid_insert_row (GtkGrid *grid,
@@ -1988,8 +1984,6 @@ gtk_grid_insert_row (GtkGrid *grid,
  * spanning children that overlap this row have their
  * height reduced by one, and children below the row
  * are moved up.
- *
- * Since: 3.10
  */
 void
 gtk_grid_remove_row (GtkGrid *grid,
@@ -2036,8 +2030,6 @@ gtk_grid_remove_row (GtkGrid *grid,
  * Children which are attached at or to the right of this position
  * are moved one column to the right. Children which span across this
  * position are grown to span the new column.
- *
- * Since: 3.2
  */
 void
 gtk_grid_insert_column (GtkGrid *grid,
@@ -2085,8 +2077,6 @@ gtk_grid_insert_column (GtkGrid *grid,
  * spanning children that overlap this column have their
  * width reduced by one, and children after the column
  * are moved to the left.
- *
- * Since: 3.10
  */
 void
 gtk_grid_remove_column (GtkGrid *grid,
@@ -2136,8 +2126,6 @@ gtk_grid_remove_column (GtkGrid *grid,
  * determined by @side. If @side is %GTK_POS_TOP or %GTK_POS_BOTTOM,
  * a row is inserted. If @side is %GTK_POS_LEFT of %GTK_POS_RIGHT,
  * a column is inserted.
- *
- * Since: 3.2
  */
 void
 gtk_grid_insert_next_to (GtkGrid         *grid,
@@ -2408,8 +2396,6 @@ get_row_properties_or_default (GtkGrid      *grid,
  *
  * Sets how the baseline should be positioned on @row of the
  * grid, in case that row is assigned more space than is requested.
- *
- * Since: 3.10
  */
 void
 gtk_grid_set_row_baseline_position (GtkGrid            *grid,
@@ -2441,8 +2427,6 @@ gtk_grid_set_row_baseline_position (GtkGrid            *grid,
  * %GTK_BASELINE_POSITION_CENTER.
  *
  * Returns: the baseline position of @row
- *
- * Since: 3.10
  */
 GtkBaselinePosition
 gtk_grid_get_row_baseline_position (GtkGrid      *grid,
@@ -2466,8 +2450,6 @@ gtk_grid_get_row_baseline_position (GtkGrid      *grid,
  * Each row in the grid can have its own local baseline, but only
  * one of those is global, meaning it will be the baseline in the
  * parent of the @grid.
- *
- * Since: 3.10
  */
 void
 gtk_grid_set_baseline_row (GtkGrid *grid,
@@ -2494,8 +2476,6 @@ gtk_grid_set_baseline_row (GtkGrid *grid,
  * Returns which row defines the global baseline of @grid.
  *
  * Returns: the row index defining the global baseline
- *
- * Since: 3.10
  */
 gint
 gtk_grid_get_baseline_row (GtkGrid *grid)
diff --git a/gtk/gtkgrid.h b/gtk/gtkgrid.h
index 284d172..f40ed7e 100644
--- a/gtk/gtkgrid.h
+++ b/gtk/gtkgrid.h
@@ -84,23 +84,23 @@ void       gtk_grid_attach_next_to         (GtkGrid         *grid,
                                             GtkPositionType  side,
                                             gint             width,
                                             gint             height);
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 GtkWidget *gtk_grid_get_child_at           (GtkGrid         *grid,
                                             gint             left,
                                             gint             top);
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 void       gtk_grid_insert_row             (GtkGrid         *grid,
                                             gint             position);
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 void       gtk_grid_insert_column          (GtkGrid         *grid,
                                             gint             position);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void       gtk_grid_remove_row             (GtkGrid         *grid,
                                             gint             position);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void       gtk_grid_remove_column          (GtkGrid         *grid,
                                             gint             position);
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 void       gtk_grid_insert_next_to         (GtkGrid         *grid,
                                             GtkWidget       *sibling,
                                             GtkPositionType  side);
@@ -124,17 +124,17 @@ void       gtk_grid_set_column_spacing     (GtkGrid         *grid,
                                             guint            spacing);
 GDK_AVAILABLE_IN_ALL
 guint      gtk_grid_get_column_spacing     (GtkGrid         *grid);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void       gtk_grid_set_row_baseline_position (GtkGrid      *grid,
                                               gint          row,
                                               GtkBaselinePosition pos);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 GtkBaselinePosition gtk_grid_get_row_baseline_position (GtkGrid      *grid,
                                                        gint          row);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void       gtk_grid_set_baseline_row       (GtkGrid         *grid,
                                            gint             row);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 gint       gtk_grid_get_baseline_row       (GtkGrid         *grid);
 
 
diff --git a/gtk/gtkheaderbar.c b/gtk/gtkheaderbar.c
index 34aedc7..58d610e 100644
--- a/gtk/gtkheaderbar.c
+++ b/gtk/gtkheaderbar.c
@@ -1182,8 +1182,6 @@ gtk_header_bar_size_allocate (GtkWidget           *widget,
  * Sets the title of the #GtkHeaderBar. The title should help a user
  * identify the current view. A good title should not include the
  * application name.
- *
- * Since: 3.10
  */
 void
 gtk_header_bar_set_title (GtkHeaderBar *bar,
@@ -1216,8 +1214,6 @@ gtk_header_bar_set_title (GtkHeaderBar *bar,
  * Returns: (nullable): the title of the header, or %NULL if none has
  *    been set explicitly. The returned string is owned by the widget
  *    and must not be modified or freed.
- *
- * Since: 3.10
  */
 const gchar *
 gtk_header_bar_get_title (GtkHeaderBar *bar)
@@ -1240,8 +1236,6 @@ gtk_header_bar_get_title (GtkHeaderBar *bar)
  * Note that GtkHeaderBar by default reserves room for the subtitle,
  * even if none is currently set. If this is not desired, set the
  * #GtkHeaderBar:has-subtitle property to %FALSE.
- *
- * Since: 3.10
  */
 void
 gtk_header_bar_set_subtitle (GtkHeaderBar *bar,
@@ -1277,8 +1271,6 @@ gtk_header_bar_set_subtitle (GtkHeaderBar *bar,
  * Returns: (nullable): the subtitle of the header, or %NULL if none has
  *    been set explicitly. The returned string is owned by the widget
  *    and must not be modified or freed.
- *
- * Since: 3.10
  */
 const gchar *
 gtk_header_bar_get_subtitle (GtkHeaderBar *bar)
@@ -1305,8 +1297,6 @@ gtk_header_bar_get_subtitle (GtkHeaderBar *bar)
  *
  * You should set the custom title to %NULL, for the header title
  * label to be visible again.
- *
- * Since: 3.10
  */
 void
 gtk_header_bar_set_custom_title (GtkHeaderBar *bar,
@@ -1369,8 +1359,6 @@ gtk_header_bar_set_custom_title (GtkHeaderBar *bar,
  *
  * Returns: (nullable) (transfer none): the custom title widget
  *    of the header, or %NULL if none has been set explicitly.
- *
- * Since: 3.10
  */
 GtkWidget *
 gtk_header_bar_get_custom_title (GtkHeaderBar *bar)
@@ -1934,8 +1922,6 @@ gtk_header_bar_class_init (GtkHeaderBarClass *class)
    *
    * See gtk_header_bar_set_decoration_layout() for information
    * about the format of this string.
-   *
-   * Since: 3.12
    */
   header_bar_props[PROP_DECORATION_LAYOUT] =
       g_param_spec_string ("decoration-layout",
@@ -1948,8 +1934,6 @@ gtk_header_bar_class_init (GtkHeaderBarClass *class)
    * GtkHeaderBar:decoration-layout-set:
    *
    * Set to %TRUE if #GtkHeaderBar:decoration-layout is set.
-   *
-   * Since: 3.12
    */
   header_bar_props[PROP_DECORATION_LAYOUT_SET] =
       g_param_spec_boolean ("decoration-layout-set",
@@ -1963,8 +1947,6 @@ gtk_header_bar_class_init (GtkHeaderBarClass *class)
    *
    * If %TRUE, reserve space for a subtitle, even if none
    * is currently set.
-   *
-   * Since: 3.12
    */
   header_bar_props[PROP_HAS_SUBTITLE] =
       g_param_spec_boolean ("has-subtitle",
@@ -2030,8 +2012,6 @@ gtk_header_bar_buildable_init (GtkBuildableIface *iface)
  *
  * Adds @child to @bar, packed with reference to the
  * start of the @bar.
- *
- * Since: 3.10
  */
 void
 gtk_header_bar_pack_start (GtkHeaderBar *bar,
@@ -2047,8 +2027,6 @@ gtk_header_bar_pack_start (GtkHeaderBar *bar,
  *
  * Adds @child to @bar, packed with reference to the
  * end of the @bar.
- *
- * Since: 3.10
  */
 void
 gtk_header_bar_pack_end (GtkHeaderBar *bar,
@@ -2063,8 +2041,6 @@ gtk_header_bar_pack_end (GtkHeaderBar *bar,
  * Creates a new #GtkHeaderBar widget.
  *
  * Returns: a new #GtkHeaderBar
- *
- * Since: 3.10
  */
 GtkWidget *
 gtk_header_bar_new (void)
@@ -2080,8 +2056,6 @@ gtk_header_bar_new (void)
  * title buttons.
  *
  * Returns: %TRUE if title buttons are shown
- *
- * Since: 3.94
  */
 gboolean
 gtk_header_bar_get_show_title_buttons (GtkHeaderBar *bar)
@@ -2102,8 +2076,6 @@ gtk_header_bar_get_show_title_buttons (GtkHeaderBar *bar)
  *
  * Sets whether this header bar shows the standard window
  * title buttons including close, maximize, and minimize.
- *
- * Since: 3.94
  */
 void
 gtk_header_bar_set_show_title_buttons (GtkHeaderBar *bar,
@@ -2132,8 +2104,6 @@ gtk_header_bar_set_show_title_buttons (GtkHeaderBar *bar,
  *
  * Sets whether the header bar should reserve space
  * for a subtitle, even if none is currently set.
- *
- * Since: 3.12
  */
 void
 gtk_header_bar_set_has_subtitle (GtkHeaderBar *bar,
@@ -2167,8 +2137,6 @@ gtk_header_bar_set_has_subtitle (GtkHeaderBar *bar,
  *
  * Returns: %TRUE if the header bar reserves space
  *     for a subtitle
- *
- * Since: 3.12
  */
 gboolean
 gtk_header_bar_get_has_subtitle (GtkHeaderBar *bar)
@@ -2205,8 +2173,6 @@ gtk_header_bar_get_has_subtitle (GtkHeaderBar *bar)
  *
  * For example, “menu:minimize,maximize,close” specifies a menu
  * on the left, and minimize, maximize and close buttons on the right.
- *
- * Since: 3.12
  */
 void
 gtk_header_bar_set_decoration_layout (GtkHeaderBar *bar,
@@ -2235,8 +2201,6 @@ gtk_header_bar_set_decoration_layout (GtkHeaderBar *bar,
  * gtk_header_bar_set_decoration_layout().
  *
  * Returns: the decoration layout
- *
- * Since: 3.12 
  */
 const gchar *
 gtk_header_bar_get_decoration_layout (GtkHeaderBar *bar)
diff --git a/gtk/gtkheaderbar.h b/gtk/gtkheaderbar.h
index d0430e6..a6dbb63 100644
--- a/gtk/gtkheaderbar.h
+++ b/gtk/gtkheaderbar.h
@@ -55,51 +55,51 @@ struct _GtkHeaderBarClass
   void (*_gtk_reserved4) (void);
 };
 
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 GType        gtk_header_bar_get_type          (void) G_GNUC_CONST;
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 GtkWidget   *gtk_header_bar_new               (void);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void         gtk_header_bar_set_title         (GtkHeaderBar *bar,
                                                const gchar  *title);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 const gchar *gtk_header_bar_get_title         (GtkHeaderBar *bar);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void         gtk_header_bar_set_subtitle      (GtkHeaderBar *bar,
                                                const gchar  *subtitle);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 const gchar *gtk_header_bar_get_subtitle      (GtkHeaderBar *bar);
 
 
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void         gtk_header_bar_set_custom_title  (GtkHeaderBar *bar,
                                                GtkWidget    *title_widget);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 GtkWidget   *gtk_header_bar_get_custom_title  (GtkHeaderBar *bar);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void         gtk_header_bar_pack_start        (GtkHeaderBar *bar,
                                                GtkWidget    *child);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void         gtk_header_bar_pack_end          (GtkHeaderBar *bar,
                                                GtkWidget    *child);
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 gboolean     gtk_header_bar_get_show_title_buttons (GtkHeaderBar *bar);
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void         gtk_header_bar_set_show_title_buttons (GtkHeaderBar *bar,
                                                     gboolean      setting);
 
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 void         gtk_header_bar_set_has_subtitle (GtkHeaderBar *bar,
                                               gboolean      setting);
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 gboolean     gtk_header_bar_get_has_subtitle (GtkHeaderBar *bar);
 
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 void         gtk_header_bar_set_decoration_layout (GtkHeaderBar *bar,
                                                    const gchar  *layout);
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 const gchar *gtk_header_bar_get_decoration_layout (GtkHeaderBar *bar);
 
 G_END_DECLS
diff --git a/gtk/gtkicontheme.c b/gtk/gtkicontheme.c
index afaed8f..7d54ff4 100644
--- a/gtk/gtkicontheme.c
+++ b/gtk/gtkicontheme.c
@@ -375,8 +375,6 @@ G_DEFINE_TYPE_WITH_PRIVATE (GtkIconTheme, gtk_icon_theme, G_TYPE_OBJECT)
  * a new icon theme object for scratch.
  * 
  * Returns: the newly created #GtkIconTheme object.
- *
- * Since: 2.4
  */
 GtkIconTheme *
 gtk_icon_theme_new (void)
@@ -394,8 +392,6 @@ gtk_icon_theme_new (void)
  *     the default display. This icon theme is associated with
  *     the display and can be used as long as the display
  *     is open. Do not ref or unref it.
- *
- * Since: 2.4
  */
 GtkIconTheme *
 gtk_icon_theme_get_default (void)
@@ -420,8 +416,6 @@ gtk_icon_theme_get_default (void)
  *  the given display. This icon theme is associated with
  *  the display and can be used as long as the display
  *  is open. Do not ref or unref it.
- *
- * Since: 3.94
  */
 GtkIconTheme *
 gtk_icon_theme_get_for_display (GdkDisplay *display)
@@ -571,8 +565,6 @@ unset_display (GtkIconTheme *icon_theme)
  * Sets the display for an icon theme; the display is used
  * to track the user’s currently configured icon theme,
  * which might be different for different displays.
- *
- * Since: 3.94
  */
 void
 gtk_icon_theme_set_display (GtkIconTheme *icon_theme,
@@ -829,8 +821,6 @@ gtk_icon_theme_finalize (GObject *object)
  * (This is legacy feature, and new icons should be put
  * into the fallback icon theme, which is called hicolor,
  * rather than directly on the icon path.)
- *
- * Since: 2.4
  */
 void
 gtk_icon_theme_set_search_path (GtkIconTheme *icon_theme,
@@ -866,8 +856,6 @@ gtk_icon_theme_set_search_path (GtkIconTheme *icon_theme,
  * @n_elements: location to store number of elements in @path, or %NULL
  *
  * Gets the current search path. See gtk_icon_theme_set_search_path().
- *
- * Since: 2.4
  */
 void
 gtk_icon_theme_get_search_path (GtkIconTheme  *icon_theme,
@@ -900,8 +888,6 @@ gtk_icon_theme_get_search_path (GtkIconTheme  *icon_theme,
  * 
  * Appends a directory to the search path. 
  * See gtk_icon_theme_set_search_path(). 
- *
- * Since: 2.4
  */
 void
 gtk_icon_theme_append_search_path (GtkIconTheme *icon_theme,
@@ -929,8 +915,6 @@ gtk_icon_theme_append_search_path (GtkIconTheme *icon_theme,
  * 
  * Prepends a directory to the search path. 
  * See gtk_icon_theme_set_search_path().
- *
- * Since: 2.4
  */
 void
 gtk_icon_theme_prepend_search_path (GtkIconTheme *icon_theme,
@@ -971,8 +955,6 @@ gtk_icon_theme_prepend_search_path (GtkIconTheme *icon_theme,
  * hicolor icon theme, such as `@path/16x16/actions/run.png`.
  * Icons that are directly placed in the resource path instead
  * of a subdirectory are also considered as ultimate fallback.
- *
- * Since: 3.14
  */
 void
 gtk_icon_theme_add_resource_path (GtkIconTheme *icon_theme,
@@ -998,8 +980,6 @@ gtk_icon_theme_add_resource_path (GtkIconTheme *icon_theme,
  * overriding system configuration. This function cannot be called
  * on the icon theme objects returned from gtk_icon_theme_get_default()
  * and gtk_icon_theme_get_for_display().
- *
- * Since: 2.4
  */
 void
 gtk_icon_theme_set_custom_theme (GtkIconTheme *icon_theme,
@@ -1974,8 +1954,6 @@ choose_icon (GtkIconTheme       *icon_theme,
  * Returns: (nullable) (transfer full): a #GtkIconInfo object
  *     containing information about the icon, or %NULL if the
  *     icon wasn’t found.
- *
- * Since: 2.4
  */
 GtkIconInfo *
 gtk_icon_theme_lookup_icon (GtkIconTheme       *icon_theme,
@@ -2012,8 +1990,6 @@ gtk_icon_theme_lookup_icon (GtkIconTheme       *icon_theme,
  * Returns: (nullable) (transfer full): a #GtkIconInfo object
  *     containing information about the icon, or %NULL if the
  *     icon wasn’t found.
- *
- * Since: 3.10
  */
 GtkIconInfo *
 gtk_icon_theme_lookup_icon_for_scale (GtkIconTheme       *icon_theme,
@@ -2117,8 +2093,6 @@ gtk_icon_theme_lookup_icon_for_scale (GtkIconTheme       *icon_theme,
  * Returns: (nullable) (transfer full): a #GtkIconInfo object
  * containing information about the icon, or %NULL if the icon wasn’t
  * found.
- *
- * Since: 2.12
  */
 GtkIconInfo *
 gtk_icon_theme_choose_icon (GtkIconTheme       *icon_theme,
@@ -2157,8 +2131,6 @@ gtk_icon_theme_choose_icon (GtkIconTheme       *icon_theme,
  * Returns: (nullable) (transfer full): a #GtkIconInfo object
  *     containing information about the icon, or %NULL if the
  *     icon wasn’t found.
- *
- * Since: 3.10
  */
 GtkIconInfo *
 gtk_icon_theme_choose_icon_for_scale (GtkIconTheme       *icon_theme,
@@ -2212,8 +2184,6 @@ gtk_icon_theme_error_quark (void)
  *     a newly created icon or a new reference to an internal icon, so
  *     you must not modify the icon. Use g_object_unref() to release
  *     your reference to the icon. %NULL if the icon isn’t found.
- *
- * Since: 2.4
  */
 GdkPixbuf *
 gtk_icon_theme_load_icon (GtkIconTheme         *icon_theme,
@@ -2261,8 +2231,6 @@ gtk_icon_theme_load_icon (GtkIconTheme         *icon_theme,
  *     a newly created icon or a new reference to an internal icon, so
  *     you must not modify the icon. Use g_object_unref() to release
  *     your reference to the icon. %NULL if the icon isn’t found.
- *
- * Since: 3.10
  */
 GdkPixbuf *
 gtk_icon_theme_load_icon_for_scale (GtkIconTheme        *icon_theme,
@@ -2325,8 +2293,6 @@ gtk_icon_theme_load_icon_for_scale (GtkIconTheme        *icon_theme,
  *     you must not modify the icon. Use cairo_surface_destroy() to
  *     release your reference to the icon. %NULL if the icon isn’t
  *     found.
- *
- * Since: 3.10
  */
 cairo_surface_t *
 gtk_icon_theme_load_surface (GtkIconTheme        *icon_theme,
@@ -2372,8 +2338,6 @@ gtk_icon_theme_load_surface (GtkIconTheme        *icon_theme,
  * 
  * Returns: %TRUE if @icon_theme includes an
  *  icon for @icon_name.
- *
- * Since: 2.4
  */
 gboolean 
 gtk_icon_theme_has_icon (GtkIconTheme *icon_theme,
@@ -2433,8 +2397,6 @@ add_size (gpointer key,
  * allocated array describing the sizes at which the icon is
  * available. The array should be freed with g_free() when it is no
  * longer needed.
- *
- * Since: 2.6
  */
 gint *
 gtk_icon_theme_get_icon_sizes (GtkIconTheme *icon_theme,
@@ -2523,8 +2485,6 @@ add_key_to_list (gpointer key,
  *     holding the names of all the icons in the theme. You must
  *     first free each element in the list with g_free(), then
  *     free the list itself with g_list_free().
- *
- * Since: 2.4
  */
 GList *
 gtk_icon_theme_list_icons (GtkIconTheme *icon_theme,
@@ -2586,8 +2546,6 @@ gtk_icon_theme_list_icons (GtkIconTheme *icon_theme,
  *     holding the names of all the contexts in the theme. You must first
  *     free each element in the list with g_free(), then free the list
  *     itself with g_list_free().
- *
- * Since: 2.12
  */
 GList *
 gtk_icon_theme_list_contexts (GtkIconTheme *icon_theme)
@@ -2630,8 +2588,6 @@ gtk_icon_theme_list_contexts (GtkIconTheme *icon_theme)
  * 
  * Returns: (nullable): the name of an example icon or %NULL.
  *     Free with g_free().
- *
- * Since: 2.4
  */
 gchar *
 gtk_icon_theme_get_example_icon_name (GtkIconTheme *icon_theme)
@@ -2707,8 +2663,6 @@ rescan_themes (GtkIconTheme *icon_theme)
  * 
  * Returns: %TRUE if the icon theme has changed and needed
  *     to be reloaded.
- *
- * Since: 2.4
  */
 gboolean
 gtk_icon_theme_rescan_if_needed (GtkIconTheme *icon_theme)
@@ -3470,8 +3424,6 @@ gtk_icon_info_class_init (GtkIconInfoClass *klass)
  *
  * Returns: the base size, or 0, if no base
  *     size is known for the icon.
- *
- * Since: 2.4
  */
 gint
 gtk_icon_info_get_base_size (GtkIconInfo *icon_info)
@@ -3492,8 +3444,6 @@ gtk_icon_info_get_base_size (GtkIconInfo *icon_info)
  * a base scale of 2.
  *
  * Returns: the base scale
- *
- * Since: 3.10
  */
 gint
 gtk_icon_info_get_base_scale (GtkIconInfo *icon_info)
@@ -3516,8 +3466,6 @@ gtk_icon_info_get_base_scale (GtkIconInfo *icon_info)
  *     if gtk_icon_info_get_builtin_pixbuf() should be used instead.
  *     The return value is owned by GTK+ and should not be modified
  *     or freed.
- *
- * Since: 2.4
  */
 const gchar *
 gtk_icon_info_get_filename (GtkIconInfo *icon_info)
@@ -3536,8 +3484,6 @@ gtk_icon_info_get_filename (GtkIconInfo *icon_info)
  * This behaviour may change in the future.
  *
  * Returns: %TRUE if the icon is symbolic, %FALSE otherwise
- *
- * Since: 3.12
  */
 gboolean
 gtk_icon_info_is_symbolic (GtkIconInfo *icon_info)
@@ -3909,8 +3855,6 @@ proxy_pixbuf_destroy (guchar *pixels, gpointer data)
  *     created icon or a new reference to an internal icon, so you must
  *     not modify the icon. Use g_object_unref() to release your reference
  *     to the icon.
- *
- * Since: 2.4
  */
 GdkPixbuf *
 gtk_icon_info_load_icon (GtkIconInfo *icon_info,
@@ -3970,8 +3914,6 @@ gtk_icon_info_load_icon (GtkIconInfo *icon_info,
  * Returns: (transfer full): the icon texture; this may be a newly
  *     created texture or a new reference to an exiting texture. Use
  *     g_object_unref() to release your reference.
- *
- * Since: 3.94
  */
 GdkTexture *
 gtk_icon_info_load_texture (GtkIconInfo *icon_info)
@@ -4015,8 +3957,6 @@ gtk_icon_info_load_texture (GtkIconInfo *icon_info)
  *     created icon or a new reference to an internal icon, so you must
  *     not modify the icon. Use cairo_surface_destroy() to release your
  *     reference to the icon.
- *
- * Since: 3.10
  */
 cairo_surface_t *
 gtk_icon_info_load_surface (GtkIconInfo  *icon_info,
@@ -4065,8 +4005,6 @@ load_icon_thread  (GTask        *task,
  *
  * For more details, see gtk_icon_info_load_icon() which is the synchronous
  * version of this call.
- *
- * Since: 3.8
  */
 void
 gtk_icon_info_load_icon_async (GtkIconInfo         *icon_info,
@@ -4112,8 +4050,6 @@ gtk_icon_info_load_icon_async (GtkIconInfo         *icon_info,
  *     created icon or a new reference to an internal icon, so you must
  *     not modify the icon. Use g_object_unref() to release your reference
  *     to the icon.
- *
- * Since: 3.8
  */
 GdkPixbuf *
 gtk_icon_info_load_icon_finish (GtkIconInfo   *icon_info,
@@ -4585,8 +4521,6 @@ gtk_icon_info_load_symbolic_internal (GtkIconInfo    *icon_info,
  * for more information about symbolic icons.
  *
  * Returns: (transfer full): a #GdkPixbuf representing the loaded icon
- *
- * Since: 3.0
  */
 GdkPixbuf *
 gtk_icon_info_load_symbolic (GtkIconInfo    *icon_info,
@@ -4672,8 +4606,6 @@ gtk_icon_theme_lookup_symbolic_colors (GtkCssStyle *style,
  * See gtk_icon_info_load_symbolic() for more details.
  *
  * Returns: (transfer full): a #GdkPixbuf representing the loaded icon
- *
- * Since: 3.0
  */
 GdkPixbuf *
 gtk_icon_info_load_symbolic_for_context (GtkIconInfo      *icon_info,
@@ -4793,8 +4725,6 @@ load_symbolic_icon_thread  (GTask        *task,
  *
  * For more details, see gtk_icon_info_load_symbolic() which is the synchronous
  * version of this call.
- *
- * Since: 3.8
  */
 void
 gtk_icon_info_load_symbolic_async (GtkIconInfo          *icon_info,
@@ -4883,8 +4813,6 @@ gtk_icon_info_load_symbolic_async (GtkIconInfo          *icon_info,
  *     created icon or a new reference to an internal icon, so you must
  *     not modify the icon. Use g_object_unref() to release your reference
  *     to the icon.
- *
- * Since: 3.8
  */
 GdkPixbuf *
 gtk_icon_info_load_symbolic_finish (GtkIconInfo   *icon_info,
@@ -4946,8 +4874,6 @@ gtk_icon_info_load_symbolic_finish (GtkIconInfo   *icon_info,
  *
  * For more details, see gtk_icon_info_load_symbolic_for_context()
  * which is the synchronous version of this call.
- *
- * Since: 3.8
  */
 void
 gtk_icon_info_load_symbolic_for_context_async (GtkIconInfo         *icon_info,
@@ -4990,8 +4916,6 @@ gtk_icon_info_load_symbolic_for_context_async (GtkIconInfo         *icon_info,
  *     created icon or a new reference to an internal icon, so you must
  *     not modify the icon. Use g_object_unref() to release your reference
  *     to the icon.
- *
- * Since: 3.8
  */
 GdkPixbuf *
 gtk_icon_info_load_symbolic_for_context_finish (GtkIconInfo   *icon_info,
@@ -5022,8 +4946,6 @@ gtk_icon_info_load_symbolic_for_context_finish (GtkIconInfo   *icon_info,
  * Returns: (nullable) (transfer full): a #GtkIconInfo containing
  *     information about the icon, or %NULL if the icon wasn’t
  *     found. Unref with g_object_unref()
- *
- * Since: 2.14
  */
 GtkIconInfo *
 gtk_icon_theme_lookup_by_gicon (GtkIconTheme       *icon_theme,
@@ -5051,8 +4973,6 @@ gtk_icon_theme_lookup_by_gicon (GtkIconTheme       *icon_theme,
  * Returns: (nullable) (transfer full): a #GtkIconInfo containing
  *     information about the icon, or %NULL if the icon wasn’t
  *     found. Unref with g_object_unref()
- *
- * Since: 3.10
  */
 GtkIconInfo *
 gtk_icon_theme_lookup_by_gicon_for_scale (GtkIconTheme       *icon_theme,
@@ -5169,8 +5089,6 @@ gtk_icon_theme_lookup_by_gicon_for_scale (GtkIconTheme       *icon_theme,
  * Creates a #GtkIconInfo for a #GdkPixbuf.
  *
  * Returns: (transfer full): a #GtkIconInfo
- *
- * Since: 2.14
  */
 GtkIconInfo *
 gtk_icon_info_new_for_pixbuf (GtkIconTheme *icon_theme,
diff --git a/gtk/gtkicontheme.h b/gtk/gtkicontheme.h
index 360e73d..f5167c2 100644
--- a/gtk/gtkicontheme.h
+++ b/gtk/gtkicontheme.h
@@ -168,9 +168,9 @@ GDK_AVAILABLE_IN_ALL
 GtkIconTheme *gtk_icon_theme_new                   (void);
 GDK_AVAILABLE_IN_ALL
 GtkIconTheme *gtk_icon_theme_get_default           (void);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GtkIconTheme *gtk_icon_theme_get_for_display       (GdkDisplay                  *display);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void          gtk_icon_theme_set_display           (GtkIconTheme                *icon_theme,
                                                    GdkDisplay                  *display);
 
@@ -189,7 +189,7 @@ GDK_AVAILABLE_IN_ALL
 void          gtk_icon_theme_prepend_search_path   (GtkIconTheme                *icon_theme,
                                                    const gchar                 *path);
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 void          gtk_icon_theme_add_resource_path     (GtkIconTheme                *icon_theme,
                                                     const gchar                 *path);
 
@@ -208,7 +208,7 @@ GtkIconInfo * gtk_icon_theme_lookup_icon           (GtkIconTheme
                                                    const gchar                 *icon_name,
                                                    gint                         size,
                                                    GtkIconLookupFlags           flags);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 GtkIconInfo * gtk_icon_theme_lookup_icon_for_scale (GtkIconTheme                *icon_theme,
                                                     const gchar                 *icon_name,
                                                     gint                         size,
@@ -220,7 +220,7 @@ GtkIconInfo * gtk_icon_theme_choose_icon           (GtkIconTheme
                                                    const gchar                 *icon_names[],
                                                    gint                         size,
                                                    GtkIconLookupFlags           flags);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 GtkIconInfo * gtk_icon_theme_choose_icon_for_scale (GtkIconTheme                *icon_theme,
                                                    const gchar                 *icon_names[],
                                                    gint                         size,
@@ -232,14 +232,14 @@ GdkPixbuf *   gtk_icon_theme_load_icon             (GtkIconTheme
                                                    gint                         size,
                                                    GtkIconLookupFlags           flags,
                                                    GError                     **error);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 GdkPixbuf *   gtk_icon_theme_load_icon_for_scale   (GtkIconTheme                *icon_theme,
                                                     const gchar                 *icon_name,
                                                     gint                         size,
                                                     gint                         scale,
                                                     GtkIconLookupFlags           flags,
                                                     GError                     **error);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 cairo_surface_t * gtk_icon_theme_load_surface      (GtkIconTheme        *icon_theme,
                                                    const gchar         *icon_name,
                                                    gint                 size,
@@ -253,7 +253,7 @@ GtkIconInfo * gtk_icon_theme_lookup_by_gicon       (GtkIconTheme
                                                     GIcon                       *icon,
                                                     gint                         size,
                                                     GtkIconLookupFlags           flags);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 GtkIconInfo * gtk_icon_theme_lookup_by_gicon_for_scale (GtkIconTheme             *icon_theme,
                                                         GIcon                    *icon,
                                                         gint                      size,
@@ -281,28 +281,28 @@ GtkIconInfo *         gtk_icon_info_new_for_pixbuf     (GtkIconTheme  *icon_them
 
 GDK_AVAILABLE_IN_ALL
 gint                  gtk_icon_info_get_base_size      (GtkIconInfo   *icon_info);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 gint                  gtk_icon_info_get_base_scale     (GtkIconInfo   *icon_info);
 GDK_AVAILABLE_IN_ALL
 const gchar *         gtk_icon_info_get_filename       (GtkIconInfo   *icon_info);
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 gboolean              gtk_icon_info_is_symbolic        (GtkIconInfo   *icon_info);
 GDK_AVAILABLE_IN_ALL
 GdkPixbuf *           gtk_icon_info_load_icon          (GtkIconInfo   *icon_info,
                                                        GError       **error);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 cairo_surface_t *     gtk_icon_info_load_surface       (GtkIconInfo   *icon_info,
                                                        GdkWindow     *for_window,
                                                        GError       **error);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GdkTexture *          gtk_icon_info_load_texture       (GtkIconInfo   *icon_info);
 
-GDK_AVAILABLE_IN_3_8
+GDK_AVAILABLE_IN_ALL
 void                  gtk_icon_info_load_icon_async   (GtkIconInfo          *icon_info,
                                                       GCancellable         *cancellable,
                                                       GAsyncReadyCallback   callback,
                                                       gpointer              user_data);
-GDK_AVAILABLE_IN_3_8
+GDK_AVAILABLE_IN_ALL
 GdkPixbuf *           gtk_icon_info_load_icon_finish  (GtkIconInfo          *icon_info,
                                                       GAsyncResult         *res,
                                                       GError              **error);
@@ -314,7 +314,7 @@ GdkPixbuf *           gtk_icon_info_load_symbolic      (GtkIconInfo   *icon_info
                                                         const GdkRGBA *error_color,
                                                         gboolean      *was_symbolic,
                                                         GError       **error);
-GDK_AVAILABLE_IN_3_8
+GDK_AVAILABLE_IN_ALL
 void                  gtk_icon_info_load_symbolic_async (GtkIconInfo   *icon_info,
                                                         const GdkRGBA *fg,
                                                         const GdkRGBA *success_color,
@@ -323,7 +323,7 @@ void                  gtk_icon_info_load_symbolic_async (GtkIconInfo   *icon_inf
                                                         GCancellable         *cancellable,
                                                         GAsyncReadyCallback   callback,
                                                         gpointer              user_data);
-GDK_AVAILABLE_IN_3_8
+GDK_AVAILABLE_IN_ALL
 GdkPixbuf *           gtk_icon_info_load_symbolic_finish (GtkIconInfo   *icon_info,
                                                          GAsyncResult         *res,
                                                          gboolean      *was_symbolic,
@@ -333,13 +333,13 @@ GdkPixbuf *           gtk_icon_info_load_symbolic_for_context (GtkIconInfo
                                                                GtkStyleContext  *context,
                                                                gboolean         *was_symbolic,
                                                                GError          **error);
-GDK_AVAILABLE_IN_3_8
+GDK_AVAILABLE_IN_ALL
 void                  gtk_icon_info_load_symbolic_for_context_async (GtkIconInfo      *icon_info,
                                                                     GtkStyleContext  *context,
                                                                     GCancellable     *cancellable,
                                                                     GAsyncReadyCallback callback,
                                                                     gpointer          user_data);
-GDK_AVAILABLE_IN_3_8
+GDK_AVAILABLE_IN_ALL
 GdkPixbuf *           gtk_icon_info_load_symbolic_for_context_finish (GtkIconInfo      *icon_info,
                                                                      GAsyncResult     *res,
                                                                      gboolean         *was_symbolic,
diff --git a/gtk/gtkiconview.c b/gtk/gtkiconview.c
index 9246f93..9a0211a 100644
--- a/gtk/gtkiconview.c
+++ b/gtk/gtkiconview.c
@@ -387,8 +387,6 @@ gtk_icon_view_class_init (GtkIconViewClass *klass)
    * The ::selection-mode property specifies the selection mode of
    * icon view. If the mode is #GTK_SELECTION_MULTIPLE, rubberband selection
    * is enabled, for the other modes, only keyboard selection is possible.
-   *
-   * Since: 2.6
    */
   g_object_class_install_property (gobject_class,
                                   PROP_SELECTION_MODE,
@@ -406,8 +404,6 @@ gtk_icon_view_class_init (GtkIconViewClass *klass)
    * containing the pixbufs which are displayed. The pixbuf column must be 
    * of type #GDK_TYPE_PIXBUF. Setting this property to -1 turns off the
    * display of pixbufs.
-   *
-   * Since: 2.6
    */
   g_object_class_install_property (gobject_class,
                                   PROP_PIXBUF_COLUMN,
@@ -424,8 +420,6 @@ gtk_icon_view_class_init (GtkIconViewClass *klass)
    * containing the texts which are displayed. The text column must be 
    * of type #G_TYPE_STRING. If this property and the :markup-column 
    * property are both set to -1, no texts are displayed.   
-   *
-   * Since: 2.6
    */
   g_object_class_install_property (gobject_class,
                                   PROP_TEXT_COLUMN,
@@ -444,8 +438,6 @@ gtk_icon_view_class_init (GtkIconViewClass *klass)
    * of type #G_TYPE_STRING. If this property and the :text-column property 
    * are both set to column numbers, it overrides the text column.
    * If both are set to -1, no texts are displayed.   
-   *
-   * Since: 2.6
    */
   g_object_class_install_property (gobject_class,
                                   PROP_MARKUP_COLUMN,
@@ -469,8 +461,6 @@ gtk_icon_view_class_init (GtkIconViewClass *klass)
    * The columns property contains the number of the columns in which the
    * items should be displayed. If it is -1, the number of columns will
    * be chosen automatically to fill the available area.
-   *
-   * Since: 2.6
    */
   g_object_class_install_property (gobject_class,
                                   PROP_COLUMNS,
@@ -487,8 +477,6 @@ gtk_icon_view_class_init (GtkIconViewClass *klass)
    * The item-width property specifies the width to use for each item. 
    * If it is set to -1, the icon view will automatically determine a 
    * suitable item size.
-   *
-   * Since: 2.6
    */
   g_object_class_install_property (gobject_class,
                                   PROP_ITEM_WIDTH,
@@ -503,8 +491,6 @@ gtk_icon_view_class_init (GtkIconViewClass *klass)
    *
    * The spacing property specifies the space which is inserted between
    * the cells (i.e. the icon and the text) of an item.
-   *
-   * Since: 2.6
    */
   g_object_class_install_property (gobject_class,
                                    PROP_SPACING,
@@ -519,8 +505,6 @@ gtk_icon_view_class_init (GtkIconViewClass *klass)
    *
    * The row-spacing property specifies the space which is inserted between
    * the rows of the icon view.
-   *
-   * Since: 2.6
    */
   g_object_class_install_property (gobject_class,
                                    PROP_ROW_SPACING,
@@ -535,8 +519,6 @@ gtk_icon_view_class_init (GtkIconViewClass *klass)
    *
    * The column-spacing property specifies the space which is inserted between
    * the columns of the icon view.
-   *
-   * Since: 2.6
    */
   g_object_class_install_property (gobject_class,
                                    PROP_COLUMN_SPACING,
@@ -551,8 +533,6 @@ gtk_icon_view_class_init (GtkIconViewClass *klass)
    *
    * The margin property specifies the space which is inserted 
    * at the edges of the icon view.
-   *
-   * Since: 2.6
    */
   g_object_class_install_property (gobject_class,
                                    PROP_MARGIN,
@@ -567,8 +547,6 @@ gtk_icon_view_class_init (GtkIconViewClass *klass)
    *
    * The item-orientation property specifies how the cells (i.e. the icon and
    * the text) of the item are positioned relative to each other.
-   *
-   * Since: 2.6
    */
   g_object_class_install_property (gobject_class,
                                   PROP_ITEM_ORIENTATION,
@@ -584,8 +562,6 @@ gtk_icon_view_class_init (GtkIconViewClass *klass)
    *
    * The reorderable property specifies if the items can be reordered
    * by DND.
-   *
-   * Since: 2.8
    */
   g_object_class_install_property (gobject_class,
                                    PROP_REORDERABLE,
@@ -610,8 +586,6 @@ gtk_icon_view_class_init (GtkIconViewClass *klass)
    *
    * The item-padding property specifies the padding around each
    * of the icon view's item.
-   *
-   * Since: 2.18
    */
   g_object_class_install_property (gobject_class,
                                    PROP_ITEM_PADDING,
@@ -628,8 +602,6 @@ gtk_icon_view_class_init (GtkIconViewClass *klass)
    *
    * If no area is specified when creating the icon view with gtk_icon_view_new_with_area() 
    * a #GtkCellAreaBox will be used.
-   *
-   * Since: 3.0
    */
   g_object_class_install_property (gobject_class,
                                   PROP_CELL_AREA,
@@ -644,8 +616,6 @@ gtk_icon_view_class_init (GtkIconViewClass *klass)
    *
    * The activate-on-single-click property specifies whether the "item-activated" signal
    * will be emitted after a single click.
-   *
-   * Since: 3.8
    */
   g_object_class_install_property (gobject_class,
                                    PROP_ACTIVATE_ON_SINGLE_CLICK,
@@ -2032,8 +2002,6 @@ gtk_icon_view_remove_editable (GtkCellArea            *area,
  * This function is often followed by `gtk_widget_grab_focus 
  * (icon_view)` in order to give keyboard focus to the widget.  
  * Please note that editing can only happen when the widget is realized.
- *
- * Since: 2.8
  **/
 void
 gtk_icon_view_set_cursor (GtkIconView     *icon_view,
@@ -2088,8 +2056,6 @@ gtk_icon_view_set_cursor (GtkIconView     *icon_view,
  * The returned #GtkTreePath must be freed with gtk_tree_path_free().
  *
  * Returns: %TRUE if the cursor is set.
- *
- * Since: 2.8
  **/
 gboolean
 gtk_icon_view_get_cursor (GtkIconView      *icon_view,
@@ -3978,8 +3944,6 @@ gtk_icon_view_move_cursor_start_end (GtkIconView *icon_view,
  * This function only works if the model is set, and @path is a valid row on 
  * the model. If the model changes before the @icon_view is realized, the 
  * centered path will be modified to reflect this change.
- *
- * Since: 2.8
  **/
 void
 gtk_icon_view_scroll_to_path (GtkIconView *icon_view,
@@ -4172,8 +4136,6 @@ _gtk_icon_view_set_cell_data (GtkIconView     *icon_view,
  * Creates a new #GtkIconView widget
  * 
  * Returns: A newly created #GtkIconView widget
- *
- * Since: 2.6
  **/
 GtkWidget *
 gtk_icon_view_new (void)
@@ -4189,8 +4151,6 @@ gtk_icon_view_new (void)
  * specified @area to layout cells inside the icons.
  * 
  * Returns: A newly created #GtkIconView widget
- *
- * Since: 3.0
  **/
 GtkWidget *
 gtk_icon_view_new_with_area (GtkCellArea *area)
@@ -4205,8 +4165,6 @@ gtk_icon_view_new_with_area (GtkCellArea *area)
  * Creates a new #GtkIconView widget with the model @model.
  * 
  * Returns: A newly created #GtkIconView widget.
- *
- * Since: 2.6 
  **/
 GtkWidget *
 gtk_icon_view_new_with_model (GtkTreeModel *model)
@@ -4222,8 +4180,6 @@ gtk_icon_view_new_with_model (GtkTreeModel *model)
  * 
  * Returns: (nullable) (transfer full): The #GtkTreePath corresponding
  * to the icon or %NULL if no icon exists at that position.
- *
- * Since: 2.6 
  **/
 GtkTreePath *
 gtk_icon_view_get_path_at_pos (GtkIconView *icon_view,
@@ -4255,8 +4211,6 @@ gtk_icon_view_get_path_at_pos (GtkIconView *icon_view,
  *   responsible for the cell at (@x, @y), or %NULL
  * 
  * Returns: %TRUE if an item exists at the specified position
- *
- * Since: 2.8
  **/
 gboolean 
 gtk_icon_view_get_item_at_pos (GtkIconView      *icon_view,
@@ -4299,8 +4253,6 @@ gtk_icon_view_get_item_at_pos (GtkIconView      *icon_view,
  * This function is only valid if @icon_view is realized.
  *
  * Returns: %FALSE if there is no such item, %TRUE otherwise
- *
- * Since: 3.6
  */
 gboolean
 gtk_icon_view_get_cell_rect (GtkIconView     *icon_view,
@@ -4350,8 +4302,6 @@ gtk_icon_view_get_cell_rect (GtkIconView     *icon_view,
  * Sets the tip area of @tooltip to be the area covered by the item at @path.
  * See also gtk_icon_view_set_tooltip_column() for a simpler alternative.
  * See also gtk_tooltip_set_tip_area().
- * 
- * Since: 2.12
  */
 void 
 gtk_icon_view_set_tooltip_item (GtkIconView     *icon_view,
@@ -4375,8 +4325,6 @@ gtk_icon_view_set_tooltip_item (GtkIconView     *icon_view,
  * the item pointed to by @path. See also gtk_tooltip_set_tip_area().
  *
  * See also gtk_icon_view_set_tooltip_column() for a simpler alternative.
- *
- * Since: 2.12
  */
 void
 gtk_icon_view_set_tooltip_cell (GtkIconView     *icon_view,
@@ -4420,8 +4368,6 @@ gtk_icon_view_set_tooltip_cell (GtkIconView     *icon_view,
  * that row and the corresponding model.
  *
  * Returns: whether or not the given tooltip context points to a item
- *
- * Since: 2.12
  */
 gboolean
 gtk_icon_view_get_tooltip_context (GtkIconView   *icon_view,
@@ -4519,8 +4465,6 @@ gtk_icon_view_set_tooltip_query_cb (GtkWidget  *widget,
  *
  * Note that the signal handler sets the text with gtk_tooltip_set_markup(),
  * so &, <, etc have to be escaped in the text.
- *
- * Since: 2.12
  */
 void
 gtk_icon_view_set_tooltip_column (GtkIconView *icon_view,
@@ -4561,8 +4505,6 @@ gtk_icon_view_set_tooltip_column (GtkIconView *icon_view,
  *
  * Returns: the index of the tooltip column that is currently being
  * used, or -1 if this is disabled.
- *
- * Since: 2.12
  */
 gint
 gtk_icon_view_get_tooltip_column (GtkIconView *icon_view)
@@ -4585,8 +4527,6 @@ gtk_icon_view_get_tooltip_column (GtkIconView *icon_view)
  * Both paths should be freed with gtk_tree_path_free() after use.
  * 
  * Returns: %TRUE, if valid paths were placed in @start_path and @end_path
- *
- * Since: 2.8
  **/
 gboolean
 gtk_icon_view_get_visible_range (GtkIconView  *icon_view,
@@ -4642,8 +4582,6 @@ gtk_icon_view_get_visible_range (GtkIconView  *icon_view,
  * 
  * Calls a function for each selected icon. Note that the model or
  * selection cannot be modified from within this function.
- *
- * Since: 2.6 
  **/
 void
 gtk_icon_view_selected_foreach (GtkIconView           *icon_view,
@@ -4670,8 +4608,6 @@ gtk_icon_view_selected_foreach (GtkIconView           *icon_view,
  * @mode: The selection mode
  * 
  * Sets the selection mode of the @icon_view.
- *
- * Since: 2.6 
  **/
 void
 gtk_icon_view_set_selection_mode (GtkIconView      *icon_view,
@@ -4698,8 +4634,6 @@ gtk_icon_view_set_selection_mode (GtkIconView      *icon_view,
  * Gets the selection mode of the @icon_view.
  *
  * Returns: the current selection mode
- *
- * Since: 2.6 
  **/
 GtkSelectionMode
 gtk_icon_view_get_selection_mode (GtkIconView *icon_view)
@@ -4718,8 +4652,6 @@ gtk_icon_view_get_selection_mode (GtkIconView *icon_view)
  * If the @icon_view already has a model set, it will remove
  * it before setting the new model.  If @model is %NULL, then
  * it will unset the old model.
- *
- * Since: 2.6 
  **/
 void
 gtk_icon_view_set_model (GtkIconView *icon_view,
@@ -4844,8 +4776,6 @@ gtk_icon_view_set_model (GtkIconView *icon_view,
  *
  * Returns: (nullable) (transfer none): A #GtkTreeModel, or %NULL if none is
  *     currently being used.
- *
- * Since: 2.6 
  **/
 GtkTreeModel *
 gtk_icon_view_get_model (GtkIconView *icon_view)
@@ -4958,8 +4888,6 @@ update_pixbuf_cell (GtkIconView *icon_view)
  * 
  * Sets the column with text for @icon_view to be @column. The text
  * column must be of type #G_TYPE_STRING.
- *
- * Since: 2.6 
  **/
 void
 gtk_icon_view_set_text_column (GtkIconView *icon_view,
@@ -5001,8 +4929,6 @@ gtk_icon_view_set_text_column (GtkIconView *icon_view,
  * Returns the column with text for @icon_view.
  *
  * Returns: the text column, or -1 if it’s unset.
- *
- * Since: 2.6
  */
 gint
 gtk_icon_view_get_text_column (GtkIconView  *icon_view)
@@ -5021,8 +4947,6 @@ gtk_icon_view_get_text_column (GtkIconView  *icon_view)
  * @column. The markup column must be of type #G_TYPE_STRING.
  * If the markup column is set to something, it overrides
  * the text column set by gtk_icon_view_set_text_column().
- *
- * Since: 2.6
  **/
 void
 gtk_icon_view_set_markup_column (GtkIconView *icon_view,
@@ -5064,8 +4988,6 @@ gtk_icon_view_set_markup_column (GtkIconView *icon_view,
  * Returns the column with markup text for @icon_view.
  *
  * Returns: the markup column, or -1 if it’s unset.
- *
- * Since: 2.6
  */
 gint
 gtk_icon_view_get_markup_column (GtkIconView  *icon_view)
@@ -5082,8 +5004,6 @@ gtk_icon_view_get_markup_column (GtkIconView  *icon_view)
  * 
  * Sets the column with pixbufs for @icon_view to be @column. The pixbuf
  * column must be of type #GDK_TYPE_PIXBUF
- *
- * Since: 2.6 
  **/
 void
 gtk_icon_view_set_pixbuf_column (GtkIconView *icon_view,
@@ -5126,8 +5046,6 @@ gtk_icon_view_set_pixbuf_column (GtkIconView *icon_view,
  * Returns the column with pixbufs for @icon_view.
  *
  * Returns: the pixbuf column, or -1 if it’s unset.
- *
- * Since: 2.6
  */
 gint
 gtk_icon_view_get_pixbuf_column (GtkIconView  *icon_view)
@@ -5143,8 +5061,6 @@ gtk_icon_view_get_pixbuf_column (GtkIconView  *icon_view)
  * @path: The #GtkTreePath to be selected.
  * 
  * Selects the row at @path.
- *
- * Since: 2.6
  **/
 void
 gtk_icon_view_select_path (GtkIconView *icon_view,
@@ -5170,8 +5086,6 @@ gtk_icon_view_select_path (GtkIconView *icon_view,
  * @path: The #GtkTreePath to be unselected.
  * 
  * Unselects the row at @path.
- *
- * Since: 2.6
  **/
 void
 gtk_icon_view_unselect_path (GtkIconView *icon_view,
@@ -5207,8 +5121,6 @@ gtk_icon_view_unselect_path (GtkIconView *icon_view,
  * ]|
  *
  * Returns: (element-type GtkTreePath) (transfer full): A #GList containing a #GtkTreePath for each selected 
row.
- *
- * Since: 2.6
  **/
 GList *
 gtk_icon_view_get_selected_items (GtkIconView *icon_view)
@@ -5239,8 +5151,6 @@ gtk_icon_view_get_selected_items (GtkIconView *icon_view)
  * 
  * Selects all the icons. @icon_view must has its selection mode set
  * to #GTK_SELECTION_MULTIPLE.
- *
- * Since: 2.6
  **/
 void
 gtk_icon_view_select_all (GtkIconView *icon_view)
@@ -5274,8 +5184,6 @@ gtk_icon_view_select_all (GtkIconView *icon_view)
  * @icon_view: A #GtkIconView.
  * 
  * Unselects all the icons.
- *
- * Since: 2.6
  **/
 void
 gtk_icon_view_unselect_all (GtkIconView *icon_view)
@@ -5302,8 +5210,6 @@ gtk_icon_view_unselect_all (GtkIconView *icon_view)
  * selected. If @path does not point to a valid location, %FALSE is returned.
  * 
  * Returns: %TRUE if @path is selected.
- *
- * Since: 2.6
  **/
 gboolean
 gtk_icon_view_path_is_selected (GtkIconView *icon_view,
@@ -5333,8 +5239,6 @@ gtk_icon_view_path_is_selected (GtkIconView *icon_view,
  * displayed. Row numbers start at 0.
  *
  * Returns: The row in which the item is displayed
- *
- * Since: 2.22
  */
 gint
 gtk_icon_view_get_item_row (GtkIconView *icon_view,
@@ -5364,8 +5268,6 @@ gtk_icon_view_get_item_row (GtkIconView *icon_view,
  * displayed. Column numbers start at 0.
  *
  * Returns: The column in which the item is displayed
- *
- * Since: 2.22
  */
 gint
 gtk_icon_view_get_item_column (GtkIconView *icon_view,
@@ -5392,8 +5294,6 @@ gtk_icon_view_get_item_column (GtkIconView *icon_view,
  * @path: The #GtkTreePath to be activated
  * 
  * Activates the item determined by @path.
- *
- * Since: 2.6
  **/
 void
 gtk_icon_view_item_activated (GtkIconView      *icon_view,
@@ -5412,8 +5312,6 @@ gtk_icon_view_item_activated (GtkIconView      *icon_view,
  * 
  * Sets the ::item-orientation property which determines whether the labels 
  * are drawn beside the icons instead of below.
- *
- * Since: 2.6
  **/
 void 
 gtk_icon_view_set_item_orientation (GtkIconView    *icon_view,
@@ -5451,8 +5349,6 @@ gtk_icon_view_set_item_orientation (GtkIconView    *icon_view,
  * whether the labels are drawn beside the icons instead of below. 
  * 
  * Returns: the relative position of texts and icons 
- *
- * Since: 2.6
  **/
 GtkOrientation
 gtk_icon_view_get_item_orientation (GtkIconView *icon_view)
@@ -5472,8 +5368,6 @@ gtk_icon_view_get_item_orientation (GtkIconView *icon_view)
  * many columns the icons are arranged. If @columns is
  * -1, the number of columns will be chosen automatically 
  * to fill the available area. 
- *
- * Since: 2.6
  */
 void 
 gtk_icon_view_set_columns (GtkIconView *icon_view,
@@ -5501,8 +5395,6 @@ gtk_icon_view_set_columns (GtkIconView *icon_view,
  * Returns the value of the ::columns property.
  * 
  * Returns: the number of columns, or -1
- *
- * Since: 2.6
  */
 gint
 gtk_icon_view_get_columns (GtkIconView *icon_view)
@@ -5520,8 +5412,6 @@ gtk_icon_view_get_columns (GtkIconView *icon_view)
  * Sets the ::item-width property which specifies the width 
  * to use for each item. If it is set to -1, the icon view will 
  * automatically determine a suitable item size.
- *
- * Since: 2.6
  */
 void 
 gtk_icon_view_set_item_width (GtkIconView *icon_view,
@@ -5551,8 +5441,6 @@ gtk_icon_view_set_item_width (GtkIconView *icon_view,
  * Returns the value of the ::item-width property.
  * 
  * Returns: the width of a single item, or -1
- *
- * Since: 2.6
  */
 gint
 gtk_icon_view_get_item_width (GtkIconView *icon_view)
@@ -5571,8 +5459,6 @@ gtk_icon_view_get_item_width (GtkIconView *icon_view)
  * Sets the ::spacing property which specifies the space 
  * which is inserted between the cells (i.e. the icon and 
  * the text) of an item.
- *
- * Since: 2.6
  */
 void 
 gtk_icon_view_set_spacing (GtkIconView *icon_view,
@@ -5600,8 +5486,6 @@ gtk_icon_view_set_spacing (GtkIconView *icon_view,
  * Returns the value of the ::spacing property.
  * 
  * Returns: the space between cells 
- *
- * Since: 2.6
  */
 gint
 gtk_icon_view_get_spacing (GtkIconView *icon_view)
@@ -5618,8 +5502,6 @@ gtk_icon_view_get_spacing (GtkIconView *icon_view)
  * 
  * Sets the ::row-spacing property which specifies the space 
  * which is inserted between the rows of the icon view.
- *
- * Since: 2.6
  */
 void 
 gtk_icon_view_set_row_spacing (GtkIconView *icon_view,
@@ -5647,8 +5529,6 @@ gtk_icon_view_set_row_spacing (GtkIconView *icon_view,
  * Returns the value of the ::row-spacing property.
  * 
  * Returns: the space between rows
- *
- * Since: 2.6
  */
 gint
 gtk_icon_view_get_row_spacing (GtkIconView *icon_view)
@@ -5665,8 +5545,6 @@ gtk_icon_view_get_row_spacing (GtkIconView *icon_view)
  * 
  * Sets the ::column-spacing property which specifies the space 
  * which is inserted between the columns of the icon view.
- *
- * Since: 2.6
  */
 void 
 gtk_icon_view_set_column_spacing (GtkIconView *icon_view,
@@ -5694,8 +5572,6 @@ gtk_icon_view_set_column_spacing (GtkIconView *icon_view,
  * Returns the value of the ::column-spacing property.
  * 
  * Returns: the space between columns
- *
- * Since: 2.6
  */
 gint
 gtk_icon_view_get_column_spacing (GtkIconView *icon_view)
@@ -5713,8 +5589,6 @@ gtk_icon_view_get_column_spacing (GtkIconView *icon_view)
  * Sets the ::margin property which specifies the space 
  * which is inserted at the top, bottom, left and right 
  * of the icon view.
- *
- * Since: 2.6
  */
 void 
 gtk_icon_view_set_margin (GtkIconView *icon_view,
@@ -5742,8 +5616,6 @@ gtk_icon_view_set_margin (GtkIconView *icon_view,
  * Returns the value of the ::margin property.
  * 
  * Returns: the space at the borders 
- *
- * Since: 2.6
  */
 gint
 gtk_icon_view_get_margin (GtkIconView *icon_view)
@@ -5760,8 +5632,6 @@ gtk_icon_view_get_margin (GtkIconView *icon_view)
  *
  * Sets the #GtkIconView:item-padding property which specifies the padding
  * around each of the icon view’s items.
- *
- * Since: 2.18
  */
 void
 gtk_icon_view_set_item_padding (GtkIconView *icon_view,
@@ -5789,8 +5659,6 @@ gtk_icon_view_set_item_padding (GtkIconView *icon_view,
  * Returns the value of the ::item-padding property.
  * 
  * Returns: the padding around items
- *
- * Since: 2.18
  */
 gint
 gtk_icon_view_get_item_padding (GtkIconView *icon_view)
@@ -6569,8 +6437,6 @@ gtk_icon_view_drag_data_received (GtkWidget        *widget,
  *
  * Turns @icon_view into a drag source for automatic DND. Calling this
  * method sets #GtkIconView:reorderable to %FALSE.
- *
- * Since: 2.8
  **/
 void
 gtk_icon_view_enable_model_drag_source (GtkIconView              *icon_view,
@@ -6599,8 +6465,6 @@ gtk_icon_view_enable_model_drag_source (GtkIconView              *icon_view,
  *
  * Turns @icon_view into a drop destination for automatic DND. Calling this
  * method sets #GtkIconView:reorderable to %FALSE.
- *
- * Since: 2.8
  **/
 void 
 gtk_icon_view_enable_model_drag_dest (GtkIconView       *icon_view,
@@ -6624,8 +6488,6 @@ gtk_icon_view_enable_model_drag_dest (GtkIconView       *icon_view,
  * 
  * Undoes the effect of gtk_icon_view_enable_model_drag_source(). Calling this
  * method sets #GtkIconView:reorderable to %FALSE.
- *
- * Since: 2.8
  **/
 void
 gtk_icon_view_unset_model_drag_source (GtkIconView *icon_view)
@@ -6647,8 +6509,6 @@ gtk_icon_view_unset_model_drag_source (GtkIconView *icon_view)
  * 
  * Undoes the effect of gtk_icon_view_enable_model_drag_dest(). Calling this
  * method sets #GtkIconView:reorderable to %FALSE.
- *
- * Since: 2.8
  **/
 void
 gtk_icon_view_unset_model_drag_dest (GtkIconView *icon_view)
@@ -6672,8 +6532,6 @@ gtk_icon_view_unset_model_drag_dest (GtkIconView *icon_view)
  * @pos: Specifies where to drop, relative to the item
  *
  * Sets the item that is highlighted for feedback.
- *
- * Since: 2.8
  */
 void
 gtk_icon_view_set_drag_dest_item (GtkIconView              *icon_view,
@@ -6732,8 +6590,6 @@ gtk_icon_view_set_drag_dest_item (GtkIconView              *icon_view,
  * @pos: (out) (allow-none): Return location for the drop position, or %NULL
  * 
  * Gets information about the item that is highlighted for feedback.
- *
- * Since: 2.8
  **/
 void
 gtk_icon_view_get_drag_dest_item (GtkIconView              *icon_view,
@@ -6766,8 +6622,6 @@ gtk_icon_view_get_drag_dest_item (GtkIconView              *icon_view,
  * Determines the destination item for a given position.
  * 
  * Returns: whether there is an item at the given position.
- *
- * Since: 2.8
  **/
 gboolean
 gtk_icon_view_get_dest_item_at_pos (GtkIconView              *icon_view,
@@ -6827,8 +6681,6 @@ gtk_icon_view_get_dest_item_at_pos (GtkIconView              *icon_view,
  * This image is used for a drag icon.
  *
  * Returns: (transfer full): a newly-allocated surface of the drag icon.
- * 
- * Since: 2.8
  **/
 cairo_surface_t *
 gtk_icon_view_create_drag_icon (GtkIconView *icon_view,
@@ -6896,8 +6748,6 @@ gtk_icon_view_create_drag_icon (GtkIconView *icon_view,
  * See gtk_icon_view_set_reorderable().
  *
  * Returns: %TRUE if the list can be reordered.
- *
- * Since: 2.8
  **/
 gboolean
 gtk_icon_view_get_reorderable (GtkIconView *icon_view)
@@ -6929,8 +6779,6 @@ static const char *item_formats[] = {
  * This function does not give you any degree of control over the order -- any
  * reordering is allowed.  If more control is needed, you should probably
  * handle drag and drop manually.
- *
- * Since: 2.8
  **/
 void
 gtk_icon_view_set_reorderable (GtkIconView *icon_view,
@@ -6973,8 +6821,6 @@ gtk_icon_view_set_reorderable (GtkIconView *icon_view,
  *
  * Causes the #GtkIconView::item-activated signal to be emitted on
  * a single click instead of a double click.
- *
- * Since: 3.8
  **/
 void
 gtk_icon_view_set_activate_on_single_click (GtkIconView *icon_view,
@@ -6998,8 +6844,6 @@ gtk_icon_view_set_activate_on_single_click (GtkIconView *icon_view,
  * Gets the setting set by gtk_icon_view_set_activate_on_single_click().
  *
  * Returns: %TRUE if item-activated will be emitted on a single click
- *
- * Since: 3.8
  **/
 gboolean
 gtk_icon_view_get_activate_on_single_click (GtkIconView *icon_view)
diff --git a/gtk/gtkiconview.h b/gtk/gtkiconview.h
index fb5ae66..85d0e5f 100644
--- a/gtk/gtkiconview.h
+++ b/gtk/gtkiconview.h
@@ -194,10 +194,10 @@ GDK_AVAILABLE_IN_ALL
 gboolean       gtk_icon_view_get_visible_range (GtkIconView      *icon_view,
                                                GtkTreePath     **start_path,
                                                GtkTreePath     **end_path);
-GDK_AVAILABLE_IN_3_8
+GDK_AVAILABLE_IN_ALL
 void           gtk_icon_view_set_activate_on_single_click (GtkIconView  *icon_view,
                                                            gboolean      single);
-GDK_AVAILABLE_IN_3_8
+GDK_AVAILABLE_IN_ALL
 gboolean       gtk_icon_view_get_activate_on_single_click (GtkIconView  *icon_view);
 
 GDK_AVAILABLE_IN_ALL
@@ -289,7 +289,7 @@ GDK_AVAILABLE_IN_ALL
 cairo_surface_t       *gtk_icon_view_create_drag_icon         (GtkIconView              *icon_view,
                                                               GtkTreePath              *path);
 
-GDK_AVAILABLE_IN_3_6
+GDK_AVAILABLE_IN_ALL
 gboolean gtk_icon_view_get_cell_rect                          (GtkIconView     *icon_view,
                                                               GtkTreePath     *path,
                                                               GtkCellRenderer *cell,
diff --git a/gtk/gtkimage.c b/gtk/gtkimage.c
index c8e5e90..807a70c 100644
--- a/gtk/gtkimage.c
+++ b/gtk/gtkimage.c
@@ -187,8 +187,6 @@ gtk_image_class_init (GtkImageClass *class)
    * The "pixel-size" property can be used to specify a fixed size
    * overriding the #GtkImage:icon-size property for images of type
    * %GTK_IMAGE_ICON_NAME.
-   *
-   * Since: 2.6
    */
   image_props[PROP_PIXEL_SIZE] =
       g_param_spec_int ("pixel-size",
@@ -203,8 +201,6 @@ gtk_image_class_init (GtkImageClass *class)
    *
    * The name of the icon in the icon theme. If the icon theme is
    * changed, the image will be updated automatically.
-   *
-   * Since: 2.6
    */
   image_props[PROP_ICON_NAME] =
       g_param_spec_string ("icon-name",
@@ -219,8 +215,6 @@ gtk_image_class_init (GtkImageClass *class)
    * The GIcon displayed in the GtkImage. For themed icons,
    * If the icon theme is changed, the image will be updated
    * automatically.
-   *
-   * Since: 2.14
    */
   image_props[PROP_GICON] =
       g_param_spec_object ("gicon",
@@ -233,8 +227,6 @@ gtk_image_class_init (GtkImageClass *class)
    * GtkImage:resource:
    *
    * A path to a resource file to display.
-   *
-   * Since: 3.8
    */
   image_props[PROP_RESOURCE] =
       g_param_spec_string ("resource",
@@ -258,8 +250,6 @@ gtk_image_class_init (GtkImageClass *class)
    * standard icon names fallback. The value of this property
    * is only relevant for images of type %GTK_IMAGE_ICON_NAME
    * and %GTK_IMAGE_GICON.
-   *
-   * Since: 3.0
    */
   image_props[PROP_USE_FALLBACK] =
       g_param_spec_boolean ("use-fallback",
@@ -444,8 +434,6 @@ gtk_image_new_from_file   (const gchar *filename)
  * displaying the file.
  *
  * Returns: a new #GtkImage
- *
- * Since: 3.4
  **/
 GtkWidget*
 gtk_image_new_from_resource (const gchar *resource_path)
@@ -526,8 +514,6 @@ gtk_image_new_from_texture (GdkTexture *texture)
  * #GtkImage will add its own reference rather than adopting yours.
  * 
  * Returns: a new #GtkImage
- *
- * Since: 3.10
  **/
 GtkWidget*
 gtk_image_new_from_surface (cairo_surface_t *surface)
@@ -555,8 +541,6 @@ gtk_image_new_from_surface (cairo_surface_t *surface)
  * the icon size.
  *
  * Returns: a new #GtkImage displaying the themed icon
- *
- * Since: 2.6
  **/
 GtkWidget*
 gtk_image_new_from_icon_name (const gchar *icon_name)
@@ -584,8 +568,6 @@ gtk_image_new_from_icon_name (const gchar *icon_name)
  * the icon size.
  *
  * Returns: a new #GtkImage displaying the themed icon
- *
- * Since: 2.14
  **/
 GtkWidget*
 gtk_image_new_from_gicon (GIcon *icon)
@@ -870,8 +852,6 @@ gtk_image_set_from_pixbuf (GtkImage  *image,
  * Note: Before 3.94, this function was taking an extra icon size
  * argument. See gtk_image_set_icon_size() for another way to set
  * the icon size.
- *
- * Since: 2.6
  **/
 void
 gtk_image_set_from_icon_name  (GtkImage    *image,
@@ -903,8 +883,6 @@ gtk_image_set_from_icon_name  (GtkImage    *image,
  * Note: Before 3.94, this function was taking an extra icon size
  * argument. See gtk_image_set_icon_size() for another way to set
  * the icon size.
- *
- * Since: 2.14
  **/
 void
 gtk_image_set_from_gicon  (GtkImage       *image,
@@ -938,8 +916,6 @@ gtk_image_set_from_gicon  (GtkImage       *image,
  * @surface: (nullable): a cairo_surface_t or %NULL
  *
  * See gtk_image_new_from_surface() for details.
- * 
- * Since: 3.10
  **/
 void
 gtk_image_set_from_surface (GtkImage       *image,
@@ -973,8 +949,6 @@ gtk_image_set_from_surface (GtkImage       *image,
  * @texture: (nullable): a #GdkTexture or %NULL
  *
  * See gtk_image_new_from_texture() for details.
- * 
- * Since: 3.94
  **/
 void
 gtk_image_set_from_texture (GtkImage   *image,
@@ -1035,7 +1009,6 @@ gtk_image_get_storage_type (GtkImage *image)
  * 
  * Returns: (nullable) (transfer none): the displayed surface, or %NULL if
  *   the image is empty
- * Since: 3.94.0
  **/
 cairo_surface_t *
 gtk_image_get_surface (GtkImage *image)
@@ -1059,8 +1032,6 @@ gtk_image_get_surface (GtkImage *image)
  * 
  * Returns: (nullable) (transfer none): the displayed texture, or %NULL if
  *   the image is empty
- *
- * Since: 3.94
  **/
 GdkTexture *
 gtk_image_get_texture (GtkImage *image)
@@ -1087,8 +1058,6 @@ gtk_image_get_texture (GtkImage *image)
  * for a way to get the icon size.
  *
  * Returns: (transfer none) (allow-none): the icon name, or %NULL
- *
- * Since: 2.6
  **/
 const gchar *
 gtk_image_get_icon_name (GtkImage *image)
@@ -1115,8 +1084,6 @@ gtk_image_get_icon_name (GtkImage *image)
  * for a way to get the icon size.
  *
  * Returns: (transfer none) (allow-none): a #GIcon, or %NULL
- *
- * Since: 2.14
  **/
 GIcon *
 gtk_image_get_gicon (GtkImage *image)
@@ -1277,8 +1244,6 @@ gtk_image_get_definition (GtkImage *image)
  * @image: a #GtkImage
  *
  * Resets the image to be empty.
- *
- * Since: 2.8
  */
 void
 gtk_image_clear (GtkImage *image)
@@ -1368,8 +1333,6 @@ gtk_image_style_updated (GtkWidget *widget)
  * Sets the pixel size to use for named icons. If the pixel size is set
  * to a value != -1, it is used instead of the icon size set by
  * gtk_image_set_from_icon_name().
- *
- * Since: 2.6
  */
 void 
 gtk_image_set_pixel_size (GtkImage *image,
@@ -1394,8 +1357,6 @@ gtk_image_set_pixel_size (GtkImage *image,
  * Gets the pixel size used for named icons.
  *
  * Returns: the pixel size used for named icons.
- *
- * Since: 2.6
  */
 gint
 gtk_image_get_pixel_size (GtkImage *image)
@@ -1413,8 +1374,6 @@ gtk_image_get_pixel_size (GtkImage *image)
  * @icon_size: the new icon size
  *
  * Suggests an icon size to the theme for named icons.
- *
- * Since: 3.94
  */
 void
 gtk_image_set_icon_size (GtkImage    *image,
@@ -1439,8 +1398,6 @@ gtk_image_set_icon_size (GtkImage    *image,
  * Gets the icon size used by the @image when rendering icons.
  *
  * Returns: the image size used by icons
- *
- * Since: 3.90
  **/
 GtkIconSize
 gtk_image_get_icon_size (GtkImage *image)
diff --git a/gtk/gtkimage.h b/gtk/gtkimage.h
index 7f561c8..45ac3f8 100644
--- a/gtk/gtkimage.h
+++ b/gtk/gtkimage.h
@@ -110,13 +110,13 @@ GDK_AVAILABLE_IN_ALL
 GtkWidget* gtk_image_new_from_resource  (const gchar     *resource_path);
 GDK_AVAILABLE_IN_ALL
 GtkWidget* gtk_image_new_from_pixbuf    (GdkPixbuf       *pixbuf);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GtkWidget* gtk_image_new_from_texture   (GdkTexture      *texture);
 GDK_AVAILABLE_IN_ALL
 GtkWidget* gtk_image_new_from_icon_name (const gchar     *icon_name);
 GDK_AVAILABLE_IN_ALL
 GtkWidget* gtk_image_new_from_gicon     (GIcon           *icon);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 GtkWidget* gtk_image_new_from_surface   (cairo_surface_t *surface);
 
 GDK_AVAILABLE_IN_ALL
@@ -130,7 +130,7 @@ void gtk_image_set_from_resource  (GtkImage        *image,
 GDK_AVAILABLE_IN_ALL
 void gtk_image_set_from_pixbuf    (GtkImage        *image,
                                    GdkPixbuf       *pixbuf);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void gtk_image_set_from_texture   (GtkImage        *image,
                                    GdkTexture      *texture);
 GDK_AVAILABLE_IN_ALL
@@ -139,22 +139,22 @@ void gtk_image_set_from_icon_name (GtkImage        *image,
 GDK_AVAILABLE_IN_ALL
 void gtk_image_set_from_gicon     (GtkImage        *image,
                                   GIcon           *icon);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void gtk_image_set_from_surface   (GtkImage        *image,
                                   cairo_surface_t *surface);
 GDK_AVAILABLE_IN_ALL
 void gtk_image_set_pixel_size     (GtkImage        *image,
                                   gint             pixel_size);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void gtk_image_set_icon_size      (GtkImage        *image,
                                    GtkIconSize      icon_size);
 
 GDK_AVAILABLE_IN_ALL
 GtkImageType gtk_image_get_storage_type (GtkImage   *image);
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 cairo_surface_t *gtk_image_get_surface (GtkImage *image);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GdkTexture *gtk_image_get_texture  (GtkImage       *image);
 
 GDK_AVAILABLE_IN_ALL
@@ -163,7 +163,7 @@ GDK_AVAILABLE_IN_ALL
 GIcon *    gtk_image_get_gicon     (GtkImage              *image);
 GDK_AVAILABLE_IN_ALL
 gint       gtk_image_get_pixel_size (GtkImage             *image);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GtkIconSize gtk_image_get_icon_size (GtkImage             *image);
 
 G_END_DECLS
diff --git a/gtk/gtkimcontextsimple.c b/gtk/gtkimcontextsimple.c
index 036eca9..bd85315 100644
--- a/gtk/gtkimcontextsimple.c
+++ b/gtk/gtkimcontextsimple.c
@@ -1678,8 +1678,6 @@ gtk_im_context_simple_add_table (GtkIMContextSimple *context_simple,
  * @compose_file: The path of compose file
  *
  * Adds an additional table from the X11 compose file.
- *
- * Since: 3.20
  */
 void
 gtk_im_context_simple_add_compose_file (GtkIMContextSimple *context_simple,
diff --git a/gtk/gtkimcontextsimple.h b/gtk/gtkimcontextsimple.h
index b0f2ccc..b62cf8c 100644
--- a/gtk/gtkimcontextsimple.h
+++ b/gtk/gtkimcontextsimple.h
@@ -69,7 +69,7 @@ void          gtk_im_context_simple_add_table (GtkIMContextSimple *context_simpl
                                               guint16            *data,
                                               gint                max_seq_len,
                                               gint                n_seqs);
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 void          gtk_im_context_simple_add_compose_file (GtkIMContextSimple *context_simple,
                                                       const gchar        *compose_file);
 
diff --git a/gtk/gtkimmulticontext.c b/gtk/gtkimmulticontext.c
index 2b62df6..83f7a17 100644
--- a/gtk/gtkimmulticontext.c
+++ b/gtk/gtkimmulticontext.c
@@ -555,8 +555,6 @@ gtk_im_multicontext_delete_surrounding_cb (GtkIMContext      *slave,
  * Gets the id of the currently active slave of the @context.
  *
  * Returns: the id of the currently active slave
- *
- * Since: 2.16
  */
 const char *
 gtk_im_multicontext_get_context_id (GtkIMMulticontext *context)
@@ -575,8 +573,6 @@ gtk_im_multicontext_get_context_id (GtkIMMulticontext *context)
  *
  * This causes the currently active slave of @context to be
  * replaced by the slave corresponding to the new context id.
- *
- * Since: 2.16
  */
 void
 gtk_im_multicontext_set_context_id (GtkIMMulticontext *context,
diff --git a/gtk/gtkinfobar.c b/gtk/gtkinfobar.c
index 11170b2..d508801 100644
--- a/gtk/gtkinfobar.c
+++ b/gtk/gtkinfobar.c
@@ -323,8 +323,6 @@ gtk_info_bar_class_init (GtkInfoBarClass *klass)
    * The type of the message.
    *
    * The type may be used to determine the appearance of the info bar.
-   *
-   * Since: 2.18
    */
   props[PROP_MESSAGE_TYPE] =
     g_param_spec_enum ("message-type",
@@ -338,8 +336,6 @@ gtk_info_bar_class_init (GtkInfoBarClass *klass)
    * GtkInfoBar:show-close-button:
    *
    * Whether to include a standard close button.
-   *
-   * Since: 3.10
    */
   props[PROP_SHOW_CLOSE_BUTTON] =
     g_param_spec_boolean ("show-close-button",
@@ -365,8 +361,6 @@ gtk_info_bar_class_init (GtkInfoBarClass *klass)
    * Emitted when an action widget is clicked or the application programmer
    * calls gtk_info_bar_response(). The @response_id depends on which action
    * widget was clicked.
-   *
-   * Since: 2.18
    */
   signals[RESPONSE] = g_signal_new (I_("response"),
                                     G_OBJECT_CLASS_TYPE (klass),
@@ -386,8 +380,6 @@ gtk_info_bar_class_init (GtkInfoBarClass *klass)
    * the info bar.
    *
    * The default binding for this signal is the Escape key.
-   *
-   * Since: 2.18
    */
   signals[CLOSE] =  g_signal_new (I_("close"),
                                   G_OBJECT_CLASS_TYPE (klass),
@@ -482,8 +474,6 @@ action_widget_activated (GtkWidget  *widget,
  * connecting a signal handler that will emit the #GtkInfoBar::response
  * signal on the message area when the widget is activated. The widget
  * is appended to the end of the message areas action area.
- *
- * Since: 2.18
  */
 void
 gtk_info_bar_add_action_widget (GtkInfoBar *info_bar,
@@ -529,8 +519,6 @@ gtk_info_bar_add_action_widget (GtkInfoBar *info_bar,
  * Returns the action area of @info_bar.
  *
  * Returns: (transfer none): the action area
- *
- * Since: 2.18
  */
 GtkWidget*
 gtk_info_bar_get_action_area (GtkInfoBar *info_bar)
@@ -547,8 +535,6 @@ gtk_info_bar_get_action_area (GtkInfoBar *info_bar)
  * Returns the content area of @info_bar.
  *
  * Returns: (transfer none): the content area
- *
- * Since: 2.18
  */
 GtkWidget*
 gtk_info_bar_get_content_area (GtkInfoBar *info_bar)
@@ -572,8 +558,6 @@ gtk_info_bar_get_content_area (GtkInfoBar *info_bar)
  *
  * Returns: (transfer none) (type Gtk.Button): the #GtkButton widget
  * that was added
- *
- * Since: 2.18
  */
 GtkWidget*
 gtk_info_bar_add_button (GtkInfoBar  *info_bar,
@@ -636,8 +620,6 @@ add_buttons_valist (GtkInfoBar  *info_bar,
  * repeatedly. The variable argument list should be %NULL-terminated
  * as with gtk_info_bar_new_with_buttons(). Each button must have both
  * text and response ID.
- *
- * Since: 2.18
  */
 void
 gtk_info_bar_add_buttons (GtkInfoBar  *info_bar,
@@ -657,8 +639,6 @@ gtk_info_bar_add_buttons (GtkInfoBar  *info_bar,
  * Creates a new #GtkInfoBar object.
  *
  * Returns: a new #GtkInfoBar object
- *
- * Since: 2.18
  */
 GtkWidget *
 gtk_info_bar_new (void)
@@ -706,8 +686,6 @@ gtk_info_bar_new_with_buttons (const gchar *first_button_text,
  * Calls gtk_widget_set_sensitive (widget, setting) for each
  * widget in the info bars’s action area with the given response_id.
  * A convenient way to sensitize/desensitize dialog buttons.
- *
- * Since: 2.18
  */
 void
 gtk_info_bar_set_response_sensitive (GtkInfoBar *info_bar,
@@ -743,8 +721,6 @@ gtk_info_bar_set_response_sensitive (GtkInfoBar *info_bar,
  *
  * Note that this function currently requires @info_bar to
  * be added to a widget hierarchy. 
- *
- * Since: 2.18
  */
 void
 gtk_info_bar_set_default_response (GtkInfoBar *info_bar,
@@ -774,8 +750,6 @@ gtk_info_bar_set_default_response (GtkInfoBar *info_bar,
  * @response_id: a response ID
  *
  * Emits the “response” signal with the given @response_id.
- *
- * Since: 2.18
  */
 void
 gtk_info_bar_response (GtkInfoBar *info_bar,
@@ -1011,8 +985,6 @@ gtk_info_bar_buildable_custom_finished (GtkBuildable *buildable,
  * Sets the message type of the message area.
  *
  * GTK+ uses this type to determine how the message is displayed.
- *
- * Since: 2.18
  */
 void
 gtk_info_bar_set_message_type (GtkInfoBar     *info_bar,
@@ -1096,8 +1068,6 @@ gtk_info_bar_set_message_type (GtkInfoBar     *info_bar,
  * Returns the message type of the message area.
  *
  * Returns: the message type of the message area.
- *
- * Since: 2.18
  */
 GtkMessageType
 gtk_info_bar_get_message_type (GtkInfoBar *info_bar)
@@ -1115,8 +1085,6 @@ gtk_info_bar_get_message_type (GtkInfoBar *info_bar)
  *
  * If true, a standard close button is shown. When clicked it emits
  * the response %GTK_RESPONSE_CLOSE.
- *
- * Since: 3.10
  */
 void
 gtk_info_bar_set_show_close_button (GtkInfoBar *info_bar,
@@ -1139,8 +1107,6 @@ gtk_info_bar_set_show_close_button (GtkInfoBar *info_bar,
  * Returns whether the widget will display a standard close button.
  *
  * Returns: %TRUE if the widget displays standard close button
- *
- * Since: 3.10
  */
 gboolean
 gtk_info_bar_get_show_close_button (GtkInfoBar *info_bar)
@@ -1160,8 +1126,6 @@ gtk_info_bar_get_show_close_button (GtkInfoBar *info_bar)
  *
  * Note: this does not show or hide @info_bar in the #GtkWidget:visible sense,
  * so revealing has no effect if #GtkWidget:visible is %FALSE.
- *
- * Since: 3.90
  */
 void
 gtk_info_bar_set_revealed (GtkInfoBar *info_bar,
@@ -1184,8 +1148,6 @@ gtk_info_bar_set_revealed (GtkInfoBar *info_bar,
  * @info_bar: a #GtkInfoBar
  *
  * Returns: the current value of the #GtkInfoBar:revealed property.
- *
- * Since: 3.90
  */
 gboolean
 gtk_info_bar_get_revealed (GtkInfoBar *info_bar)
diff --git a/gtk/gtkinfobar.h b/gtk/gtkinfobar.h
index b4674f9..167e1ba 100644
--- a/gtk/gtkinfobar.h
+++ b/gtk/gtkinfobar.h
@@ -124,16 +124,16 @@ void           gtk_info_bar_set_message_type       (GtkInfoBar     *info_bar,
 GDK_AVAILABLE_IN_ALL
 GtkMessageType gtk_info_bar_get_message_type       (GtkInfoBar     *info_bar);
 
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void           gtk_info_bar_set_show_close_button  (GtkInfoBar     *info_bar,
                                                     gboolean        setting);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 gboolean       gtk_info_bar_get_show_close_button  (GtkInfoBar     *info_bar);
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 void           gtk_info_bar_set_revealed           (GtkInfoBar     *info_bar,
                                                     gboolean        revealed);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 gboolean       gtk_info_bar_get_revealed           (GtkInfoBar     *info_bar);
 
 G_END_DECLS
diff --git a/gtk/gtkinvisible.c b/gtk/gtkinvisible.c
index 512fcda..d2aec30 100644
--- a/gtk/gtkinvisible.c
+++ b/gtk/gtkinvisible.c
@@ -138,8 +138,6 @@ gtk_invisible_destroy (GtkWidget *widget)
  * Creates a new #GtkInvisible object for a specified display.
  *
  * Returns: a newly created #GtkInvisible object
- *
- * Since: 3.94
  **/
 GtkWidget* 
 gtk_invisible_new_for_display (GdkDisplay *display)
@@ -168,8 +166,6 @@ gtk_invisible_new (void)
  * @display: a #GdkDisplay.
  *
  * Sets the #GdkDisplay where the #GtkInvisible object will be displayed.
- *
- * Since: 3.94
  **/ 
 void
 gtk_invisible_set_display (GtkInvisible *invisible,
@@ -212,8 +208,6 @@ gtk_invisible_set_display (GtkInvisible *invisible,
  * Returns the #GdkDisplay object associated with @invisible
  *
  * Returns: (transfer none): the associated #GdkDisplay.
- *
- * Since: 3.94
  **/
 GdkDisplay *
 gtk_invisible_get_display (GtkInvisible *invisible)
diff --git a/gtk/gtkinvisible.h b/gtk/gtkinvisible.h
index a635127..f625a35 100644
--- a/gtk/gtkinvisible.h
+++ b/gtk/gtkinvisible.h
@@ -69,12 +69,12 @@ GType gtk_invisible_get_type (void) G_GNUC_CONST;
 
 GDK_AVAILABLE_IN_ALL
 GtkWidget* gtk_invisible_new            (void);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GtkWidget* gtk_invisible_new_for_display(GdkDisplay   *display);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void      gtk_invisible_set_display    (GtkInvisible *invisible,
                                         GdkDisplay   *display);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GdkDisplay*gtk_invisible_get_display   (GtkInvisible *invisible);
 
 G_END_DECLS
diff --git a/gtk/gtklabel.c b/gtk/gtklabel.c
index cd96949..2d39824 100644
--- a/gtk/gtklabel.c
+++ b/gtk/gtklabel.c
@@ -705,8 +705,6 @@ gtk_label_class_init (GtkLabelClass *class)
      * if they need to control activation of URIs programmatically.
      *
      * The default bindings for this signal are all forms of the Enter key.
-     *
-     * Since: 2.18
      */
     signals[ACTIVATE_CURRENT_LINK] =
       g_signal_new_class_handler (I_("activate-current-link"),
@@ -727,8 +725,6 @@ gtk_label_class_init (GtkLabelClass *class)
      * which is to call gtk_show_uri_on_window().
      *
      * Returns: %TRUE if the link has been activated
-     *
-     * Since: 2.18
      */
     signals[ACTIVATE_LINK] =
       g_signal_new (I_("activate-link"),
@@ -797,8 +793,6 @@ gtk_label_class_init (GtkLabelClass *class)
    * inside the labels size allocation. Compare this to #GtkWidget:halign,
    * which determines how the labels size allocation is positioned in the
    * space available for the label.
-   *
-   * Since: 3.16
    */
   label_props[PROP_XALIGN] =
       g_param_spec_float ("xalign",
@@ -815,8 +809,6 @@ gtk_label_class_init (GtkLabelClass *class)
    * inside the labels size allocation. Compare this to #GtkWidget:valign,
    * which determines how the labels size allocation is positioned in the
    * space available for the label.
-   *
-   * Since: 3.16
    */
   label_props[PROP_YALIGN] =
       g_param_spec_float ("yalign",
@@ -846,8 +838,6 @@ gtk_label_class_init (GtkLabelClass *class)
    * If line wrapping is on (see the #GtkLabel:wrap property) this controls
    * how the line wrapping is done. The default is %PANGO_WRAP_WORD, which
    * means wrap on word boundaries.
-   *
-   * Since: 2.10
    */
   label_props[PROP_WRAP_MODE] =
       g_param_spec_enum ("wrap-mode",
@@ -909,8 +899,6 @@ gtk_label_class_init (GtkLabelClass *class)
    * the #GtkNotebook tab-expand child property is set to %TRUE. Other ways
    * to set a label's width are gtk_widget_set_size_request() and
    * gtk_label_set_width_chars().
-   *
-   * Since: 2.6
    */
   label_props[PROP_ELLIPSIZE] =
       g_param_spec_enum ("ellipsize",
@@ -929,8 +917,6 @@ gtk_label_class_init (GtkLabelClass *class)
    * See the section on [text layout][label-text-layout]
    * for details of how #GtkLabel:width-chars and #GtkLabel:max-width-chars
    * determine the width of ellipsized and wrapped labels.
-   *
-   * Since: 2.6
    **/
   label_props[PROP_WIDTH_CHARS] =
       g_param_spec_int ("width-chars",
@@ -948,8 +934,6 @@ gtk_label_class_init (GtkLabelClass *class)
    * is always set to ascent + descent of the font. This can be an
    * advantage in situations where resizing the label because of text
    * changes would be distracting, e.g. in a statusbar.
-   *
-   * Since: 2.6
    **/
   label_props[PROP_SINGLE_LINE_MODE] =
       g_param_spec_boolean ("single-line-mode",
@@ -967,8 +951,6 @@ gtk_label_class_init (GtkLabelClass *class)
    * See the section on [text layout][label-text-layout]
    * for details of how #GtkLabel:width-chars and #GtkLabel:max-width-chars
    * determine the width of ellipsized and wrapped labels.
-   *
-   * Since: 2.6
    **/
   label_props[PROP_MAX_WIDTH_CHARS] =
       g_param_spec_int ("max-width-chars",
@@ -984,8 +966,6 @@ gtk_label_class_init (GtkLabelClass *class)
    * Set this property to %TRUE to make the label track which links
    * have been visited. It will then apply the #GTK_STATE_FLAG_VISITED
    * when rendering this link, in addition to #GTK_STATE_FLAG_LINK.
-   *
-   * Since: 2.18
    */
   label_props[PROP_TRACK_VISITED_LINKS] =
       g_param_spec_boolean ("track-visited-links",
@@ -1001,8 +981,6 @@ gtk_label_class_init (GtkLabelClass *class)
    * should be limited. This property has no effect if the
    * label is not wrapping or ellipsized. Set this property to
    * -1 if you don't want to limit the number of lines.
-   *
-   * Since: 3.10
    */
   label_props[PROP_LINES] =
       g_param_spec_int ("lines",
@@ -2949,8 +2927,6 @@ gtk_label_get_justify (GtkLabel *label)
  *
  * Sets the mode used to ellipsize (add an ellipsis: "...") to the text 
  * if there is not enough space to render the entire string.
- *
- * Since: 2.6
  **/
 void
 gtk_label_set_ellipsize (GtkLabel          *label,
@@ -2980,8 +2956,6 @@ gtk_label_set_ellipsize (GtkLabel          *label,
  * Returns the ellipsizing position of the label. See gtk_label_set_ellipsize().
  *
  * Returns: #PangoEllipsizeMode
- *
- * Since: 2.6
  **/
 PangoEllipsizeMode
 gtk_label_get_ellipsize (GtkLabel *label)
@@ -2999,8 +2973,6 @@ gtk_label_get_ellipsize (GtkLabel *label)
  * @n_chars: the new desired width, in characters.
  * 
  * Sets the desired width in characters of @label to @n_chars.
- * 
- * Since: 2.6
  **/
 void
 gtk_label_set_width_chars (GtkLabel *label,
@@ -3026,8 +2998,6 @@ gtk_label_set_width_chars (GtkLabel *label,
  * gtk_label_set_width_chars().
  * 
  * Returns: the width of the label in characters.
- * 
- * Since: 2.6
  **/
 gint
 gtk_label_get_width_chars (GtkLabel *label)
@@ -3045,8 +3015,6 @@ gtk_label_get_width_chars (GtkLabel *label)
  * @n_chars: the new desired maximum width, in characters.
  * 
  * Sets the desired maximum width in characters of @label to @n_chars.
- * 
- * Since: 2.6
  **/
 void
 gtk_label_set_max_width_chars (GtkLabel *label,
@@ -3073,8 +3041,6 @@ gtk_label_set_max_width_chars (GtkLabel *label,
  * gtk_label_set_width_chars().
  * 
  * Returns: the maximum width of the label in characters.
- * 
- * Since: 2.6
  **/
 gint
 gtk_label_get_max_width_chars (GtkLabel *label)
@@ -3148,8 +3114,6 @@ gtk_label_get_line_wrap (GtkLabel *label)
  * If line wrapping is on (see gtk_label_set_line_wrap()) this controls how
  * the line wrapping is done. The default is %PANGO_WRAP_WORD which means
  * wrap on word boundaries.
- *
- * Since: 2.10
  **/
 void
 gtk_label_set_line_wrap_mode (GtkLabel *label,
@@ -3175,8 +3139,6 @@ gtk_label_set_line_wrap_mode (GtkLabel *label,
  * Returns line wrap mode used by the label. See gtk_label_set_line_wrap_mode().
  *
  * Returns: %TRUE if the lines of the label are automatically wrapped.
- *
- * Since: 2.10
  */
 PangoWrapMode
 gtk_label_get_line_wrap_mode (GtkLabel *label)
@@ -5611,8 +5573,6 @@ gtk_label_get_use_underline (GtkLabel *label)
  * @single_line_mode: %TRUE if the label should be in single line mode
  *
  * Sets whether the label is in single line mode.
- *
- * Since: 2.6
  */
 void
 gtk_label_set_single_line_mode (GtkLabel *label,
@@ -5642,8 +5602,6 @@ gtk_label_set_single_line_mode (GtkLabel *label,
  * Returns whether the label is in single line mode.
  *
  * Returns: %TRUE when the label is in single line mode.
- *
- * Since: 2.6
  **/
 gboolean
 gtk_label_get_single_line_mode  (GtkLabel *label)
@@ -6327,8 +6285,6 @@ gtk_label_get_current_link (GtkLabel *label)
  *
  * Returns: the currently active URI. The string is owned by GTK+ and must
  *   not be freed or modified.
- *
- * Since: 2.18
  */
 const gchar *
 gtk_label_get_current_uri (GtkLabel *label)
@@ -6352,8 +6308,6 @@ gtk_label_get_current_uri (GtkLabel *label)
  *
  * Sets whether the label should keep track of clicked
  * links (and use a different color for them).
- *
- * Since: 2.18
  */
 void
 gtk_label_set_track_visited_links (GtkLabel *label,
@@ -6384,8 +6338,6 @@ gtk_label_set_track_visited_links (GtkLabel *label,
  * of clicked links.
  *
  * Returns: %TRUE if clicked links are remembered
- *
- * Since: 2.18
  */
 gboolean
 gtk_label_get_track_visited_links (GtkLabel *label)
@@ -6480,8 +6432,6 @@ _gtk_label_get_selection_bound (GtkLabel *label)
  * should be limited. This has no effect if the label is not wrapping
  * or ellipsized. Set this to -1 if you don’t want to limit the
  * number of lines.
- *
- * Since: 3.10
  */
 void
 gtk_label_set_lines (GtkLabel *label,
@@ -6508,8 +6458,6 @@ gtk_label_set_lines (GtkLabel *label,
  * label should be limited. See gtk_label_set_lines().
  *
  * Returns: The number of lines
- *
- * Since: 3.10
  */
 gint
 gtk_label_get_lines (GtkLabel *label)
@@ -6661,8 +6609,6 @@ _gtk_label_get_link_focused (GtkLabel *label,
  * @xalign: the new xalign value, between 0 and 1
  *
  * Sets the #GtkLabel:xalign property for @label.
- *
- * Since: 3.16
  */
 void
 gtk_label_set_xalign (GtkLabel *label,
@@ -6690,8 +6636,6 @@ gtk_label_set_xalign (GtkLabel *label,
  * Gets the #GtkLabel:xalign property for @label.
  *
  * Returns: the xalign property
- *
- * Since: 3.16
  */
 gfloat
 gtk_label_get_xalign (GtkLabel *label)
@@ -6709,8 +6653,6 @@ gtk_label_get_xalign (GtkLabel *label)
  * @yalign: the new yalign value, between 0 and 1
  *
  * Sets the #GtkLabel:yalign property for @label.
- *
- * Since: 3.16
  */
 void
 gtk_label_set_yalign (GtkLabel *label,
@@ -6738,8 +6680,6 @@ gtk_label_set_yalign (GtkLabel *label,
  * Gets the #GtkLabel:yalign property for @label.
  *
  * Returns: the yalign property
- *
- * Since: 3.16
  */
 gfloat
 gtk_label_get_yalign (GtkLabel *label)
diff --git a/gtk/gtklabel.h b/gtk/gtklabel.h
index 91deb0f..834caa1 100644
--- a/gtk/gtklabel.h
+++ b/gtk/gtklabel.h
@@ -150,10 +150,10 @@ void     gtk_label_set_max_width_chars              (GtkLabel         *label,
                                                   gint              n_chars);
 GDK_AVAILABLE_IN_ALL
 gint     gtk_label_get_max_width_chars           (GtkLabel         *label);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void     gtk_label_set_lines                      (GtkLabel         *label,
                                                    gint              lines);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 gint     gtk_label_get_lines                      (GtkLabel         *label);
 GDK_AVAILABLE_IN_ALL
 void     gtk_label_set_pattern                    (GtkLabel         *label,
@@ -203,18 +203,18 @@ void         gtk_label_set_track_visited_links  (GtkLabel *label,
 GDK_AVAILABLE_IN_ALL
 gboolean     gtk_label_get_track_visited_links  (GtkLabel *label);
 
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 void         gtk_label_set_xalign (GtkLabel *label,
                                    gfloat    xalign);
 
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 gfloat       gtk_label_get_xalign (GtkLabel *label);
 
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 void         gtk_label_set_yalign (GtkLabel *label,
                                    gfloat    yalign);
 
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 gfloat       gtk_label_get_yalign (GtkLabel *label);
 
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkLabel, g_object_unref)
diff --git a/gtk/gtklevelbar.c b/gtk/gtklevelbar.c
index 0d8c304..f819323 100644
--- a/gtk/gtklevelbar.c
+++ b/gtk/gtklevelbar.c
@@ -961,8 +961,6 @@ gtk_level_bar_class_init (GtkLevelBarClass *klass)
    * The signal supports detailed connections; you can connect to the
    * detailed signal "changed::x" in order to only receive callbacks when
    * the value of offset "x" changes.
-   *
-   * Since: 3.6
    */
   signals[SIGNAL_OFFSET_CHANGED] =
     g_signal_new (I_("offset-changed"),
@@ -979,8 +977,6 @@ gtk_level_bar_class_init (GtkLevelBarClass *klass)
    *
    * The #GtkLevelBar:value property determines the currently
    * filled value of the level bar.
-   *
-   * Since: 3.6
    */
   properties[PROP_VALUE] =
     g_param_spec_double ("value",
@@ -994,8 +990,6 @@ gtk_level_bar_class_init (GtkLevelBarClass *klass)
    *
    * The #GtkLevelBar:min-value property determines the minimum value of
    * the interval that can be displayed by the bar.
-   *
-   * Since: 3.6
    */
   properties[PROP_MIN_VALUE] =
     g_param_spec_double ("min-value",
@@ -1009,8 +1003,6 @@ gtk_level_bar_class_init (GtkLevelBarClass *klass)
    *
    * The #GtkLevelBar:max-value property determaxes the maximum value of
    * the interval that can be displayed by the bar.
-   *
-   * Since: 3.6
    */
   properties[PROP_MAX_VALUE] =
     g_param_spec_double ("max-value",
@@ -1030,8 +1022,6 @@ gtk_level_bar_class_init (GtkLevelBarClass *klass)
    * the widget will draw a succession of separate blocks filling the
    * draw area, with the number of blocks being equal to the units separating
    * the integral roundings of #GtkLevelBar:min-value and #GtkLevelBar:max-value.
-   *
-   * Since: 3.6
    */
   properties[PROP_MODE] =
     g_param_spec_enum ("mode",
@@ -1046,8 +1036,6 @@ gtk_level_bar_class_init (GtkLevelBarClass *klass)
    *
    * Level bars normally grow from top to bottom or left to right.
    * Inverted level bars grow in the opposite direction.
-   *
-   * Since: 3.8
    */
   properties[PROP_INVERTED] =
     g_param_spec_boolean ("inverted",
@@ -1106,8 +1094,6 @@ gtk_level_bar_init (GtkLevelBar *self)
  * Creates a new #GtkLevelBar.
  *
  * Returns: a #GtkLevelBar.
- *
- * Since: 3.6
  */
 GtkWidget *
 gtk_level_bar_new (void)
@@ -1124,8 +1110,6 @@ gtk_level_bar_new (void)
  * interval.
  *
  * Returns: a #GtkLevelBar
- *
- * Since: 3.6
  */
 GtkWidget *
 gtk_level_bar_new_for_interval (gdouble min_value,
@@ -1144,8 +1128,6 @@ gtk_level_bar_new_for_interval (gdouble min_value,
  * Returns the value of the #GtkLevelBar:min-value property.
  *
  * Returns: a positive value
- *
- * Since: 3.6
  */
 gdouble
 gtk_level_bar_get_min_value (GtkLevelBar *self)
@@ -1162,8 +1144,6 @@ gtk_level_bar_get_min_value (GtkLevelBar *self)
  * Returns the value of the #GtkLevelBar:max-value property.
  *
  * Returns: a positive value
- *
- * Since: 3.6
  */
 gdouble
 gtk_level_bar_get_max_value (GtkLevelBar *self)
@@ -1181,8 +1161,6 @@ gtk_level_bar_get_max_value (GtkLevelBar *self)
  *
  * Returns: a value in the interval between
  *     #GtkLevelBar:min-value and #GtkLevelBar:max-value
- *
- * Since: 3.6
  */
 gdouble
 gtk_level_bar_get_value (GtkLevelBar *self)
@@ -1210,8 +1188,6 @@ gtk_level_bar_set_value_internal (GtkLevelBar *self,
  *
  * You probably want to update preexisting level offsets after calling
  * this function.
- *
- * Since: 3.6
  */
 void
 gtk_level_bar_set_min_value (GtkLevelBar *self,
@@ -1244,8 +1220,6 @@ gtk_level_bar_set_min_value (GtkLevelBar *self,
  *
  * You probably want to update preexisting level offsets after calling
  * this function.
- *
- * Since: 3.6
  */
 void
 gtk_level_bar_set_max_value (GtkLevelBar *self,
@@ -1277,8 +1251,6 @@ gtk_level_bar_set_max_value (GtkLevelBar *self,
  *     #GtkLevelBar:min-value and #GtkLevelBar:max-value
  *
  * Sets the value of the #GtkLevelBar:value property.
- *
- * Since: 3.6
  */
 void
 gtk_level_bar_set_value (GtkLevelBar *self,
@@ -1300,8 +1272,6 @@ gtk_level_bar_set_value (GtkLevelBar *self,
  * Returns the value of the #GtkLevelBar:mode property.
  *
  * Returns: a #GtkLevelBarMode
- *
- * Since: 3.6
  */
 GtkLevelBarMode
 gtk_level_bar_get_mode (GtkLevelBar *self)
@@ -1317,8 +1287,6 @@ gtk_level_bar_get_mode (GtkLevelBar *self)
  * @mode: a #GtkLevelBarMode
  *
  * Sets the value of the #GtkLevelBar:mode property.
- *
- * Since: 3.6
  */
 void
 gtk_level_bar_set_mode (GtkLevelBar     *self,
@@ -1348,8 +1316,6 @@ gtk_level_bar_set_mode (GtkLevelBar     *self,
  * Return the value of the #GtkLevelBar:inverted property.
  *
  * Returns: %TRUE if the level bar is inverted
- *
- * Since: 3.8
  */
 gboolean
 gtk_level_bar_get_inverted (GtkLevelBar *self)
@@ -1365,8 +1331,6 @@ gtk_level_bar_get_inverted (GtkLevelBar *self)
  * @inverted: %TRUE to invert the level bar
  *
  * Sets the value of the #GtkLevelBar:inverted property.
- *
- * Since: 3.8
  */
 void
 gtk_level_bar_set_inverted (GtkLevelBar *self,
@@ -1392,8 +1356,6 @@ gtk_level_bar_set_inverted (GtkLevelBar *self,
  *
  * Removes an offset marker previously added with
  * gtk_level_bar_add_offset_value().
- *
- * Since: 3.6
  */
 void
 gtk_level_bar_remove_offset_value (GtkLevelBar *self,
@@ -1427,8 +1389,6 @@ gtk_level_bar_remove_offset_value (GtkLevelBar *self,
  * when rendering the level bar fill.
  * If another offset marker named @name exists, its value will be
  * replaced by @value.
- *
- * Since: 3.6
  */
 void
 gtk_level_bar_add_offset_value (GtkLevelBar *self,
@@ -1458,8 +1418,6 @@ gtk_level_bar_add_offset_value (GtkLevelBar *self,
  * returning %TRUE in case an offset named @name was found.
  *
  * Returns: %TRUE if the specified offset is found
- *
- * Since: 3.6
  */
 gboolean
 gtk_level_bar_get_offset_value (GtkLevelBar *self,
diff --git a/gtk/gtklevelbar.h b/gtk/gtklevelbar.h
index 77c1693..b9c1433 100644
--- a/gtk/gtklevelbar.h
+++ b/gtk/gtklevelbar.h
@@ -40,8 +40,6 @@ G_BEGIN_DECLS
  * GTK_LEVEL_BAR_OFFSET_LOW:
  *
  * The name used for the stock low offset included by #GtkLevelBar.
- *
- * Since: 3.6
  */
 #define GTK_LEVEL_BAR_OFFSET_LOW  "low"
 
@@ -49,8 +47,6 @@ G_BEGIN_DECLS
  * GTK_LEVEL_BAR_OFFSET_HIGH:
  *
  * The name used for the stock high offset included by #GtkLevelBar.
- *
- * Since: 3.6
  */
 #define GTK_LEVEL_BAR_OFFSET_HIGH "high"
 
@@ -58,8 +54,6 @@ G_BEGIN_DECLS
  * GTK_LEVEL_BAR_OFFSET_FULL:
  *
  * The name used for the stock full offset included by #GtkLevelBar.
- *
- * Since: 3.20
  */
 #define GTK_LEVEL_BAR_OFFSET_FULL "full"
 
@@ -85,55 +79,55 @@ struct _GtkLevelBarClass {
   gpointer padding[16];
 };
 
-GDK_AVAILABLE_IN_3_6
+GDK_AVAILABLE_IN_ALL
 GType      gtk_level_bar_get_type           (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_6
+GDK_AVAILABLE_IN_ALL
 GtkWidget *gtk_level_bar_new                (void);
 
-GDK_AVAILABLE_IN_3_6
+GDK_AVAILABLE_IN_ALL
 GtkWidget *gtk_level_bar_new_for_interval   (gdouble      min_value,
                                              gdouble      max_value);
 
-GDK_AVAILABLE_IN_3_6
+GDK_AVAILABLE_IN_ALL
 void       gtk_level_bar_set_mode           (GtkLevelBar *self,
                                              GtkLevelBarMode mode);
-GDK_AVAILABLE_IN_3_6
+GDK_AVAILABLE_IN_ALL
 GtkLevelBarMode gtk_level_bar_get_mode      (GtkLevelBar *self);
 
-GDK_AVAILABLE_IN_3_6
+GDK_AVAILABLE_IN_ALL
 void       gtk_level_bar_set_value          (GtkLevelBar *self,
                                              gdouble      value);
-GDK_AVAILABLE_IN_3_6
+GDK_AVAILABLE_IN_ALL
 gdouble    gtk_level_bar_get_value          (GtkLevelBar *self);
 
-GDK_AVAILABLE_IN_3_6
+GDK_AVAILABLE_IN_ALL
 void       gtk_level_bar_set_min_value      (GtkLevelBar *self,
                                              gdouble      value);
-GDK_AVAILABLE_IN_3_6
+GDK_AVAILABLE_IN_ALL
 gdouble    gtk_level_bar_get_min_value      (GtkLevelBar *self);
 
-GDK_AVAILABLE_IN_3_6
+GDK_AVAILABLE_IN_ALL
 void       gtk_level_bar_set_max_value      (GtkLevelBar *self,
                                              gdouble      value);
-GDK_AVAILABLE_IN_3_6
+GDK_AVAILABLE_IN_ALL
 gdouble    gtk_level_bar_get_max_value      (GtkLevelBar *self);
 
-GDK_AVAILABLE_IN_3_8
+GDK_AVAILABLE_IN_ALL
 void       gtk_level_bar_set_inverted       (GtkLevelBar *self,
                                              gboolean     inverted);
 
-GDK_AVAILABLE_IN_3_8
+GDK_AVAILABLE_IN_ALL
 gboolean   gtk_level_bar_get_inverted       (GtkLevelBar *self);
 
-GDK_AVAILABLE_IN_3_6
+GDK_AVAILABLE_IN_ALL
 void       gtk_level_bar_add_offset_value   (GtkLevelBar *self,
                                              const gchar *name,
                                              gdouble      value);
-GDK_AVAILABLE_IN_3_6
+GDK_AVAILABLE_IN_ALL
 void       gtk_level_bar_remove_offset_value (GtkLevelBar *self,
                                               const gchar *name);
-GDK_AVAILABLE_IN_3_6
+GDK_AVAILABLE_IN_ALL
 gboolean   gtk_level_bar_get_offset_value   (GtkLevelBar *self,
                                              const gchar *name,
                                              gdouble     *value);
diff --git a/gtk/gtklinkbutton.c b/gtk/gtklinkbutton.c
index e2c1662..0c40a56 100644
--- a/gtk/gtklinkbutton.c
+++ b/gtk/gtklinkbutton.c
@@ -154,8 +154,6 @@ gtk_link_button_class_init (GtkLinkButtonClass *klass)
    * GtkLinkButton:uri:
    *
    * The URI bound to this button.
-   *
-   * Since: 2.10
    */
   g_object_class_install_property (gobject_class,
                                    PROP_URI,
@@ -170,8 +168,6 @@ gtk_link_button_class_init (GtkLinkButtonClass *klass)
    *
    * The 'visited' state of this button. A visited link is drawn in a
    * different color.
-   *
-   * Since: 2.14
    */
   g_object_class_install_property (gobject_class,
                                    PROP_VISITED,
@@ -460,8 +456,6 @@ gtk_link_button_drag_data_get_cb (GtkWidget        *widget,
  * Creates a new #GtkLinkButton with the URI as its text.
  *
  * Returns: a new link button widget.
- *
- * Since: 2.10
  */
 GtkWidget *
 gtk_link_button_new (const gchar *uri)
@@ -510,8 +504,6 @@ gtk_link_button_new (const gchar *uri)
  * Creates a new #GtkLinkButton containing a label.
  *
  * Returns: (transfer none): a new link button widget.
- *
- * Since: 2.10
  */
 GtkWidget *
 gtk_link_button_new_with_label (const gchar *uri,
@@ -572,8 +564,6 @@ gtk_link_button_query_tooltip_cb (GtkWidget    *widget,
  *
  * Sets @uri as the URI where the #GtkLinkButton points. As a side-effect
  * this unsets the “visited” state of the button.
- *
- * Since: 2.10
  */
 void
 gtk_link_button_set_uri (GtkLinkButton *link_button,
@@ -602,8 +592,6 @@ gtk_link_button_set_uri (GtkLinkButton *link_button,
  *
  * Returns: a valid URI.  The returned string is owned by the link button
  *   and should not be modified or freed.
- *
- * Since: 2.10
  */
 const gchar *
 gtk_link_button_get_uri (GtkLinkButton *link_button)
@@ -620,8 +608,6 @@ gtk_link_button_get_uri (GtkLinkButton *link_button)
  *
  * Sets the “visited” state of the URI where the #GtkLinkButton
  * points.  See gtk_link_button_get_visited() for more details.
- *
- * Since: 2.14
  */
 void
 gtk_link_button_set_visited (GtkLinkButton *link_button,
@@ -661,8 +647,6 @@ gtk_link_button_set_visited (GtkLinkButton *link_button,
  * The state may also be changed using gtk_link_button_set_visited().
  *
  * Returns: %TRUE if the link has been visited, %FALSE otherwise
- *
- * Since: 2.14
  */
 gboolean
 gtk_link_button_get_visited (GtkLinkButton *link_button)
diff --git a/gtk/gtklistbox.c b/gtk/gtklistbox.c
index 4231e25..5fdc060 100644
--- a/gtk/gtklistbox.c
+++ b/gtk/gtklistbox.c
@@ -300,8 +300,6 @@ static guint row_signals[ROW__LAST_SIGNAL] = { 0 };
  * Creates a new #GtkListBox container.
  *
  * Returns: a new #GtkListBox
- *
- * Since: 3.10
  */
 GtkWidget *
 gtk_list_box_new (void)
@@ -456,8 +454,6 @@ gtk_list_box_class_init (GtkListBoxClass *klass)
    * When the @box is using #GTK_SELECTION_MULTIPLE, this signal will not
    * give you the full picture of selection changes, and you should use
    * the #GtkListBox::selected-rows-changed signal instead.
-   *
-   * Since: 3.10
    */
   signals[ROW_SELECTED] =
     g_signal_new (I_("row-selected"),
@@ -475,8 +471,6 @@ gtk_list_box_class_init (GtkListBoxClass *klass)
    *
    * The ::selected-rows-changed signal is emitted when the
    * set of selected rows changes.
-   *
-   * Since: 3.14
    */
   signals[SELECTED_ROWS_CHANGED] = g_signal_new (I_("selected-rows-changed"),
                                                  GTK_TYPE_LIST_BOX,
@@ -495,8 +489,6 @@ gtk_list_box_class_init (GtkListBoxClass *klass)
    * mode permits it.
    *
    * The default bindings for this signal is Ctrl-a.
-   *
-   * Since: 3.14
    */
   signals[SELECT_ALL] = g_signal_new (I_("select-all"),
                                       GTK_TYPE_LIST_BOX,
@@ -515,8 +507,6 @@ gtk_list_box_class_init (GtkListBoxClass *klass)
    * mode permits it.
    *
    * The default bindings for this signal is Ctrl-Shift-a.
-   *
-   * Since: 3.14
    */
   signals[UNSELECT_ALL] = g_signal_new (I_("unselect-all"),
                                         GTK_TYPE_LIST_BOX,
@@ -532,8 +522,6 @@ gtk_list_box_class_init (GtkListBoxClass *klass)
    * @row: the activated row
    *
    * The ::row-activated signal is emitted when a row has been activated by the user.
-   *
-   * Since: 3.10
    */
   signals[ROW_ACTIVATED] =
     g_signal_new (I_("row-activated"),
@@ -654,8 +642,6 @@ gtk_list_box_init (GtkListBox *box)
  * find all selected rows.
  *
  * Returns: (transfer none): the selected row
- *
- * Since: 3.10
  */
 GtkListBoxRow *
 gtk_list_box_get_selected_row (GtkListBox *box)
@@ -675,8 +661,6 @@ gtk_list_box_get_selected_row (GtkListBox *box)
  * list, %NULL is returned.
  *
  * Returns: (transfer none) (nullable): the child #GtkWidget or %NULL
- *
- * Since: 3.10
  */
 GtkListBoxRow *
 gtk_list_box_get_row_at_index (GtkListBox *box,
@@ -719,8 +703,6 @@ row_y_cmp_func (gconstpointer a,
  *
  * Returns: (transfer none) (nullable): the row or %NULL
  *   in case no row exists for the given y coordinate.
- *
- * Since: 3.10
  */
 GtkListBoxRow *
 gtk_list_box_get_row_at_y (GtkListBox *box,
@@ -747,8 +729,6 @@ gtk_list_box_get_row_at_y (GtkListBox *box,
  * @row: (allow-none): The row to select or %NULL
  *
  * Make @row the currently selected row.
- *
- * Since: 3.10
  */
 void
 gtk_list_box_select_row (GtkListBox    *box,
@@ -771,15 +751,13 @@ gtk_list_box_select_row (GtkListBox    *box,
     }
 }
 
-/**   
+/**
  * gtk_list_box_unselect_row:
  * @box: a #GtkListBox
  * @row: the row to unselected
  *
  * Unselects a single row of @box, if the selection mode allows it.
- *
- * Since: 3.14
- */                       
+ */
 void
 gtk_list_box_unselect_row (GtkListBox    *box,
                            GtkListBoxRow *row)
@@ -795,8 +773,6 @@ gtk_list_box_unselect_row (GtkListBox    *box,
  * @box: a #GtkListBox
  *
  * Select all children of @box, if the selection mode allows it.
- *
- * Since: 3.14
  */
 void
 gtk_list_box_select_all (GtkListBox *box)
@@ -818,8 +794,6 @@ gtk_list_box_select_all (GtkListBox *box)
  * @box: a #GtkListBox
  *
  * Unselect all children of @box, if the selection mode allows it.
- *
- * Since: 3.14
  */
 void
 gtk_list_box_unselect_all (GtkListBox *box)
@@ -854,8 +828,6 @@ gtk_list_box_selected_rows_changed (GtkListBox *box)
  *
  * A function used by gtk_list_box_selected_foreach().
  * It will be called on every selected child of the @box.
- *
- * Since: 3.14
  */
 
 /**
@@ -867,8 +839,6 @@ gtk_list_box_selected_rows_changed (GtkListBox *box)
  * Calls a function for each selected child.
  *
  * Note that the selection cannot be modified from within this function.
- *
- * Since: 3.14
  */
 void
 gtk_list_box_selected_foreach (GtkListBox            *box,
@@ -899,8 +869,6 @@ gtk_list_box_selected_foreach (GtkListBox            *box,
  * Returns: (element-type GtkListBoxRow) (transfer container):
  *     A #GList containing the #GtkWidget for each selected child.
  *     Free with g_list_free() when done.
- *
- * Since: 3.14
  */
 GList *
 gtk_list_box_get_selected_rows (GtkListBox *box)
@@ -930,8 +898,6 @@ gtk_list_box_get_selected_rows (GtkListBox *box)
  *
  * Sets the placeholder widget that is shown in the list when
  * it doesn't display any visible children.
- *
- * Since: 3.10
  */
 void
 gtk_list_box_set_placeholder (GtkListBox *box,
@@ -971,8 +937,6 @@ gtk_list_box_set_placeholder (GtkListBox *box,
  * a #GtkScrolledWindow the adjustment from that will
  * be picked up automatically, so there is no need
  * to manually do that.
- *
- * Since: 3.10
  */
 void
 gtk_list_box_set_adjustment (GtkListBox    *box,
@@ -998,8 +962,6 @@ gtk_list_box_set_adjustment (GtkListBox    *box,
  * for vertical scrolling.
  *
  * Returns: (transfer none): the adjustment
- *
- * Since: 3.10
  */
 GtkAdjustment *
 gtk_list_box_get_adjustment (GtkListBox *box)
@@ -1059,8 +1021,6 @@ gtk_list_box_parent_cb (GObject    *object,
  *
  * Sets how selection works in the listbox.
  * See #GtkSelectionMode for details.
- *
- * Since: 3.10
  */
 void
 gtk_list_box_set_selection_mode (GtkListBox       *box,
@@ -1098,8 +1058,6 @@ gtk_list_box_set_selection_mode (GtkListBox       *box,
  * Gets the selection mode of the listbox.
  *
  * Returns: a #GtkSelectionMode
- *
- * Since: 3.10
  */
 GtkSelectionMode
 gtk_list_box_get_selection_mode (GtkListBox *box)
@@ -1126,8 +1084,6 @@ gtk_list_box_get_selection_mode (GtkListBox *box)
  *
  * Note that using a filter function is incompatible with using a model
  * (see gtk_list_box_bind_model()).
- *
- * Since: 3.10
  */
 void
 gtk_list_box_set_filter_func (GtkListBox           *box,
@@ -1176,8 +1132,6 @@ gtk_list_box_set_filter_func (GtkListBox           *box,
  * the row before changes (either by gtk_list_box_row_changed() on the previous row, or when
  * the previous row becomes a different row). It is also called for all rows when
  * gtk_list_box_invalidate_headers() is called.
- *
- * Since: 3.10
  */
 void
 gtk_list_box_set_header_func (GtkListBox                 *box,
@@ -1207,8 +1161,6 @@ gtk_list_box_set_header_func (GtkListBox                 *box,
  * to an external factor. For instance, this would be used
  * if the filter function just looked for a specific search
  * string and the entry with the search string has changed.
- *
- * Since: 3.10
  */
 void
 gtk_list_box_invalidate_filter (GtkListBox *box)
@@ -1258,8 +1210,6 @@ gtk_list_box_css_node_foreach (gpointer data,
  * Update the sorting for all rows. Call this when result
  * of the sort function on the @box is changed due
  * to an external factor.
- *
- * Since: 3.10
  */
 void
 gtk_list_box_invalidate_sort (GtkListBox *box)
@@ -1300,8 +1250,6 @@ gtk_list_box_do_reseparate (GtkListBox *box)
  * Update the separators for all rows. Call this when result
  * of the header function on the @box is changed due
  * to an external factor.
- *
- * Since: 3.10
  */
 void
 gtk_list_box_invalidate_headers (GtkListBox *box)
@@ -1330,8 +1278,6 @@ gtk_list_box_invalidate_headers (GtkListBox *box)
  *
  * Note that using a sort function is incompatible with using a model
  * (see gtk_list_box_bind_model()).
- *
- * Since: 3.10
  */
 void
 gtk_list_box_set_sort_func (GtkListBox         *box,
@@ -1391,8 +1337,6 @@ gtk_list_box_got_row_changed (GtkListBox    *box,
  *
  * If @single is %TRUE, rows will be activated when you click on them,
  * otherwise you need to double-click.
- *
- * Since: 3.10
  */
 void
 gtk_list_box_set_activate_on_single_click (GtkListBox *box,
@@ -1417,8 +1361,6 @@ gtk_list_box_set_activate_on_single_click (GtkListBox *box,
  * Returns whether rows activate on single clicks.
  *
  * Returns: %TRUE if rows are activated on single click, %FALSE otherwise
- *
- * Since: 3.10
  */
 gboolean
 gtk_list_box_get_activate_on_single_click (GtkListBox *box)
@@ -2633,8 +2575,6 @@ gtk_list_box_size_allocate (GtkWidget           *widget,
  * Prepend a widget to the list. If a sort function is set, the widget will
  * actually be inserted at the calculated position and this function has the
  * same effect of gtk_container_add().
- *
- * Since: 3.10
  */
 void
 gtk_list_box_prepend (GtkListBox *box,
@@ -2675,8 +2615,6 @@ gtk_list_box_insert_css_node (GtkListBox    *box,
  *
  * If @position is -1, or larger than the total number of items in the
  * @box, then the @child will be appended to the end.
- *
- * Since: 3.10
  */
 void
 gtk_list_box_insert (GtkListBox *box,
@@ -2737,8 +2675,6 @@ gtk_list_box_insert (GtkListBox *box,
  *
  * If a row has previously been highlighted via gtk_list_box_drag_highlight_row()
  * it will have the highlight removed.
- *
- * Since: 3.10
  */
 void
 gtk_list_box_drag_unhighlight_row (GtkListBox *box)
@@ -2765,8 +2701,6 @@ gtk_list_box_drag_unhighlight_row (GtkListBox *box)
  *
  * The row will also be unhighlighted when the widget gets
  * a drag leave event.
- *
- * Since: 3.10
  */
 void
 gtk_list_box_drag_highlight_row (GtkListBox    *box,
@@ -2954,8 +2888,6 @@ gtk_list_box_move_cursor (GtkListBox      *box,
  * Creates a new #GtkListBoxRow, to be used as a child of a #GtkListBox.
  *
  * Returns: a new #GtkListBoxRow
- *
- * Since: 3.10
  */
 GtkWidget *
 gtk_list_box_row_new (void)
@@ -3090,8 +3022,6 @@ gtk_list_box_row_hide (GtkWidget *widget)
  * row functions into the row widgets themselves. Another alternative
  * is to call gtk_list_box_invalidate_sort() on any model change,
  * but that is more expensive.
- *
- * Since: 3.10
  */
 void
 gtk_list_box_row_changed (GtkListBoxRow *row)
@@ -3114,8 +3044,6 @@ gtk_list_box_row_changed (GtkListBoxRow *row)
  * set already, and if so to update the state of it.
  *
  * Returns: (transfer none) (nullable): the current header, or %NULL if none
- *
- * Since: 3.10
  */
 GtkWidget *
 gtk_list_box_row_get_header (GtkListBoxRow *row)
@@ -3133,8 +3061,6 @@ gtk_list_box_row_get_header (GtkListBoxRow *row)
  * Sets the current header of the @row. This is only allowed to be called
  * from a #GtkListBoxUpdateHeaderFunc. It will replace any existing
  * header in the row, and be shown in front of the row in the listbox.
- *
- * Since: 3.10
  */
 void
 gtk_list_box_row_set_header (GtkListBoxRow *row,
@@ -3163,8 +3089,6 @@ gtk_list_box_row_set_header (GtkListBoxRow *row,
  * Gets the current index of the @row in its #GtkListBox container.
  *
  * Returns: the index of the @row, or -1 if the @row is not in a listbox
- *
- * Since: 3.10
  */
 gint
 gtk_list_box_row_get_index (GtkListBoxRow *row)
@@ -3189,8 +3113,6 @@ gtk_list_box_row_get_index (GtkListBoxRow *row)
  * #GtkListBox container.
  *
  * Returns: %TRUE if @row is selected
- *
- * Since: 3.14
  */
 gboolean
 gtk_list_box_row_is_selected (GtkListBoxRow *row)
@@ -3241,8 +3163,6 @@ gtk_list_box_update_row_styles (GtkListBox *box)
  * @activatable: %TRUE to mark the row as activatable
  *
  * Set the #GtkListBoxRow:activatable property for this row.
- *
- * Since: 3.14
  */
 void
 gtk_list_box_row_set_activatable (GtkListBoxRow *row,
@@ -3269,8 +3189,6 @@ gtk_list_box_row_set_activatable (GtkListBoxRow *row,
  * for this row.
  *
  * Returns: %TRUE if the row is activatable
- *
- * Since: 3.14
  */
 gboolean
 gtk_list_box_row_get_activatable (GtkListBoxRow *row)
@@ -3286,8 +3204,6 @@ gtk_list_box_row_get_activatable (GtkListBoxRow *row)
  * @selectable: %TRUE to mark the row as selectable
  *
  * Set the #GtkListBoxRow:selectable property for this row.
- *
- * Since: 3.14
  */
 void
 gtk_list_box_row_set_selectable (GtkListBoxRow *row,
@@ -3317,8 +3233,6 @@ gtk_list_box_row_set_selectable (GtkListBoxRow *row,
  * for this row.
  *
  * Returns: %TRUE if the row is selectable
- *
- * Since: 3.14
  */
 gboolean
 gtk_list_box_row_get_selectable (GtkListBoxRow *row)
@@ -3504,8 +3418,6 @@ gtk_list_box_row_class_init (GtkListBoxRowClass *klass)
    *
    * The property determines whether the #GtkListBox::row-activated
    * signal will be emitted for this row.
-   *
-   * Since: 3.14
    */
   row_properties[ROW_PROP_ACTIVATABLE] =
     g_param_spec_boolean ("activatable",
@@ -3518,8 +3430,6 @@ gtk_list_box_row_class_init (GtkListBoxRowClass *klass)
    * GtkListBoxRow:selectable:
    *
    * The property determines whether this row can be selected.
-   *
-   * Since: 3.14
    */
   row_properties[ROW_PROP_SELECTABLE] =
     g_param_spec_boolean ("selectable",
@@ -3648,8 +3558,6 @@ gtk_list_box_check_model_compat (GtkListBox *box)
  * Note that using a model is incompatible with the filtering and sorting
  * functionality in GtkListBox. When using a model, filtering and sorting
  * should be implemented by the model.
- *
- * Since: 3.16
  */
 void
 gtk_list_box_bind_model (GtkListBox                 *box,
diff --git a/gtk/gtklistbox.h b/gtk/gtklistbox.h
index 72ee8df..3f371b2 100644
--- a/gtk/gtklistbox.h
+++ b/gtk/gtklistbox.h
@@ -129,8 +129,6 @@ struct _GtkListBoxRowClass
  * if the row should be visible or not.
  *
  * Returns: %TRUE if the row should be visible, %FALSE otherwise
- *
- * Since: 3.10
  */
 typedef gboolean (*GtkListBoxFilterFunc) (GtkListBoxRow *row,
                                           gpointer       user_data);
@@ -145,8 +143,6 @@ typedef gboolean (*GtkListBoxFilterFunc) (GtkListBoxRow *row,
  *
  * Returns: < 0 if @row1 should be before @row2, 0 if they are
  *     equal and > 0 otherwise
- *
- * Since: 3.10
  */
 typedef gint (*GtkListBoxSortFunc) (GtkListBoxRow *row1,
                                     GtkListBoxRow *row2,
@@ -162,8 +158,6 @@ typedef gint (*GtkListBoxSortFunc) (GtkListBoxRow *row1,
  * is called, which lets you update the header on @row. You may
  * remove or set a new one via gtk_list_box_row_set_header() or
  * just change the state of the current header widget.
- *
- * Since: 3.10
  */
 typedef void (*GtkListBoxUpdateHeaderFunc) (GtkListBoxRow *row,
                                             GtkListBoxRow *before,
@@ -178,130 +172,128 @@ typedef void (*GtkListBoxUpdateHeaderFunc) (GtkListBoxRow *row,
  * gtk_list_box_bind_model() for each item that gets added to the model.
  *
  * Returns: (transfer full): a #GtkWidget that represents @item
- *
- * Since: 3.16
  */
 typedef GtkWidget * (*GtkListBoxCreateWidgetFunc) (gpointer item,
                                                    gpointer user_data);
 
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 GType      gtk_list_box_row_get_type      (void) G_GNUC_CONST;
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 GtkWidget* gtk_list_box_row_new           (void);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 GtkWidget* gtk_list_box_row_get_header    (GtkListBoxRow *row);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void       gtk_list_box_row_set_header    (GtkListBoxRow *row,
                                            GtkWidget     *header);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 gint       gtk_list_box_row_get_index     (GtkListBoxRow *row);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void       gtk_list_box_row_changed       (GtkListBoxRow *row);
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 gboolean   gtk_list_box_row_is_selected   (GtkListBoxRow *row);
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 void       gtk_list_box_row_set_selectable (GtkListBoxRow *row,
                                             gboolean       selectable);
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 gboolean   gtk_list_box_row_get_selectable (GtkListBoxRow *row);
 
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 void       gtk_list_box_row_set_activatable (GtkListBoxRow *row,
                                              gboolean       activatable);
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 gboolean   gtk_list_box_row_get_activatable (GtkListBoxRow *row);
 
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 GType          gtk_list_box_get_type                     (void) G_GNUC_CONST;
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void           gtk_list_box_prepend                      (GtkListBox                    *box,
                                                           GtkWidget                     *child);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void           gtk_list_box_insert                       (GtkListBox                    *box,
                                                           GtkWidget                     *child,
                                                           gint                           position);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 GtkListBoxRow* gtk_list_box_get_selected_row             (GtkListBox                    *box);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 GtkListBoxRow* gtk_list_box_get_row_at_index             (GtkListBox                    *box,
                                                           gint                           index_);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 GtkListBoxRow* gtk_list_box_get_row_at_y                 (GtkListBox                    *box,
                                                           gint                           y);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void           gtk_list_box_select_row                   (GtkListBox                    *box,
                                                           GtkListBoxRow                 *row);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void           gtk_list_box_set_placeholder              (GtkListBox                    *box,
                                                           GtkWidget                     *placeholder);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void           gtk_list_box_set_adjustment               (GtkListBox                    *box,
                                                           GtkAdjustment                 *adjustment);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 GtkAdjustment *gtk_list_box_get_adjustment               (GtkListBox                    *box);
 
 typedef void (* GtkListBoxForeachFunc) (GtkListBox      *box,
                                         GtkListBoxRow   *row,
                                         gpointer         user_data);
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 void           gtk_list_box_selected_foreach             (GtkListBox                    *box,
                                                           GtkListBoxForeachFunc          func,
                                                           gpointer                       data);
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 GList         *gtk_list_box_get_selected_rows            (GtkListBox                    *box);
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 void           gtk_list_box_unselect_row                 (GtkListBox                    *box,
                                                           GtkListBoxRow                 *row);
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 void           gtk_list_box_select_all                   (GtkListBox                    *box);
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 void           gtk_list_box_unselect_all                 (GtkListBox                    *box);
 
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void           gtk_list_box_set_selection_mode           (GtkListBox                    *box,
                                                           GtkSelectionMode               mode);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 GtkSelectionMode gtk_list_box_get_selection_mode         (GtkListBox                    *box);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void           gtk_list_box_set_filter_func              (GtkListBox                    *box,
                                                           GtkListBoxFilterFunc           filter_func,
                                                           gpointer                       user_data,
                                                           GDestroyNotify                 destroy);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void           gtk_list_box_set_header_func              (GtkListBox                    *box,
                                                           GtkListBoxUpdateHeaderFunc     update_header,
                                                           gpointer                       user_data,
                                                           GDestroyNotify                 destroy);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void           gtk_list_box_invalidate_filter            (GtkListBox                    *box);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void           gtk_list_box_invalidate_sort              (GtkListBox                    *box);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void           gtk_list_box_invalidate_headers           (GtkListBox                    *box);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void           gtk_list_box_set_sort_func                (GtkListBox                    *box,
                                                           GtkListBoxSortFunc             sort_func,
                                                           gpointer                       user_data,
                                                           GDestroyNotify                 destroy);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void           gtk_list_box_set_activate_on_single_click (GtkListBox                    *box,
                                                           gboolean                       single);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 gboolean       gtk_list_box_get_activate_on_single_click (GtkListBox                    *box);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void           gtk_list_box_drag_unhighlight_row         (GtkListBox                    *box);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void           gtk_list_box_drag_highlight_row           (GtkListBox                    *box,
                                                           GtkListBoxRow                 *row);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 GtkWidget*     gtk_list_box_new                          (void);
 
 
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 void           gtk_list_box_bind_model                   (GtkListBox                   *box,
                                                           GListModel                   *model,
                                                           GtkListBoxCreateWidgetFunc    create_widget_func,
diff --git a/gtk/gtkliststore.c b/gtk/gtkliststore.c
index cc0ecb3..260623e 100644
--- a/gtk/gtkliststore.c
+++ b/gtk/gtkliststore.c
@@ -1073,8 +1073,6 @@ gtk_list_store_set_valist_internal (GtkListStore *list_store,
  * varargs. This function is mainly intended for 
  * language-bindings and in case the number of columns to
  * change is not known until run-time.
- *
- * Since: 2.12
  */
 void
 gtk_list_store_set_valuesv (GtkListStore *list_store,
@@ -1445,8 +1443,6 @@ gtk_list_store_clear (GtkListStore *list_store)
  * Checks if the given iter is a valid iter for this #GtkListStore.
  *
  * Returns: %TRUE if the iter is valid, %FALSE if the iter is invalid.
- *
- * Since: 2.2
  **/
 gboolean
 gtk_list_store_iter_is_valid (GtkListStore *list_store,
@@ -1680,8 +1676,6 @@ gtk_list_store_reorder_func (GSequenceIter *a,
  *
  * Reorders @store to follow the order indicated by @new_order. Note that
  * this function only works with unsorted stores.
- *
- * Since: 2.2
  **/
 void
 gtk_list_store_reorder (GtkListStore *store,
@@ -1774,8 +1768,6 @@ generate_order (GSequence *seq,
  *
  * Swaps @a and @b in @store. Note that this function only works with
  * unsorted stores.
- *
- * Since: 2.2
  **/
 void
 gtk_list_store_swap (GtkListStore *store,
@@ -1843,8 +1835,6 @@ gtk_list_store_move_to (GtkListStore *store,
  * Moves @iter in @store to the position before @position. Note that this
  * function only works with unsorted stores. If @position is %NULL, @iter
  * will be moved to the end of the list.
- *
- * Since: 2.2
  **/
 void
 gtk_list_store_move_before (GtkListStore *store,
@@ -1876,8 +1866,6 @@ gtk_list_store_move_before (GtkListStore *store,
  * Moves @iter in @store to the position after @position. Note that this
  * function only works with unsorted stores. If @position is %NULL, @iter
  * will be moved to the start of the list.
- *
- * Since: 2.2
  **/
 void
 gtk_list_store_move_after (GtkListStore *store,
@@ -2182,8 +2170,6 @@ gtk_list_store_has_default_sort_func (GtkTreeSortable *sortable)
  * repeatedly can affect the performance of the program,
  * gtk_list_store_insert_with_values() should generally be preferred when
  * inserting rows in a sorted list store.
- *
- * Since: 2.6
  */
 void
 gtk_list_store_insert_with_values (GtkListStore *list_store,
@@ -2259,8 +2245,6 @@ gtk_list_store_insert_with_values (GtkListStore *list_store,
  * takes the columns and values as two arrays, instead of
  * varargs. This function is mainly intended for 
  * language-bindings.
- *
- * Since: 2.6
  */
 void
 gtk_list_store_insert_with_valuesv (GtkListStore *list_store,
diff --git a/gtk/gtklockbutton.c b/gtk/gtklockbutton.c
index 63d4e99..e6f89d4 100644
--- a/gtk/gtklockbutton.c
+++ b/gtk/gtklockbutton.c
@@ -491,8 +491,6 @@ gtk_lock_button_clicked (GtkButton *button)
  * Creates a new lock button which reflects the @permission.
  *
  * Returns: a new #GtkLockButton
- *
- * Since: 3.2
  */
 GtkWidget *
 gtk_lock_button_new (GPermission *permission)
@@ -509,8 +507,6 @@ gtk_lock_button_new (GPermission *permission)
  * Obtains the #GPermission object that controls @button.
  *
  * Returns: (transfer none): the #GPermission of @button
- *
- * Since: 3.2
  */
 GPermission *
 gtk_lock_button_get_permission (GtkLockButton *button)
@@ -526,8 +522,6 @@ gtk_lock_button_get_permission (GtkLockButton *button)
  * @permission: (allow-none): a #GPermission object, or %NULL
  *
  * Sets the #GPermission object that controls @button.
- *
- * Since: 3.2
  */
 void
 gtk_lock_button_set_permission (GtkLockButton *button,
diff --git a/gtk/gtklockbutton.h b/gtk/gtklockbutton.h
index cc7e230..f6d3a67 100644
--- a/gtk/gtklockbutton.h
+++ b/gtk/gtklockbutton.h
@@ -62,13 +62,13 @@ struct _GtkLockButtonClass
   void (*reserved7) (void);
 };
 
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 GType        gtk_lock_button_get_type       (void) G_GNUC_CONST;
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 GtkWidget   *gtk_lock_button_new            (GPermission   *permission);
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 GPermission *gtk_lock_button_get_permission (GtkLockButton *button);
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 void         gtk_lock_button_set_permission (GtkLockButton *button,
                                              GPermission   *permission);
 
diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c
index 1f92efa..e8e7423 100644
--- a/gtk/gtkmain.c
+++ b/gtk/gtkmain.c
@@ -186,8 +186,6 @@ static const GDebugKey gtk_debug_keys[] = {
  * have included when compiling your code.
  *
  * Returns: the major version number of the GTK+ library
- *
- * Since: 3.0
  */
 guint
 gtk_get_major_version (void)
@@ -207,8 +205,6 @@ gtk_get_major_version (void)
  * GTK+ headers you have included when compiling your code.
  *
  * Returns: the minor version number of the GTK+ library
- *
- * Since: 3.0
  */
 guint
 gtk_get_minor_version (void)
@@ -228,8 +224,6 @@ gtk_get_minor_version (void)
  * GTK+ headers you have included when compiling your code.
  *
  * Returns: the micro version number of the GTK+ library
- *
- * Since: 3.0
  */
 guint
 gtk_get_micro_version (void)
@@ -246,8 +240,6 @@ gtk_get_micro_version (void)
  * worry about it.
  *
  * Returns: the binary age of the GTK+ library
- *
- * Since: 3.0
  */
 guint
 gtk_get_binary_age (void)
@@ -264,8 +256,6 @@ gtk_get_binary_age (void)
  * worry about it.
  *
  * Returns: the interface age of the GTK+ library
- *
- * Since: 3.0
  */
 guint
 gtk_get_interface_age (void)
@@ -917,8 +907,6 @@ gtk_init_check_abi_check (int num_checks, size_t sizeof_GtkWindow, size_t sizeof
  * ]|
  *
  * Returns: the #GtkTextDirection of the current locale
- *
- * Since: 3.12
  */
 GtkTextDirection
 gtk_get_locale_direction (void)
@@ -2175,8 +2163,6 @@ gtk_grab_remove (GtkWidget *widget)
  * associated pointer or keyboard (if any) are delivered to @widget.
  * If the @block_others parameter is %TRUE, any other devices will be
  * unable to interact with @widget during the grab.
- *
- * Since: 3.0
  */
 void
 gtk_device_grab_add (GtkWidget *widget,
@@ -2207,8 +2193,6 @@ gtk_device_grab_add (GtkWidget *widget,
  *
  * You have to pair calls to gtk_device_grab_add() and
  * gtk_device_grab_remove().
- *
- * Since: 3.0
  */
 void
 gtk_device_grab_remove (GtkWidget *widget,
@@ -2346,8 +2330,6 @@ gtk_get_event_widget (const GdkEvent *event)
  * receiver of the event.
  *
  * Returns: (transfer none) (nullable): the target widget, or %NULL
- *
- * Since: 3.92
  */
 GtkWidget *
 gtk_get_event_target (const GdkEvent *event)
@@ -2366,8 +2348,6 @@ gtk_get_event_target (const GdkEvent *event)
  *
  * Returns: (transfer none) (nullable): the widget in the target stack
  * with the given type, or %NULL
- *
- * Since: 3.92
  */
 GtkWidget *
 gtk_get_event_target_with_type (GdkEvent *event,
diff --git a/gtk/gtkmain.h b/gtk/gtkmain.h
index 2a16119..deacf59 100644
--- a/gtk/gtkmain.h
+++ b/gtk/gtkmain.h
@@ -101,7 +101,7 @@ GDK_AVAILABLE_IN_ALL
 void           gtk_disable_setlocale    (void);
 GDK_AVAILABLE_IN_ALL
 PangoLanguage *gtk_get_default_language (void);
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 GtkTextDirection gtk_get_locale_direction (void);
 GDK_AVAILABLE_IN_ALL
 gboolean       gtk_events_pending       (void);
@@ -146,10 +146,10 @@ GdkDevice *gtk_get_current_event_device (void);
 GDK_AVAILABLE_IN_ALL
 GtkWidget *gtk_get_event_widget         (const GdkEvent  *event);
 
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 GtkWidget *gtk_get_event_target         (const GdkEvent  *event);
 
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 GtkWidget *gtk_get_event_target_with_type (GdkEvent *event,
                                            GType     type);
 
diff --git a/gtk/gtkmenu.c b/gtk/gtkmenu.c
index 9215926..aa1cdaa 100644
--- a/gtk/gtkmenu.c
+++ b/gtk/gtkmenu.c
@@ -583,9 +583,6 @@ gtk_menu_class_init (GtkMenuClass *class)
    * gtk_menu_popup_at_pointer (), #GtkMenu:anchor-hints,
    * #GtkMenu:rect-anchor-dx, #GtkMenu:rect-anchor-dy, and
    * #GtkMenu:menu-type-hint.
-   *
-   * Since: 3.22
-   * Stability: Unstable
    */
   menu_signals[POPPED_UP] =
     g_signal_new_class_handler (I_("popped-up"),
@@ -607,8 +604,6 @@ gtk_menu_class_init (GtkMenuClass *class)
    *
    * The index of the currently selected menu item, or -1 if no
    * menu item is selected.
-   *
-   * Since: 2.14
    **/
   g_object_class_install_property (gobject_class,
                                    PROP_ACTIVE,
@@ -622,8 +617,6 @@ gtk_menu_class_init (GtkMenuClass *class)
    * GtkMenu:accel-group:
    *
    * The accel group holding accelerators for the menu.
-   *
-   * Since: 2.14
    **/
   g_object_class_install_property (gobject_class,
                                    PROP_ACCEL_GROUP,
@@ -637,8 +630,6 @@ gtk_menu_class_init (GtkMenuClass *class)
    * GtkMenu:accel-path:
    *
    * An accel path used to conveniently construct accel paths of child items.
-   *
-   * Since: 2.14
    **/
   g_object_class_install_property (gobject_class,
                                    PROP_ACCEL_PATH,
@@ -654,8 +645,6 @@ gtk_menu_class_init (GtkMenuClass *class)
    * The widget the menu is attached to. Setting this property attaches
    * the menu without a #GtkMenuDetachFunc. If you need to use a detacher,
    * use gtk_menu_attach_to_widget() directly.
-   *
-   * Since: 2.14
    **/
   g_object_class_install_property (gobject_class,
                                    PROP_ATTACH_WIDGET,
@@ -669,8 +658,6 @@ gtk_menu_class_init (GtkMenuClass *class)
    * GtkMenu:monitor:
    *
    * The monitor the menu will be popped up on.
-   *
-   * Since: 2.14
    **/
   g_object_class_install_property (gobject_class,
                                    PROP_MONITOR,
@@ -690,8 +677,6 @@ gtk_menu_class_init (GtkMenuClass *class)
    * for special-purposes such as tabular menus. Regular menus that
    * are connected to a menu bar or context menus should reserve
    * toggle space for consistency.
-   *
-   * Since: 2.18
    */
   g_object_class_install_property (gobject_class,
                                    PROP_RESERVE_TOGGLE_SIZE,
@@ -718,9 +703,6 @@ gtk_menu_class_init (GtkMenuClass *class)
    * See gtk_menu_popup_at_rect (), gtk_menu_popup_at_widget (),
    * gtk_menu_popup_at_pointer (), #GtkMenu:rect-anchor-dx,
    * #GtkMenu:rect-anchor-dy, #GtkMenu:menu-type-hint, and #GtkMenu::popped-up.
-   *
-   * Since: 3.22
-   * Stability: Unstable
    */
   g_object_class_install_property (gobject_class,
                                    PROP_ANCHOR_HINTS,
@@ -747,9 +729,6 @@ gtk_menu_class_init (GtkMenuClass *class)
    * See gtk_menu_popup_at_rect (), gtk_menu_popup_at_widget (),
    * gtk_menu_popup_at_pointer (), #GtkMenu:anchor-hints,
    * #GtkMenu:rect-anchor-dy, #GtkMenu:menu-type-hint, and #GtkMenu::popped-up.
-   *
-   * Since: 3.22
-   * Stability: Unstable
    */
   g_object_class_install_property (gobject_class,
                                    PROP_RECT_ANCHOR_DX,
@@ -774,9 +753,6 @@ gtk_menu_class_init (GtkMenuClass *class)
    * See gtk_menu_popup_at_rect (), gtk_menu_popup_at_widget (),
    * gtk_menu_popup_at_pointer (), #GtkMenu:anchor-hints,
    * #GtkMenu:rect-anchor-dx, #GtkMenu:menu-type-hint, and #GtkMenu::popped-up.
-   *
-   * Since: 3.22
-   * Stability: Unstable
    */
   g_object_class_install_property (gobject_class,
                                    PROP_RECT_ANCHOR_DY,
@@ -801,9 +777,6 @@ gtk_menu_class_init (GtkMenuClass *class)
    * See gtk_menu_popup_at_rect (), gtk_menu_popup_at_widget (),
    * gtk_menu_popup_at_pointer (), #GtkMenu:anchor-hints,
    * #GtkMenu:rect-anchor-dx, #GtkMenu:rect-anchor-dy, and #GtkMenu::popped-up.
-   *
-   * Since: 3.22
-   * Stability: Unstable
    */
   g_object_class_install_property (gobject_class,
                                    PROP_MENU_TYPE_HINT,
@@ -1767,8 +1740,6 @@ gtk_menu_popup_internal (GtkMenu             *menu,
  * a mouse click or key press) that caused the initiation of the popup.
  * Only if no such event is available, gtk_get_current_event_time() can
  * be used instead.
- *
- * Since: 3.0
  */
 void
 gtk_menu_popup_for_device (GtkMenu             *menu,
@@ -1911,9 +1882,6 @@ get_device_for_event (const GdkEvent *event)
  * Other properties that influence the behaviour of this function are
  * #GtkMenu:anchor-hints and #GtkMenu:menu-type-hint. Connect to the
  * #GtkMenu::popped-up signal to find out how it was actually positioned.
- *
- * Since: 3.22
- * Stability: Unstable
  */
 void
 gtk_menu_popup_at_rect (GtkMenu            *menu,
@@ -1997,9 +1965,6 @@ gtk_menu_popup_at_rect (GtkMenu            *menu,
  * Other properties that influence the behaviour of this function are
  * #GtkMenu:anchor-hints and #GtkMenu:menu-type-hint. Connect to the
  * #GtkMenu::popped-up signal to find out how it was actually positioned.
- *
- * Since: 3.22
- * Stability: Unstable
  */
 void
 gtk_menu_popup_at_widget (GtkMenu        *menu,
@@ -2079,9 +2044,6 @@ gtk_menu_popup_at_widget (GtkMenu        *menu,
  * #GtkMenu:anchor-hints, #GtkMenu:rect-anchor-dx, #GtkMenu:rect-anchor-dy, and
  * #GtkMenu:menu-type-hint. Connect to the #GtkMenu::popped-up signal to find
  * out how it was actually positioned.
- *
- * Since: 3.22
- * Stability: Unstable
  */
 void
 gtk_menu_popup_at_pointer (GtkMenu        *menu,
@@ -2165,9 +2127,6 @@ get_arrows_border (GtkMenu   *menu,
  * positioning @menu. Connect this to the #GtkMenu::popped-up signal to keep the
  * contents of the menu vertically aligned with their ideal position, for combo
  * boxes for example.
- *
- * Since: 3.22
- * Stability: Private
  */
 void
 gtk_menu_update_scroll_offset (GtkMenu            *menu,
@@ -2437,8 +2396,6 @@ gtk_menu_set_accel_path (GtkMenu     *menu,
  * Retrieves the accelerator path set on the menu.
  *
  * Returns: the accelerator path set on the menu.
- *
- * Since: 2.14
  */
 const gchar*
 gtk_menu_get_accel_path (GtkMenu *menu)
@@ -4281,8 +4238,6 @@ gtk_menu_select_item (GtkMenuShell *menu_shell,
  *           determined by the widget the menu is attached to
  *
  * Sets the #GdkDisplay on which the menu will be displayed.
- *
- * Since: 3.94
  */
 void
 gtk_menu_set_display (GtkMenu    *menu,
@@ -4321,8 +4276,6 @@ gtk_menu_set_display (GtkMenu    *menu,
  * (Columns and rows are indexed from zero).
  *
  * Note that this function is not related to gtk_menu_detach().
- *
- * Since: 2.4
  */
 void
 gtk_menu_attach (GtkMenu   *menu,
@@ -4692,8 +4645,6 @@ gtk_menu_real_move_scroll (GtkMenu       *menu,
  * returned by a #GtkMenuPositionFunc, since, for very long menus,
  * these coordinates may extend beyond the monitor boundaries or even
  * the screen boundaries.
- *
- * Since: 2.4
  */
 void
 gtk_menu_set_monitor (GtkMenu *menu,
@@ -4718,8 +4669,6 @@ gtk_menu_set_monitor (GtkMenu *menu,
  *
  * Returns: the number of the monitor on which the menu should
  *    be popped up or -1, if no monitor has been set
- *
- * Since: 2.14
  */
 gint
 gtk_menu_get_monitor (GtkMenu *menu)
@@ -4735,8 +4684,6 @@ gtk_menu_get_monitor (GtkMenu *menu)
  * @monitor: the monitor to place the menu on
  *
  * Places @menu on the given monitor.
- *
- * Since: 3.22
  */
 void
 gtk_menu_place_on_monitor (GtkMenu    *menu,
@@ -4773,8 +4720,6 @@ gtk_menu_place_on_monitor (GtkMenu    *menu,
  *
  * Returns: (element-type GtkWidget) (transfer none): the list
  *     of menus attached to his widget.
- *
- * Since: 2.6
  */
 GList*
 gtk_menu_get_for_attach_widget (GtkWidget *widget)
@@ -4826,8 +4771,6 @@ gtk_menu_grab_notify (GtkWidget *widget,
  *
  * Sets whether the menu should reserve space for drawing toggles
  * or icons, regardless of their actual presence.
- *
- * Since: 2.18
  */
 void
 gtk_menu_set_reserve_toggle_size (GtkMenu  *menu,
@@ -4856,8 +4799,6 @@ gtk_menu_set_reserve_toggle_size (GtkMenu  *menu,
  * icons, regardless of their actual presence.
  *
  * Returns: Whether the menu reserves toggle space
- *
- * Since: 2.18
  */
 gboolean
 gtk_menu_get_reserve_toggle_size (GtkMenu *menu)
@@ -4883,8 +4824,6 @@ gtk_menu_get_reserve_toggle_size (GtkMenu *menu)
  * attach widget or on any of its parent widgets.
  *
  * Returns: a new #GtkMenu
- *
- * Since: 3.4
  */
 GtkWidget *
 gtk_menu_new_from_model (GMenuModel *model)
diff --git a/gtk/gtkmenu.h b/gtk/gtkmenu.h
index 0d3493f..1191387 100644
--- a/gtk/gtkmenu.h
+++ b/gtk/gtkmenu.h
@@ -130,7 +130,7 @@ GDK_AVAILABLE_IN_ALL
 GType     gtk_menu_get_type              (void) G_GNUC_CONST;
 GDK_AVAILABLE_IN_ALL
 GtkWidget* gtk_menu_new                          (void);
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 GtkWidget* gtk_menu_new_from_model        (GMenuModel *model);
 
 /* Display the menu onscreen */
@@ -152,20 +152,20 @@ void       gtk_menu_popup_for_device      (GtkMenu             *menu,
                                            GDestroyNotify       destroy,
                                            guint                button,
                                            guint32              activate_time);
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 void       gtk_menu_popup_at_rect         (GtkMenu             *menu,
                                            GdkWindow           *rect_window,
                                            const GdkRectangle  *rect,
                                            GdkGravity           rect_anchor,
                                            GdkGravity           menu_anchor,
                                            const GdkEvent      *trigger_event);
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 void       gtk_menu_popup_at_widget       (GtkMenu             *menu,
                                            GtkWidget           *widget,
                                            GdkGravity           widget_anchor,
                                            GdkGravity           menu_anchor,
                                            const GdkEvent      *trigger_event);
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 void       gtk_menu_popup_at_pointer      (GtkMenu             *menu,
                                            const GdkEvent      *trigger_event);
 
@@ -224,7 +224,7 @@ void       gtk_menu_reorder_child         (GtkMenu             *menu,
                                            GtkWidget           *child,
                                            gint                position);
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void      gtk_menu_set_display           (GtkMenu             *menu,
                                           GdkDisplay          *display);
 
@@ -242,7 +242,7 @@ void       gtk_menu_set_monitor           (GtkMenu             *menu,
 GDK_AVAILABLE_IN_ALL
 gint       gtk_menu_get_monitor           (GtkMenu             *menu);
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 void       gtk_menu_place_on_monitor      (GtkMenu             *menu,
                                            GdkMonitor          *monitor);
 
diff --git a/gtk/gtkmenubar.c b/gtk/gtkmenubar.c
index 2b20bc4..6caf04d 100644
--- a/gtk/gtkmenubar.c
+++ b/gtk/gtkmenubar.c
@@ -170,8 +170,6 @@ gtk_menu_bar_class_init (GtkMenuBarClass *class)
    *
    * The pack direction of the menubar. It determines how
    * menuitems are arranged in the menubar.
-   *
-   * Since: 2.8
    */
   g_object_class_install_property (gobject_class,
                                    PROP_PACK_DIRECTION,
@@ -187,8 +185,6 @@ gtk_menu_bar_class_init (GtkMenuBarClass *class)
    *
    * The child pack direction of the menubar. It determines how
    * the widgets contained in child menuitems are arranged.
-   *
-   * Since: 2.8
    */
   g_object_class_install_property (gobject_class,
                                    PROP_CHILD_PACK_DIRECTION,
@@ -681,8 +677,6 @@ gtk_menu_bar_move_current (GtkMenuShell         *menu_shell,
  * See gtk_menu_bar_set_pack_direction().
  *
  * Returns: the pack direction
- *
- * Since: 2.8
  */
 GtkPackDirection
 gtk_menu_bar_get_pack_direction (GtkMenuBar *menubar)
@@ -699,8 +693,6 @@ gtk_menu_bar_get_pack_direction (GtkMenuBar *menubar)
  * @pack_dir: a new #GtkPackDirection
  * 
  * Sets how items should be packed inside a menubar.
- * 
- * Since: 2.8
  */
 void
 gtk_menu_bar_set_pack_direction (GtkMenuBar       *menubar,
@@ -734,8 +726,6 @@ gtk_menu_bar_set_pack_direction (GtkMenuBar       *menubar,
  * See gtk_menu_bar_set_child_pack_direction().
  *
  * Returns: the child pack direction
- *
- * Since: 2.8
  */
 GtkPackDirection
 gtk_menu_bar_get_child_pack_direction (GtkMenuBar *menubar)
@@ -752,8 +742,6 @@ gtk_menu_bar_get_child_pack_direction (GtkMenuBar *menubar)
  * @child_pack_dir: a new #GtkPackDirection
  * 
  * Sets how widgets should be packed inside the children of a menubar.
- * 
- * Since: 2.8
  */
 void
 gtk_menu_bar_set_child_pack_direction (GtkMenuBar       *menubar,
@@ -792,8 +780,6 @@ gtk_menu_bar_set_child_pack_direction (GtkMenuBar       *menubar,
  * widget hierarchy.
  *
  * Returns: a new #GtkMenuBar
- *
- * Since: 3.4
  */
 GtkWidget *
 gtk_menu_bar_new_from_model (GMenuModel *model)
diff --git a/gtk/gtkmenubar.h b/gtk/gtkmenubar.h
index f1d7183..c63ef19 100644
--- a/gtk/gtkmenubar.h
+++ b/gtk/gtkmenubar.h
@@ -71,7 +71,7 @@ GDK_AVAILABLE_IN_ALL
 GType      gtk_menu_bar_get_type        (void) G_GNUC_CONST;
 GDK_AVAILABLE_IN_ALL
 GtkWidget* gtk_menu_bar_new             (void);
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 GtkWidget* gtk_menu_bar_new_from_model  (GMenuModel *model);
 
 GDK_AVAILABLE_IN_ALL
diff --git a/gtk/gtkmenubutton.c b/gtk/gtkmenubutton.c
index b804a5a..35d9dca 100644
--- a/gtk/gtkmenubutton.c
+++ b/gtk/gtkmenubutton.c
@@ -485,8 +485,6 @@ gtk_menu_button_class_init (GtkMenuButtonClass *klass)
    * GtkMenuButton:popup:
    *
    * The #GtkMenu that will be popped up when the button is clicked.
-   *
-   * Since: 3.6
    */
   menu_button_props[PROP_POPUP] =
       g_param_spec_object ("popup",
@@ -504,8 +502,6 @@ gtk_menu_button_class_init (GtkMenuButtonClass *klass)
    *
    * See gtk_menu_button_set_menu_model() for the interaction with the
    * #GtkMenuButton:popup property.
-   *
-   * Since: 3.6
    */
   menu_button_props[PROP_MENU_MODEL] =
       g_param_spec_object ("menu-model",
@@ -518,8 +514,6 @@ gtk_menu_button_class_init (GtkMenuButtonClass *klass)
    * GtkMenuButton:align-widget:
    *
    * The #GtkWidget to use to align the menu with.
-   *
-   * Since: 3.6
    */
   menu_button_props[PROP_ALIGN_WIDGET] =
       g_param_spec_object ("align-widget",
@@ -533,8 +527,6 @@ gtk_menu_button_class_init (GtkMenuButtonClass *klass)
    *
    * The #GtkArrowType representing the direction in which the
    * menu or popover will be popped out.
-   *
-   * Since: 3.6
    */
   menu_button_props[PROP_DIRECTION] =
       g_param_spec_enum ("direction",
@@ -549,8 +541,6 @@ gtk_menu_button_class_init (GtkMenuButtonClass *klass)
    *
    * Whether to construct a #GtkPopover from the menu model,
    * or a #GtkMenu.
-   *
-   * Since: 3.12
    */
   menu_button_props[PROP_USE_POPOVER] =
       g_param_spec_boolean ("use-popover",
@@ -563,8 +553,6 @@ gtk_menu_button_class_init (GtkMenuButtonClass *klass)
    * GtkMenuButton:popover:
    *
    * The #GtkPopover that will be popped up when the button is clicked.
-   *
-   * Since: 3.12
    */
   menu_button_props[PROP_POPOVER] =
       g_param_spec_object ("popover",
@@ -643,8 +631,6 @@ gtk_menu_button_init (GtkMenuButton *menu_button)
  * with another #GtkWidget should you wish to.
  *
  * Returns: The newly created #GtkMenuButton widget
- *
- * Since: 3.6
  */
 GtkWidget *
 gtk_menu_button_new (void)
@@ -748,8 +734,6 @@ _gtk_menu_button_set_popup_with_func (GtkMenuButton                 *menu_button
  * Sets the #GtkMenu that will be popped up when the button is clicked,
  * or %NULL to disable the button. If #GtkMenuButton:menu-model or
  * #GtkMenuButton:popover are set, they will be set to %NULL.
- *
- * Since: 3.6
  */
 void
 gtk_menu_button_set_popup (GtkMenuButton *menu_button,
@@ -783,8 +767,6 @@ gtk_menu_button_set_popup (GtkMenuButton *menu_button,
  * returns %NULL.
  *
  * Returns: (nullable) (transfer none): a #GtkMenu or %NULL
- *
- * Since: 3.6
  */
 GtkMenu *
 gtk_menu_button_get_popup (GtkMenuButton *menu_button)
@@ -809,8 +791,6 @@ gtk_menu_button_get_popup (GtkMenuButton *menu_button)
  *
  * If #GtkMenuButton:popup or #GtkMenuButton:popover are already set,
  * their content will be lost and replaced by the newly created popup.
- *
- * Since: 3.6
  */
 void
 gtk_menu_button_set_menu_model (GtkMenuButton *menu_button,
@@ -865,8 +845,6 @@ gtk_menu_button_set_menu_model (GtkMenuButton *menu_button,
  * Returns the #GMenuModel used to generate the popup.
  *
  * Returns: (nullable) (transfer none): a #GMenuModel or %NULL
- *
- * Since: 3.6
  */
 GMenuModel *
 gtk_menu_button_get_menu_model (GtkMenuButton *menu_button)
@@ -906,8 +884,6 @@ set_align_widget_pointer (GtkMenuButton *menu_button,
  *
  * Note that this property is only used with menus currently,
  * and not for popovers.
- *
- * Since: 3.6
  */
 void
 gtk_menu_button_set_align_widget (GtkMenuButton *menu_button,
@@ -934,8 +910,6 @@ gtk_menu_button_set_align_widget (GtkMenuButton *menu_button,
  * Returns the parent #GtkWidget to use to line up with menu.
  *
  * Returns: (nullable) (transfer none): a #GtkWidget value or %NULL
- *
- * Since: 3.6
  */
 GtkWidget *
 gtk_menu_button_get_align_widget (GtkMenuButton *menu_button)
@@ -987,8 +961,6 @@ update_popover_direction (GtkMenuButton *menu_button)
  *
  * If you pass %GTK_ARROW_NONE for a @direction, the popup will behave
  * as if you passed %GTK_ARROW_DOWN (although you won’t see any arrows).
- *
- * Since: 3.6
  */
 void
 gtk_menu_button_set_direction (GtkMenuButton *menu_button,
@@ -1021,8 +993,6 @@ gtk_menu_button_set_direction (GtkMenuButton *menu_button,
  * Returns the direction the popup will be pointing at when popped up.
  *
  * Returns: a #GtkArrowType value
- *
- * Since: 3.6
  */
 GtkArrowType
 gtk_menu_button_get_direction (GtkMenuButton *menu_button)
@@ -1067,8 +1037,6 @@ gtk_menu_button_dispose (GObject *object)
  * Sets whether to construct a #GtkPopover instead of #GtkMenu
  * when gtk_menu_button_set_menu_model() is called. Note that
  * this property is only consulted when a new menu model is set.
- *
- * Since: 3.12
  */
 void
 gtk_menu_button_set_use_popover (GtkMenuButton *menu_button,
@@ -1105,8 +1073,6 @@ gtk_menu_button_set_use_popover (GtkMenuButton *menu_button,
  * from the menu model.
  *
  * Returns: %TRUE if using a #GtkPopover
- *
- * Since: 3.12
  */
 gboolean
 gtk_menu_button_get_use_popover (GtkMenuButton *menu_button)
@@ -1124,8 +1090,6 @@ gtk_menu_button_get_use_popover (GtkMenuButton *menu_button)
  * Sets the #GtkPopover that will be popped up when the button is
  * clicked, or %NULL to disable the button. If #GtkMenuButton:menu-model
  * or #GtkMenuButton:popup are set, they will be set to %NULL.
- *
- * Since: 3.12
  */
 void
 gtk_menu_button_set_popover (GtkMenuButton *menu_button,
@@ -1182,8 +1146,6 @@ gtk_menu_button_set_popover (GtkMenuButton *menu_button,
  * returns %NULL.
  *
  * Returns: (nullable) (transfer none): a #GtkPopover or %NULL
- *
- * Since: 3.12
  */
 GtkPopover *
 gtk_menu_button_get_popover (GtkMenuButton *menu_button)
diff --git a/gtk/gtkmenubutton.h b/gtk/gtkmenubutton.h
index 82a876b..a0293cd 100644
--- a/gtk/gtkmenubutton.h
+++ b/gtk/gtkmenubutton.h
@@ -61,46 +61,46 @@ struct _GtkMenuButtonClass
   void (*_gtk_reserved4) (void);
 };
 
-GDK_AVAILABLE_IN_3_6
+GDK_AVAILABLE_IN_ALL
 GType        gtk_menu_button_get_type       (void) G_GNUC_CONST;
-GDK_AVAILABLE_IN_3_6
+GDK_AVAILABLE_IN_ALL
 GtkWidget   *gtk_menu_button_new            (void);
 
-GDK_AVAILABLE_IN_3_6
+GDK_AVAILABLE_IN_ALL
 void         gtk_menu_button_set_popup      (GtkMenuButton *menu_button,
                                              GtkWidget     *menu);
-GDK_AVAILABLE_IN_3_6
+GDK_AVAILABLE_IN_ALL
 GtkMenu     *gtk_menu_button_get_popup      (GtkMenuButton *menu_button);
 
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 void         gtk_menu_button_set_popover    (GtkMenuButton *menu_button,
                                              GtkWidget     *popover);
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 GtkPopover  *gtk_menu_button_get_popover    (GtkMenuButton *menu_button);
 
-GDK_AVAILABLE_IN_3_6
+GDK_AVAILABLE_IN_ALL
 void         gtk_menu_button_set_direction  (GtkMenuButton *menu_button,
                                              GtkArrowType   direction);
-GDK_AVAILABLE_IN_3_6
+GDK_AVAILABLE_IN_ALL
 GtkArrowType gtk_menu_button_get_direction  (GtkMenuButton *menu_button);
 
-GDK_AVAILABLE_IN_3_6
+GDK_AVAILABLE_IN_ALL
 void         gtk_menu_button_set_menu_model (GtkMenuButton *menu_button,
                                              GMenuModel    *menu_model);
-GDK_AVAILABLE_IN_3_6
+GDK_AVAILABLE_IN_ALL
 GMenuModel  *gtk_menu_button_get_menu_model (GtkMenuButton *menu_button);
 
-GDK_AVAILABLE_IN_3_6
+GDK_AVAILABLE_IN_ALL
 void         gtk_menu_button_set_align_widget (GtkMenuButton *menu_button,
                                                GtkWidget     *align_widget);
-GDK_AVAILABLE_IN_3_6
+GDK_AVAILABLE_IN_ALL
 GtkWidget   *gtk_menu_button_get_align_widget (GtkMenuButton *menu_button);
 
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 void         gtk_menu_button_set_use_popover (GtkMenuButton *menu_button,
                                               gboolean       use_popover);
 
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 gboolean     gtk_menu_button_get_use_popover (GtkMenuButton *menu_button);
 
 
diff --git a/gtk/gtkmenuitem.c b/gtk/gtkmenuitem.c
index 7dddb7a..c849677 100644
--- a/gtk/gtkmenuitem.c
+++ b/gtk/gtkmenuitem.c
@@ -605,8 +605,6 @@ gtk_menu_item_class_init (GtkMenuItemClass *klass)
    * GtkMenuItem:submenu:
    *
    * The submenu attached to the menu item, or %NULL if it has none.
-   *
-   * Since: 2.12
    */
   menu_item_props[PROP_SUBMENU] =
       g_param_spec_object ("submenu",
@@ -621,8 +619,6 @@ gtk_menu_item_class_init (GtkMenuItemClass *klass)
    * Sets the accelerator path of the menu item, through which runtime
    * changes of the menu item's accelerator caused by the user can be
    * identified and saved to persistant storage.
-   *
-   * Since: 2.14
    */
   menu_item_props[PROP_ACCEL_PATH] =
       g_param_spec_string ("accel-path",
@@ -635,8 +631,6 @@ gtk_menu_item_class_init (GtkMenuItemClass *klass)
    * GtkMenuItem:label:
    *
    * The text for the child label.
-   *
-   * Since: 2.16
    */
   menu_item_props[PROP_LABEL] =
       g_param_spec_string ("label",
@@ -649,8 +643,6 @@ gtk_menu_item_class_init (GtkMenuItemClass *klass)
    * GtkMenuItem:use-underline:
    *
    * %TRUE if underlines in the text indicate mnemonics.
-   *
-   * Since: 2.16
    */
   menu_item_props[PROP_USE_UNDERLINE] =
       g_param_spec_boolean ("use-underline",
@@ -1785,8 +1777,6 @@ gtk_menu_item_set_accel_path (GtkMenuItem *menu_item,
  *
  * Returns: (nullable) (transfer none): the accelerator path corresponding to
  *     this menu item’s functionality, or %NULL if not set
- *
- * Since: 2.14
  */
 const gchar *
 gtk_menu_item_get_accel_path (GtkMenuItem *menu_item)
@@ -1847,8 +1837,6 @@ gtk_menu_item_ensure_label (GtkMenuItem *menu_item)
  * @label: the text you want to set
  *
  * Sets @text on the @menu_item label
- *
- * Since: 2.16
  */
 void
 gtk_menu_item_set_label (GtkMenuItem *menu_item,
@@ -1867,8 +1855,6 @@ gtk_menu_item_set_label (GtkMenuItem *menu_item,
  *
  * Returns: The text in the @menu_item label. This is the internal
  *   string used by the label, and must not be modified.
- *
- * Since: 2.16
  */
 const gchar *
 gtk_menu_item_get_label (GtkMenuItem *menu_item)
@@ -1885,8 +1871,6 @@ gtk_menu_item_get_label (GtkMenuItem *menu_item)
  *
  * If true, an underline in the text indicates the next character
  * should be used for the mnemonic accelerator key.
- *
- * Since: 2.16
  */
 void
 gtk_menu_item_set_use_underline (GtkMenuItem *menu_item,
@@ -1916,8 +1900,6 @@ gtk_menu_item_set_use_underline (GtkMenuItem *menu_item,
  *
  * Returns: %TRUE if an embedded underline in the label
  *     indicates the mnemonic accelerator key.
- *
- * Since: 2.16
  */
 gboolean
 gtk_menu_item_get_use_underline (GtkMenuItem *menu_item)
@@ -1949,8 +1931,6 @@ gtk_menu_item_get_use_underline (GtkMenuItem *menu_item)
  *
  * There should be little need for applications to call
  * this functions.
- *
- * Since: 3.0
  */
 void
 gtk_menu_item_set_reserve_indicator (GtkMenuItem *menu_item,
@@ -1980,8 +1960,6 @@ gtk_menu_item_set_reserve_indicator (GtkMenuItem *menu_item,
  *
  * Returns: %TRUE if @menu_item always reserves space for the
  *     submenu indicator
- *
- * Since: 3.0
  */
 gboolean
 gtk_menu_item_get_reserve_indicator (GtkMenuItem *menu_item)
diff --git a/gtk/gtkmenushell.c b/gtk/gtkmenushell.c
index a0bdf00..ca82986 100644
--- a/gtk/gtkmenushell.c
+++ b/gtk/gtkmenushell.c
@@ -303,8 +303,6 @@ gtk_menu_shell_class_init (GtkMenuShellClass *klass)
    * another item.
    *
    * Returns: %TRUE to stop the signal emission, %FALSE to continue
-   *
-   * Since: 2.12
    */
   menu_shell_signals[MOVE_SELECTED] =
     g_signal_new (I_("move-selected"),
@@ -328,8 +326,6 @@ gtk_menu_shell_class_init (GtkMenuShellClass *klass)
    * parameter.
    *
    * The inverse of this signal is the GtkContainer::removed signal.
-   *
-   * Since: 3.2
    **/
   menu_shell_signals[INSERT] =
     g_signal_new (I_("insert"),
@@ -388,8 +384,6 @@ gtk_menu_shell_class_init (GtkMenuShellClass *klass)
    * A boolean that determines whether the menu and its submenus grab the
    * keyboard focus. See gtk_menu_shell_set_take_focus() and
    * gtk_menu_shell_get_take_focus().
-   *
-   * Since: 2.8
    **/
   g_object_class_install_property (object_class,
                                    PROP_TAKE_FOCUS,
@@ -1218,8 +1212,6 @@ gtk_menu_shell_move_selected (GtkMenuShell  *menu_shell,
  *                    popped up initially.
  *
  * Select the first visible or selectable child of the menu shell.
- *
- * Since: 2.2
  */
 void
 gtk_menu_shell_select_first (GtkMenuShell *menu_shell,
@@ -1469,8 +1461,6 @@ _gtk_menu_shell_get_popup_delay (GtkMenuShell *menu_shell)
  * @menu_shell: a #GtkMenuShell
  *
  * Cancels the selection within the menu shell.
- *
- * Since: 2.4
  */
 void
 gtk_menu_shell_cancel (GtkMenuShell *menu_shell)
@@ -1639,8 +1629,6 @@ _gtk_menu_shell_get_grab_device (GtkMenuShell *menu_shell)
  * Returns %TRUE if the menu shell will take the keyboard focus on popup.
  *
  * Returns: %TRUE if the menu shell will take the keyboard focus on popup.
- *
- * Since: 2.8
  */
 gboolean
 gtk_menu_shell_get_take_focus (GtkMenuShell *menu_shell)
@@ -1680,8 +1668,6 @@ gtk_menu_shell_get_take_focus (GtkMenuShell *menu_shell)
  * To avoid confusing the user, menus with @take_focus set to %FALSE
  * should not display mnemonics or accelerators, since it cannot be
  * guaranteed that they will work.
- *
- * Since: 2.8
  */
 void
 gtk_menu_shell_set_take_focus (GtkMenuShell *menu_shell,
@@ -1707,8 +1693,6 @@ gtk_menu_shell_set_take_focus (GtkMenuShell *menu_shell,
  * Gets the currently selected item.
  *
  * Returns: (transfer none): the currently selected item
- *
- * Since: 3.0
  */
 GtkWidget *
 gtk_menu_shell_get_selected_item (GtkMenuShell *menu_shell)
@@ -1728,8 +1712,6 @@ gtk_menu_shell_get_selected_item (GtkMenuShell *menu_shell)
  * from which it was opened up.
  *
  * Returns: (transfer none): the parent #GtkMenuShell
- *
- * Since: 3.0
  */
 GtkWidget *
 gtk_menu_shell_get_parent_shell (GtkMenuShell *menu_shell)
@@ -1925,8 +1907,6 @@ gtk_menu_shell_tracker_insert_func (GtkMenuTrackerItem *item,
  * gtk_menu_new_from_model() or gtk_menu_bar_new_from_model() or just
  * directly passing the #GMenuModel to gtk_application_set_app_menu() or
  * gtk_application_set_menubar().
- *
- * Since: 3.6
  */
 void
 gtk_menu_shell_bind_model (GtkMenuShell *menu_shell,
diff --git a/gtk/gtkmenushell.h b/gtk/gtkmenushell.h
index a321f77..d98a1d0 100644
--- a/gtk/gtkmenushell.h
+++ b/gtk/gtkmenushell.h
@@ -124,7 +124,7 @@ GtkWidget *gtk_menu_shell_get_selected_item (GtkMenuShell *menu_shell);
 GDK_AVAILABLE_IN_ALL
 GtkWidget *gtk_menu_shell_get_parent_shell  (GtkMenuShell *menu_shell);
 
-GDK_AVAILABLE_IN_3_6
+GDK_AVAILABLE_IN_ALL
 void       gtk_menu_shell_bind_model   (GtkMenuShell *menu_shell,
                                         GMenuModel   *model,
                                         const gchar  *action_namespace,
diff --git a/gtk/gtkmenutoolbutton.c b/gtk/gtkmenutoolbutton.c
index d34d02d..097b4c1 100644
--- a/gtk/gtkmenutoolbutton.c
+++ b/gtk/gtkmenutoolbutton.c
@@ -327,8 +327,6 @@ gtk_menu_tool_button_buildable_interface_init (GtkBuildableIface *iface)
  * @label as label.
  *
  * Returns: the new #GtkMenuToolButton
- *
- * Since: 2.6
  **/
 GtkToolItem *
 gtk_menu_tool_button_new (GtkWidget   *icon_widget,
@@ -361,8 +359,6 @@ _show_menu_emit (gpointer user_data)
  *
  * Sets the #GtkMenu that is popped up when the user clicks on the arrow.
  * If @menu is NULL, the arrow button becomes insensitive.
- *
- * Since: 2.6
  **/
 void
 gtk_menu_tool_button_set_menu (GtkMenuToolButton *button,
@@ -391,8 +387,6 @@ gtk_menu_tool_button_set_menu (GtkMenuToolButton *button,
  *
  * Returns: (transfer none): the #GtkMenu associated
  *     with #GtkMenuToolButton
- *
- * Since: 2.6
  **/
 GtkWidget *
 gtk_menu_tool_button_get_menu (GtkMenuToolButton *button)
@@ -416,8 +410,6 @@ gtk_menu_tool_button_get_menu (GtkMenuToolButton *button)
  * Sets the tooltip text to be used as tooltip for the arrow button which
  * pops up the menu.  See gtk_tool_item_set_tooltip_text() for setting a tooltip
  * on the whole #GtkMenuToolButton.
- *
- * Since: 2.12
  **/
 void
 gtk_menu_tool_button_set_arrow_tooltip_text (GtkMenuToolButton *button,
@@ -436,8 +428,6 @@ gtk_menu_tool_button_set_arrow_tooltip_text (GtkMenuToolButton *button,
  * Sets the tooltip markup text to be used as tooltip for the arrow button
  * which pops up the menu.  See gtk_tool_item_set_tooltip_text() for setting
  * a tooltip on the whole #GtkMenuToolButton.
- *
- * Since: 2.12
  **/
 void
 gtk_menu_tool_button_set_arrow_tooltip_markup (GtkMenuToolButton *button,
diff --git a/gtk/gtkmessagedialog.c b/gtk/gtkmessagedialog.c
index fa9f03c..08b72ee 100644
--- a/gtk/gtkmessagedialog.c
+++ b/gtk/gtkmessagedialog.c
@@ -191,8 +191,6 @@ gtk_message_dialog_class_init (GtkMessageDialogClass *class)
    * 
    * The primary text of the message dialog. If the dialog has 
    * a secondary text, this will appear as the title.
-   *
-   * Since: 2.10
    */
   g_object_class_install_property (gobject_class,
                                    PROP_TEXT,
@@ -207,8 +205,6 @@ gtk_message_dialog_class_init (GtkMessageDialogClass *class)
    * 
    * %TRUE if the primary text of the dialog includes Pango markup. 
    * See pango_parse_markup(). 
-   *
-   * Since: 2.10
    */
   g_object_class_install_property (gobject_class,
                                   PROP_USE_MARKUP,
@@ -222,8 +218,6 @@ gtk_message_dialog_class_init (GtkMessageDialogClass *class)
    * GtkMessageDialog:secondary-text:
    * 
    * The secondary text of the message dialog. 
-   *
-   * Since: 2.10
    */
   g_object_class_install_property (gobject_class,
                                    PROP_SECONDARY_TEXT,
@@ -238,8 +232,6 @@ gtk_message_dialog_class_init (GtkMessageDialogClass *class)
    * 
    * %TRUE if the secondary text of the dialog includes Pango markup. 
    * See pango_parse_markup(). 
-   *
-   * Since: 2.10
    */
   g_object_class_install_property (gobject_class,
                                   PROP_SECONDARY_USE_MARKUP,
@@ -255,8 +247,6 @@ gtk_message_dialog_class_init (GtkMessageDialogClass *class)
    * The #GtkBox that corresponds to the message area of this dialog.  See
    * gtk_message_dialog_get_message_area() for a detailed description of this
    * area.
-   *
-   * Since: 2.22
    */
   g_object_class_install_property (gobject_class,
                                   PROP_MESSAGE_AREA,
@@ -639,8 +629,6 @@ gtk_message_dialog_new (GtkWindow     *parent,
  * ]|
  * 
  * Returns: a new #GtkMessageDialog
- *
- * Since: 2.4
  **/
 GtkWidget*
 gtk_message_dialog_new_with_markup (GtkWindow     *parent,
@@ -679,8 +667,6 @@ gtk_message_dialog_new_with_markup (GtkWindow     *parent,
  * 
  * Sets the text of the message dialog to be @str, which is marked
  * up with the [Pango text markup language][PangoMarkupFormat].
- *
- * Since: 2.4
  **/
 void
 gtk_message_dialog_set_markup (GtkMessageDialog *message_dialog,
@@ -704,8 +690,6 @@ gtk_message_dialog_set_markup (GtkMessageDialog *message_dialog,
  *
  * Sets the secondary text of the message dialog to be @message_format
  * (with printf()-style).
- *
- * Since: 2.6
  */
 void
 gtk_message_dialog_format_secondary_text (GtkMessageDialog *message_dialog,
@@ -766,8 +750,6 @@ gtk_message_dialog_format_secondary_text (GtkMessageDialog *message_dialog,
  *                                             "%s", msg);
  * g_free (msg);
  * ]|
- *
- * Since: 2.6
  */
 void
 gtk_message_dialog_format_secondary_markup (GtkMessageDialog *message_dialog,
@@ -816,8 +798,6 @@ gtk_message_dialog_format_secondary_markup (GtkMessageDialog *message_dialog,
  *
  * Returns: (transfer none): A #GtkBox corresponding to the
  *     “message area” in the @message_dialog.
- *
- * Since: 2.22
  **/
 GtkWidget *
 gtk_message_dialog_get_message_area (GtkMessageDialog *message_dialog)
diff --git a/gtk/gtkmodelbutton.c b/gtk/gtkmodelbutton.c
index 7d95e40..51dff37 100644
--- a/gtk/gtkmodelbutton.c
+++ b/gtk/gtkmodelbutton.c
@@ -921,8 +921,6 @@ gtk_model_button_class_init (GtkModelButtonClass *class)
    * Specifies whether the button is a plain, check or radio button.
    * When #GtkActionable:action-name is set, the role will be determined
    * from the action and does not have to be set explicitly.
-   *
-   * Since: 3.16
    */
   properties[PROP_ROLE] =
     g_param_spec_enum ("role",
@@ -937,8 +935,6 @@ gtk_model_button_class_init (GtkModelButtonClass *class)
    *
    * A #GIcon that will be used if iconic appearance for the button is
    * desired.
-   *
-   * Since: 3.16
    */
   properties[PROP_ICON] = 
     g_param_spec_object ("icon",
@@ -951,8 +947,6 @@ gtk_model_button_class_init (GtkModelButtonClass *class)
    * GtkModelButton:text:
    *
    * The label for the button.
-   *
-   * Since: 3.16
    */
   properties[PROP_TEXT] =
     g_param_spec_string ("text",
@@ -966,8 +960,6 @@ gtk_model_button_class_init (GtkModelButtonClass *class)
    *
    * The state of the button. This is reflecting the state of the associated
    * #GAction.
-   *
-   * Since: 3.16
    */
   properties[PROP_ACTIVE] =
     g_param_spec_boolean ("active",
@@ -981,8 +973,6 @@ gtk_model_button_class_init (GtkModelButtonClass *class)
    *
    * The name of a submenu to open when the button is activated.
    * If this is set, the button should not have an action associated with it.
-   *
-   * Since: 3.16
    */
   properties[PROP_MENU_NAME] =
     g_param_spec_string ("menu-name",
@@ -997,8 +987,6 @@ gtk_model_button_class_init (GtkModelButtonClass *class)
    * Whether to show the submenu indicator at the opposite side than normal.
    * This property should be set for model buttons that 'go back' to a parent
    * menu.
-   *
-   * Since: 3.16
    */
   properties[PROP_INVERTED] =
     g_param_spec_boolean ("inverted",
@@ -1012,8 +1000,6 @@ gtk_model_button_class_init (GtkModelButtonClass *class)
    *
    * Wether to render the button contents centered instead of left-aligned.
    * This property should be set for title-like items.
-   *
-   * Since: 3.16
    */
   properties[PROP_CENTERED] =
     g_param_spec_boolean ("centered",
@@ -1028,8 +1014,6 @@ gtk_model_button_class_init (GtkModelButtonClass *class)
    * If this property is set, the button will show an icon if one is set.
    * If no icon is set, the text will be used. This is typically used for
    * horizontal sections of linked buttons.
-   *
-   * Since: 3.16
    */
   properties[PROP_ICONIC] =
     g_param_spec_boolean ("iconic",
@@ -1070,8 +1054,6 @@ gtk_model_button_init (GtkModelButton *button)
  * Creates a new GtkModelButton.
  *
  * Returns: the newly created #GtkModelButton widget
- *
- * Since: 3.16
  */
 GtkWidget *
 gtk_model_button_new (void)
diff --git a/gtk/gtkmodelbutton.h b/gtk/gtkmodelbutton.h
index 3ac8eb0..c559046 100644
--- a/gtk/gtkmodelbutton.h
+++ b/gtk/gtkmodelbutton.h
@@ -50,10 +50,10 @@ typedef enum {
   GTK_BUTTON_ROLE_RADIO
 } GtkButtonRole;
 
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 GType       gtk_model_button_get_type (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 GtkWidget * gtk_model_button_new      (void);
 
 G_END_DECLS
diff --git a/gtk/gtkmodules.h b/gtk/gtkmodules.h
index 29409b7..d851cd0 100644
--- a/gtk/gtkmodules.h
+++ b/gtk/gtkmodules.h
@@ -44,8 +44,6 @@ typedef void     (*GtkModuleInitFunc)        (gint        *argc,
  *
  * A multihead-aware GTK+ module may have a gtk_module_display_init() function
  * with this prototype. GTK+ calls this function for each opened display.
- *
- * Since: 2.2
  */
 typedef void     (*GtkModuleDisplayInitFunc) (GdkDisplay   *display);
 
diff --git a/gtk/gtkmountoperation.c b/gtk/gtkmountoperation.c
index 1bd74cc..889c7fc 100644
--- a/gtk/gtkmountoperation.c
+++ b/gtk/gtkmountoperation.c
@@ -1650,8 +1650,6 @@ gtk_mount_operation_aborted (GMountOperation *op)
  * Creates a new #GtkMountOperation
  *
  * Returns: a new #GtkMountOperation
- *
- * Since: 2.14
  */
 GMountOperation *
 gtk_mount_operation_new (GtkWindow *parent)
@@ -1672,8 +1670,6 @@ gtk_mount_operation_new (GtkWindow *parent)
  * a window.
  *
  * Returns: %TRUE if @op is currently displaying a window
- *
- * Since: 2.14
  */
 gboolean
 gtk_mount_operation_is_showing (GtkMountOperation *op)
@@ -1690,8 +1686,6 @@ gtk_mount_operation_is_showing (GtkMountOperation *op)
  *
  * Sets the transient parent for windows shown by the
  * #GtkMountOperation.
- *
- * Since: 2.14
  */
 void
 gtk_mount_operation_set_parent (GtkMountOperation *op,
@@ -1736,8 +1730,6 @@ gtk_mount_operation_set_parent (GtkMountOperation *op,
  * Gets the transient parent used by the #GtkMountOperation
  *
  * Returns: (transfer none): the transient parent for windows shown by @op
- *
- * Since: 2.14
  */
 GtkWindow *
 gtk_mount_operation_get_parent (GtkMountOperation *op)
@@ -1753,8 +1745,6 @@ gtk_mount_operation_get_parent (GtkMountOperation *op)
  * @display: a #Gdk
  *
  * Sets the display to show windows of the #GtkMountOperation on.
- *
- * Since: 3.94
  */
 void
 gtk_mount_operation_set_display (GtkMountOperation *op,
@@ -1789,8 +1779,6 @@ gtk_mount_operation_set_display (GtkMountOperation *op,
  * will be shown.
  *
  * Returns: (transfer none): the display on which windows of @op are shown
- *
- * Since: 3.94
  */
 GdkDisplay *
 gtk_mount_operation_get_display (GtkMountOperation *op)
diff --git a/gtk/gtkmountoperation.h b/gtk/gtkmountoperation.h
index a2e5c9b..3bb1787 100644
--- a/gtk/gtkmountoperation.h
+++ b/gtk/gtkmountoperation.h
@@ -83,10 +83,10 @@ void             gtk_mount_operation_set_parent (GtkMountOperation *op,
                                                  GtkWindow         *parent);
 GDK_AVAILABLE_IN_ALL
 GtkWindow *      gtk_mount_operation_get_parent (GtkMountOperation *op);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void             gtk_mount_operation_set_display(GtkMountOperation *op,
                                                  GdkDisplay        *display);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GdkDisplay *     gtk_mount_operation_get_display(GtkMountOperation *op);
 
 G_END_DECLS
diff --git a/gtk/gtknativedialog.c b/gtk/gtknativedialog.c
index eb5b9cc..931e2a0 100644
--- a/gtk/gtknativedialog.c
+++ b/gtk/gtknativedialog.c
@@ -206,8 +206,6 @@ gtk_native_dialog_class_init (GtkNativeDialogClass *class)
    * GtkNativeDialog:title:
    *
    * The title of the dialog window
-   *
-   * Since: 3.20
    */
   native_props[PROP_TITLE] =
     g_param_spec_string ("title",
@@ -220,8 +218,6 @@ gtk_native_dialog_class_init (GtkNativeDialogClass *class)
    * GtkNativeDialog:modal:
    *
    * Whether the window should be modal with respect to its transient parent.
-   *
-   * Since: 3.20
    */
   native_props[PROP_MODAL] =
     g_param_spec_boolean ("modal",
@@ -234,8 +230,6 @@ gtk_native_dialog_class_init (GtkNativeDialogClass *class)
    * GtkNativeDialog:visible:
    *
    * Whether the window is currenlty visible.
-   *
-   * Since: 3.20
    */
   native_props[PROP_VISIBLE] =
     g_param_spec_boolean ("visible",
@@ -248,8 +242,6 @@ gtk_native_dialog_class_init (GtkNativeDialogClass *class)
    * GtkNativeDialog:transient-for:
    *
    * The transient parent of the dialog, or %NULL for none.
-   *
-   * Since: 3.20
    */
   native_props[PROP_TRANSIENT_FOR] =
     g_param_spec_object ("transient-for",
@@ -271,8 +263,6 @@ gtk_native_dialog_class_init (GtkNativeDialogClass *class)
    *
    * If you call gtk_native_dialog_hide() before the user responds to
    * the dialog this signal will not be emitted.
-   *
-   * Since: 3.20
    */
   native_signals[RESPONSE] =
     g_signal_new (I_("response"),
@@ -300,8 +290,6 @@ gtk_native_dialog_init (GtkNativeDialog *self)
  * will be emitted.
  *
  * Multiple calls while the dialog is visible will be ignored.
- *
- * Since: 3.20
  **/
 void
 gtk_native_dialog_show (GtkNativeDialog *self)
@@ -333,8 +321,6 @@ gtk_native_dialog_show (GtkNativeDialog *self)
  * until after the next call to gtk_native_dialog_show().
  *
  * If the dialog is not visible this does nothing.
- *
- * Since: 3.20
  **/
 void
 gtk_native_dialog_hide (GtkNativeDialog *self)
@@ -374,8 +360,6 @@ gtk_native_dialog_hide (GtkNativeDialog *self)
  * Note that this does not release any reference to the object (as opposed to
  * destroying a GtkWindow) because there is no reference from the windowing
  * system to the #GtkNativeDialog.
- *
- * Since: 3.20
  **/
 void
 gtk_native_dialog_destroy (GtkNativeDialog *self)
@@ -403,8 +387,6 @@ _gtk_native_dialog_emit_response (GtkNativeDialog *self,
  * Determines whether the dialog is visible.
  *
  * Returns: %TRUE if the dialog is visible
- *
- * Since: 3.20
  **/
 gboolean
 gtk_native_dialog_get_visible (GtkNativeDialog *self)
@@ -427,8 +409,6 @@ gtk_native_dialog_get_visible (GtkNativeDialog *self)
  * gtk_native_dialog_set_transient_for() to make the dialog transient for the
  * parent; most [window managers][gtk-X11-arch]
  * will then disallow lowering the dialog below the parent.
- *
- * Since: 3.20
  **/
 void
 gtk_native_dialog_set_modal (GtkNativeDialog *self,
@@ -454,8 +434,6 @@ gtk_native_dialog_set_modal (GtkNativeDialog *self,
  * Returns whether the dialog is modal. See gtk_native_dialog_set_modal().
  *
  * Returns: %TRUE if the dialog is set to be modal
- *
- * Since: 3.20
  **/
 gboolean
 gtk_native_dialog_get_modal (GtkNativeDialog *self)
@@ -473,8 +451,6 @@ gtk_native_dialog_get_modal (GtkNativeDialog *self)
  * @title: title of the dialog
  *
  * Sets the title of the #GtkNativeDialog.
- *
- * Since: 3.20
  **/
 void
 gtk_native_dialog_set_title (GtkNativeDialog *self,
@@ -499,8 +475,6 @@ gtk_native_dialog_set_title (GtkNativeDialog *self,
  * Returns: (nullable): the title of the dialog, or %NULL if none has
  *    been set explicitly. The returned string is owned by the widget
  *    and must not be modified or freed.
- *
- * Since: 3.20
  **/
 const char *
 gtk_native_dialog_get_title (GtkNativeDialog *self)
@@ -524,8 +498,6 @@ gtk_native_dialog_get_title (GtkNativeDialog *self)
  * main window.
  *
  * Passing %NULL for @parent unsets the current transient window.
- *
- * Since: 3.20
  */
 void
 gtk_native_dialog_set_transient_for (GtkNativeDialog *self,
@@ -548,8 +520,6 @@ gtk_native_dialog_set_transient_for (GtkNativeDialog *self,
  *
  * Returns: (nullable) (transfer none): the transient parent for this window,
  * or %NULL if no transient parent has been set.
- *
- * Since: 3.20
  **/
 GtkWindow *
 gtk_native_dialog_get_transient_for (GtkNativeDialog *self)
@@ -608,8 +578,6 @@ run_response_cb (GtkNativeDialog *self,
  * be triggered during a gtk_nautilus_dialog_run() call.
  *
  * Returns: response ID
- *
- * Since: 3.20
  **/
 gint
 gtk_native_dialog_run (GtkNativeDialog *self)
diff --git a/gtk/gtknativedialog.h b/gtk/gtknativedialog.h
index de1a655..00d3453 100644
--- a/gtk/gtknativedialog.h
+++ b/gtk/gtknativedialog.h
@@ -29,7 +29,7 @@ G_BEGIN_DECLS
 
 #define GTK_TYPE_NATIVE_DIALOG             (gtk_native_dialog_get_type ())
 
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (GtkNativeDialog, gtk_native_dialog, GTK, NATIVE_DIALOG, GObject)
 
 struct _GtkNativeDialogClass
@@ -49,31 +49,31 @@ struct _GtkNativeDialogClass
   void (*_gtk_reserved4) (void);
 };
 
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 void                  gtk_native_dialog_show (GtkNativeDialog *self);
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 void                  gtk_native_dialog_hide (GtkNativeDialog *self);
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 void                  gtk_native_dialog_destroy (GtkNativeDialog *self);
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 gboolean              gtk_native_dialog_get_visible (GtkNativeDialog *self);
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 void                  gtk_native_dialog_set_modal (GtkNativeDialog *self,
                                                    gboolean modal);
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 gboolean              gtk_native_dialog_get_modal (GtkNativeDialog *self);
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 void                  gtk_native_dialog_set_title (GtkNativeDialog *self,
                                                    const char *title);
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 const char *          gtk_native_dialog_get_title (GtkNativeDialog *self);
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 void                  gtk_native_dialog_set_transient_for (GtkNativeDialog *self,
                                                            GtkWindow *parent);
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 GtkWindow *           gtk_native_dialog_get_transient_for (GtkNativeDialog *self);
 
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 gint                  gtk_native_dialog_run (GtkNativeDialog *self);
 
 G_END_DECLS
diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c
index 9e41a7f..6591875 100644
--- a/gtk/gtknotebook.c
+++ b/gtk/gtknotebook.c
@@ -754,8 +754,6 @@ gtk_notebook_class_init (GtkNotebookClass *class)
    * GtkNotebook:group-name:
    *
    * Group name for tab drag and drop.
-   *
-   * Since: 2.24
    */
   properties[PROP_GROUP_NAME] =
       g_param_spec_string ("group-name",
@@ -889,8 +887,6 @@ gtk_notebook_class_init (GtkNotebookClass *class)
    *
    * the ::page-reordered signal is emitted in the notebook
    * right after a page has been reordered.
-   *
-   * Since: 2.10
    */
   notebook_signals[PAGE_REORDERED] =
     g_signal_new (I_("page-reordered"),
@@ -910,8 +906,6 @@ gtk_notebook_class_init (GtkNotebookClass *class)
    *
    * the ::page-removed signal is emitted in the notebook
    * right after a page is removed from the notebook.
-   *
-   * Since: 2.10
    */
   notebook_signals[PAGE_REMOVED] =
     g_signal_new (I_("page-removed"),
@@ -931,8 +925,6 @@ gtk_notebook_class_init (GtkNotebookClass *class)
    *
    * the ::page-added signal is emitted in the notebook
    * right after a page is added to the notebook.
-   *
-   * Since: 2.10
    */
   notebook_signals[PAGE_ADDED] =
     g_signal_new (I_("page-added"),
@@ -963,8 +955,6 @@ gtk_notebook_class_init (GtkNotebookClass *class)
    *
    * Returns: (transfer none): a #GtkNotebook that @page should be
    *     added to, or %NULL.
-   *
-   * Since: 2.12
    */
   notebook_signals[CREATE_WINDOW] =
     g_signal_new (I_("create-window"),
@@ -3197,8 +3187,6 @@ gtk_notebook_drag_drop (GtkWidget        *widget,
  * but additionally informs the notebook that the removal
  * is happening as part of a tab DND operation, which should
  * not be cancelled.
- *
- * Since: 3.16
  */
 void
 gtk_notebook_detach_tab (GtkNotebook *notebook,
@@ -5934,8 +5922,6 @@ gtk_notebook_get_nth_page (GtkNotebook *notebook,
  * Gets the number of pages in a notebook.
  *
  * Returns: the number of pages in the notebook
- *
- * Since: 2.2
  */
 gint
 gtk_notebook_get_n_pages (GtkNotebook *notebook)
@@ -6960,8 +6946,6 @@ gtk_notebook_reorder_child (GtkNotebook *notebook,
  * Notebooks with the same name will be able to exchange tabs
  * via drag and drop. A notebook with a %NULL group name will
  * not be able to exchange tabs with any other notebook.
- *
- * Since: 2.24
  */
 void
 gtk_notebook_set_group_name (GtkNotebook *notebook,
@@ -6991,8 +6975,6 @@ gtk_notebook_set_group_name (GtkNotebook *notebook,
  * Gets the current group name for @notebook.
  *
  * Returns: (nullable) (transfer none): the group name, or %NULL if none is set
- *
- * Since: 2.24
  */
 const gchar *
 gtk_notebook_get_group_name (GtkNotebook *notebook)
@@ -7010,8 +6992,6 @@ gtk_notebook_get_group_name (GtkNotebook *notebook)
  * Gets whether the tab can be reordered via drag and drop or not.
  *
  * Returns: %TRUE if the tab is reorderable.
- *
- * Since: 2.10
  */
 gboolean
 gtk_notebook_get_tab_reorderable (GtkNotebook *notebook,
@@ -7036,8 +7016,6 @@ gtk_notebook_get_tab_reorderable (GtkNotebook *notebook,
  *
  * Sets whether the notebook tab can be reordered
  * via drag and drop or not.
- *
- * Since: 2.10
  */
 void
 gtk_notebook_set_tab_reorderable (GtkNotebook *notebook,
@@ -7077,8 +7055,6 @@ gtk_notebook_set_tab_reorderable (GtkNotebook *notebook,
  * Returns whether the tab contents can be detached from @notebook.
  *
  * Returns: %TRUE if the tab is detachable.
- *
- * Since: 2.10
  */
 gboolean
 gtk_notebook_get_tab_detachable (GtkNotebook *notebook,
@@ -7143,8 +7119,6 @@ gtk_notebook_get_tab_detachable (GtkNotebook *notebook,
  *
  * If you want a notebook to accept drags from other widgets,
  * you will have to set your own DnD code to do it.
- *
- * Since: 2.10
  */
 void
 gtk_notebook_set_tab_detachable (GtkNotebook *notebook,
@@ -7177,8 +7151,6 @@ gtk_notebook_set_tab_detachable (GtkNotebook *notebook,
  *
  * Returns: (nullable) (transfer none): The action widget with the given
  * @pack_type or %NULL when this action widget has not been set
- *
- * Since: 2.20
  */
 GtkWidget*
 gtk_notebook_get_action_widget (GtkNotebook *notebook,
@@ -7201,8 +7173,6 @@ gtk_notebook_get_action_widget (GtkNotebook *notebook,
  *
  * Note that action widgets are “internal” children of the notebook and thus
  * not included in the list returned from gtk_container_foreach().
- *
- * Since: 2.20
  */
 void
 gtk_notebook_set_action_widget (GtkNotebook *notebook,
diff --git a/gtk/gtknotebook.h b/gtk/gtknotebook.h
index 599c54d..6de9d8c 100644
--- a/gtk/gtknotebook.h
+++ b/gtk/gtknotebook.h
@@ -277,7 +277,7 @@ GDK_AVAILABLE_IN_ALL
 void gtk_notebook_set_tab_detachable      (GtkNotebook *notebook,
                                           GtkWidget   *child,
                                           gboolean     detachable);
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 void gtk_notebook_detach_tab              (GtkNotebook *notebook,
                                            GtkWidget   *child);
 
diff --git a/gtk/gtkorientable.c b/gtk/gtkorientable.c
index f66fe04..9612e54 100644
--- a/gtk/gtkorientable.c
+++ b/gtk/gtkorientable.c
@@ -51,8 +51,6 @@ gtk_orientable_default_init (GtkOrientableInterface *iface)
    * GtkOrientable:orientation:
    *
    * The orientation of the orientable.
-   *
-   * Since: 2.16
    **/
   g_object_interface_install_property (iface,
                                        g_param_spec_enum ("orientation",
@@ -69,8 +67,6 @@ gtk_orientable_default_init (GtkOrientableInterface *iface)
  * @orientation: the orientable’s new orientation.
  *
  * Sets the orientation of the @orientable.
- *
- * Since: 2.16
  **/
 void
 gtk_orientable_set_orientation (GtkOrientable  *orientable,
@@ -93,8 +89,6 @@ gtk_orientable_set_orientation (GtkOrientable  *orientable,
  * Retrieves the orientation of the @orientable.
  *
  * Returns: the orientation of the @orientable.
- *
- * Since: 2.16
  **/
 GtkOrientation
 gtk_orientable_get_orientation (GtkOrientable *orientable)
diff --git a/gtk/gtkoverlay.c b/gtk/gtkoverlay.c
index e7b969c..f4c06b1 100644
--- a/gtk/gtkoverlay.c
+++ b/gtk/gtkoverlay.c
@@ -401,8 +401,6 @@ gtk_overlay_remove (GtkContainer *container,
  * A widget’s index in the @overlay children list determines which order
  * the children are drawn if they overlap. The first child is drawn at
  * the bottom. It also affects the default focus chain order.
- *
- * Since: 3.18
  */
 void
 gtk_overlay_reorder_overlay (GtkOverlay *overlay,
@@ -738,8 +736,6 @@ gtk_overlay_class_init (GtkOverlayClass *klass)
    * GtkOverlay:pass-through:
    *
    * Pass through input, does not affect main child.
-   *
-   * Since: 3.18
    */
   gtk_container_class_install_child_property (container_class, CHILD_PROP_PASS_THROUGH,
       g_param_spec_boolean ("pass-through", P_("Pass Through"), P_("Pass through input, does not affect main 
child"),
@@ -750,8 +746,6 @@ gtk_overlay_class_init (GtkOverlayClass *klass)
    * GtkOverlay:blur:
    *
    * Blur the content behind this child with a Gaussian blur of this radius.
-   *
-   * Since: 3.92
    */
   gtk_container_class_install_child_property (container_class, CHILD_PROP_BLUR,
       g_param_spec_double ("blur", P_("Blur Radius"), P_("Apply a blur to the content behind this child"),
@@ -761,8 +755,6 @@ gtk_overlay_class_init (GtkOverlayClass *klass)
    * GtkOverlay:index:
    *
    * The index of the overlay in the parent, -1 for the main child.
-   *
-   * Since: 3.18
    */
   gtk_container_class_install_child_property (container_class, CHILD_PROP_INDEX,
                                              g_param_spec_int ("index",
@@ -846,8 +838,6 @@ gtk_overlay_buildable_init (GtkBuildableIface *iface)
  * Creates a new #GtkOverlay.
  *
  * Returns: a new #GtkOverlay object.
- *
- * Since: 3.2
  */
 GtkWidget *
 gtk_overlay_new (void)
@@ -867,8 +857,6 @@ gtk_overlay_new (void)
  *
  * The position at which @widget is placed is determined
  * from its #GtkWidget:halign and #GtkWidget:valign properties.
- *
- * Since: 3.2
  */
 void
 gtk_overlay_add_overlay (GtkOverlay *overlay,
@@ -899,8 +887,6 @@ gtk_overlay_add_overlay (GtkOverlay *overlay,
  *
  * Convenience function to set the value of the #GtkOverlay:pass-through
  * child property for @widget.
- *
- * Since: 3.18
  */
 void
 gtk_overlay_set_overlay_pass_through (GtkOverlay *overlay,
@@ -924,8 +910,6 @@ gtk_overlay_set_overlay_pass_through (GtkOverlay *overlay,
  * child property for @widget.
  *
  * Returns: whether the widget is a pass through child.
- *
- * Since: 3.18
  */
 gboolean
 gtk_overlay_get_overlay_pass_through (GtkOverlay *overlay,
diff --git a/gtk/gtkoverlay.h b/gtk/gtkoverlay.h
index bf9fc62..2de50f4 100644
--- a/gtk/gtkoverlay.h
+++ b/gtk/gtkoverlay.h
@@ -76,21 +76,21 @@ struct _GtkOverlayClass
   void (*_gtk_reserved8) (void);
 };
 
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 GType      gtk_overlay_get_type    (void) G_GNUC_CONST;
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 GtkWidget *gtk_overlay_new         (void);
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 void       gtk_overlay_add_overlay (GtkOverlay *overlay,
                                     GtkWidget  *widget);
-GDK_AVAILABLE_IN_3_18
+GDK_AVAILABLE_IN_ALL
 void       gtk_overlay_reorder_overlay (GtkOverlay     *overlay,
                                        GtkWidget      *child,
                                        gint            position);
-GDK_AVAILABLE_IN_3_18
+GDK_AVAILABLE_IN_ALL
 gboolean   gtk_overlay_get_overlay_pass_through (GtkOverlay *overlay,
                                                 GtkWidget  *widget);
-GDK_AVAILABLE_IN_3_18
+GDK_AVAILABLE_IN_ALL
 void       gtk_overlay_set_overlay_pass_through (GtkOverlay *overlay,
                                                 GtkWidget  *widget,
                                                 gboolean    pass_through);
diff --git a/gtk/gtkpadcontroller.c b/gtk/gtkpadcontroller.c
index 9161416..6c102c5 100644
--- a/gtk/gtkpadcontroller.c
+++ b/gtk/gtkpadcontroller.c
@@ -402,8 +402,6 @@ gtk_pad_controller_init (GtkPadController *controller)
  * gtk_pad_controller_set_action().
  *
  * Returns: A newly created #GtkPadController
- *
- * Since: 3.22
  **/
 GtkPadController *
 gtk_pad_controller_new (GtkWindow    *window,
@@ -460,8 +458,6 @@ gtk_pad_controller_add_entry (GtkPadController        *controller,
  *
  * This is a convenience function to add a group of action entries on
  * @controller. See #GtkPadActionEntry and gtk_pad_controller_set_action().
- *
- * Since: 3.22
  **/
 void
 gtk_pad_controller_set_action_entries (GtkPadController        *controller,
@@ -495,8 +491,6 @@ gtk_pad_controller_set_action_entries (GtkPadController        *controller,
  * The given @label should be considered user-visible, so internationalization
  * rules apply. Some windowing systems may be able to use those for user
  * feedback.
- *
- * Since: 3.22
  **/
 void
 gtk_pad_controller_set_action (GtkPadController *controller,
diff --git a/gtk/gtkpadcontroller.h b/gtk/gtkpadcontroller.h
index f6a5f40..0383026 100644
--- a/gtk/gtkpadcontroller.h
+++ b/gtk/gtkpadcontroller.h
@@ -74,19 +74,19 @@ struct _GtkPadActionEntry {
   gchar *action_name;
 };
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 GType gtk_pad_controller_get_type           (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 GtkPadController *gtk_pad_controller_new    (GtkWindow        *window,
                                              GActionGroup     *group,
                                              GdkDevice        *pad);
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 void  gtk_pad_controller_set_action_entries (GtkPadController        *controller,
                                              const GtkPadActionEntry *entries,
                                              gint                     n_entries);
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 void  gtk_pad_controller_set_action         (GtkPadController *controller,
                                              GtkPadActionType  type,
                                              gint              index,
diff --git a/gtk/gtkpagesetup.c b/gtk/gtkpagesetup.c
index 9c81343..f1856c7 100644
--- a/gtk/gtkpagesetup.c
+++ b/gtk/gtkpagesetup.c
@@ -134,8 +134,6 @@ gtk_page_setup_class_init (GtkPageSetupClass *class)
  * Creates a new #GtkPageSetup. 
  * 
  * Returns: a new #GtkPageSetup.
- *
- * Since: 2.10
  */
 GtkPageSetup *
 gtk_page_setup_new (void)
@@ -150,8 +148,6 @@ gtk_page_setup_new (void)
  * Copies a #GtkPageSetup.
  *
  * Returns: (transfer full): a copy of @other
- *
- * Since: 2.10
  */
 GtkPageSetup *
 gtk_page_setup_copy (GtkPageSetup *other)
@@ -177,8 +173,6 @@ gtk_page_setup_copy (GtkPageSetup *other)
  * Gets the page orientation of the #GtkPageSetup.
  * 
  * Returns: the page orientation
- *
- * Since: 2.10
  */
 GtkPageOrientation
 gtk_page_setup_get_orientation (GtkPageSetup *setup)
@@ -192,8 +186,6 @@ gtk_page_setup_get_orientation (GtkPageSetup *setup)
  * @orientation: a #GtkPageOrientation value
  * 
  * Sets the page orientation of the #GtkPageSetup.
- *
- * Since: 2.10
  */
 void
 gtk_page_setup_set_orientation (GtkPageSetup       *setup,
@@ -209,8 +201,6 @@ gtk_page_setup_set_orientation (GtkPageSetup       *setup,
  * Gets the paper size of the #GtkPageSetup.
  * 
  * Returns: (transfer none): the paper size
- *
- * Since: 2.10
  */
 GtkPaperSize *
 gtk_page_setup_get_paper_size (GtkPageSetup *setup)
@@ -228,8 +218,6 @@ gtk_page_setup_get_paper_size (GtkPageSetup *setup)
  * Sets the paper size of the #GtkPageSetup without
  * changing the margins. See 
  * gtk_page_setup_set_paper_size_and_default_margins().
- *
- * Since: 2.10
  */
 void
 gtk_page_setup_set_paper_size (GtkPageSetup *setup,
@@ -255,8 +243,6 @@ gtk_page_setup_set_paper_size (GtkPageSetup *setup,
  * 
  * Sets the paper size of the #GtkPageSetup and modifies
  * the margins according to the new paper size.
- *
- * Since: 2.10
  */
 void
 gtk_page_setup_set_paper_size_and_default_margins (GtkPageSetup *setup,
@@ -277,8 +263,6 @@ gtk_page_setup_set_paper_size_and_default_margins (GtkPageSetup *setup,
  * Gets the top margin in units of @unit.
  * 
  * Returns: the top margin
- *
- * Since: 2.10
  */
 gdouble
 gtk_page_setup_get_top_margin (GtkPageSetup *setup,
@@ -294,8 +278,6 @@ gtk_page_setup_get_top_margin (GtkPageSetup *setup,
  * @unit: the units for @margin
  * 
  * Sets the top margin of the #GtkPageSetup.
- *
- * Since: 2.10
  */
 void
 gtk_page_setup_set_top_margin (GtkPageSetup *setup,
@@ -313,8 +295,6 @@ gtk_page_setup_set_top_margin (GtkPageSetup *setup,
  * Gets the bottom margin in units of @unit.
  * 
  * Returns: the bottom margin
- *
- * Since: 2.10
  */
 gdouble
 gtk_page_setup_get_bottom_margin (GtkPageSetup *setup,
@@ -330,8 +310,6 @@ gtk_page_setup_get_bottom_margin (GtkPageSetup *setup,
  * @unit: the units for @margin
  * 
  * Sets the bottom margin of the #GtkPageSetup.
- *
- * Since: 2.10
  */
 void
 gtk_page_setup_set_bottom_margin (GtkPageSetup *setup,
@@ -349,8 +327,6 @@ gtk_page_setup_set_bottom_margin (GtkPageSetup *setup,
  * Gets the left margin in units of @unit.
  * 
  * Returns: the left margin
- *
- * Since: 2.10
  */
 gdouble
 gtk_page_setup_get_left_margin (GtkPageSetup *setup,
@@ -366,8 +342,6 @@ gtk_page_setup_get_left_margin (GtkPageSetup *setup,
  * @unit: the units for @margin
  * 
  * Sets the left margin of the #GtkPageSetup.
- *
- * Since: 2.10
  */
 void
 gtk_page_setup_set_left_margin (GtkPageSetup *setup,
@@ -385,8 +359,6 @@ gtk_page_setup_set_left_margin (GtkPageSetup *setup,
  * Gets the right margin in units of @unit.
  * 
  * Returns: the right margin
- *
- * Since: 2.10
  */
 gdouble
 gtk_page_setup_get_right_margin (GtkPageSetup *setup,
@@ -402,8 +374,6 @@ gtk_page_setup_get_right_margin (GtkPageSetup *setup,
  * @unit: the units for @margin
  * 
  * Sets the right margin of the #GtkPageSetup.
- *
- * Since: 2.10
  */
 void
 gtk_page_setup_set_right_margin (GtkPageSetup *setup,
@@ -425,8 +395,6 @@ gtk_page_setup_set_right_margin (GtkPageSetup *setup,
  * See gtk_page_setup_get_page_width().
  *
  * Returns: the paper width.
- *
- * Since: 2.10
  */
 gdouble
 gtk_page_setup_get_paper_width (GtkPageSetup *setup,
@@ -451,8 +419,6 @@ gtk_page_setup_get_paper_width (GtkPageSetup *setup,
  * See gtk_page_setup_get_page_height().
  *
  * Returns: the paper height.
- *
- * Since: 2.10
  */
 gdouble
 gtk_page_setup_get_paper_height (GtkPageSetup *setup,
@@ -477,8 +443,6 @@ gtk_page_setup_get_paper_height (GtkPageSetup *setup,
  * See gtk_page_setup_get_paper_width().
  *
  * Returns: the page width.
- *
- * Since: 2.10
  */
 gdouble
 gtk_page_setup_get_page_width (GtkPageSetup *setup,
@@ -508,8 +472,6 @@ gtk_page_setup_get_page_width (GtkPageSetup *setup,
  * See gtk_page_setup_get_paper_height().
  *
  * Returns: the page height.
- *
- * Since: 2.10
  */
 gdouble
 gtk_page_setup_get_page_height (GtkPageSetup *setup,
@@ -537,8 +499,6 @@ gtk_page_setup_get_page_height (GtkPageSetup *setup,
  * See gtk_page_setup_to_file().
  *
  * Returns: %TRUE on success
- *
- * Since: 2.14
  */
 gboolean
 gtk_page_setup_load_file (GtkPageSetup *setup,
@@ -572,8 +532,6 @@ gtk_page_setup_load_file (GtkPageSetup *setup,
  * or %NULL if an error occurred. See gtk_page_setup_to_file().
  *
  * Returns: the restored #GtkPageSetup
- * 
- * Since: 2.12
  */
 GtkPageSetup *
 gtk_page_setup_new_from_file (const gchar  *file_name,
@@ -623,8 +581,6 @@ string_to_enum (GType type,
  * @key_file.
  * 
  * Returns: %TRUE on success
- *
- * Since: 2.14
  */
 gboolean
 gtk_page_setup_load_key_file (GtkPageSetup *setup,
@@ -712,8 +668,6 @@ out:
  * page setup, or %NULL if an error occurred.
  *
  * Returns: the restored #GtkPageSetup
- *
- * Since: 2.12
  */
 GtkPageSetup *
 gtk_page_setup_new_from_key_file (GKeyFile     *key_file,
@@ -740,8 +694,6 @@ gtk_page_setup_new_from_key_file (GKeyFile     *key_file,
  * This function saves the information from @setup to @file_name.
  * 
  * Returns: %TRUE on success
- *
- * Since: 2.12
  */
 gboolean
 gtk_page_setup_to_file (GtkPageSetup  *setup,
@@ -800,8 +752,6 @@ enum_to_string (GType type,
  *      or %NULL to use the default name “Page Setup”
  * 
  * This function adds the page setup from @setup to @key_file.
- * 
- * Since: 2.12
  */
 void
 gtk_page_setup_to_key_file (GtkPageSetup *setup,
@@ -845,8 +795,6 @@ gtk_page_setup_to_key_file (GtkPageSetup *setup,
  * Serialize page setup to an a{sv} variant.
  *
  * Return: (transfer none): a new, floating, #GVariant
- *
- * Since: 3.22
  */
 GVariant *
 gtk_page_setup_to_gvariant (GtkPageSetup *setup)
@@ -886,8 +834,6 @@ gtk_page_setup_to_gvariant (GtkPageSetup *setup)
  * the format produced by gtk_page_setup_to_gvariant().
  *
  * Returns: (transfer full): a new #GtkPageSetup object
- *
- * Since: 3.22
  */
 GtkPageSetup *
 gtk_page_setup_new_from_gvariant (GVariant *variant)
diff --git a/gtk/gtkpagesetup.h b/gtk/gtkpagesetup.h
index f6474f5..a8a7f3e 100644
--- a/gtk/gtkpagesetup.h
+++ b/gtk/gtkpagesetup.h
@@ -127,9 +127,9 @@ void                   gtk_page_setup_to_key_file       (GtkPageSetup        *setup,
                                                     GKeyFile            *key_file,
                                                     const gchar         *group_name);
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 GVariant          *gtk_page_setup_to_gvariant       (GtkPageSetup        *setup);
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 GtkPageSetup      *gtk_page_setup_new_from_gvariant (GVariant            *variant);
 
 G_END_DECLS
diff --git a/gtk/gtkpagesetupunixdialog.c b/gtk/gtkpagesetupunixdialog.c
index 044b5ed..b836a43 100644
--- a/gtk/gtkpagesetupunixdialog.c
+++ b/gtk/gtkpagesetupunixdialog.c
@@ -880,8 +880,6 @@ page_name_func (GtkCellLayout   *cell_layout,
  * Creates a new page setup dialog.
  *
  * Returns: the new #GtkPageSetupUnixDialog
- *
- * Since: 2.10
  */
 GtkWidget *
 gtk_page_setup_unix_dialog_new (const gchar *title,
@@ -948,8 +946,6 @@ set_orientation (GtkPageSetupUnixDialog *dialog,
  *
  * Sets the #GtkPageSetup from which the page setup
  * dialog takes its values.
- *
- * Since: 2.10
  **/
 void
 gtk_page_setup_unix_dialog_set_page_setup (GtkPageSetupUnixDialog *dialog,
@@ -969,8 +965,6 @@ gtk_page_setup_unix_dialog_set_page_setup (GtkPageSetupUnixDialog *dialog,
  * Gets the currently selected page setup from the dialog.
  *
  * Returns: (transfer none): the current page setup
- *
- * Since: 2.10
  **/
 GtkPageSetup *
 gtk_page_setup_unix_dialog_get_page_setup (GtkPageSetupUnixDialog *dialog)
@@ -1027,8 +1021,6 @@ set_active_printer (GtkPageSetupUnixDialog *dialog,
  *
  * Sets the #GtkPrintSettings from which the page setup dialog
  * takes its values.
- *
- * Since: 2.10
  **/
 void
 gtk_page_setup_unix_dialog_set_print_settings (GtkPageSetupUnixDialog *dialog,
@@ -1066,8 +1058,6 @@ gtk_page_setup_unix_dialog_set_print_settings (GtkPageSetupUnixDialog *dialog,
  * Gets the current print settings from the dialog.
  *
  * Returns: (transfer none): the current print settings
- *
- * Since: 2.10
  **/
 GtkPrintSettings *
 gtk_page_setup_unix_dialog_get_print_settings (GtkPageSetupUnixDialog *dialog)
diff --git a/gtk/gtkpaned.c b/gtk/gtkpaned.c
index e31048c..1e1047c 100644
--- a/gtk/gtkpaned.c
+++ b/gtk/gtkpaned.c
@@ -416,8 +416,6 @@ gtk_paned_class_init (GtkPanedClass *class)
    * The smallest possible value for the position property.
    * This property is derived from the size and shrinkability
    * of the widget's children.
-   *
-   * Since: 2.4
    */
   g_object_class_install_property (object_class,
                                    PROP_MIN_POSITION,
@@ -433,8 +431,6 @@ gtk_paned_class_init (GtkPanedClass *class)
    * The largest possible value for the position property.
    * This property is derived from the size and shrinkability
    * of the widget's children.
-   *
-   * Since: 2.4
    */
   g_object_class_install_property (object_class,
                                    PROP_MAX_POSITION,
@@ -450,8 +446,6 @@ gtk_paned_class_init (GtkPanedClass *class)
    * Setting this property to %TRUE indicates that the paned needs
    * to provide stronger visual separation (e.g. because it separates
    * between two notebooks, whose tab rows would otherwise merge visually).
-   *
-   * Since: 3.16 
    */
   g_object_class_install_property (object_class,
                                    PROP_WIDE_HANDLE,
@@ -466,8 +460,6 @@ gtk_paned_class_init (GtkPanedClass *class)
    *
    * The "resize" child property determines whether the child expands and
    * shrinks along with the paned widget.
-   *
-   * Since: 2.4
    */
   gtk_container_class_install_child_property (container_class,
                                              CHILD_PROP_RESIZE,
@@ -482,8 +474,6 @@ gtk_paned_class_init (GtkPanedClass *class)
    *
    * The "shrink" child property determines whether the child can be made
    * smaller than its requisition.
-   *
-   * Since: 2.4
    */
   gtk_container_class_install_child_property (container_class,
                                              CHILD_PROP_SHRINK,
@@ -503,8 +493,6 @@ gtk_paned_class_init (GtkPanedClass *class)
    * which gets emitted to cycle the focus between the children of the paned.
    *
    * The default binding is f6.
-   *
-   * Since: 2.0
    */
   signals [CYCLE_CHILD_FOCUS] =
     g_signal_new (I_("cycle-child-focus"),
@@ -526,8 +514,6 @@ gtk_paned_class_init (GtkPanedClass *class)
    * move focus to the next widget in the focus chain.
    *
    * The default binding is Tab.
-   *
-   * Since: 2.0
    */
   signals [TOGGLE_HANDLE_FOCUS] =
     g_signal_new (I_("toggle-handle-focus"),
@@ -547,8 +533,6 @@ gtk_paned_class_init (GtkPanedClass *class)
    * [keybinding signal][GtkBindingSignal]
    * which gets emitted to move the handle when the user is using key bindings 
    * to move it.
-   *
-   * Since: 2.0
    */
   signals[MOVE_HANDLE] =
     g_signal_new (I_("move-handle"),
@@ -571,8 +555,6 @@ gtk_paned_class_init (GtkPanedClass *class)
    * the user to change position of the handle by using key bindings.
    *
    * The default binding for this signal is f8.
-   *
-   * Since: 2.0
    */
   signals [CYCLE_HANDLE_FOCUS] =
     g_signal_new (I_("cycle-handle-focus"),
@@ -594,8 +576,6 @@ gtk_paned_class_init (GtkPanedClass *class)
    * moving it using key bindings.
    *
    * The default binding for this signal is Return or Space.
-   *
-   * Since: 2.0
    */
   signals [ACCEPT_POSITION] =
     g_signal_new (I_("accept-position"),
@@ -617,8 +597,6 @@ gtk_paned_class_init (GtkPanedClass *class)
    * moving it.
    *
    * The default binding for this signal is Escape.
-   *
-   * Since: 2.0
    */
   signals [CANCEL_POSITION] =
     g_signal_new (I_("cancel-position"),
@@ -1656,8 +1634,6 @@ gtk_paned_direction_changed (GtkWidget        *widget,
  * Creates a new #GtkPaned widget.
  *
  * Returns: a new #GtkPaned.
- *
- * Since: 3.0
  **/
 GtkWidget *
 gtk_paned_new (GtkOrientation orientation)
@@ -1913,8 +1889,6 @@ gtk_paned_set_position (GtkPaned *paned,
  * Obtains the first child of the paned widget.
  * 
  * Returns: (nullable) (transfer none): first child, or %NULL if it is not set.
- *
- * Since: 2.4
  **/
 GtkWidget *
 gtk_paned_get_child1 (GtkPaned *paned)
@@ -1931,8 +1905,6 @@ gtk_paned_get_child1 (GtkPaned *paned)
  * Obtains the second child of the paned widget.
  * 
  * Returns: (nullable) (transfer none): second child, or %NULL if it is not set.
- *
- * Since: 2.4
  **/
 GtkWidget *
 gtk_paned_get_child2 (GtkPaned *paned)
@@ -2594,8 +2566,6 @@ gtk_paned_toggle_handle_focus (GtkPaned *paned)
  * @wide: the new value for the #GtkPaned:wide-handle property
  *
  * Sets the #GtkPaned:wide-handle property.
- *
- * Since: 3.16
  */
 void
 gtk_paned_set_wide_handle (GtkPaned *paned,
@@ -2627,8 +2597,6 @@ gtk_paned_set_wide_handle (GtkPaned *paned,
  * Gets the #GtkPaned:wide-handle property.
  *
  * Returns: %TRUE if the paned should have a wide handle
- *
- * Since: 3.16
  */
 gboolean
 gtk_paned_get_wide_handle (GtkPaned *paned)
diff --git a/gtk/gtkpaned.h b/gtk/gtkpaned.h
index 1234026..8b0ad49 100644
--- a/gtk/gtkpaned.h
+++ b/gtk/gtkpaned.h
@@ -107,10 +107,10 @@ GtkWidget * gtk_paned_get_child1   (GtkPaned       *paned);
 GDK_AVAILABLE_IN_ALL
 GtkWidget * gtk_paned_get_child2   (GtkPaned       *paned);
 
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 void        gtk_paned_set_wide_handle (GtkPaned    *paned,
                                        gboolean     wide);
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 gboolean    gtk_paned_get_wide_handle (GtkPaned    *paned);
 
 
diff --git a/gtk/gtkpapersize.c b/gtk/gtkpapersize.c
index c293ba2..d107a7d 100644
--- a/gtk/gtkpapersize.c
+++ b/gtk/gtkpapersize.c
@@ -219,8 +219,6 @@ gtk_paper_size_new_from_info (const PaperInfo *info)
  *
  * Returns: a new #GtkPaperSize, use gtk_paper_size_free()
  * to free it
- *
- * Since: 2.10
  */
 GtkPaperSize *
 gtk_paper_size_new (const gchar *name)
@@ -311,8 +309,6 @@ improve_displayname (const gchar *name)
  *
  * Returns: a new #GtkPaperSize, use gtk_paper_size_free()
  * to free it
- *
- * Since: 2.10
  */
 GtkPaperSize *
 gtk_paper_size_new_from_ppd (const gchar *ppd_name,
@@ -392,8 +388,6 @@ gtk_paper_size_new_from_ppd (const gchar *ppd_name,
  *
  * Returns: a new #GtkPaperSize, use gtk_paper_size_free()
  * to free it
- *
- * Since: 3.16
  */
 GtkPaperSize *
 gtk_paper_size_new_from_ipp (const gchar *ipp_name,
@@ -481,8 +475,6 @@ gtk_paper_size_new_from_ipp (const gchar *ipp_name,
  *
  * Returns: a new #GtkPaperSize object, use gtk_paper_size_free()
  * to free it
- *
- * Since: 2.10
  */
 GtkPaperSize *
 gtk_paper_size_new_custom (const gchar *name,
@@ -514,8 +506,6 @@ gtk_paper_size_new_custom (const gchar *name,
  * Copies an existing #GtkPaperSize.
  *
  * Returns: a copy of @other
- *
- * Since: 2.10
  */
 GtkPaperSize *
 gtk_paper_size_copy (GtkPaperSize *other)
@@ -545,8 +535,6 @@ gtk_paper_size_copy (GtkPaperSize *other)
  * @size: a #GtkPaperSize
  *
  * Free the given #GtkPaperSize object.
- *
- * Since: 2.10
  */
 void
 gtk_paper_size_free (GtkPaperSize *size)
@@ -567,8 +555,6 @@ gtk_paper_size_free (GtkPaperSize *size)
  *
  * Returns: %TRUE, if @size1 and @size2
  * represent the same paper size
- *
- * Since: 2.10
  */
 gboolean
 gtk_paper_size_is_equal (GtkPaperSize *size1,
@@ -590,8 +576,6 @@ gtk_paper_size_is_equal (GtkPaperSize *size1,
  *
  * Returns:  (element-type GtkPaperSize) (transfer full): a newly allocated list of newly
  *    allocated #GtkPaperSize objects
- *
- * Since: 2.12
  */
 GList *
 gtk_paper_size_get_paper_sizes (gboolean include_custom)
@@ -636,8 +620,6 @@ gtk_paper_size_get_paper_sizes (gboolean include_custom)
  * Gets the name of the #GtkPaperSize.
  *
  * Returns: the name of @size
- *
- * Since: 2.10
  */
 const gchar *
 gtk_paper_size_get_name (GtkPaperSize *size)
@@ -655,8 +637,6 @@ gtk_paper_size_get_name (GtkPaperSize *size)
  * Gets the human-readable name of the #GtkPaperSize.
  *
  * Returns: the human-readable name of @size
- *
- * Since: 2.10
  */
 const gchar *
 gtk_paper_size_get_display_name (GtkPaperSize *size)
@@ -680,8 +660,6 @@ gtk_paper_size_get_display_name (GtkPaperSize *size)
  * may be %NULL.
  *
  * Returns: the PPD name of @size
- *
- * Since: 2.10
  */
 const gchar *
 gtk_paper_size_get_ppd_name (GtkPaperSize *size)
@@ -702,8 +680,6 @@ gtk_paper_size_get_ppd_name (GtkPaperSize *size)
  * units of @unit.
  *
  * Returns: the paper width
- *
- * Since: 2.10
  */
 gdouble
 gtk_paper_size_get_width (GtkPaperSize *size,
@@ -721,8 +697,6 @@ gtk_paper_size_get_width (GtkPaperSize *size,
  * units of @unit.
  *
  * Returns: the paper height
- *
- * Since: 2.10
  */
 gdouble
 gtk_paper_size_get_height (GtkPaperSize *size,
@@ -767,8 +741,6 @@ gtk_paper_size_is_ipp (GtkPaperSize *size)
  * @unit: the unit for @width and @height
  *
  * Changes the dimensions of a @size to @width x @height.
- *
- * Since: 2.10
  */
 void
 gtk_paper_size_set_size (GtkPaperSize *size,
@@ -794,8 +766,6 @@ gtk_paper_size_set_size (GtkPaperSize *size,
  *
  * Returns: the name of the default paper size. The string
  * is owned by GTK+ and should not be modified.
- *
- * Since: 2.10
  */
 const gchar *
 gtk_paper_size_get_default (void)
@@ -862,8 +832,6 @@ gtk_paper_size_get_default (void)
  * Gets the default top margin for the #GtkPaperSize.
  *
  * Returns: the default top margin
- *
- * Since: 2.10
  */
 gdouble
 gtk_paper_size_get_default_top_margin (GtkPaperSize *size,
@@ -883,8 +851,6 @@ gtk_paper_size_get_default_top_margin (GtkPaperSize *size,
  * Gets the default bottom margin for the #GtkPaperSize.
  *
  * Returns: the default bottom margin
- *
- * Since: 2.10
  */
 gdouble
 gtk_paper_size_get_default_bottom_margin (GtkPaperSize *size,
@@ -912,8 +878,6 @@ gtk_paper_size_get_default_bottom_margin (GtkPaperSize *size,
  * Gets the default left margin for the #GtkPaperSize.
  *
  * Returns: the default left margin
- *
- * Since: 2.10
  */
 gdouble
 gtk_paper_size_get_default_left_margin (GtkPaperSize *size,
@@ -933,8 +897,6 @@ gtk_paper_size_get_default_left_margin (GtkPaperSize *size,
  * Gets the default right margin for the #GtkPaperSize.
  *
  * Returns: the default right margin
- *
- * Since: 2.10
  */
 gdouble
 gtk_paper_size_get_default_right_margin (GtkPaperSize *size,
@@ -958,8 +920,6 @@ gtk_paper_size_get_default_right_margin (GtkPaperSize *size,
  *
  * Returns: a new #GtkPaperSize object with the restored
  *     paper size, or %NULL if an error occurred
- *
- * Since: 2.12
  */
 GtkPaperSize *
 gtk_paper_size_new_from_key_file (GKeyFile     *key_file,
@@ -1045,8 +1005,6 @@ out:
  * @group_name: the group to add the settings to in @key_file
  *
  * This function adds the paper size from @size to @key_file.
- *
- * Since: 2.12
  */
 void
 gtk_paper_size_to_key_file (GtkPaperSize *size,
@@ -1086,8 +1044,6 @@ gtk_paper_size_to_key_file (GtkPaperSize *size,
  * Serialize a paper size to an a{sv} variant.
  *
  * Returns: (transfer none): a new, floating, #GVariant
- *
- * Since: 3.22
  */
 GVariant *
 gtk_paper_size_to_gvariant (GtkPaperSize *paper_size)
@@ -1125,8 +1081,6 @@ gtk_paper_size_to_gvariant (GtkPaperSize *paper_size)
  * the format produced by gtk_paper_size_to_gvariant().
  *
  * Returns: (transfer full): a new #GtkPaperSize object
- *
- * Since: 3.22
  */
 GtkPaperSize *
 gtk_paper_size_new_from_gvariant (GVariant *variant)
diff --git a/gtk/gtkpapersize.h b/gtk/gtkpapersize.h
index c125070..eafe75a 100644
--- a/gtk/gtkpapersize.h
+++ b/gtk/gtkpapersize.h
@@ -164,9 +164,9 @@ void     gtk_paper_size_to_key_file            (GtkPaperSize *size,
                                                GKeyFile     *key_file,
                                                const gchar  *group_name);
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 GtkPaperSize *gtk_paper_size_new_from_gvariant (GVariant     *variant);
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 GVariant     *gtk_paper_size_to_gvariant       (GtkPaperSize *paper_size);
 
 G_END_DECLS
diff --git a/gtk/gtkplacesview.c b/gtk/gtkplacesview.c
index 2451f11..b652bd0 100644
--- a/gtk/gtkplacesview.c
+++ b/gtk/gtkplacesview.c
@@ -2173,8 +2173,6 @@ gtk_places_view_class_init (GtkPlacesViewClass *klass)
    * in it. The calling application should display the contents of that
    * location; for example, a file manager should show a list of files in
    * the specified location.
-   *
-   * Since: 3.18
    */
   places_view_signals [OPEN_LOCATION] =
           g_signal_new (I_("open-location"),
@@ -2196,8 +2194,6 @@ gtk_places_view_class_init (GtkPlacesViewClass *klass)
    * application to present an error message.  Most of these messages
    * refer to mounting or unmounting media, for example, when a drive
    * cannot be started for some reason.
-   *
-   * Since: 3.18
    */
   places_view_signals [SHOW_ERROR_MESSAGE] =
           g_signal_new (I_("show-error-message"),
@@ -2291,8 +2287,6 @@ gtk_places_view_init (GtkPlacesView *self)
  * when the user makes a selection in the view.
  *
  * Returns: a newly created #GtkPlacesView
- *
- * Since: 3.18
  */
 GtkWidget *
 gtk_places_view_new (void)
@@ -2320,8 +2314,6 @@ gtk_places_view_new (void)
  *
  * Passing 0 for @flags will cause #GTK_PLACES_OPEN_NORMAL to always be sent
  * to callbacks for the “open-location” signal.
- *
- * Since: 3.18
  */
 void
 gtk_places_view_set_open_flags (GtkPlacesView      *view,
@@ -2347,8 +2339,6 @@ gtk_places_view_set_open_flags (GtkPlacesView      *view,
  * Gets the open flags.
  *
  * Returns: the #GtkPlacesOpenFlags of @view
- *
- * Since: 3.18
  */
 GtkPlacesOpenFlags
 gtk_places_view_get_open_flags (GtkPlacesView *view)
@@ -2417,8 +2407,6 @@ gtk_places_view_set_search_query (GtkPlacesView *view,
  * @view: a #GtkPlacesView
  *
  * Returns %TRUE if the view is loading locations.
- *
- * Since: 3.18
  */
 gboolean
 gtk_places_view_get_loading (GtkPlacesView *view)
@@ -2502,8 +2490,6 @@ gtk_places_view_set_fetching_networks (GtkPlacesView *view,
  * are displayed.
  *
  * Returns: %TRUE if only local volumes are shown, %FALSE otherwise.
- *
- * Since: 3.18
  */
 gboolean
 gtk_places_view_get_local_only (GtkPlacesView *view)
@@ -2523,8 +2509,6 @@ gtk_places_view_get_local_only (GtkPlacesView *view)
  * @local_only: %TRUE to hide remote locations, %FALSE to show.
  *
  * Sets the #GtkPlacesView::local-only property to @local_only.
- *
- * Since: 3.18
  */
 void
 gtk_places_view_set_local_only (GtkPlacesView *view,
diff --git a/gtk/gtkpopover.c b/gtk/gtkpopover.c
index ca1bf4b..9fa32e7 100644
--- a/gtk/gtkpopover.c
+++ b/gtk/gtkpopover.c
@@ -99,8 +99,6 @@
  * like one shape, which means that the border-width of the content node and the arrow
  * node should be the same. The arrow also does not support any border shape other than
  * solid, no border-radius, only one border width (border-bottom-width is used) and no box-shadow.
- *
- * Since: 3.12
  */
 
 #include "config.h"
@@ -1591,8 +1589,6 @@ gtk_popover_class_init (GtkPopoverClass *klass)
    * GtkPopover:relative-to:
    *
    * Sets the attached widget.
-   *
-   * Since: 3.12
    */
   properties[PROP_RELATIVE_TO] =
       g_param_spec_object ("relative-to",
@@ -1605,8 +1601,6 @@ gtk_popover_class_init (GtkPopoverClass *klass)
    * GtkPopover:pointing-to:
    *
    * Marks a specific rectangle to be pointed.
-   *
-   * Since: 3.12
    */
   properties[PROP_POINTING_TO] =
       g_param_spec_boxed ("pointing-to",
@@ -1619,8 +1613,6 @@ gtk_popover_class_init (GtkPopoverClass *klass)
    * GtkPopover:position
    *
    * Sets the preferred position of the popover.
-   *
-   * Since: 3.12
    */
   properties[PROP_POSITION] =
       g_param_spec_enum ("position",
@@ -1634,8 +1626,6 @@ gtk_popover_class_init (GtkPopoverClass *klass)
    *
    * Sets whether the popover is modal (so other elements in the window do not
    * receive input while the popover is visible).
-   *
-   * Since: 3.12
    */
   properties[PROP_MODAL] =
       g_param_spec_boolean ("modal",
@@ -1648,8 +1638,6 @@ gtk_popover_class_init (GtkPopoverClass *klass)
    * GtkPopover:constrain-to:
    *
    * Sets a constraint for the popover position.
-   *
-   * Since: 3.20
    */
   properties[PROP_CONSTRAIN_TO] =
       g_param_spec_enum ("constrain-to",
@@ -2043,8 +2031,6 @@ gtk_popover_update_preferred_position (GtkPopover      *popover,
  * Creates a new popover to point to @relative_to
  *
  * Returns: a new #GtkPopover
- *
- * Since: 3.12
  **/
 GtkWidget *
 gtk_popover_new (GtkWidget *relative_to)
@@ -2068,8 +2054,6 @@ gtk_popover_new (GtkWidget *relative_to)
  * widget, so if @relative_to is set to %NULL on an attached @popover, it
  * will be detached from its previous widget, and consequently destroyed
  * unless extra references are kept.
- *
- * Since: 3.12
  **/
 void
 gtk_popover_set_relative_to (GtkPopover *popover,
@@ -2091,8 +2075,6 @@ gtk_popover_set_relative_to (GtkPopover *popover,
  * Returns the widget @popover is currently attached to
  *
  * Returns: (transfer none): a #GtkWidget
- *
- * Since: 3.12
  **/
 GtkWidget *
 gtk_popover_get_relative_to (GtkPopover *popover)
@@ -2110,8 +2092,6 @@ gtk_popover_get_relative_to (GtkPopover *popover)
  * Sets the rectangle that @popover will point to, in the
  * coordinate space of the widget @popover is attached to,
  * see gtk_popover_set_relative_to().
- *
- * Since: 3.12
  **/
 void
 gtk_popover_set_pointing_to (GtkPopover         *popover,
@@ -2164,8 +2144,6 @@ gtk_popover_get_pointing_to (GtkPopover   *popover,
  * This preference will be respected where possible, although
  * on lack of space (eg. if close to the window edges), the
  * #GtkPopover may choose to appear on the opposite side
- *
- * Since: 3.12
  **/
 void
 gtk_popover_set_position (GtkPopover      *popover,
@@ -2203,8 +2181,6 @@ gtk_popover_get_position (GtkPopover *popover)
  * within the toplevel and grab the keyboard focus on it when being
  * displayed. Clicking outside the popover area or pressing Esc will
  * dismiss the popover and ungrab input.
- *
- * Since: 3.12
  **/
 void
 gtk_popover_set_modal (GtkPopover *popover,
@@ -2235,8 +2211,6 @@ gtk_popover_set_modal (GtkPopover *popover,
  * see the implications of this.
  *
  * Returns: #TRUE if @popover is modal
- *
- * Since: 3.12
  **/
 gboolean
 gtk_popover_get_modal (GtkPopover *popover)
@@ -2286,8 +2260,6 @@ back_to_main (GtkWidget *popover)
  * group with a “quit” action and inserted it with the name “mygroup”
  * then you would use the action name “mygroup.quit” in your
  * #GMenuModel.
- *
- * Since: 3.12
  */
 void
 gtk_popover_bind_model (GtkPopover  *popover,
@@ -2349,8 +2321,6 @@ gtk_popover_bind_model (GtkPopover  *popover,
  * on the menus attach widget or on any of its parent widgets.
  *
  * Returns: the new #GtkPopover
- *
- * Since: 3.12
  */
 GtkWidget *
 gtk_popover_new_from_model (GtkWidget  *relative_to,
@@ -2376,8 +2346,6 @@ gtk_popover_new_from_model (GtkWidget  *relative_to,
  * the popover is shown (see gtk_window_set_default()). #GtkPopover
  * remembers the previous default widget and reestablishes it
  * when the popover is dismissed.
- *
- * Since: 3.18
  */
 void
 gtk_popover_set_default_widget (GtkPopover *popover,
@@ -2412,8 +2380,6 @@ gtk_popover_set_default_widget (GtkPopover *popover,
  *
  * Returns: (nullable) (transfer none): the default widget,
  * or %NULL if there is none
- *
- * Since: 3.18
  */
 GtkWidget *
 gtk_popover_get_default_widget (GtkPopover *popover)
@@ -2434,8 +2400,6 @@ gtk_popover_get_default_widget (GtkPopover *popover)
  *
  * Note that not all platforms support placing popovers freely,
  * and may already impose constraints.
- *
- * Since: 3.20
  */
 void
 gtk_popover_set_constrain_to (GtkPopover           *popover,
@@ -2462,8 +2426,6 @@ gtk_popover_set_constrain_to (GtkPopover           *popover,
  * See gtk_popover_set_constrain_to().
  *
  * Returns: the constraint for placing this popover.
- *
- * Since: 3.20
  */
 GtkPopoverConstraint
 gtk_popover_get_constrain_to (GtkPopover *popover)
@@ -2482,8 +2444,6 @@ gtk_popover_get_constrain_to (GtkPopover *popover)
  * Pops @popover up. This is different than a gtk_widget_show() call
  * in that it shows the popover with a transition. If you want to show
  * the popover without a transition, use gtk_widget_show().
- *
- * Since: 3.22
  */
 void
 gtk_popover_popup (GtkPopover *popover)
@@ -2509,8 +2469,6 @@ gtk_popover_popup (GtkPopover *popover)
  * Pops @popover down.This is different than a gtk_widget_hide() call
  * in that it shows the popover with a transition. If you want to hide
  * the popover without a transition, use gtk_widget_hide().
- *
- * Since: 3.22
  */
 void
 gtk_popover_popdown (GtkPopover *popover)
diff --git a/gtk/gtkpopover.h b/gtk/gtkpopover.h
index ded4351..eba2d98 100644
--- a/gtk/gtkpopover.h
+++ b/gtk/gtkpopover.h
@@ -58,62 +58,62 @@ struct _GtkPopoverClass
   gpointer reserved[10];
 };
 
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 GType           gtk_popover_get_type        (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 GtkWidget *     gtk_popover_new             (GtkWidget             *relative_to);
 
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 GtkWidget *     gtk_popover_new_from_model  (GtkWidget             *relative_to,
                                              GMenuModel            *model);
 
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 void            gtk_popover_set_relative_to (GtkPopover            *popover,
                                              GtkWidget             *relative_to);
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 GtkWidget *     gtk_popover_get_relative_to (GtkPopover            *popover);
 
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 void            gtk_popover_set_pointing_to (GtkPopover            *popover,
                                              const GdkRectangle    *rect);
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 gboolean        gtk_popover_get_pointing_to (GtkPopover            *popover,
                                              GdkRectangle          *rect);
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 void            gtk_popover_set_position    (GtkPopover            *popover,
                                              GtkPositionType        position);
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 GtkPositionType gtk_popover_get_position    (GtkPopover            *popover);
 
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 void            gtk_popover_set_modal       (GtkPopover            *popover,
                                              gboolean               modal);
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 gboolean        gtk_popover_get_modal       (GtkPopover            *popover);
 
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 void            gtk_popover_bind_model      (GtkPopover            *popover,
                                              GMenuModel            *model,
                                              const gchar           *action_namespace);
 
-GDK_AVAILABLE_IN_3_18
+GDK_AVAILABLE_IN_ALL
 void            gtk_popover_set_default_widget (GtkPopover *popover,
                                                 GtkWidget  *widget);
-GDK_AVAILABLE_IN_3_18
+GDK_AVAILABLE_IN_ALL
 GtkWidget *     gtk_popover_get_default_widget (GtkPopover *popover);
 
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 void                 gtk_popover_set_constrain_to (GtkPopover           *popover,
                                                    GtkPopoverConstraint  constraint);
 
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 GtkPopoverConstraint gtk_popover_get_constrain_to (GtkPopover           *popover);
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 void                 gtk_popover_popup            (GtkPopover *popover);
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 void                 gtk_popover_popdown          (GtkPopover *popover);
 
 
diff --git a/gtk/gtkpopovermenu.c b/gtk/gtkpopovermenu.c
index 1df141f..bb08b3e 100644
--- a/gtk/gtkpopovermenu.c
+++ b/gtk/gtkpopovermenu.c
@@ -354,8 +354,6 @@ gtk_popover_menu_class_init (GtkPopoverMenuClass *klass)
    * The submenu child property specifies the name of the submenu
    * If it is %NULL or "main", the child is used as the main menu,
    * which is shown initially when the popover is mapped.
-   *
-   * Since: 3.16
    */
   gtk_container_class_install_child_property (container_class,
                                               CHILD_PROP_SUBMENU,
@@ -380,8 +378,6 @@ gtk_popover_menu_class_init (GtkPopoverMenuClass *klass)
  * Creates a new popover menu.
  *
  * Returns: a new #GtkPopoverMenu
- *
- * Since: 3.16
  */
 GtkWidget *
 gtk_popover_menu_new (void)
@@ -403,8 +399,6 @@ gtk_popover_menu_new (void)
  * when the #GtkModelButton:menu-name property is set,
  * so this function is only needed when you are using
  * other kinds of widgets to initiate menu changes.
- *
- * Since: 3.16
  */
 void
 gtk_popover_menu_open_submenu (GtkPopoverMenu *popover,
diff --git a/gtk/gtkpopovermenu.h b/gtk/gtkpopovermenu.h
index b8f6373..c920f5c 100644
--- a/gtk/gtkpopovermenu.h
+++ b/gtk/gtkpopovermenu.h
@@ -46,13 +46,13 @@ struct _GtkPopoverMenuClass
   gpointer reserved[10];
 };
 
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 GType       gtk_popover_menu_get_type (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 GtkWidget * gtk_popover_menu_new      (void);
 
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 void        gtk_popover_menu_open_submenu (GtkPopoverMenu *popover,
                                            const gchar    *name);
 
diff --git a/gtk/gtkprintcontext.c b/gtk/gtkprintcontext.c
index 21d68bf..f01b964 100644
--- a/gtk/gtkprintcontext.c
+++ b/gtk/gtkprintcontext.c
@@ -194,8 +194,6 @@ _gtk_print_context_get_fontmap (GtkPrintContext *context)
  * an internal print preview, it is not needed for printing,
  * since GTK+ itself creates a suitable cairo context in that
  * case.
- *
- * Since: 2.10 
  */
 void
 gtk_print_context_set_cairo_context (GtkPrintContext *context,
@@ -373,8 +371,6 @@ _gtk_print_context_set_page_setup (GtkPrintContext *context,
  * #GtkPrintContext.
  *
  * Returns: (transfer none): the cairo context of @context
- *
- * Since: 2.10
  */
 cairo_t *
 gtk_print_context_get_cairo_context (GtkPrintContext *context)
@@ -392,8 +388,6 @@ gtk_print_context_get_cairo_context (GtkPrintContext *context)
  * dimensions of the #GtkPrintContext.
  *
  * Returns: (transfer none): the page setup of @context
- *
- * Since: 2.10
  */
 GtkPageSetup *
 gtk_print_context_get_page_setup (GtkPrintContext *context)
@@ -410,8 +404,6 @@ gtk_print_context_get_page_setup (GtkPrintContext *context)
  * Obtains the width of the #GtkPrintContext, in pixels.
  *
  * Returns: the width of @context
- *
- * Since: 2.10 
  */
 gdouble
 gtk_print_context_get_width (GtkPrintContext *context)
@@ -439,8 +431,6 @@ gtk_print_context_get_width (GtkPrintContext *context)
  * Obtains the height of the #GtkPrintContext, in pixels.
  *
  * Returns: the height of @context
- *
- * Since: 2.10
  */
 gdouble
 gtk_print_context_get_height (GtkPrintContext *context)
@@ -469,8 +459,6 @@ gtk_print_context_get_height (GtkPrintContext *context)
  * in dots per inch.
  *
  * Returns: the horizontal resolution of @context
- *
- * Since: 2.10
  */
 gdouble
 gtk_print_context_get_dpi_x (GtkPrintContext *context)
@@ -488,8 +476,6 @@ gtk_print_context_get_dpi_x (GtkPrintContext *context)
  * in dots per inch.
  *
  * Returns: the vertical resolution of @context
- *
- * Since: 2.10
  */
 gdouble
 gtk_print_context_get_dpi_y (GtkPrintContext *context)
@@ -510,8 +496,6 @@ gtk_print_context_get_dpi_y (GtkPrintContext *context)
  * Obtains the hardware printer margins of the #GtkPrintContext, in units.
  *
  * Returns: %TRUE if the hard margins were retrieved
- *
- * Since: 2.20
  */
 gboolean
 gtk_print_context_get_hard_margins (GtkPrintContext *context,
@@ -563,8 +547,6 @@ _gtk_print_context_set_hard_margins (GtkPrintContext *context,
  * with the #GtkPrintContext.
  *
  * Returns: (transfer none): the font map of @context
- *
- * Since: 2.10
  */
 PangoFontMap *
 gtk_print_context_get_pango_fontmap (GtkPrintContext *context)
@@ -582,8 +564,6 @@ gtk_print_context_get_pango_fontmap (GtkPrintContext *context)
  * #GtkPrintContext.
  *
  * Returns: (transfer full): a new Pango context for @context
- * 
- * Since: 2.10
  */
 PangoContext *
 gtk_print_context_create_pango_context (GtkPrintContext *context)
@@ -616,8 +596,6 @@ gtk_print_context_create_pango_context (GtkPrintContext *context)
  * with the #GtkPrintContext.
  * 
  * Returns: (transfer full): a new Pango layout for @context
- *
- * Since: 2.10
  */
 PangoLayout *
 gtk_print_context_create_pango_layout (GtkPrintContext *context)
diff --git a/gtk/gtkprinter.c b/gtk/gtkprinter.c
index fe012bb..8339b5b 100644
--- a/gtk/gtkprinter.c
+++ b/gtk/gtkprinter.c
@@ -187,8 +187,6 @@ gtk_printer_class_init (GtkPrinterClass *class)
    * This property is %TRUE if this printer is paused. 
    * A paused printer still accepts jobs, but it does 
    * not print them.
-   *
-   * Since: 2.14
    */
   g_object_class_install_property (G_OBJECT_CLASS (class),
                                    PROP_PAUSED,
@@ -201,9 +199,7 @@ gtk_printer_class_init (GtkPrinterClass *class)
    * GtkPrinter:accepting-jobs:
    *
    * This property is %TRUE if the printer is accepting jobs.
-   *
-   * Since: 2.14
-   */ 
+   */
   g_object_class_install_property (G_OBJECT_CLASS (class),
                                    PROP_ACCEPTING_JOBS,
                                    g_param_spec_boolean ("accepting-jobs",
@@ -220,8 +216,6 @@ gtk_printer_class_init (GtkPrinterClass *class)
    * Gets emitted in response to a request for detailed information
    * about a printer from the print backend. The @success parameter
    * indicates if the information was actually obtained.
-   *
-   * Since: 2.10
    */
   signals[DETAILS_ACQUIRED] =
     g_signal_new (I_("details-acquired"),
@@ -383,8 +377,6 @@ gtk_printer_get_property (GObject    *object,
  * Creates a new #GtkPrinter.
  *
  * Returns: a new #GtkPrinter
- *
- * Since: 2.10
  **/
 GtkPrinter *
 gtk_printer_new (const gchar     *name,
@@ -409,8 +401,6 @@ gtk_printer_new (const gchar     *name,
  * Returns the backend of the printer.
  * 
  * Returns: (transfer none): the backend of @printer
- * 
- * Since: 2.10
  */
 GtkPrintBackend *
 gtk_printer_get_backend (GtkPrinter *printer)
@@ -427,8 +417,6 @@ gtk_printer_get_backend (GtkPrinter *printer)
  * Returns the name of the printer.
  * 
  * Returns: the name of @printer
- *
- * Since: 2.10
  */
 const gchar *
 gtk_printer_get_name (GtkPrinter *printer)
@@ -445,8 +433,6 @@ gtk_printer_get_name (GtkPrinter *printer)
  * Gets the description of the printer.
  * 
  * Returns: the description of @printer
- *
- * Since: 2.10
  */
 const gchar *
 gtk_printer_get_description (GtkPrinter *printer)
@@ -483,8 +469,6 @@ gtk_printer_set_description (GtkPrinter  *printer,
  * of the printer.
  * 
  * Returns: the state message of @printer
- *
- * Since: 2.10
  */
 const gchar *
 gtk_printer_get_state_message (GtkPrinter *printer)
@@ -521,8 +505,6 @@ gtk_printer_set_state_message (GtkPrinter  *printer,
  * Returns a description of the location of the printer.
  * 
  * Returns: the location of @printer
- *
- * Since: 2.10
  */
 const gchar *
 gtk_printer_get_location (GtkPrinter *printer)
@@ -559,8 +541,6 @@ gtk_printer_set_location (GtkPrinter  *printer,
  * Gets the name of the icon to use for the printer.
  * 
  * Returns: the icon name for @printer
- *
- * Since: 2.10
  */
 const gchar *
 gtk_printer_get_icon_name (GtkPrinter *printer)
@@ -592,8 +572,6 @@ gtk_printer_set_icon_name (GtkPrinter  *printer,
  * Gets the number of jobs currently queued on the printer.
  * 
  * Returns: the number of jobs on @printer
- *
- * Since: 2.10
  */
 gint 
 gtk_printer_get_job_count (GtkPrinter *printer)
@@ -630,8 +608,6 @@ gtk_printer_set_job_count (GtkPrinter *printer,
  * Returns whether the printer details are available.
  * 
  * Returns: %TRUE if @printer details are available
- *
- * Since: 2.12
  */
 gboolean
 gtk_printer_has_details (GtkPrinter *printer)
@@ -656,8 +632,6 @@ gtk_printer_set_has_details (GtkPrinter *printer,
  * accepts new jobs).
  * 
  * Returns: %TRUE if @printer is active
- *
- * Since: 2.10
  */
 gboolean
 gtk_printer_is_active (GtkPrinter *printer)
@@ -685,8 +659,6 @@ gtk_printer_set_is_active (GtkPrinter *printer,
  * printing them.
  * 
  * Returns: %TRUE if @printer is paused
- *
- * Since: 2.14
  */
 gboolean
 gtk_printer_is_paused (GtkPrinter *printer)
@@ -721,8 +693,6 @@ gtk_printer_set_is_paused (GtkPrinter *printer,
  * Returns whether the printer is accepting jobs
  * 
  * Returns: %TRUE if @printer is accepting jobs
- *
- * Since: 2.14
  */
 gboolean
 gtk_printer_is_accepting_jobs (GtkPrinter *printer)
@@ -759,8 +729,6 @@ gtk_printer_set_is_accepting_jobs (GtkPrinter *printer,
  * a CUPS class).
  * 
  * Returns: %TRUE if @printer is virtual
- *
- * Since: 2.10
  */
 gboolean
 gtk_printer_is_virtual (GtkPrinter *printer)
@@ -778,8 +746,6 @@ gtk_printer_is_virtual (GtkPrinter *printer)
  * PDF format.  
  *
  * Returns: %TRUE if @printer accepts PDF
- *
- * Since: 2.10
  */
 gboolean 
 gtk_printer_accepts_pdf (GtkPrinter *printer)
@@ -806,8 +772,6 @@ gtk_printer_set_accepts_pdf (GtkPrinter *printer,
  * PostScript format.  
  *
  * Returns: %TRUE if @printer accepts PostScript
- *
- * Since: 2.10
  */
 gboolean 
 gtk_printer_accepts_ps (GtkPrinter *printer)
@@ -851,8 +815,6 @@ gtk_printer_set_is_new (GtkPrinter *printer,
  * Returns whether the printer is the default printer.
  * 
  * Returns: %TRUE if @printer is the default
- *
- * Since: 2.10
  */
 gboolean
 gtk_printer_is_default (GtkPrinter *printer)
@@ -877,8 +839,6 @@ gtk_printer_set_is_default (GtkPrinter *printer,
  * 
  * Requests the printer details. When the details are available,
  * the #GtkPrinter::details-acquired signal will be emitted on @printer.
- * 
- * Since: 2.12
  */
 void
 gtk_printer_request_details (GtkPrinter *printer)
@@ -950,8 +910,6 @@ _gtk_printer_create_cairo_surface (GtkPrinter       *printer,
  * available, see gtk_printer_has_details() and gtk_printer_request_details().
  *
  * Returns: (element-type GtkPageSetup) (transfer full): a newly allocated list of newly allocated 
#GtkPageSetup s.
- *
- * Since: 2.12
  */
 GList  *
 gtk_printer_list_papers (GtkPrinter *printer)
@@ -971,8 +929,6 @@ gtk_printer_list_papers (GtkPrinter *printer)
  * Returns default page size of @printer.
  * 
  * Returns: a newly allocated #GtkPageSetup with default page size of the printer.
- *
- * Since: 2.14
  */
 GtkPageSetup  *
 gtk_printer_get_default_page_size (GtkPrinter *printer)
@@ -1000,8 +956,6 @@ gtk_printer_get_default_page_size (GtkPrinter *printer)
  * see gtk_printer_has_details() and gtk_printer_request_details().
  *
  * Returns: %TRUE iff the hard margins were retrieved
- *
- * Since: 2.20
  */
 gboolean
 gtk_printer_get_hard_margins (GtkPrinter *printer,
@@ -1029,8 +983,6 @@ gtk_printer_get_hard_margins (GtkPrinter *printer,
  * gtk_printer_has_details() and gtk_printer_request_details().
  *
  * Returns: the printer’s capabilities
- *
- * Since: 2.12
  */
 GtkPrintCapabilities
 gtk_printer_get_capabilities (GtkPrinter *printer)
@@ -1052,8 +1004,6 @@ gtk_printer_get_capabilities (GtkPrinter *printer)
  * 
  * Returns: 0 if the printer match, a negative value if @a < @b, 
  *   or a positive value if @a > @b
- *
- * Since: 2.10
  */
 gint
 gtk_printer_compare (GtkPrinter *a, 
@@ -1228,8 +1178,6 @@ list_printers_init (PrinterList     *printer_list,
  *
  * Calls a function for all #GtkPrinters. 
  * If @func returns %TRUE, the enumeration is stopped.
- *
- * Since: 2.10
  */
 void
 gtk_enumerate_printers (GtkPrinterFunc func,
diff --git a/gtk/gtkprinter.h b/gtk/gtkprinter.h
index a5dd810..bc02e93 100644
--- a/gtk/gtkprinter.h
+++ b/gtk/gtkprinter.h
@@ -175,8 +175,6 @@ gboolean                 gtk_printer_get_hard_margins      (GtkPrinter       *pr
  * a reference to it after the function has returned.
  *
  * Returns: %TRUE to stop the enumeration, %FALSE to continue
- *
- * Since: 2.10
  */
 typedef gboolean (*GtkPrinterFunc) (GtkPrinter *printer,
                                    gpointer    data);
diff --git a/gtk/gtkprintjob.c b/gtk/gtkprintjob.c
index e74fdc0..c3d1ce7 100644
--- a/gtk/gtkprintjob.c
+++ b/gtk/gtkprintjob.c
@@ -179,8 +179,6 @@ gtk_print_job_class_init (GtkPrintJobClass *class)
    *
    * Gets emitted when the status of a job changes. The signal handler
    * can use gtk_print_job_get_status() to obtain the new status.
-   *
-   * Since: 2.10
    */
   signals[STATUS_CHANGED] =
     g_signal_new (I_("status-changed"),
@@ -291,8 +289,6 @@ gtk_print_job_finalize (GObject *object)
  * Creates a new #GtkPrintJob.
  *
  * Returns: a new #GtkPrintJob
- *
- * Since: 2.10
  **/
 GtkPrintJob *
 gtk_print_job_new (const gchar      *title,
@@ -317,8 +313,6 @@ gtk_print_job_new (const gchar      *title,
  * Gets the #GtkPrintSettings of the print job.
  * 
  * Returns: (transfer none): the settings of @job
- *
- * Since: 2.10
  */
 GtkPrintSettings *
 gtk_print_job_get_settings (GtkPrintJob *job)
@@ -335,8 +329,6 @@ gtk_print_job_get_settings (GtkPrintJob *job)
  * Gets the #GtkPrinter of the print job.
  * 
  * Returns: (transfer none): the printer of @job
- *
- * Since: 2.10
  */
 GtkPrinter *
 gtk_print_job_get_printer (GtkPrintJob *job)
@@ -353,8 +345,6 @@ gtk_print_job_get_printer (GtkPrintJob *job)
  * Gets the job title.
  * 
  * Returns: the title of @job
- *
- * Since: 2.10
  */
 const gchar *
 gtk_print_job_get_title (GtkPrintJob *job)
@@ -371,8 +361,6 @@ gtk_print_job_get_title (GtkPrintJob *job)
  * Gets the status of the print job.
  * 
  * Returns: the status of @job
- *
- * Since: 2.10
  */
 GtkPrintStatus
 gtk_print_job_get_status (GtkPrintJob *job)
@@ -412,8 +400,6 @@ gtk_print_job_set_status (GtkPrintJob   *job,
  * gtk_printer_accepts_pdf() and gtk_printer_accepts_ps().
  * 
  * Returns: %FALSE if an error occurred
- *
- * Since: 2.10
  **/
 gboolean
 gtk_print_job_set_source_file (GtkPrintJob *job,
@@ -460,8 +446,6 @@ gtk_print_job_set_source_file (GtkPrintJob *job,
  * instead of a filename.
  *
  * Returns: %FALSE if an error occurred
- *
- * Since: 3.22
  */
 gboolean
 gtk_print_job_set_source_fd (GtkPrintJob  *job,
@@ -487,8 +471,6 @@ gtk_print_job_set_source_fd (GtkPrintJob  *job,
  * the print job should be rendered.
  * 
  * Returns: (transfer none): the cairo surface of @job
- *
- * Since: 2.10
  **/
 cairo_surface_t *
 gtk_print_job_get_surface (GtkPrintJob  *job,
@@ -568,8 +550,6 @@ gtk_print_job_get_surface (GtkPrintJob  *job,
  * 
  * This function is often implemented using some form of polling, so it should
  * not be enabled unless needed.
- *
- * Since: 2.10
  */
 void
 gtk_print_job_set_track_print_status (GtkPrintJob *job,
@@ -599,8 +579,6 @@ gtk_print_job_set_track_print_status (GtkPrintJob *job,
  * For details, see gtk_print_job_set_track_print_status().
  *
  * Returns: %TRUE if print job status will be reported after printing
- *
- * Since: 2.10
  */
 gboolean
 gtk_print_job_get_track_print_status (GtkPrintJob *job)
@@ -701,8 +679,6 @@ gtk_print_job_get_property (GObject    *object,
  * @dnotify: destroy notify for @user_data
  * 
  * Sends the print job off to the printer.  
- * 
- * Since: 2.10
  **/
 void
 gtk_print_job_send (GtkPrintJob             *job,
@@ -733,8 +709,6 @@ gtk_print_job_send (GtkPrintJob             *job,
  * Gets the #GtkPrintPages setting for this job.
  *
  * Returns: the #GtkPrintPages setting
- *
- * Since: 3.0
  */
 GtkPrintPages
 gtk_print_job_get_pages (GtkPrintJob *job)
@@ -748,8 +722,6 @@ gtk_print_job_get_pages (GtkPrintJob *job)
  * @pages: the #GtkPrintPages setting
  *
  * Sets the #GtkPrintPages setting for this job.
- *
- * Since: 3.0
  */
 void
 gtk_print_job_set_pages (GtkPrintJob   *job,
@@ -767,8 +739,6 @@ gtk_print_job_set_pages (GtkPrintJob   *job,
  *
  * Returns: (array length=n_ranges) (transfer none): a pointer to an
  * array of #GtkPageRange structs
- *
- * Since: 3.0
  */
 GtkPageRange *
 gtk_print_job_get_page_ranges (GtkPrintJob *job,
@@ -786,8 +756,6 @@ gtk_print_job_get_page_ranges (GtkPrintJob *job,
  * @n_ranges: the length of the @ranges array
  *
  * Sets the page ranges for this job.
- *
- * Since: 3.0
  */
 void
 gtk_print_job_set_page_ranges (GtkPrintJob  *job,
@@ -806,8 +774,6 @@ gtk_print_job_set_page_ranges (GtkPrintJob  *job,
  * Gets the #GtkPageSet setting for this job.
  *
  * Returns: the #GtkPageSet setting
- *
- * Since: 3.0
  */
 GtkPageSet
 gtk_print_job_get_page_set (GtkPrintJob *job)
@@ -821,8 +787,6 @@ gtk_print_job_get_page_set (GtkPrintJob *job)
  * @page_set: a #GtkPageSet setting
  *
  * Sets the #GtkPageSet setting for this job.
- *
- * Since: 3.0
  */
 void
 gtk_print_job_set_page_set (GtkPrintJob *job,
@@ -838,8 +802,6 @@ gtk_print_job_set_page_set (GtkPrintJob *job,
  * Gets the number of copies of this job.
  *
  * Returns: the number of copies
- *
- * Since: 3.0
  */
 gint
 gtk_print_job_get_num_copies (GtkPrintJob *job)
@@ -853,8 +815,6 @@ gtk_print_job_get_num_copies (GtkPrintJob *job)
  * @num_copies: the number of copies
  *
  * Sets the number of copies for this job.
- *
- * Since: 3.0
  */
 void
 gtk_print_job_set_num_copies (GtkPrintJob *job,
@@ -870,8 +830,6 @@ gtk_print_job_set_num_copies (GtkPrintJob *job,
  * Gets the scale for this job (where 1.0 means unscaled).
  *
  * Returns: the scale
- *
- * Since: 3.0
  */
 gdouble
 gtk_print_job_get_scale (GtkPrintJob *job)
@@ -886,8 +844,6 @@ gtk_print_job_get_scale (GtkPrintJob *job)
  * @scale: the scale
  *
  * Sets the scale for this job (where 1.0 means unscaled).
- *
- * Since: 3.0
  */
 void
 gtk_print_job_set_scale (GtkPrintJob *job,
@@ -903,8 +859,6 @@ gtk_print_job_set_scale (GtkPrintJob *job,
  * Gets the n-up setting for this job.
  *
  * Returns: the n-up setting
- *
- * Since: 3.0
  */
 guint
 gtk_print_job_get_n_up (GtkPrintJob *job)
@@ -918,8 +872,6 @@ gtk_print_job_get_n_up (GtkPrintJob *job)
  * @n_up: the n-up value
  *
  * Sets the n-up setting for this job.
- *
- * Since: 3.0
  */
 void
 gtk_print_job_set_n_up (GtkPrintJob *job,
@@ -935,8 +887,6 @@ gtk_print_job_set_n_up (GtkPrintJob *job,
  * Gets the n-up layout setting for this job.
  *
  * Returns: the n-up layout
- *
- * Since: 3.0
  */
 GtkNumberUpLayout
 gtk_print_job_get_n_up_layout (GtkPrintJob *job)
@@ -950,8 +900,6 @@ gtk_print_job_get_n_up_layout (GtkPrintJob *job)
  * @layout: the n-up layout setting
  *
  * Sets the n-up layout setting for this job.
- *
- * Since: 3.0
  */
 void
 gtk_print_job_set_n_up_layout (GtkPrintJob       *job,
@@ -967,8 +915,6 @@ gtk_print_job_set_n_up_layout (GtkPrintJob       *job,
  * Gets whether the job is printed rotated.
  *
  * Returns: whether the job is printed rotated
- *
- * Since: 3.0
  */
 gboolean
 gtk_print_job_get_rotate (GtkPrintJob *job)
@@ -982,8 +928,6 @@ gtk_print_job_get_rotate (GtkPrintJob *job)
  * @rotate: whether to print rotated
  *
  * Sets whether this job is printed rotated.
- *
- * Since: 3.0
  */
 void
 gtk_print_job_set_rotate (GtkPrintJob *job,
@@ -999,8 +943,6 @@ gtk_print_job_set_rotate (GtkPrintJob *job,
  * Gets whether this job is printed collated.
  *
  * Returns: whether the job is printed collated
- *
- * Since: 3.0
  */
 gboolean
 gtk_print_job_get_collate (GtkPrintJob *job)
@@ -1014,8 +956,6 @@ gtk_print_job_get_collate (GtkPrintJob *job)
  * @collate: whether the job is printed collated
  *
  * Sets whether this job is printed collated.
- *
- * Since: 3.0
  */
 void
 gtk_print_job_set_collate (GtkPrintJob *job,
@@ -1031,8 +971,6 @@ gtk_print_job_set_collate (GtkPrintJob *job,
  * Gets whether this job is printed reversed.
  *
  * Returns: whether the job is printed reversed.
- *
- * Since: 3.0
  */
 gboolean
 gtk_print_job_get_reverse (GtkPrintJob *job)
@@ -1046,8 +984,6 @@ gtk_print_job_get_reverse (GtkPrintJob *job)
  * @reverse: whether the job is printed reversed
  *
  * Sets whether this job is printed reversed.
- *
- * Since: 3.0
  */
 void
 gtk_print_job_set_reverse (GtkPrintJob *job,
diff --git a/gtk/gtkprintjob.h b/gtk/gtkprintjob.h
index 3748650..fd320df 100644
--- a/gtk/gtkprintjob.h
+++ b/gtk/gtkprintjob.h
@@ -95,7 +95,7 @@ GDK_AVAILABLE_IN_ALL
 gboolean                 gtk_print_job_set_source_file        (GtkPrintJob              *job,
                                                               const gchar              *filename,
                                                               GError                  **error);
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 gboolean                 gtk_print_job_set_source_fd          (GtkPrintJob              *job,
                                                               int                       fd,
                                                               GError                  **error);
diff --git a/gtk/gtkprintoperation-unix.c b/gtk/gtkprintoperation-unix.c
index 29781b8..e0143c6 100644
--- a/gtk/gtkprintoperation-unix.c
+++ b/gtk/gtkprintoperation-unix.c
@@ -961,8 +961,6 @@ get_page_setup_dialog (GtkWindow        *parent,
  * a problem.
  * 
  * Returns: (transfer full): a new #GtkPageSetup
- *
- * Since: 2.10
  */
 GtkPageSetup *
 gtk_print_run_page_setup_dialog (GtkWindow        *parent,
@@ -1004,8 +1002,6 @@ gtk_print_run_page_setup_dialog (GtkWindow        *parent,
  * In contrast to gtk_print_run_page_setup_dialog(), this function  returns after 
  * showing the page setup dialog on platforms that support this, and calls @done_cb 
  * from a signal handler for the ::response signal of the dialog.
- *
- * Since: 2.10
  */
 void
 gtk_print_run_page_setup_dialog_async (GtkWindow            *parent,
diff --git a/gtk/gtkprintoperation.c b/gtk/gtkprintoperation.c
index 11df235..090a4d5 100644
--- a/gtk/gtkprintoperation.c
+++ b/gtk/gtkprintoperation.c
@@ -168,8 +168,6 @@ G_DEFINE_TYPE_WITH_CODE (GtkPrintOperation, gtk_print_operation, G_TYPE_OBJECT,
  * Registers an error quark for #GtkPrintOperation if necessary.
  * 
  * Returns: The error quark used for #GtkPrintOperation errors.
- *
- * Since: 2.10
  **/
 GQuark     
 gtk_print_error_quark (void)
@@ -777,8 +775,6 @@ gtk_print_operation_class_init (GtkPrintOperationClass *class)
    * If you enabled print status tracking then 
    * gtk_print_operation_is_finished() may still return %FALSE 
    * after #GtkPrintOperation::done was emitted.
-   *
-   * Since: 2.10
    */
   signals[DONE] =
     g_signal_new (I_("done"),
@@ -800,8 +796,6 @@ gtk_print_operation_class_init (GtkPrintOperationClass *class)
    * A typical use for ::begin-print is to use the parameters from the
    * #GtkPrintContext and paginate the document accordingly, and then
    * set the number of pages with gtk_print_operation_set_n_pages().
-   *
-   * Since: 2.10
    */
   signals[BEGIN_PRINT] =
     g_signal_new (I_("begin-print"),
@@ -832,8 +826,6 @@ gtk_print_operation_class_init (GtkPrintOperationClass *class)
    * from there.
    *
    * Returns: %TRUE if pagination is complete
-   *
-   * Since: 2.10
    */
   signals[PAGINATE] =
     g_signal_new (I_("paginate"),
@@ -855,8 +847,6 @@ gtk_print_operation_class_init (GtkPrintOperationClass *class)
    * Emitted once for every page that is printed, to give
    * the application a chance to modify the page setup. Any changes 
    * done to @setup will be in force only for printing this page.
-   *
-   * Since: 2.10
    */
   signals[REQUEST_PAGE_SETUP] =
     g_signal_new (I_("request-page-setup"),
@@ -924,8 +914,6 @@ gtk_print_operation_class_init (GtkPrintOperationClass *class)
    * gtk_print_operation_set_unit() before starting the print operation
    * to set up the transformation of the cairo context according to your
    * needs.
-   * 
-   * Since: 2.10
    */
   signals[DRAW_PAGE] =
     g_signal_new (I_("draw-page"),
@@ -946,8 +934,6 @@ gtk_print_operation_class_init (GtkPrintOperationClass *class)
    * Emitted after all pages have been rendered. 
    * A handler for this signal can clean up any resources that have
    * been allocated in the #GtkPrintOperation::begin-print handler.
-   * 
-   * Since: 2.10
    */
   signals[END_PRINT] =
     g_signal_new (I_("end-print"),
@@ -966,8 +952,6 @@ gtk_print_operation_class_init (GtkPrintOperationClass *class)
    * See #GtkPrintStatus for the phases that are being discriminated.
    * Use gtk_print_operation_get_status() to find out the current
    * status.
-   *
-   * Since: 2.10
    */
   signals[STATUS_CHANGED] =
     g_signal_new (I_("status-changed"),
@@ -996,8 +980,6 @@ gtk_print_operation_class_init (GtkPrintOperationClass *class)
    *
    * Returns: (transfer none): A custom widget that gets embedded in
    *          the print dialog, or %NULL
-   *
-   * Since: 2.10
    */
   signals[CREATE_CUSTOM_WIDGET] =
     g_signal_new (I_("create-custom-widget"),
@@ -1018,8 +1000,6 @@ gtk_print_operation_class_init (GtkPrintOperationClass *class)
    * Emitted after change of selected printer. The actual page setup and
    * print settings are passed to the custom widget, which can actualize
    * itself according to this change.
-   *
-   * Since: 2.18
    */
   signals[UPDATE_CUSTOM_WIDGET] =
     g_signal_new (I_("update-custom-widget"),
@@ -1040,8 +1020,6 @@ gtk_print_operation_class_init (GtkPrintOperationClass *class)
    * When you get this signal you should read the information from the 
    * custom widgets, as the widgets are not guaraneed to be around at a 
    * later time.
-   *
-   * Since: 2.10
    */
   signals[CUSTOM_WIDGET_APPLY] =
     g_signal_new (I_("custom-widget-apply"),
@@ -1077,8 +1055,6 @@ gtk_print_operation_class_init (GtkPrintOperationClass *class)
    * (typically in response to the user clicking a close button).
    *
    * Returns: %TRUE if the listener wants to take over control of the preview
-   * 
-   * Since: 2.10
    */
   signals[PREVIEW] =
     g_signal_new (I_("preview"),
@@ -1101,8 +1077,6 @@ gtk_print_operation_class_init (GtkPrintOperationClass *class)
    * This page setup will be used by gtk_print_operation_run(),
    * but it can be overridden on a per-page basis by connecting
    * to the #GtkPrintOperation::request-page-setup signal.
-   *
-   * Since: 2.10
    */
   g_object_class_install_property (gobject_class,
                                   PROP_DEFAULT_PAGE_SETUP,
@@ -1120,8 +1094,6 @@ gtk_print_operation_class_init (GtkPrintOperationClass *class)
    * Setting this property is typically used to re-establish 
    * print settings from a previous print operation, see 
    * gtk_print_operation_run().
-   *
-   * Since: 2.10
    */
   g_object_class_install_property (gobject_class,
                                   PROP_PRINT_SETTINGS,
@@ -1139,8 +1111,6 @@ gtk_print_operation_class_init (GtkPrintOperationClass *class)
    * 
    * If you don't set a job name, GTK+ picks a default one 
    * by numbering successive print jobs.
-   *
-   * Since: 2.10
    */
   g_object_class_install_property (gobject_class,
                                   PROP_JOB_NAME,
@@ -1164,8 +1134,6 @@ gtk_print_operation_class_init (GtkPrintOperationClass *class)
    * #GtkPrintOperation::draw-page signals are 0-based, i.e. if 
    * the user chooses to print all pages, the last ::draw-page signal 
    * will be for page @n_pages - 1.
-   *
-   * Since: 2.10
    */
   g_object_class_install_property (gobject_class,
                                   PROP_N_PAGES,
@@ -1186,8 +1154,6 @@ gtk_print_operation_class_init (GtkPrintOperationClass *class)
    * the user will be able to select to print only the current page.
    *
    * Note that this only makes sense for pre-paginated documents.
-   *
-   * Since: 2.10
    */
   g_object_class_install_property (gobject_class,
                                   PROP_CURRENT_PAGE,
@@ -1208,8 +1174,6 @@ gtk_print_operation_class_init (GtkPrintOperationClass *class)
    * depending on page orientation and the number of pages per sheet). 
    * Otherwise, the origin is at the top left corner of the imageable 
    * area (i.e. inside the margins).
-   * 
-   * Since: 2.10
    */
   g_object_class_install_property (gobject_class,
                                   PROP_USE_FULL_PAGE,
@@ -1229,8 +1193,6 @@ gtk_print_operation_class_init (GtkPrintOperationClass *class)
    * issues, and when the print job actually reaches the printer. 
    * However, this is often implemented using polling, and should 
    * not be enabled unless needed.
-   * 
-   * Since: 2.10
    */
   g_object_class_install_property (gobject_class,
                                   PROP_TRACK_PRINT_STATUS,
@@ -1247,8 +1209,6 @@ gtk_print_operation_class_init (GtkPrintOperationClass *class)
    * The transformation for the cairo context obtained from
    * #GtkPrintContext is set up in such a way that distances 
    * are measured in units of @unit.
-   *
-   * Since: 2.10
    */
   g_object_class_install_property (gobject_class,
                                   PROP_UNIT,
@@ -1265,8 +1225,6 @@ gtk_print_operation_class_init (GtkPrintOperationClass *class)
    *
    * Determines whether to show a progress dialog during the 
    * print operation.
-   *
-   * Since: 2.10
    */
   g_object_class_install_property (gobject_class,
                                   PROP_SHOW_PROGRESS,
@@ -1289,8 +1247,6 @@ gtk_print_operation_class_init (GtkPrintOperationClass *class)
    * The Windows port does not support asynchronous operation at all (this 
    * is unlikely to change). On other platforms, all actions except for 
    * %GTK_PRINT_OPERATION_ACTION_EXPORT support asynchronous operation.
-   *
-   * Since: 2.10
    */
   g_object_class_install_property (gobject_class,
                                   PROP_ALLOW_ASYNC,
@@ -1312,8 +1268,6 @@ gtk_print_operation_class_init (GtkPrintOperationClass *class)
    * “Print to PDF” support is independent of this and is done
    * by letting the user pick the “Print to PDF” item from the 
    * list of printers in the print dialog.
-   *
-   * Since: 2.10
    */
   g_object_class_install_property (gobject_class,
                                   PROP_EXPORT_FILENAME,
@@ -1327,8 +1281,6 @@ gtk_print_operation_class_init (GtkPrintOperationClass *class)
    * GtkPrintOperation:status:
    *
    * The status of the print operation.
-   * 
-   * Since: 2.10
    */
   g_object_class_install_property (gobject_class,
                                   PROP_STATUS,
@@ -1348,8 +1300,6 @@ gtk_print_operation_class_init (GtkPrintOperationClass *class)
    *
    * See the #GtkPrintOperation:status property for a status value that 
    * is suitable for programmatic use. 
-   *
-   * Since: 2.10
    */
   g_object_class_install_property (gobject_class,
                                   PROP_STATUS_STRING,
@@ -1367,8 +1317,6 @@ gtk_print_operation_class_init (GtkPrintOperationClass *class)
    * Note that this property may be ignored on some platforms.
    * 
    * If this is %NULL, GTK+ uses a default label.
-   *
-   * Since: 2.10
    */
   g_object_class_install_property (gobject_class,
                                   PROP_CUSTOM_TAB_LABEL,
@@ -1383,8 +1331,6 @@ gtk_print_operation_class_init (GtkPrintOperationClass *class)
    *
    * If %TRUE, the print operation will support print of selection.
    * This allows the print dialog to show a "Selection" button.
-   * 
-   * Since: 2.18
    */
   g_object_class_install_property (gobject_class,
                                   PROP_SUPPORT_SELECTION,
@@ -1400,8 +1346,6 @@ gtk_print_operation_class_init (GtkPrintOperationClass *class)
    * Determines whether there is a selection in your application.
    * This can allow your application to print the selection.
    * This is typically used to make a "Selection" button sensitive.
-   * 
-   * Since: 2.18
    */
   g_object_class_install_property (gobject_class,
                                   PROP_HAS_SELECTION,
@@ -1416,8 +1360,6 @@ gtk_print_operation_class_init (GtkPrintOperationClass *class)
    * GtkPrintOperation:embed-page-setup:
    *
    * If %TRUE, page size combo box and orientation combo box are embedded into page setup page.
-   * 
-   * Since: 2.18
    */
   g_object_class_install_property (gobject_class,
                                   PROP_EMBED_PAGE_SETUP,
@@ -1438,8 +1380,6 @@ gtk_print_operation_class_init (GtkPrintOperationClass *class)
    * and call gtk_print_operation_get_n_pages_to_print() when
    * print status is %GTK_PRINT_STATUS_GENERATING_DATA.
    * This is typically used to track the progress of print operation.
-   *
-   * Since: 2.18
    */
   g_object_class_install_property (gobject_class,
                                   PROP_N_PAGES_TO_PRINT,
@@ -1458,8 +1398,6 @@ gtk_print_operation_class_init (GtkPrintOperationClass *class)
  * Creates a new #GtkPrintOperation. 
  *
  * Returns: a new #GtkPrintOperation
- *
- * Since: 2.10
  */
 GtkPrintOperation *
 gtk_print_operation_new (void)
@@ -1481,8 +1419,6 @@ gtk_print_operation_new (void)
  * This page setup will be used by gtk_print_operation_run(),
  * but it can be overridden on a per-page basis by connecting
  * to the #GtkPrintOperation::request-page-setup signal.
- *
- * Since: 2.10
  **/
 void
 gtk_print_operation_set_default_page_setup (GtkPrintOperation *op,
@@ -1518,8 +1454,6 @@ gtk_print_operation_set_default_page_setup (GtkPrintOperation *op,
  * gtk_print_operation_set_default_page_setup().
  *
  * Returns: (transfer none): the default page setup
- *
- * Since: 2.10
  */
 GtkPageSetup *
 gtk_print_operation_get_default_page_setup (GtkPrintOperation *op)
@@ -1538,8 +1472,6 @@ gtk_print_operation_get_default_page_setup (GtkPrintOperation *op)
  * Sets the print settings for @op. This is typically used to
  * re-establish print settings from a previous print operation,
  * see gtk_print_operation_run().
- *
- * Since: 2.10
  **/
 void
 gtk_print_operation_set_print_settings (GtkPrintOperation *op,
@@ -1578,8 +1510,6 @@ gtk_print_operation_set_print_settings (GtkPrintOperation *op,
  * gtk_print_operation_run() have been called.
  *
  * Returns: (transfer none): the current print settings of @op.
- *
- * Since: 2.10
  **/
 GtkPrintSettings *
 gtk_print_operation_get_print_settings (GtkPrintOperation *op)
@@ -1599,8 +1529,6 @@ gtk_print_operation_get_print_settings (GtkPrintOperation *op)
  * 
  * If you don’t set a job name, GTK+ picks a default one by 
  * numbering successive print jobs.
- *
- * Since: 2.10
  **/
 void
 gtk_print_operation_set_job_name (GtkPrintOperation *op,
@@ -1638,8 +1566,6 @@ gtk_print_operation_set_job_name (GtkPrintOperation *op,
  * and #GtkPrintOperation::draw-page signals are 0-based, i.e. if 
  * the user chooses to print all pages, the last ::draw-page signal 
  * will be for page @n_pages - 1.
- *
- * Since: 2.10
  **/
 void
 gtk_print_operation_set_n_pages (GtkPrintOperation *op,
@@ -1673,8 +1599,6 @@ gtk_print_operation_set_n_pages (GtkPrintOperation *op,
  * the user will be able to select to print only the current page.
  *
  * Note that this only makes sense for pre-paginated documents.
- * 
- * Since: 2.10
  **/
 void
 gtk_print_operation_set_current_page (GtkPrintOperation *op,
@@ -1708,8 +1632,6 @@ gtk_print_operation_set_current_page (GtkPrintOperation *op,
  * sheet, depending on page orientation and the number of pages per 
  * sheet). Otherwise, the origin is at the top left corner of the
  * imageable area (i.e. inside the margins).
- * 
- * Since: 2.10 
  */
 void
 gtk_print_operation_set_use_full_page (GtkPrintOperation *op,
@@ -1739,8 +1661,6 @@ gtk_print_operation_set_use_full_page (GtkPrintOperation *op,
  * Sets up the transformation for the cairo context obtained from
  * #GtkPrintContext in such a way that distances are measured in 
  * units of @unit.
- *
- * Since: 2.10
  */
 void
 gtk_print_operation_set_unit (GtkPrintOperation *op,
@@ -1772,8 +1692,6 @@ gtk_print_operation_set_unit (GtkPrintOperation *op,
  * 
  * This function is often implemented using some form of polling, so it should
  * not be enabled unless needed.
- *
- * Since: 2.10
  */
 void
 gtk_print_operation_set_track_print_status (GtkPrintOperation  *op,
@@ -1840,8 +1758,6 @@ _gtk_print_operation_set_status (GtkPrintOperation *op,
  * Also see gtk_print_operation_get_status_string().
  * 
  * Returns: the status of the print operation
- *
- * Since: 2.10
  **/
 GtkPrintStatus
 gtk_print_operation_get_status (GtkPrintOperation *op)
@@ -1865,8 +1781,6 @@ gtk_print_operation_get_status (GtkPrintOperation *op)
  * 
  * Returns: a string representation of the status
  *    of the print operation
- *
- * Since: 2.10
  **/
 const gchar *
 gtk_print_operation_get_status_string (GtkPrintOperation *op)
@@ -1889,8 +1803,6 @@ gtk_print_operation_get_status_string (GtkPrintOperation *op)
  * the operation status then tracks the print job status on the printer.
  * 
  * Returns: %TRUE, if the print operation is finished.
- *
- * Since: 2.10
  **/
 gboolean
 gtk_print_operation_is_finished (GtkPrintOperation *op)
@@ -1912,8 +1824,6 @@ gtk_print_operation_is_finished (GtkPrintOperation *op)
  * 
  * If @show_progress is %TRUE, the print operation will show a 
  * progress dialog during the print operation.
- * 
- * Since: 2.10
  */
 void
 gtk_print_operation_set_show_progress (GtkPrintOperation  *op,
@@ -1943,8 +1853,6 @@ gtk_print_operation_set_show_progress (GtkPrintOperation  *op,
  * Sets whether the gtk_print_operation_run() may return
  * before the print operation is completed. Note that
  * some platforms may not allow asynchronous operation.
- *
- * Since: 2.10
  */
 void
 gtk_print_operation_set_allow_async (GtkPrintOperation  *op,
@@ -1973,8 +1881,6 @@ gtk_print_operation_set_allow_async (GtkPrintOperation  *op,
  * @label: (allow-none): the label to use, or %NULL to use the default label
  *
  * Sets the label for the tab holding custom widgets.
- *
- * Since: 2.10
  */
 void
 gtk_print_operation_set_custom_tab_label (GtkPrintOperation  *op,
@@ -2006,8 +1912,6 @@ gtk_print_operation_set_custom_tab_label (GtkPrintOperation  *op,
  * “Print to PDF” support is independent of this and is done
  * by letting the user pick the “Print to PDF” item from the list
  * of printers in the print dialog.
- *
- * Since: 2.10
  */
 void
 gtk_print_operation_set_export_filename (GtkPrintOperation *op,
@@ -2396,8 +2300,6 @@ update_progress (PrintPagesData *data)
  * be used for drawing page in another thread.
  *
  * This function must be called in the callback of “draw-page” signal.
- *
- * Since: 2.16
  **/
 void
 gtk_print_operation_set_defer_drawing (GtkPrintOperation *op)
@@ -2416,8 +2318,6 @@ gtk_print_operation_set_defer_drawing (GtkPrintOperation *op)
  *
  * Embed page size combo box and orientation combo box into page setup page.
  * Selected page setup is stored as default page setup in #GtkPrintOperation.
- *
- * Since: 2.18
  **/
 void
 gtk_print_operation_set_embed_page_setup (GtkPrintOperation  *op,
@@ -2444,8 +2344,6 @@ gtk_print_operation_set_embed_page_setup (GtkPrintOperation  *op,
  * Gets the value of #GtkPrintOperation:embed-page-setup property.
  * 
  * Returns: whether page setup selection combos are embedded
- *
- * Since: 2.18
  */
 gboolean
 gtk_print_operation_get_embed_page_setup (GtkPrintOperation *op)
@@ -2466,8 +2364,6 @@ gtk_print_operation_get_embed_page_setup (GtkPrintOperation *op)
  * If gtk_print_operation_set_defer_drawing() was called before, then this function
  * has to be called by application. In another case it is called by the library
  * itself.
- *
- * Since: 2.16
  **/
 void
 gtk_print_operation_draw_page_finish (GtkPrintOperation *op)
@@ -3106,8 +3002,6 @@ print_pages (GtkPrintOperation       *op,
  * %GTK_PRINT_OPERATION_RESULT_ERROR, either as returned by 
  * gtk_print_operation_run(), or in the #GtkPrintOperation::done signal 
  * handler. The returned #GError will contain more details on what went wrong.
- *
- * Since: 2.10
  **/
 void
 gtk_print_operation_get_error (GtkPrintOperation  *op,
@@ -3192,8 +3086,6 @@ gtk_print_operation_get_error (GtkPrintOperation  *op,
  *   %GTK_PRINT_OPERATION_RESULT_IN_PROGRESS means the operation is running
  *   asynchronously, and will emit the #GtkPrintOperation::done signal when 
  *   done.
- *
- * Since: 2.10
  **/
 GtkPrintOperationResult
 gtk_print_operation_run (GtkPrintOperation        *op,
@@ -3289,8 +3181,6 @@ gtk_print_operation_run (GtkPrintOperation        *op,
  * #GtkPrintOperation::paginate or #GtkPrintOperation::draw-page
  * signal handler to stop the currently running print 
  * operation.
- *
- * Since: 2.10
  */
 void
 gtk_print_operation_cancel (GtkPrintOperation *op)
@@ -3306,8 +3196,6 @@ gtk_print_operation_cancel (GtkPrintOperation *op)
  * @support_selection: %TRUE to support selection
  *
  * Sets whether selection is supported by #GtkPrintOperation.
- *
- * Since: 2.18
  */
 void
 gtk_print_operation_set_support_selection (GtkPrintOperation  *op,
@@ -3334,8 +3222,6 @@ gtk_print_operation_set_support_selection (GtkPrintOperation  *op,
  * Gets the value of #GtkPrintOperation:support-selection property.
  * 
  * Returns: whether the application supports print of selection
- *
- * Since: 2.18
  */
 gboolean
 gtk_print_operation_get_support_selection (GtkPrintOperation *op)
@@ -3355,8 +3241,6 @@ gtk_print_operation_get_support_selection (GtkPrintOperation *op)
  * Application has to set number of pages to which the selection
  * will draw by gtk_print_operation_set_n_pages() in a callback of
  * #GtkPrintOperation::begin-print.
- *
- * Since: 2.18
  */
 void
 gtk_print_operation_set_has_selection (GtkPrintOperation  *op,
@@ -3383,8 +3267,6 @@ gtk_print_operation_set_has_selection (GtkPrintOperation  *op,
  * Gets the value of #GtkPrintOperation:has-selection property.
  * 
  * Returns: whether there is a selection
- *
- * Since: 2.18
  */
 gboolean
 gtk_print_operation_get_has_selection (GtkPrintOperation *op)
@@ -3409,8 +3291,6 @@ gtk_print_operation_get_has_selection (GtkPrintOperation *op)
  * This is typically used to track the progress of print operation.
  *
  * Returns: the number of pages that will be printed
- *
- * Since: 2.18
  **/
 gint
 gtk_print_operation_get_n_pages_to_print (GtkPrintOperation *op)
diff --git a/gtk/gtkprintoperationpreview.c b/gtk/gtkprintoperationpreview.c
index b996d35..cea332f 100644
--- a/gtk/gtkprintoperationpreview.c
+++ b/gtk/gtkprintoperationpreview.c
@@ -122,8 +122,6 @@ gtk_print_operation_preview_base_init (gpointer g_iface)
  * 
  * Note that this function requires a suitable cairo context to 
  * be associated with the print context. 
- *
- * Since: 2.10 
  */
 void    
 gtk_print_operation_preview_render_page (GtkPrintOperationPreview *preview,
@@ -142,8 +140,6 @@ gtk_print_operation_preview_render_page (GtkPrintOperationPreview *preview,
  * Ends a preview. 
  *
  * This function must be called to finish a custom print preview.
- *
- * Since: 2.10
  */
 void
 gtk_print_operation_preview_end_preview (GtkPrintOperationPreview *preview)
@@ -162,8 +158,6 @@ gtk_print_operation_preview_end_preview (GtkPrintOperationPreview *preview)
  * have been selected for printing.
  * 
  * Returns: %TRUE if the page has been selected for printing
- *
- * Since: 2.10
  */
 gboolean
 gtk_print_operation_preview_is_selected (GtkPrintOperationPreview *preview,
diff --git a/gtk/gtkprintsettings.c b/gtk/gtkprintsettings.c
index 63e8da9..89854cf 100644
--- a/gtk/gtkprintsettings.c
+++ b/gtk/gtkprintsettings.c
@@ -101,8 +101,6 @@ gtk_print_settings_class_init (GtkPrintSettingsClass *class)
  * Creates a new #GtkPrintSettings object.
  *  
  * Returns: a new #GtkPrintSettings object
- *
- * Since: 2.10
  */
 GtkPrintSettings *
 gtk_print_settings_new (void)
@@ -131,8 +129,6 @@ copy_hash_entry  (gpointer  key,
  * Copies a #GtkPrintSettings object.
  *
  * Returns: (transfer full): a newly allocated copy of @other
- *
- * Since: 2.10
  */
 GtkPrintSettings *
 gtk_print_settings_copy (GtkPrintSettings *other)
@@ -161,8 +157,6 @@ gtk_print_settings_copy (GtkPrintSettings *other)
  * Looks up the string value associated with @key.
  * 
  * Returns: the string value for @key
- * 
- * Since: 2.10
  */
 const gchar *
 gtk_print_settings_get (GtkPrintSettings *settings,
@@ -178,8 +172,6 @@ gtk_print_settings_get (GtkPrintSettings *settings,
  * @value: (allow-none): a string value, or %NULL
  *
  * Associates @value with @key.
- *
- * Since: 2.10
  */
 void
 gtk_print_settings_set (GtkPrintSettings *settings,
@@ -201,8 +193,6 @@ gtk_print_settings_set (GtkPrintSettings *settings,
  * 
  * Removes any value associated with @key. 
  * This has the same effect as setting the value to %NULL.
- *
- * Since: 2.10 
  */
 void
 gtk_print_settings_unset (GtkPrintSettings *settings,
@@ -219,8 +209,6 @@ gtk_print_settings_unset (GtkPrintSettings *settings,
  * Returns %TRUE, if a value is associated with @key.
  * 
  * Returns: %TRUE, if @key has a value
- *
- * Since: 2.10
  */
 gboolean        
 gtk_print_settings_has_key (GtkPrintSettings *settings,
@@ -242,8 +230,6 @@ gtk_print_settings_has_key (GtkPrintSettings *settings,
  * string %FALSE.
  *
  * Returns: %TRUE, if @key maps to a true value.
- * 
- * Since: 2.10
  **/
 gboolean
 gtk_print_settings_get_bool (GtkPrintSettings *settings,
@@ -272,8 +258,6 @@ gtk_print_settings_get_bool (GtkPrintSettings *settings,
  * “false” represents %FALSE.
  *
  * Returns: the boolean value associated with @key
- * 
- * Since: 2.10
  */
 static gboolean
 gtk_print_settings_get_bool_with_default (GtkPrintSettings *settings,
@@ -299,8 +283,6 @@ gtk_print_settings_get_bool_with_default (GtkPrintSettings *settings,
  * @value: a boolean
  * 
  * Sets @key to a boolean value.
- *
- * Since: 2.10
  */
 void
 gtk_print_settings_set_bool (GtkPrintSettings *settings,
@@ -326,8 +308,6 @@ gtk_print_settings_set_bool (GtkPrintSettings *settings,
  * Floating point numbers are parsed with g_ascii_strtod().
  *
  * Returns: the floating point number associated with @key
- * 
- * Since: 2.10
  */
 gdouble
 gtk_print_settings_get_double_with_default (GtkPrintSettings *settings,
@@ -351,8 +331,6 @@ gtk_print_settings_get_double_with_default (GtkPrintSettings *settings,
  * Returns the double value associated with @key, or 0.
  * 
  * Returns: the double value of @key
- *
- * Since: 2.10
  */
 gdouble
 gtk_print_settings_get_double (GtkPrintSettings *settings,
@@ -368,8 +346,6 @@ gtk_print_settings_get_double (GtkPrintSettings *settings,
  * @value: a double value
  * 
  * Sets @key to a double value.
- * 
- * Since: 2.10
  */
 void
 gtk_print_settings_set_double (GtkPrintSettings *settings,
@@ -392,8 +368,6 @@ gtk_print_settings_set_double (GtkPrintSettings *settings,
  * as a length. The returned value is converted to @units.
  * 
  * Returns: the length value of @key, converted to @unit
- *
- * Since: 2.10
  */
 gdouble
 gtk_print_settings_get_length (GtkPrintSettings *settings,
@@ -412,8 +386,6 @@ gtk_print_settings_get_length (GtkPrintSettings *settings,
  * @unit: the unit of @length
  * 
  * Associates a length in units of @unit with @key.
- *
- * Since: 2.10
  */
 void
 gtk_print_settings_set_length (GtkPrintSettings *settings,
@@ -435,8 +407,6 @@ gtk_print_settings_set_length (GtkPrintSettings *settings,
  * an integer, or the default value.
  * 
  * Returns: the integer value of @key
- *
- * Since: 2.10
  */
 gint
 gtk_print_settings_get_int_with_default (GtkPrintSettings *settings,
@@ -460,8 +430,6 @@ gtk_print_settings_get_int_with_default (GtkPrintSettings *settings,
  * Returns the integer value of @key, or 0.
  * 
  * Returns: the integer value of @key 
- *
- * Since: 2.10
  */
 gint
 gtk_print_settings_get_int (GtkPrintSettings *settings,
@@ -477,8 +445,6 @@ gtk_print_settings_get_int (GtkPrintSettings *settings,
  * @value: an integer 
  * 
  * Sets @key to an integer value.
- *
- * Since: 2.10 
  */
 void
 gtk_print_settings_set_int (GtkPrintSettings *settings,
@@ -497,8 +463,6 @@ gtk_print_settings_set_int (GtkPrintSettings *settings,
  * @user_data: user data for @func
  *
  * Calls @func for each key-value pair of @settings.
- *
- * Since: 2.10
  */
 void
 gtk_print_settings_foreach (GtkPrintSettings    *settings,
@@ -516,8 +480,6 @@ gtk_print_settings_foreach (GtkPrintSettings    *settings,
  * %GTK_PRINT_SETTINGS_PRINTER.
  *
  * Returns: the printer name
- *
- * Since: 2.10
  */
 const gchar *
 gtk_print_settings_get_printer (GtkPrintSettings *settings)
@@ -533,8 +495,6 @@ gtk_print_settings_get_printer (GtkPrintSettings *settings)
  * 
  * Convenience function to set %GTK_PRINT_SETTINGS_PRINTER
  * to @printer.
- *
- * Since: 2.10
  */
 void
 gtk_print_settings_set_printer (GtkPrintSettings *settings,
@@ -551,8 +511,6 @@ gtk_print_settings_set_printer (GtkPrintSettings *settings,
  * converted to a #GtkPageOrientation.
  * 
  * Returns: the orientation
- *
- * Since: 2.10
  */
 GtkPageOrientation
 gtk_print_settings_get_orientation (GtkPrintSettings *settings)
@@ -582,8 +540,6 @@ gtk_print_settings_get_orientation (GtkPrintSettings *settings)
  * @orientation: a page orientation
  * 
  * Sets the value of %GTK_PRINT_SETTINGS_ORIENTATION.
- * 
- * Since: 2.10
  */
 void
 gtk_print_settings_set_orientation (GtkPrintSettings   *settings,
@@ -618,8 +574,6 @@ gtk_print_settings_set_orientation (GtkPrintSettings   *settings,
  * converted to a #GtkPaperSize.
  * 
  * Returns: the paper size
- *
- * Since: 2.10
  */
 GtkPaperSize *     
 gtk_print_settings_get_paper_size (GtkPrintSettings *settings)
@@ -651,8 +605,6 @@ gtk_print_settings_get_paper_size (GtkPrintSettings *settings)
  * Sets the value of %GTK_PRINT_SETTINGS_PAPER_FORMAT,
  * %GTK_PRINT_SETTINGS_PAPER_WIDTH and
  * %GTK_PRINT_SETTINGS_PAPER_HEIGHT.
- *
- * Since: 2.10
  */
 void
 gtk_print_settings_set_paper_size (GtkPrintSettings *settings,
@@ -695,8 +647,6 @@ gtk_print_settings_set_paper_size (GtkPrintSettings *settings,
  * converted to @unit. 
  * 
  * Returns: the paper width, in units of @unit
- *
- * Since: 2.10
  */
 gdouble
 gtk_print_settings_get_paper_width (GtkPrintSettings *settings,
@@ -712,8 +662,6 @@ gtk_print_settings_get_paper_width (GtkPrintSettings *settings,
  * @unit: the units of @width
  * 
  * Sets the value of %GTK_PRINT_SETTINGS_PAPER_WIDTH.
- *
- * Since: 2.10
  */
 void
 gtk_print_settings_set_paper_width (GtkPrintSettings *settings,
@@ -732,8 +680,6 @@ gtk_print_settings_set_paper_width (GtkPrintSettings *settings,
  * converted to @unit. 
  * 
  * Returns: the paper height, in units of @unit
- *
- * Since: 2.10
  */
 gdouble
 gtk_print_settings_get_paper_height (GtkPrintSettings *settings,
@@ -751,8 +697,6 @@ gtk_print_settings_get_paper_height (GtkPrintSettings *settings,
  * @unit: the units of @height
  * 
  * Sets the value of %GTK_PRINT_SETTINGS_PAPER_HEIGHT.
- *
- * Since: 2.10
  */
 void
 gtk_print_settings_set_paper_height (GtkPrintSettings *settings,
@@ -771,8 +715,6 @@ gtk_print_settings_set_paper_height (GtkPrintSettings *settings,
  * Gets the value of %GTK_PRINT_SETTINGS_USE_COLOR.
  * 
  * Returns: whether to use color
- *
- * Since: 2.10
  */
 gboolean
 gtk_print_settings_get_use_color (GtkPrintSettings *settings)
@@ -788,8 +730,6 @@ gtk_print_settings_get_use_color (GtkPrintSettings *settings)
  * @use_color: whether to use color
  * 
  * Sets the value of %GTK_PRINT_SETTINGS_USE_COLOR.
- * 
- * Since: 2.10
  */
 void
 gtk_print_settings_set_use_color (GtkPrintSettings *settings,
@@ -807,8 +747,6 @@ gtk_print_settings_set_use_color (GtkPrintSettings *settings,
  * Gets the value of %GTK_PRINT_SETTINGS_COLLATE.
  * 
  * Returns: whether to collate the printed pages
- *
- * Since: 2.10
  */
 gboolean
 gtk_print_settings_get_collate (GtkPrintSettings *settings)
@@ -824,8 +762,6 @@ gtk_print_settings_get_collate (GtkPrintSettings *settings)
  * @collate: whether to collate the output
  * 
  * Sets the value of %GTK_PRINT_SETTINGS_COLLATE.
- * 
- * Since: 2.10
  */
 void
 gtk_print_settings_set_collate (GtkPrintSettings *settings,
@@ -843,8 +779,6 @@ gtk_print_settings_set_collate (GtkPrintSettings *settings,
  * Gets the value of %GTK_PRINT_SETTINGS_REVERSE.
  * 
  * Returns: whether to reverse the order of the printed pages
- *
- * Since: 2.10
  */
 gboolean
 gtk_print_settings_get_reverse (GtkPrintSettings *settings)
@@ -859,8 +793,6 @@ gtk_print_settings_get_reverse (GtkPrintSettings *settings)
  * @reverse: whether to reverse the output
  * 
  * Sets the value of %GTK_PRINT_SETTINGS_REVERSE.
- * 
- * Since: 2.10
  */
 void
 gtk_print_settings_set_reverse (GtkPrintSettings *settings,
@@ -878,8 +810,6 @@ gtk_print_settings_set_reverse (GtkPrintSettings *settings,
  * Gets the value of %GTK_PRINT_SETTINGS_DUPLEX.
  * 
  * Returns: whether to print the output in duplex.
- *
- * Since: 2.10
  */
 GtkPrintDuplex
 gtk_print_settings_get_duplex (GtkPrintSettings *settings)
@@ -906,8 +836,6 @@ gtk_print_settings_get_duplex (GtkPrintSettings *settings)
  * @duplex: a #GtkPrintDuplex value
  * 
  * Sets the value of %GTK_PRINT_SETTINGS_DUPLEX.
- * 
- * Since: 2.10
  */
 void
 gtk_print_settings_set_duplex (GtkPrintSettings *settings,
@@ -939,8 +867,6 @@ gtk_print_settings_set_duplex (GtkPrintSettings *settings,
  * Gets the value of %GTK_PRINT_SETTINGS_QUALITY.
  * 
  * Returns: the print quality
- *
- * Since: 2.10
  */
 GtkPrintQuality
 gtk_print_settings_get_quality (GtkPrintSettings *settings)
@@ -970,8 +896,6 @@ gtk_print_settings_get_quality (GtkPrintSettings *settings)
  * @quality: a #GtkPrintQuality value
  * 
  * Sets the value of %GTK_PRINT_SETTINGS_QUALITY.
- * 
- * Since: 2.10
  */
 void
 gtk_print_settings_set_quality (GtkPrintSettings *settings,
@@ -1006,8 +930,6 @@ gtk_print_settings_set_quality (GtkPrintSettings *settings,
  * Gets the value of %GTK_PRINT_SETTINGS_PAGE_SET.
  * 
  * Returns: the set of pages to print
- *
- * Since: 2.10
  */
 GtkPageSet
 gtk_print_settings_get_page_set (GtkPrintSettings *settings)
@@ -1034,8 +956,6 @@ gtk_print_settings_get_page_set (GtkPrintSettings *settings)
  * @page_set: a #GtkPageSet value
  * 
  * Sets the value of %GTK_PRINT_SETTINGS_PAGE_SET.
- * 
- * Since: 2.10
  */
 void
 gtk_print_settings_set_page_set (GtkPrintSettings *settings,
@@ -1067,8 +987,6 @@ gtk_print_settings_set_page_set (GtkPrintSettings *settings,
  * Gets the value of %GTK_PRINT_SETTINGS_NUMBER_UP_LAYOUT.
  * 
  * Returns: layout of page in number-up mode
- *
- * Since: 2.14
  */
 GtkNumberUpLayout
 gtk_print_settings_get_number_up_layout (GtkPrintSettings *settings)
@@ -1107,8 +1025,6 @@ gtk_print_settings_get_number_up_layout (GtkPrintSettings *settings)
  * @number_up_layout: a #GtkNumberUpLayout value
  * 
  * Sets the value of %GTK_PRINT_SETTINGS_NUMBER_UP_LAYOUT.
- * 
- * Since: 2.14
  */
 void
 gtk_print_settings_set_number_up_layout (GtkPrintSettings  *settings,
@@ -1134,8 +1050,6 @@ gtk_print_settings_set_number_up_layout (GtkPrintSettings  *settings,
  * Gets the value of %GTK_PRINT_SETTINGS_N_COPIES.
  * 
  * Returns: the number of copies to print
- *
- * Since: 2.10
  */
 gint
 gtk_print_settings_get_n_copies (GtkPrintSettings *settings)
@@ -1149,8 +1063,6 @@ gtk_print_settings_get_n_copies (GtkPrintSettings *settings)
  * @num_copies: the number of copies 
  * 
  * Sets the value of %GTK_PRINT_SETTINGS_N_COPIES.
- * 
- * Since: 2.10
  */
 void
 gtk_print_settings_set_n_copies (GtkPrintSettings *settings,
@@ -1167,8 +1079,6 @@ gtk_print_settings_set_n_copies (GtkPrintSettings *settings,
  * Gets the value of %GTK_PRINT_SETTINGS_NUMBER_UP.
  * 
  * Returns: the number of pages per sheet
- *
- * Since: 2.10
  */
 gint
 gtk_print_settings_get_number_up (GtkPrintSettings *settings)
@@ -1182,8 +1092,6 @@ gtk_print_settings_get_number_up (GtkPrintSettings *settings)
  * @number_up: the number of pages per sheet 
  * 
  * Sets the value of %GTK_PRINT_SETTINGS_NUMBER_UP.
- * 
- * Since: 2.10
  */
 void
 gtk_print_settings_set_number_up (GtkPrintSettings *settings,
@@ -1200,8 +1108,6 @@ gtk_print_settings_set_number_up (GtkPrintSettings *settings,
  * Gets the value of %GTK_PRINT_SETTINGS_RESOLUTION.
  * 
  * Returns: the resolution in dpi
- *
- * Since: 2.10
  */
 gint
 gtk_print_settings_get_resolution (GtkPrintSettings *settings)
@@ -1217,8 +1123,6 @@ gtk_print_settings_get_resolution (GtkPrintSettings *settings)
  * Sets the values of %GTK_PRINT_SETTINGS_RESOLUTION,
  * %GTK_PRINT_SETTINGS_RESOLUTION_X and 
  * %GTK_PRINT_SETTINGS_RESOLUTION_Y.
- * 
- * Since: 2.10
  */
 void
 gtk_print_settings_set_resolution (GtkPrintSettings *settings,
@@ -1239,8 +1143,6 @@ gtk_print_settings_set_resolution (GtkPrintSettings *settings,
  * Gets the value of %GTK_PRINT_SETTINGS_RESOLUTION_X.
  * 
  * Returns: the horizontal resolution in dpi
- *
- * Since: 2.16
  */
 gint
 gtk_print_settings_get_resolution_x (GtkPrintSettings *settings)
@@ -1255,8 +1157,6 @@ gtk_print_settings_get_resolution_x (GtkPrintSettings *settings)
  * Gets the value of %GTK_PRINT_SETTINGS_RESOLUTION_Y.
  * 
  * Returns: the vertical resolution in dpi
- *
- * Since: 2.16
  */
 gint
 gtk_print_settings_get_resolution_y (GtkPrintSettings *settings)
@@ -1273,8 +1173,6 @@ gtk_print_settings_get_resolution_y (GtkPrintSettings *settings)
  * Sets the values of %GTK_PRINT_SETTINGS_RESOLUTION,
  * %GTK_PRINT_SETTINGS_RESOLUTION_X and
  * %GTK_PRINT_SETTINGS_RESOLUTION_Y.
- * 
- * Since: 2.16
  */
 void
 gtk_print_settings_set_resolution_xy (GtkPrintSettings *settings,
@@ -1296,8 +1194,6 @@ gtk_print_settings_set_resolution_xy (GtkPrintSettings *settings,
  * Gets the value of %GTK_PRINT_SETTINGS_PRINTER_LPI.
  * 
  * Returns: the resolution in lpi (lines per inch)
- *
- * Since: 2.16
  */
 gdouble
 gtk_print_settings_get_printer_lpi (GtkPrintSettings *settings)
@@ -1311,8 +1207,6 @@ gtk_print_settings_get_printer_lpi (GtkPrintSettings *settings)
  * @lpi: the resolution in lpi (lines per inch)
  * 
  * Sets the value of %GTK_PRINT_SETTINGS_PRINTER_LPI.
- * 
- * Since: 2.16
  */
 void
 gtk_print_settings_set_printer_lpi (GtkPrintSettings *settings,
@@ -1329,8 +1223,6 @@ gtk_print_settings_set_printer_lpi (GtkPrintSettings *settings,
  * Gets the value of %GTK_PRINT_SETTINGS_SCALE.
  * 
  * Returns: the scale in percent
- *
- * Since: 2.10
  */
 gdouble
 gtk_print_settings_get_scale (GtkPrintSettings *settings)
@@ -1346,8 +1238,6 @@ gtk_print_settings_get_scale (GtkPrintSettings *settings)
  * @scale: the scale in percent
  * 
  * Sets the value of %GTK_PRINT_SETTINGS_SCALE.
- * 
- * Since: 2.10
  */
 void
 gtk_print_settings_set_scale (GtkPrintSettings *settings,
@@ -1364,8 +1254,6 @@ gtk_print_settings_set_scale (GtkPrintSettings *settings,
  * Gets the value of %GTK_PRINT_SETTINGS_PRINT_PAGES.
  * 
  * Returns: which pages to print
- *
- * Since: 2.10
  */
 GtkPrintPages
 gtk_print_settings_get_print_pages (GtkPrintSettings *settings)
@@ -1395,8 +1283,6 @@ gtk_print_settings_get_print_pages (GtkPrintSettings *settings)
  * @pages: a #GtkPrintPages value
  * 
  * Sets the value of %GTK_PRINT_SETTINGS_PRINT_PAGES.
- * 
- * Since: 2.10
  */
 void
 gtk_print_settings_set_print_pages (GtkPrintSettings *settings,
@@ -1434,8 +1320,6 @@ gtk_print_settings_set_print_pages (GtkPrintSettings *settings,
  * Returns: (array length=num_ranges) (transfer full): an array
  *     of #GtkPageRanges.  Use g_free() to free the array when
  *     it is no longer needed.
- *
- * Since: 2.10
  */
 GtkPageRange *
 gtk_print_settings_get_page_ranges (GtkPrintSettings *settings,
@@ -1494,8 +1378,6 @@ gtk_print_settings_get_page_ranges (GtkPrintSettings *settings,
  * @num_ranges: the length of @page_ranges
  * 
  * Sets the value of %GTK_PRINT_SETTINGS_PAGE_RANGES.
- * 
- * Since: 2.10
  */
 void
 gtk_print_settings_set_page_ranges  (GtkPrintSettings *settings,
@@ -1533,8 +1415,6 @@ gtk_print_settings_set_page_ranges  (GtkPrintSettings *settings,
  * Gets the value of %GTK_PRINT_SETTINGS_DEFAULT_SOURCE.
  * 
  * Returns: the default source
- *
- * Since: 2.10
  */
 const gchar *
 gtk_print_settings_get_default_source (GtkPrintSettings *settings)
@@ -1548,8 +1428,6 @@ gtk_print_settings_get_default_source (GtkPrintSettings *settings)
  * @default_source: the default source
  * 
  * Sets the value of %GTK_PRINT_SETTINGS_DEFAULT_SOURCE.
- * 
- * Since: 2.10
  */
 void
 gtk_print_settings_set_default_source (GtkPrintSettings *settings,
@@ -1567,8 +1445,6 @@ gtk_print_settings_set_default_source (GtkPrintSettings *settings,
  * The set of media types is defined in PWG 5101.1-2002 PWG.
  * 
  * Returns: the media type
- *
- * Since: 2.10
  */
 const gchar *
 gtk_print_settings_get_media_type (GtkPrintSettings *settings)
@@ -1584,8 +1460,6 @@ gtk_print_settings_get_media_type (GtkPrintSettings *settings)
  * Sets the value of %GTK_PRINT_SETTINGS_MEDIA_TYPE.
  * 
  * The set of media types is defined in PWG 5101.1-2002 PWG.
- *
- * Since: 2.10
  */
 void
 gtk_print_settings_set_media_type (GtkPrintSettings *settings,
@@ -1601,8 +1475,6 @@ gtk_print_settings_set_media_type (GtkPrintSettings *settings,
  * Gets the value of %GTK_PRINT_SETTINGS_DITHER.
  * 
  * Returns: the dithering that is used
- *
- * Since: 2.10
  */
 const gchar *
 gtk_print_settings_get_dither (GtkPrintSettings *settings)
@@ -1616,8 +1488,6 @@ gtk_print_settings_get_dither (GtkPrintSettings *settings)
  * @dither: the dithering that is used
  * 
  * Sets the value of %GTK_PRINT_SETTINGS_DITHER.
- *
- * Since: 2.10
  */
 void
 gtk_print_settings_set_dither (GtkPrintSettings *settings,
@@ -1633,8 +1503,6 @@ gtk_print_settings_set_dither (GtkPrintSettings *settings,
  * Gets the value of %GTK_PRINT_SETTINGS_FINISHINGS.
  * 
  * Returns: the finishings
- *
- * Since: 2.10
  */
 const gchar *
 gtk_print_settings_get_finishings (GtkPrintSettings *settings)
@@ -1648,8 +1516,6 @@ gtk_print_settings_get_finishings (GtkPrintSettings *settings)
  * @finishings: the finishings
  * 
  * Sets the value of %GTK_PRINT_SETTINGS_FINISHINGS.
- *
- * Since: 2.10
  */
 void
 gtk_print_settings_set_finishings (GtkPrintSettings *settings,
@@ -1665,8 +1531,6 @@ gtk_print_settings_set_finishings (GtkPrintSettings *settings,
  * Gets the value of %GTK_PRINT_SETTINGS_OUTPUT_BIN.
  * 
  * Returns: the output bin
- *
- * Since: 2.10
  */
 const gchar *
 gtk_print_settings_get_output_bin (GtkPrintSettings *settings)
@@ -1680,8 +1544,6 @@ gtk_print_settings_get_output_bin (GtkPrintSettings *settings)
  * @output_bin: the output bin
  * 
  * Sets the value of %GTK_PRINT_SETTINGS_OUTPUT_BIN.
- *
- * Since: 2.10
  */
 void
 gtk_print_settings_set_output_bin (GtkPrintSettings *settings,
@@ -1701,8 +1563,6 @@ gtk_print_settings_set_output_bin (GtkPrintSettings *settings,
  * See gtk_print_settings_to_file().
  *
  * Returns: %TRUE on success
- *
- * Since: 2.14
  */
 gboolean
 gtk_print_settings_load_file (GtkPrintSettings *settings,
@@ -1737,8 +1597,6 @@ gtk_print_settings_load_file (GtkPrintSettings *settings,
  * #GKeyFileError.  See gtk_print_settings_to_file().
  *
  * Returns: the restored #GtkPrintSettings
- * 
- * Since: 2.12
  */
 GtkPrintSettings *
 gtk_print_settings_new_from_file (const gchar  *file_name,
@@ -1768,8 +1626,6 @@ gtk_print_settings_new_from_file (const gchar  *file_name,
  * #GKeyFileError.
  *
  * Returns: %TRUE on success
- * 
- * Since: 2.14
  */
 gboolean
 gtk_print_settings_load_key_file (GtkPrintSettings *settings,
@@ -1830,8 +1686,6 @@ gtk_print_settings_load_key_file (GtkPrintSettings *settings,
  * a #GFileError or #GKeyFileError.
  *
  * Returns: the restored #GtkPrintSettings
- *
- * Since: 2.12
  */
 GtkPrintSettings *
 gtk_print_settings_new_from_key_file (GKeyFile     *key_file,
@@ -1861,8 +1715,6 @@ gtk_print_settings_new_from_key_file (GKeyFile     *key_file,
  * #GKeyFileError.
  * 
  * Returns: %TRUE on success
- *
- * Since: 2.12
  */
 gboolean
 gtk_print_settings_to_file (GtkPrintSettings  *settings,
@@ -1918,8 +1770,6 @@ add_value_to_key_file (const gchar  *key,
  *     %NULL to use the default “Print Settings”
  *
  * This function adds the print settings from @settings to @key_file.
- * 
- * Since: 2.12
  */
 void
 gtk_print_settings_to_key_file (GtkPrintSettings  *settings,
@@ -1958,8 +1808,6 @@ add_to_variant (const gchar *key,
  * Serialize print settings to an a{sv} variant.
  *
  * Returns: (transfer none): a new, floating, #GVariant
- *
- * Since: 3.22
  */
 GVariant *
 gtk_print_settings_to_gvariant (GtkPrintSettings *settings)
@@ -1980,8 +1828,6 @@ gtk_print_settings_to_gvariant (GtkPrintSettings *settings)
  * the format produced by gtk_print_settings_to_gvariant().
  *
  * Returns: (transfer full): a new #GtkPrintSettings object
- *
- * Since: 3.22
  */
 GtkPrintSettings *
 gtk_print_settings_new_from_gvariant (GVariant *variant)
diff --git a/gtk/gtkprintsettings.h b/gtk/gtkprintsettings.h
index d97b7a3..6587400 100644
--- a/gtk/gtkprintsettings.h
+++ b/gtk/gtkprintsettings.h
@@ -171,8 +171,6 @@ void              gtk_print_settings_set_int                 (GtkPrintSettings
  *
  * The key used by the “Print to file” printer to store the
  * directory to which the output should be written.
- *
- * Since: 3.6
  */
 #define GTK_PRINT_SETTINGS_OUTPUT_DIR       "output-dir"
 
@@ -182,8 +180,6 @@ void              gtk_print_settings_set_int                 (GtkPrintSettings
  * The key used by the “Print to file” printer to store the file
  * name of the output without the path to the directory and the
  * file extension.
- *
- * Since: 3.6
  */
 #define GTK_PRINT_SETTINGS_OUTPUT_BASENAME  "output-basename"
 
@@ -344,9 +340,9 @@ GDK_AVAILABLE_IN_ALL
 void                  gtk_print_settings_set_output_bin        (GtkPrintSettings   *settings,
                                                                const gchar        *output_bin);
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 GVariant             *gtk_print_settings_to_gvariant           (GtkPrintSettings   *settings);
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 GtkPrintSettings     *gtk_print_settings_new_from_gvariant     (GVariant           *variant);
 
 
diff --git a/gtk/gtkprintunixdialog.c b/gtk/gtkprintunixdialog.c
index 6feb0aa..c4f8e80 100644
--- a/gtk/gtkprintunixdialog.c
+++ b/gtk/gtkprintunixdialog.c
@@ -3374,8 +3374,6 @@ page_name_func (GtkCellLayout   *cell_layout,
  * Creates a new #GtkPrintUnixDialog.
  *
  * Returns: a new #GtkPrintUnixDialog
- *
- * Since: 2.10
  */
 GtkWidget *
 gtk_print_unix_dialog_new (const gchar *title,
@@ -3398,8 +3396,6 @@ gtk_print_unix_dialog_new (const gchar *title,
  * Gets the currently selected printer.
  *
  * Returns: (transfer none): the currently selected printer
- *
- * Since: 2.10
  */
 GtkPrinter *
 gtk_print_unix_dialog_get_selected_printer (GtkPrintUnixDialog *dialog)
@@ -3415,8 +3411,6 @@ gtk_print_unix_dialog_get_selected_printer (GtkPrintUnixDialog *dialog)
  * @page_setup: a #GtkPageSetup
  *
  * Sets the page setup of the #GtkPrintUnixDialog.
- *
- * Since: 2.10
  */
 void
 gtk_print_unix_dialog_set_page_setup (GtkPrintUnixDialog *dialog,
@@ -3447,8 +3441,6 @@ gtk_print_unix_dialog_set_page_setup (GtkPrintUnixDialog *dialog,
  * Gets the page setup that is used by the #GtkPrintUnixDialog.
  *
  * Returns: (transfer none): the page setup of @dialog.
- *
- * Since: 2.10
  */
 GtkPageSetup *
 gtk_print_unix_dialog_get_page_setup (GtkPrintUnixDialog *dialog)
@@ -3465,8 +3457,6 @@ gtk_print_unix_dialog_get_page_setup (GtkPrintUnixDialog *dialog)
  * Gets the page setup that is used by the #GtkPrintUnixDialog.
  *
  * Returns: whether a page setup was set by user.
- *
- * Since: 2.18
  */
 gboolean
 gtk_print_unix_dialog_get_page_setup_set (GtkPrintUnixDialog *dialog)
@@ -3483,8 +3473,6 @@ gtk_print_unix_dialog_get_page_setup_set (GtkPrintUnixDialog *dialog)
  *
  * Sets the current page number. If @current_page is not -1, this enables
  * the current page choice for the range of pages to print.
- *
- * Since: 2.10
  */
 void
 gtk_print_unix_dialog_set_current_page (GtkPrintUnixDialog *dialog,
@@ -3514,8 +3502,6 @@ gtk_print_unix_dialog_set_current_page (GtkPrintUnixDialog *dialog,
  * Gets the current page of the #GtkPrintUnixDialog.
  *
  * Returns: the current page of @dialog
- *
- * Since: 2.10
  */
 gint
 gtk_print_unix_dialog_get_current_page (GtkPrintUnixDialog *dialog)
@@ -3579,8 +3565,6 @@ set_active_printer (GtkPrintUnixDialog *dialog,
  * Sets the #GtkPrintSettings for the #GtkPrintUnixDialog. Typically,
  * this is used to restore saved print settings from a previous print
  * operation before the print dialog is shown.
- *
- * Since: 2.10
  **/
 void
 gtk_print_unix_dialog_set_settings (GtkPrintUnixDialog *dialog,
@@ -3646,8 +3630,6 @@ gtk_print_unix_dialog_set_settings (GtkPrintUnixDialog *dialog,
  * if don’t want to keep it.
  *
  * Returns: a new #GtkPrintSettings object with the values from @dialog
- *
- * Since: 2.10
  */
 GtkPrintSettings *
 gtk_print_unix_dialog_get_settings (GtkPrintUnixDialog *dialog)
@@ -3714,8 +3696,6 @@ gtk_print_unix_dialog_get_settings (GtkPrintUnixDialog *dialog)
  * @tab_label: the widget to use as tab label
  *
  * Adds a custom tab to the print dialog.
- *
- * Since: 2.10
  */
 void
 gtk_print_unix_dialog_add_custom_tab (GtkPrintUnixDialog *dialog,
@@ -3738,8 +3718,6 @@ gtk_print_unix_dialog_add_custom_tab (GtkPrintUnixDialog *dialog,
  * you pass #GTK_PRINT_CAPABILITY_SCALE. If you don’t pass that, then
  * the dialog will only let you select the scale if the printing
  * system automatically handles scaling.
- *
- * Since: 2.10
  */
 void
 gtk_print_unix_dialog_set_manual_capabilities (GtkPrintUnixDialog   *dialog,
@@ -3774,8 +3752,6 @@ gtk_print_unix_dialog_set_manual_capabilities (GtkPrintUnixDialog   *dialog,
  * Gets the value of #GtkPrintUnixDialog:manual-capabilities property.
  *
  * Returns: the printing capabilities
- *
- * Since: 2.18
  */
 GtkPrintCapabilities
 gtk_print_unix_dialog_get_manual_capabilities (GtkPrintUnixDialog *dialog)
@@ -3791,8 +3767,6 @@ gtk_print_unix_dialog_get_manual_capabilities (GtkPrintUnixDialog *dialog)
  * @support_selection: %TRUE to allow print selection
  *
  * Sets whether the print dialog allows user to print a selection.
- *
- * Since: 2.18
  */
 void
 gtk_print_unix_dialog_set_support_selection (GtkPrintUnixDialog *dialog,
@@ -3834,8 +3808,6 @@ gtk_print_unix_dialog_set_support_selection (GtkPrintUnixDialog *dialog,
  * Gets the value of #GtkPrintUnixDialog:support-selection property.
  *
  * Returns: whether the application supports print of selection
- *
- * Since: 2.18
  */
 gboolean
 gtk_print_unix_dialog_get_support_selection (GtkPrintUnixDialog *dialog)
@@ -3851,8 +3823,6 @@ gtk_print_unix_dialog_get_support_selection (GtkPrintUnixDialog *dialog)
  * @has_selection: %TRUE indicates that a selection exists
  *
  * Sets whether a selection exists.
- *
- * Since: 2.18
  */
 void
 gtk_print_unix_dialog_set_has_selection (GtkPrintUnixDialog *dialog,
@@ -3888,8 +3858,6 @@ gtk_print_unix_dialog_set_has_selection (GtkPrintUnixDialog *dialog,
  * Gets the value of #GtkPrintUnixDialog:has-selection property.
  *
  * Returns: whether there is a selection
- *
- * Since: 2.18
  */
 gboolean
 gtk_print_unix_dialog_get_has_selection (GtkPrintUnixDialog *dialog)
@@ -3905,8 +3873,6 @@ gtk_print_unix_dialog_get_has_selection (GtkPrintUnixDialog *dialog)
  * @embed: embed page setup selection
  *
  * Embed page size combo box and orientation combo box into page setup page.
- *
- * Since: 2.18
  */
 void
 gtk_print_unix_dialog_set_embed_page_setup (GtkPrintUnixDialog *dialog,
@@ -3956,8 +3922,6 @@ gtk_print_unix_dialog_set_embed_page_setup (GtkPrintUnixDialog *dialog,
  * Gets the value of #GtkPrintUnixDialog:embed-page-setup property.
  *
  * Returns: whether there is a selection
- *
- * Since: 2.18
  */
 gboolean
 gtk_print_unix_dialog_get_embed_page_setup (GtkPrintUnixDialog *dialog)
diff --git a/gtk/gtkprogressbar.c b/gtk/gtkprogressbar.c
index 5383cdb..73aab49 100644
--- a/gtk/gtkprogressbar.c
+++ b/gtk/gtkprogressbar.c
@@ -229,8 +229,6 @@ gtk_progress_bar_class_init (GtkProgressBarClass *class)
    * showing text (even if the actual text is blank), set
    * #GtkProgressBar:show-text to %TRUE and #GtkProgressBar:text
    * to the empty string (not %NULL).
-   *
-   * Since: 3.0
    */
   progress_props[PROP_SHOW_TEXT] =
       g_param_spec_boolean ("show-text",
@@ -250,8 +248,6 @@ gtk_progress_bar_class_init (GtkProgressBarClass *class)
    * %PANGO_ELLIPSIZE_NONE has the side-effect that the progress bar requests
    * only enough space to display the ellipsis ("..."). Another means to set a
    * progress bar's width is gtk_widget_set_size_request().
-   *
-   * Since: 2.6
    */
   progress_props[PROP_ELLIPSIZE] =
       g_param_spec_enum ("ellipsize",
@@ -1015,8 +1011,6 @@ gtk_progress_bar_set_text (GtkProgressBar *pbar,
  * To make a progress bar that is styled and sized suitably for containing
  * text (even if the actual text is blank), set #GtkProgressBar:show-text to
  * %TRUE and #GtkProgressBar:text to the empty string (not %NULL).
- *
- * Since: 3.0
  */
 void
 gtk_progress_bar_set_show_text (GtkProgressBar *pbar,
@@ -1070,8 +1064,6 @@ gtk_progress_bar_set_show_text (GtkProgressBar *pbar,
  * See gtk_progress_bar_set_show_text().
  *
  * Returns: %TRUE if text is shown in the progress bar
- *
- * Since: 3.0
  */
 gboolean
 gtk_progress_bar_get_show_text (GtkProgressBar *pbar)
@@ -1237,8 +1229,6 @@ gtk_progress_bar_get_inverted (GtkProgressBar *pbar)
  *
  * Sets the mode used to ellipsize (add an ellipsis: "...") the
  * text if there is not enough space to render the entire string.
- *
- * Since: 2.6
  */
 void
 gtk_progress_bar_set_ellipsize (GtkProgressBar     *pbar,
@@ -1272,8 +1262,6 @@ gtk_progress_bar_set_ellipsize (GtkProgressBar     *pbar,
  * See gtk_progress_bar_set_ellipsize().
  *
  * Returns: #PangoEllipsizeMode
- *
- * Since: 2.6
  */
 PangoEllipsizeMode
 gtk_progress_bar_get_ellipsize (GtkProgressBar *pbar)
diff --git a/gtk/gtkradiobutton.c b/gtk/gtkradiobutton.c
index a2cdaaa..514f274 100644
--- a/gtk/gtkradiobutton.c
+++ b/gtk/gtkradiobutton.c
@@ -205,8 +205,6 @@ gtk_radio_button_class_init (GtkRadioButtonClass *class)
    * vice-versa, and when a button is moved from one group of 2 or
    * more buttons to a different one, but not when the composition
    * of the group that a button belongs to changes.
-   *
-   * Since: 2.4
    */
   group_changed_signal = g_signal_new (I_("group-changed"),
                                       G_OBJECT_CLASS_TYPE (gobject_class),
@@ -391,8 +389,6 @@ gtk_radio_button_set_group (GtkRadioButton *radio_button,
  *        last_button = radio_button;
  *     }
  * ]|
- *
- * Since: 3.0
  */
 void
 gtk_radio_button_join_group (GtkRadioButton *radio_button, 
diff --git a/gtk/gtkradiomenuitem.c b/gtk/gtkradiomenuitem.c
index 43d999a..ec66f8d 100644
--- a/gtk/gtkradiomenuitem.c
+++ b/gtk/gtkradiomenuitem.c
@@ -300,8 +300,6 @@ gtk_radio_menu_item_new_with_mnemonic (GSList *group,
  * Creates a new #GtkRadioMenuItem adding it to the same group as @group.
  *
  * Returns: (transfer none): The new #GtkRadioMenuItem
- *
- * Since: 2.4
  **/
 GtkWidget *
 gtk_radio_menu_item_new_from_widget (GtkRadioMenuItem *group)
@@ -329,8 +327,6 @@ gtk_radio_menu_item_new_from_widget (GtkRadioMenuItem *group)
  * The new #GtkRadioMenuItem is added to the same group as @group.
  *
  * Returns: (transfer none): The new #GtkRadioMenuItem
- *
- * Since: 2.4
  **/
 GtkWidget *
 gtk_radio_menu_item_new_with_mnemonic_from_widget (GtkRadioMenuItem *group,
@@ -355,8 +351,6 @@ gtk_radio_menu_item_new_with_mnemonic_from_widget (GtkRadioMenuItem *group,
  * The new #GtkRadioMenuItem is added to the same group as @group.
  *
  * Returns: (transfer none): The new #GtkRadioMenuItem
- *
- * Since: 2.4
  **/
 GtkWidget *
 gtk_radio_menu_item_new_with_label_from_widget (GtkRadioMenuItem *group,
@@ -414,8 +408,6 @@ gtk_radio_menu_item_class_init (GtkRadioMenuItemClass *klass)
    * GtkRadioMenuItem:group:
    * 
    * The radio menu item whose group this widget belongs to.
-   * 
-   * Since: 2.8
    */
   g_object_class_install_property (gobject_class,
                                   PROP_GROUP,
@@ -435,8 +427,6 @@ gtk_radio_menu_item_class_init (GtkRadioMenuItemClass *klass)
    * vice-versa, and when a button is moved from one group of 2 or
    * more menu items ton a different one, but not when the composition
    * of the group that a menu item belongs to changes.
-   *
-   * Since: 2.4
    */
   group_changed_signal = g_signal_new (I_("group-changed"),
                                       G_OBJECT_CLASS_TYPE (gobject_class),
@@ -590,8 +580,6 @@ gtk_radio_menu_item_activate (GtkMenuItem *menu_item)
  *       last_item = radio_item;
  *     }
  * ]|
- *
- * Since: 3.18
  */
 void
 gtk_radio_menu_item_join_group (GtkRadioMenuItem *radio_menu_item,
diff --git a/gtk/gtkradiomenuitem.h b/gtk/gtkradiomenuitem.h
index b3fe990..02b2ea2 100644
--- a/gtk/gtkradiomenuitem.h
+++ b/gtk/gtkradiomenuitem.h
@@ -95,7 +95,7 @@ GDK_AVAILABLE_IN_ALL
 void       gtk_radio_menu_item_set_group                     (GtkRadioMenuItem *radio_menu_item,
                                                              GSList           *group);
 
-GDK_AVAILABLE_IN_3_18
+GDK_AVAILABLE_IN_ALL
 void       gtk_radio_menu_item_join_group                    (GtkRadioMenuItem *radio_menu_item,
                                                               GtkRadioMenuItem *group_source);
 
diff --git a/gtk/gtkradiotoolbutton.c b/gtk/gtkradiotoolbutton.c
index 74e2681..a166867 100644
--- a/gtk/gtkradiotoolbutton.c
+++ b/gtk/gtkradiotoolbutton.c
@@ -74,8 +74,6 @@ gtk_radio_tool_button_class_init (GtkRadioToolButtonClass *klass)
    * GtkRadioToolButton:group:
    *
    * Sets a new group for a radio tool button.
-   *
-   * Since: 2.4
    */
   g_object_class_install_property (object_class,
                                   PROP_GROUP,
@@ -133,8 +131,6 @@ gtk_radio_tool_button_set_property (GObject         *object,
  * Creates a new #GtkRadioToolButton, adding it to @group.
  * 
  * Returns: The new #GtkRadioToolButton
- * 
- * Since: 2.4
  **/
 GtkToolItem *
 gtk_radio_tool_button_new (GSList *group)
@@ -156,8 +152,6 @@ gtk_radio_tool_button_new (GSList *group)
  * Creates a new #GtkRadioToolButton adding it to the same group as @gruup
  *
  * Returns: (transfer none): The new #GtkRadioToolButton
- *
- * Since: 2.4
  **/
 GtkToolItem *
 gtk_radio_tool_button_new_from_widget (GtkRadioToolButton *group)
@@ -185,8 +179,6 @@ get_radio_button (GtkRadioToolButton *button)
  * Returns the radio button group @button belongs to.
  *
  * Returns: (transfer none) (element-type GtkRadioButton): The group @button belongs to.
- *
- * Since: 2.4
  */
 GSList *
 gtk_radio_tool_button_get_group (GtkRadioToolButton *button)
@@ -202,8 +194,6 @@ gtk_radio_tool_button_get_group (GtkRadioToolButton *button)
  * @group: (element-type GtkRadioButton) (allow-none): an existing radio button group, or %NULL
  * 
  * Adds @button to @group, removing it from the group it belonged to before.
- * 
- * Since: 2.4
  **/
 void
 gtk_radio_tool_button_set_group (GtkRadioToolButton *button,
diff --git a/gtk/gtkrange.c b/gtk/gtkrange.c
index 54b4186..4c7c05a 100644
--- a/gtk/gtkrange.c
+++ b/gtk/gtkrange.c
@@ -363,8 +363,6 @@ gtk_range_class_init (GtkRangeClass *class)
    *
    * Returns: %TRUE to prevent other handlers from being invoked for
    *     the signal, %FALSE to propagate the signal further
-   *
-   * Since: 2.6
    */
   signals[CHANGE_VALUE] =
     g_signal_new (I_("change-value"),
@@ -399,8 +397,6 @@ gtk_range_class_init (GtkRangeClass *class)
    * The show-fill-level property controls whether fill level indicator
    * graphics are displayed on the trough. See
    * gtk_range_set_show_fill_level().
-   *
-   * Since: 2.12
    **/
   properties[PROP_SHOW_FILL_LEVEL] =
       g_param_spec_boolean ("show-fill-level",
@@ -415,8 +411,6 @@ gtk_range_class_init (GtkRangeClass *class)
    * The restrict-to-fill-level property controls whether slider
    * movement is restricted to an upper boundary set by the
    * fill level. See gtk_range_set_restrict_to_fill_level().
-   *
-   * Since: 2.12
    **/
   properties[PROP_RESTRICT_TO_FILL_LEVEL] =
       g_param_spec_boolean ("restrict-to-fill-level",
@@ -430,8 +424,6 @@ gtk_range_class_init (GtkRangeClass *class)
    *
    * The fill level (e.g. prebuffering of a network stream).
    * See gtk_range_set_fill_level().
-   *
-   * Since: 2.12
    **/
   properties[PROP_FILL_LEVEL] =
       g_param_spec_double ("fill-level",
@@ -446,8 +438,6 @@ gtk_range_class_init (GtkRangeClass *class)
    *
    * The number of digits to round the value to when
    * it changes, or -1. See #GtkRange::change-value.
-   *
-   * Since: 2.24
    */
   properties[PROP_ROUND_DIGITS] =
       g_param_spec_int ("round-digits",
@@ -817,8 +807,6 @@ gtk_range_get_inverted (GtkRange *range)
  * horizontal and its direction is %GTK_TEXT_DIR_RTL.
  *
  * See gtk_widget_get_direction().
- *
- * Since: 2.18
  **/
 void
 gtk_range_set_flippable (GtkRange *range,
@@ -849,8 +837,6 @@ gtk_range_set_flippable (GtkRange *range,
  * Gets the value set by gtk_range_set_flippable().
  *
  * Returns: %TRUE if the range is flippable
- *
- * Since: 2.18
  **/
 gboolean
 gtk_range_get_flippable (GtkRange *range)
@@ -869,8 +855,6 @@ gtk_range_get_flippable (GtkRange *range)
  * depends on its adjustment’s page size.
  *
  * This function is useful mainly for #GtkRange subclasses.
- *
- * Since: 2.20
  **/
 void
 gtk_range_set_slider_size_fixed (GtkRange *range,
@@ -900,8 +884,6 @@ gtk_range_set_slider_size_fixed (GtkRange *range,
  * See gtk_range_set_slider_size_fixed().
  *
  * Returns: whether the range’s slider has a fixed size.
- *
- * Since: 2.20
  **/
 gboolean
 gtk_range_get_slider_size_fixed (GtkRange *range)
@@ -920,8 +902,6 @@ gtk_range_get_slider_size_fixed (GtkRange *range)
  * in coordinates relative to @range's origin.
  *
  * This function is useful mainly for #GtkRange subclasses.
- *
- * Since: 2.20
  **/
 void
 gtk_range_get_range_rect (GtkRange     *range,
@@ -945,8 +925,6 @@ gtk_range_get_range_rect (GtkRange     *range,
  * in widget->window coordinates.
  *
  * This function is useful mainly for #GtkRange subclasses.
- *
- * Since: 2.20
  **/
 void
 gtk_range_get_slider_range (GtkRange *range,
@@ -1099,8 +1077,6 @@ gtk_range_get_value (GtkRange *range)
  * Sets whether a graphical fill level is show on the trough. See
  * gtk_range_set_fill_level() for a general description of the fill
  * level concept.
- *
- * Since: 2.12
  **/
 void
 gtk_range_set_show_fill_level (GtkRange *range,
@@ -1142,8 +1118,6 @@ gtk_range_set_show_fill_level (GtkRange *range,
  * Gets whether the range displays the fill level graphically.
  *
  * Returns: %TRUE if @range shows the fill level.
- *
- * Since: 2.12
  **/
 gboolean
 gtk_range_get_show_fill_level (GtkRange *range)
@@ -1161,8 +1135,6 @@ gtk_range_get_show_fill_level (GtkRange *range)
  * Sets whether the slider is restricted to the fill level. See
  * gtk_range_set_fill_level() for a general description of the fill
  * level concept.
- *
- * Since: 2.12
  **/
 void
 gtk_range_set_restrict_to_fill_level (GtkRange *range,
@@ -1192,8 +1164,6 @@ gtk_range_set_restrict_to_fill_level (GtkRange *range,
  * Gets whether the range is restricted to the fill level.
  *
  * Returns: %TRUE if @range is restricted to the fill level.
- *
- * Since: 2.12
  **/
 gboolean
 gtk_range_get_restrict_to_fill_level (GtkRange *range)
@@ -1225,8 +1195,6 @@ gtk_range_get_restrict_to_fill_level (GtkRange *range)
  * to values which are smaller than the fill level. This is controller
  * by gtk_range_set_restrict_to_fill_level() and is by default
  * enabled.
- *
- * Since: 2.12
  **/
 void
 gtk_range_set_fill_level (GtkRange *range,
@@ -1258,8 +1226,6 @@ gtk_range_set_fill_level (GtkRange *range,
  * Gets the current position of the fill level indicator.
  *
  * Returns: The current fill level
- *
- * Since: 2.12
  **/
 gdouble
 gtk_range_get_fill_level (GtkRange *range)
@@ -3000,8 +2966,6 @@ _gtk_range_get_stop_positions (GtkRange  *range,
  *
  * Sets the number of digits to round the value to when
  * it changes. See #GtkRange::change-value.
- *
- * Since: 2.24
  */
 void
 gtk_range_set_round_digits (GtkRange *range,
@@ -3025,8 +2989,6 @@ gtk_range_set_round_digits (GtkRange *range,
  * it changes. See #GtkRange::change-value.
  *
  * Returns: the number of digits to round to
- *
- * Since: 2.24
  */
 gint
 gtk_range_get_round_digits (GtkRange *range)
diff --git a/gtk/gtkrecentmanager.c b/gtk/gtkrecentmanager.c
index ed37018..7d09ce7 100644
--- a/gtk/gtkrecentmanager.c
+++ b/gtk/gtkrecentmanager.c
@@ -136,8 +136,6 @@ typedef struct
  *
  * #GtkRecentInfo constains all the meta-data
  * associated with an entry in the recently used files list.
- *
- * Since: 2.10
  */
 struct _GtkRecentInfo
 {
@@ -277,8 +275,6 @@ gtk_recent_manager_class_init (GtkRecentManagerClass *klass)
    *
    * The full path to the file to be used to store and read the
    * recently used resources list
-   *
-   * Since: 2.10
    */
   g_object_class_install_property (gobject_class,
                                    PROP_FILENAME,
@@ -292,8 +288,6 @@ gtk_recent_manager_class_init (GtkRecentManagerClass *klass)
    * GtkRecentManager:size:
    *
    * The size of the recently used resources list.
-   *
-   * Since: 2.10
    */
   g_object_class_install_property (gobject_class,
                                    PROP_SIZE,
@@ -310,8 +304,6 @@ gtk_recent_manager_class_init (GtkRecentManagerClass *klass)
    * Emitted when the current recently used resources manager changes
    * its contents, either by calling gtk_recent_manager_add_item() or
    * by another application.
-   *
-   * Since: 2.10
    */
   signal_changed =
     g_signal_new (I_("changed"),
@@ -738,8 +730,6 @@ build_recent_items_list (GtkRecentManager *manager)
  * needed. You should use gtk_recent_manager_get_default() instead.
  *
  * Returns: A newly created #GtkRecentManager object
- *
- * Since: 2.10
  */
 GtkRecentManager *
 gtk_recent_manager_new (void)
@@ -755,8 +745,6 @@ gtk_recent_manager_new (void)
  *
  * Returns: (transfer none): A unique #GtkRecentManager. Do not ref or
  *   unref it.
- *
- * Since: 2.10
  */
 GtkRecentManager *
 gtk_recent_manager_get_default (void)
@@ -845,8 +833,6 @@ gtk_recent_manager_add_item_query_info (GObject      *source_object,
  *
  * Returns: %TRUE if the new item was successfully added
  *   to the recently used resources list
- *
- * Since: 2.10
  */
 gboolean
 gtk_recent_manager_add_item (GtkRecentManager *manager,
@@ -900,8 +886,6 @@ gtk_recent_manager_add_item (GtkRecentManager *manager,
  *
  * Returns: %TRUE if the new item was successfully added to the
  *     recently used resources list, %FALSE otherwise
- *
- * Since: 2.10
  */
 gboolean
 gtk_recent_manager_add_full (GtkRecentManager    *manager,
@@ -1024,8 +1008,6 @@ gtk_recent_manager_add_full (GtkRecentManager    *manager,
  *
  * Returns: %TRUE if the item pointed by @uri has been successfully
  *   removed by the recently used resources list, and %FALSE otherwise
- *
- * Since: 2.10
  */
 gboolean
 gtk_recent_manager_remove_item (GtkRecentManager  *manager,
@@ -1082,8 +1064,6 @@ gtk_recent_manager_remove_item (GtkRecentManager  *manager,
  * with @uri inside the recent manager.
  *
  * Returns: %TRUE if the resource was found, %FALSE otherwise
- *
- * Since: 2.10
  */
 gboolean
 gtk_recent_manager_has_item (GtkRecentManager *manager,
@@ -1175,8 +1155,6 @@ build_recent_info (GBookmarkFile *bookmarks,
  *   about the resource pointed by @uri, or %NULL if the URI was
  *   not registered in the recently used resources list. Free with
  *   gtk_recent_info_unref().
- *
- * Since: 2.10
  */
 GtkRecentInfo *
 gtk_recent_manager_lookup_item (GtkRecentManager  *manager,
@@ -1238,8 +1216,6 @@ gtk_recent_manager_lookup_item (GtkRecentManager  *manager,
  * by the URIs, but only the URI used in the recently used resources list.
  *
  * Returns: %TRUE on success
- *
- * Since: 2.10
  */
 gboolean
 gtk_recent_manager_move_item (GtkRecentManager  *recent_manager,
@@ -1305,8 +1281,6 @@ gtk_recent_manager_move_item (GtkRecentManager  *recent_manager,
  *   newly allocated #GtkRecentInfo objects. Use
  *   gtk_recent_info_unref() on each item inside the list, and then
  *   free the list itself using g_list_free().
- *
- * Since: 2.10
  */
 GList *
 gtk_recent_manager_get_items (GtkRecentManager *manager)
@@ -1365,8 +1339,6 @@ purge_recent_items_list (GtkRecentManager  *manager,
  *
  * Returns: the number of items that have been removed from the
  *   recently used resources list
- *
- * Since: 2.10
  */
 gint
 gtk_recent_manager_purge_items (GtkRecentManager  *manager,
@@ -1550,8 +1522,6 @@ gtk_recent_info_free (GtkRecentInfo *recent_info)
  *
  * Returns: the recent info object with its reference count
  *     increased by one
- *
- * Since: 2.10
  */
 GtkRecentInfo *
 gtk_recent_info_ref (GtkRecentInfo *info)
@@ -1570,8 +1540,6 @@ gtk_recent_info_ref (GtkRecentInfo *info)
  *
  * Decreases the reference count of @info by one. If the reference
  * count reaches zero, @info is deallocated, and the memory freed.
- *
- * Since: 2.10
  */
 void
 gtk_recent_info_unref (GtkRecentInfo *info)
@@ -1593,8 +1561,6 @@ gtk_recent_info_unref (GtkRecentInfo *info)
  *
  * Returns: the URI of the resource. The returned string is
  *   owned by the recent manager, and should not be freed.
- *
- * Since: 2.10
  */
 const gchar *
 gtk_recent_info_get_uri (GtkRecentInfo *info)
@@ -1613,8 +1579,6 @@ gtk_recent_info_get_uri (GtkRecentInfo *info)
  *
  * Returns: the display name of the resource. The returned string
  *   is owned by the recent manager, and should not be freed.
- *
- * Since: 2.10
  */
 const gchar *
 gtk_recent_info_get_display_name (GtkRecentInfo *info)
@@ -1635,8 +1599,6 @@ gtk_recent_info_get_display_name (GtkRecentInfo *info)
  *
  * Returns: the description of the resource. The returned string
  *   is owned by the recent manager, and should not be freed.
- *
- * Since: 2.10
  **/
 const gchar *
 gtk_recent_info_get_description (GtkRecentInfo *info)
@@ -1654,8 +1616,6 @@ gtk_recent_info_get_description (GtkRecentInfo *info)
  *
  * Returns: the MIME type of the resource. The returned string
  *   is owned by the recent manager, and should not be freed.
- *
- * Since: 2.10
  */
 const gchar *
 gtk_recent_info_get_mime_type (GtkRecentInfo *info)
@@ -1677,8 +1637,6 @@ gtk_recent_info_get_mime_type (GtkRecentInfo *info)
  *
  * Returns: the number of seconds elapsed from system’s Epoch when
  *   the resource was added to the list, or -1 on failure.
- *
- * Since: 2.10
  */
 time_t
 gtk_recent_info_get_added (GtkRecentInfo *info)
@@ -1697,8 +1655,6 @@ gtk_recent_info_get_added (GtkRecentInfo *info)
  *
  * Returns: the number of seconds elapsed from system’s Epoch when
  *   the resource was last modified, or -1 on failure.
- *
- * Since: 2.10
  */
 time_t
 gtk_recent_info_get_modified (GtkRecentInfo *info)
@@ -1717,8 +1673,6 @@ gtk_recent_info_get_modified (GtkRecentInfo *info)
  *
  * Returns: the number of seconds elapsed from system’s Epoch when
  *   the resource was last visited, or -1 on failure.
- *
- * Since: 2.10
  */
 time_t
 gtk_recent_info_get_visited (GtkRecentInfo *info)
@@ -1737,8 +1691,6 @@ gtk_recent_info_get_visited (GtkRecentInfo *info)
  * applications that have registered them.
  *
  * Returns: %TRUE if the private flag was found, %FALSE otherwise
- *
- * Since: 2.10
  */
 gboolean
 gtk_recent_info_get_private_hint (GtkRecentInfo *info)
@@ -1797,8 +1749,6 @@ recent_app_info_free (RecentAppInfo *app_info)
  *   resource inside the recently used list, or %FALSE otherwise. The
  *   @app_exec string is owned by the #GtkRecentInfo and should not be
  *   modified or freed
- *
- * Since: 2.10
  */
 gboolean
 gtk_recent_info_get_application_info (GtkRecentInfo  *info,
@@ -1845,8 +1795,6 @@ gtk_recent_info_get_application_info (GtkRecentInfo  *info,
  * Returns: (array length=length zero-terminated=1) (transfer full):
  *     a newly allocated %NULL-terminated array of strings.
  *     Use g_strfreev() to free it.
- *
- * Since: 2.10
  */
 gchar **
 gtk_recent_info_get_applications (GtkRecentInfo *info,
@@ -1897,8 +1845,6 @@ gtk_recent_info_get_applications (GtkRecentInfo *info,
  *
  * Returns: %TRUE if an application with name @app_name was found,
  *   %FALSE otherwise
- *
- * Since: 2.10
  */
 gboolean
 gtk_recent_info_has_application (GtkRecentInfo *info,
@@ -1918,8 +1864,6 @@ gtk_recent_info_has_application (GtkRecentInfo *info,
  * recently used resource represented by @info.
  *
  * Returns: an application name. Use g_free() to free it.
- *
- * Since: 2.10
  */
 gchar *
 gtk_recent_info_last_application (GtkRecentInfo *info)
@@ -1952,8 +1896,6 @@ gtk_recent_info_last_application (GtkRecentInfo *info)
  *
  * Returns: (nullable) (transfer full): a #GIcon containing the icon, or %NULL.
  *   Use g_object_unref() when finished using the icon
- *
- * Since: 2.22
  */
 GIcon *
 gtk_recent_info_get_gicon (GtkRecentInfo *info)
@@ -1989,8 +1931,6 @@ gtk_recent_info_get_gicon (GtkRecentInfo *info)
  * scheme of its URI.
  *
  * Returns: %TRUE if the resource is local
- *
- * Since: 2.10
  */
 gboolean
 gtk_recent_info_is_local (GtkRecentInfo *info)
@@ -2009,8 +1949,6 @@ gtk_recent_info_is_local (GtkRecentInfo *info)
  * to local files.
  *
  * Returns: %TRUE if the resource exists
- *
- * Since: 2.10
  */
 gboolean
 gtk_recent_info_exists (GtkRecentInfo *info)
@@ -2047,8 +1985,6 @@ gtk_recent_info_exists (GtkRecentInfo *info)
  *
  * Returns: %TRUE if both #GtkRecentInfo-struct point to the same
  *   resource, %FALSE otherwise
- *
- * Since: 2.10
  */
 gboolean
 gtk_recent_info_match (GtkRecentInfo *info_a,
@@ -2195,8 +2131,6 @@ get_uri_shortname_for_display (const gchar *uri)
  *
  * Returns: A newly-allocated string in UTF-8 encoding
  *   free it with g_free()
- *
- * Since: 2.10
  */
 gchar *
 gtk_recent_info_get_short_name (GtkRecentInfo *info)
@@ -2223,8 +2157,6 @@ gtk_recent_info_get_short_name (GtkRecentInfo *info)
  *
  * Returns: (nullable): a newly allocated UTF-8 string containing the
  *   resource’s URI or %NULL. Use g_free() when done using it.
- *
- * Since: 2.10
  */
 gchar *
 gtk_recent_info_get_uri_display (GtkRecentInfo *info)
@@ -2262,8 +2194,6 @@ gtk_recent_info_get_uri_display (GtkRecentInfo *info)
  *
  * Returns: a positive integer containing the number of days
  *   elapsed since the time this resource was last modified
- *
- * Since: 2.10
  */
 gint
 gtk_recent_info_get_age (GtkRecentInfo *info)
@@ -2294,8 +2224,6 @@ gtk_recent_info_get_age (GtkRecentInfo *info)
  * Returns: (array length=length zero-terminated=1) (transfer full):
  *   a newly allocated %NULL terminated array of strings.
  *   Use g_strfreev() to free it.
- *
- * Since: 2.10
  */
 gchar **
 gtk_recent_info_get_groups (GtkRecentInfo *info,
@@ -2346,8 +2274,6 @@ gtk_recent_info_get_groups (GtkRecentInfo *info,
  * registered for the recently used item @info.
  *
  * Returns: %TRUE if the group was found
- *
- * Since: 2.10
  */
 gboolean
 gtk_recent_info_has_group (GtkRecentInfo *info,
diff --git a/gtk/gtkrecentmanager.h b/gtk/gtkrecentmanager.h
index f77684c..cd82c6b 100644
--- a/gtk/gtkrecentmanager.h
+++ b/gtk/gtkrecentmanager.h
@@ -86,8 +86,6 @@ struct _GtkRecentData
  *
  * #GtkRecentManager-struct contains only private data
  * and should be accessed using the provided API.
- *
- * Since: 2.10
  */
 struct _GtkRecentManager
 {
@@ -101,8 +99,6 @@ struct _GtkRecentManager
  * GtkRecentManagerClass:
  *
  * #GtkRecentManagerClass contains only private data.
- *
- * Since: 2.10
  */
 struct _GtkRecentManagerClass
 {
@@ -134,8 +130,6 @@ struct _GtkRecentManagerClass
  * @GTK_RECENT_MANAGER_ERROR_UNKNOWN: unspecified error.
  *
  * Error codes for #GtkRecentManager operations
- *
- * Since: 2.10
  */
 typedef enum
 {
@@ -152,8 +146,6 @@ typedef enum
  * GTK_RECENT_MANAGER_ERROR:
  *
  * The #GError domain for #GtkRecentManager errors.
- *
- * Since: 2.10
  */
 #define GTK_RECENT_MANAGER_ERROR       (gtk_recent_manager_error_quark ())
 GDK_AVAILABLE_IN_ALL
diff --git a/gtk/gtkrender.c b/gtk/gtkrender.c
index 5c62287..c058f59 100644
--- a/gtk/gtkrender.c
+++ b/gtk/gtkrender.c
@@ -79,8 +79,6 @@ gtk_do_render_check (GtkStyleContext *context,
  * Typical checkmark rendering:
  *
  * ![](checks.png)
- *
- * Since: 3.0
  **/
 void
 gtk_render_check (GtkStyleContext *context,
@@ -137,8 +135,6 @@ gtk_do_render_option (GtkStyleContext *context,
  * Typical option mark rendering:
  *
  * ![](options.png)
- *
- * Since: 3.0
  **/
 void
 gtk_render_option (GtkStyleContext *context,
@@ -207,8 +203,6 @@ gtk_do_render_arrow (GtkStyleContext *context,
  * Typical arrow rendering at 0, 1⁄2 π;, π; and 3⁄2 π:
  *
  * ![](arrows.png)
- *
- * Since: 3.0
  **/
 void
 gtk_render_arrow (GtkStyleContext *context,
@@ -242,8 +236,6 @@ gtk_render_arrow (GtkStyleContext *context,
  * `background-image`, `border-width` and `border-radius`:
  *
  * ![](background.png)
- *
- * Since: 3.0.
  **/
 void
 gtk_render_background (GtkStyleContext *context,
@@ -275,8 +267,6 @@ gtk_render_background (GtkStyleContext *context,
  * Returns the area that will be affected (i.e. drawn to) when
  * calling gtk_render_background() for the given @context and
  * rectangle.
- *
- * Since: 3.20
  */
 void
 gtk_render_background_get_clip (GtkStyleContext *context,
@@ -311,8 +301,6 @@ gtk_render_background_get_clip (GtkStyleContext *context,
  * `border-color`, `border-width`, `border-radius` and junctions:
  *
  * ![](frames.png)
- *
- * Since: 3.0
  **/
 void
 gtk_render_frame (GtkStyleContext *context,
@@ -387,8 +375,6 @@ gtk_do_render_expander (GtkStyleContext *context,
  * Typical expander rendering:
  *
  * ![](expanders.png)
- *
- * Since: 3.0
  **/
 void
 gtk_render_expander (GtkStyleContext *context,
@@ -421,8 +407,6 @@ gtk_render_expander (GtkStyleContext *context,
  * Typical focus rendering:
  *
  * ![](focus.png)
- *
- * Since: 3.0
  **/
 void
 gtk_render_focus (GtkStyleContext *context,
@@ -500,8 +484,6 @@ gtk_do_render_layout (GtkStyleContext *context,
  * @layout: the #PangoLayout to render
  *
  * Renders @layout on the coordinates @x, @y
- *
- * Since: 3.0
  **/
 void
 gtk_render_layout (GtkStyleContext *context,
@@ -553,8 +535,6 @@ gtk_do_render_line (GtkStyleContext *context,
  * @y1: Y coordinate for the end of the line
  *
  * Renders a line from (x0, y0) to (x1, y1).
- *
- * Since: 3.0
  **/
 void
 gtk_render_line (GtkStyleContext *context,
@@ -608,8 +588,6 @@ gtk_do_render_slider (GtkStyleContext *context,
  * Typical slider rendering:
  *
  * ![](sliders.png)
- *
- * Since: 3.0
  **/
 void
 gtk_render_slider (GtkStyleContext *context,
@@ -722,8 +700,6 @@ gtk_css_style_render_frame_gap (GtkCssStyle     *style,
  * Typical rendering of a frame with a gap:
  *
  * ![](frame-gap.png)
- *
- * Since: 3.0
  **/
 void
 gtk_render_frame_gap (GtkStyleContext *context,
@@ -797,8 +773,6 @@ gtk_do_render_handle (GtkStyleContext *context,
  * Handles rendered for the paned and grip classes:
  *
  * ![](handles.png)
- *
- * Since: 3.0
  **/
 void
 gtk_render_handle (GtkStyleContext *context,
@@ -829,8 +803,6 @@ gtk_render_handle (GtkStyleContext *context,
  * Renders an activity indicator (such as in #GtkSpinner).
  * The state %GTK_STATE_FLAG_CHECKED determines whether there is
  * activity going on.
- *
- * Since: 3.0
  **/
 void
 gtk_render_activity (GtkStyleContext *context,
@@ -865,8 +837,6 @@ gtk_render_activity (GtkStyleContext *context,
  *
  * You probably want to use gtk_render_icon_surface() instead, if you
  * already have a Cairo surface.
- *
- * Since: 3.2
  **/
 void
 gtk_render_icon (GtkStyleContext *context,
@@ -899,8 +869,6 @@ gtk_render_icon (GtkStyleContext *context,
  * @y: Y position for the @incon
  *
  * Renders the icon in @surface at the specified @x and @y coordinates.
- *
- * Since: 3.10
  **/
 void
 gtk_render_icon_surface (GtkStyleContext *context,
diff --git a/gtk/gtkrender.h b/gtk/gtkrender.h
index 21caea9..a140874 100644
--- a/gtk/gtkrender.h
+++ b/gtk/gtkrender.h
@@ -60,7 +60,7 @@ void        gtk_render_background  (GtkStyleContext     *context,
                                     gdouble              width,
                                     gdouble              height);
 
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 void        gtk_render_background_get_clip  (GtkStyleContext     *context,
                                              gdouble              x,
                                              gdouble              y,
@@ -134,13 +134,13 @@ void        gtk_render_activity    (GtkStyleContext     *context,
                                     gdouble              y,
                                     gdouble              width,
                                     gdouble              height);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void        gtk_render_icon        (GtkStyleContext     *context,
                                     cairo_t             *cr,
                                     GdkTexture          *texture,
                                     gdouble              x,
                                     gdouble              y);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void        gtk_render_icon_surface (GtkStyleContext    *context,
                                     cairo_t            *cr,
                                     cairo_surface_t    *surface,
diff --git a/gtk/gtkrevealer.c b/gtk/gtkrevealer.c
index af9a5de..8fc7219 100644
--- a/gtk/gtkrevealer.c
+++ b/gtk/gtkrevealer.c
@@ -271,8 +271,6 @@ gtk_revealer_class_init (GtkRevealerClass *klass)
  * Creates a new #GtkRevealer.
  *
  * Returns: a newly created #GtkRevealer
- *
- * Since: 3.10
  */
 GtkWidget *
 gtk_revealer_new (void)
@@ -497,8 +495,6 @@ gtk_revealer_start_animation (GtkRevealer *revealer,
  *
  * The transition will be animated with the current
  * transition type of @revealer.
- *
- * Since: 3.10
  */
 void
 gtk_revealer_set_reveal_child (GtkRevealer *revealer,
@@ -525,8 +521,6 @@ gtk_revealer_set_reveal_child (GtkRevealer *revealer,
  * use gtk_revealer_get_child_revealed().
  *
  * Returns: %TRUE if the child is revealed.
- *
- * Since: 3.10
  */
 gboolean
 gtk_revealer_get_reveal_child (GtkRevealer *revealer)
@@ -546,8 +540,6 @@ gtk_revealer_get_reveal_child (GtkRevealer *revealer)
  * the transition to the revealed state is completed.
  *
  * Returns: %TRUE if the child is fully revealed
- *
- * Since: 3.10
  */
 gboolean
 gtk_revealer_get_child_revealed (GtkRevealer *revealer)
@@ -662,8 +654,6 @@ gtk_revealer_snapshot (GtkWidget   *widget,
  * transitions will take.
  *
  * Returns: the transition duration
- *
- * Since: 3.10
  */
 guint
 gtk_revealer_get_transition_duration (GtkRevealer *revealer)
@@ -681,8 +671,6 @@ gtk_revealer_get_transition_duration (GtkRevealer *revealer)
  * @duration: the new duration, in milliseconds
  *
  * Sets the duration that transitions will take.
- *
- * Since: 3.10
  */
 void
 gtk_revealer_set_transition_duration (GtkRevealer *revealer,
@@ -707,8 +695,6 @@ gtk_revealer_set_transition_duration (GtkRevealer *revealer,
  * for transitions in @revealer.
  *
  * Returns: the current transition type of @revealer
- *
- * Since: 3.10
  */
 GtkRevealerTransitionType
 gtk_revealer_get_transition_type (GtkRevealer *revealer)
@@ -728,8 +714,6 @@ gtk_revealer_get_transition_type (GtkRevealer *revealer)
  * Sets the type of animation that will be used for
  * transitions in @revealer. Available types include
  * various kinds of fades and slides.
- *
- * Since: 3.10
  */
 void
 gtk_revealer_set_transition_type (GtkRevealer               *revealer,
diff --git a/gtk/gtkrevealer.h b/gtk/gtkrevealer.h
index f37a282..4faffab 100644
--- a/gtk/gtkrevealer.h
+++ b/gtk/gtkrevealer.h
@@ -58,26 +58,26 @@ struct _GtkRevealerClass {
   GtkBinClass parent_class;
 };
 
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 GType                      gtk_revealer_get_type                (void) G_GNUC_CONST;
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 GtkWidget*                 gtk_revealer_new                     (void);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 gboolean                   gtk_revealer_get_reveal_child        (GtkRevealer               *revealer);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void                       gtk_revealer_set_reveal_child        (GtkRevealer               *revealer,
                                                                  gboolean                   reveal_child);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 gboolean                   gtk_revealer_get_child_revealed      (GtkRevealer               *revealer);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 guint                      gtk_revealer_get_transition_duration (GtkRevealer               *revealer);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void                       gtk_revealer_set_transition_duration (GtkRevealer               *revealer,
                                                                  guint                      duration);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void                       gtk_revealer_set_transition_type     (GtkRevealer               *revealer,
                                                                  GtkRevealerTransitionType  transition);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 GtkRevealerTransitionType  gtk_revealer_get_transition_type     (GtkRevealer               *revealer);
 
 
diff --git a/gtk/gtkscale.c b/gtk/gtkscale.c
index 1cf3361..d715105 100644
--- a/gtk/gtkscale.c
+++ b/gtk/gtkscale.c
@@ -956,8 +956,6 @@ gtk_scale_get_property (GObject      *object,
  * Creates a new #GtkScale.
  *
  * Returns: a new #GtkScale
- *
- * Since: 3.0
  **/
 GtkWidget *
 gtk_scale_new (GtkOrientation  orientation,
@@ -990,8 +988,6 @@ gtk_scale_new (GtkOrientation  orientation,
  * needs, use gtk_scale_set_digits() to correct it.
  *
  * Returns: a new #GtkScale
- *
- * Since: 3.0
  */
 GtkWidget *
 gtk_scale_new_with_range (GtkOrientation orientation,
@@ -1191,8 +1187,6 @@ gtk_scale_get_draw_value (GtkScale *scale)
  * If #GtkScale:has-origin is set to %TRUE (the default), the scale will
  * highlight the part of the trough between the origin (bottom or left side)
  * and the current value.
- *
- * Since: 3.4
  */
 void
 gtk_scale_set_has_origin (GtkScale *scale,
@@ -1219,8 +1213,6 @@ gtk_scale_set_has_origin (GtkScale *scale,
  * Returns whether the scale has an origin.
  *
  * Returns: %TRUE if the scale has an origin.
- * 
- * Since: 3.4
  */
 gboolean
 gtk_scale_get_has_origin (GtkScale *scale)
@@ -1614,8 +1606,6 @@ gtk_scale_finalize (GObject *object)
  *
  * Returns: (transfer none) (nullable): the #PangoLayout for this scale,
  *     or %NULL if the #GtkScale:draw-value property is %FALSE.
- *
- * Since: 2.4
  */
 PangoLayout *
 gtk_scale_get_layout (GtkScale *scale)
@@ -1641,8 +1631,6 @@ gtk_scale_get_layout (GtkScale *scale)
  *
  * If the #GtkScale:draw-value property is %FALSE, the return 
  * values are undefined.
- *
- * Since: 2.4
  */
 void 
 gtk_scale_get_layout_offsets (GtkScale *scale,
@@ -1683,8 +1671,6 @@ gtk_scale_mark_free (gpointer data)
  * @scale: a #GtkScale
  * 
  * Removes any marks that have been added with gtk_scale_add_mark().
- *
- * Since: 2.16
  */
 void
 gtk_scale_clear_marks (GtkScale *scale)
@@ -1741,8 +1727,6 @@ gtk_scale_clear_marks (GtkScale *scale)
  * If @markup is not %NULL, text is shown next to the tick mark.
  *
  * To remove marks from a scale, use gtk_scale_clear_marks().
- *
- * Since: 2.16
  */
 void
 gtk_scale_add_mark (GtkScale        *scale,
diff --git a/gtk/gtkscale.h b/gtk/gtkscale.h
index 4e84309..e92df52 100644
--- a/gtk/gtkscale.h
+++ b/gtk/gtkscale.h
@@ -93,10 +93,10 @@ void              gtk_scale_set_draw_value     (GtkScale        *scale,
                                                 gboolean         draw_value);
 GDK_AVAILABLE_IN_ALL
 gboolean          gtk_scale_get_draw_value     (GtkScale        *scale);
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 void              gtk_scale_set_has_origin     (GtkScale        *scale,
                                                 gboolean         has_origin);
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 gboolean          gtk_scale_get_has_origin     (GtkScale        *scale);
 GDK_AVAILABLE_IN_ALL
 void              gtk_scale_set_value_pos      (GtkScale        *scale,
diff --git a/gtk/gtkscalebutton.c b/gtk/gtkscalebutton.c
index ba415bf..ddfa5aa 100644
--- a/gtk/gtkscalebutton.c
+++ b/gtk/gtkscalebutton.c
@@ -186,8 +186,6 @@ gtk_scale_button_class_init (GtkScaleButtonClass *klass)
    * #GtkOrientable interface which has its own @orientation
    * property. However we redefine the property here in order to
    * override its default horizontal orientation.
-   *
-   * Since: 2.14
    **/
   g_object_class_override_property (gobject_class,
                                    PROP_ORIENTATION,
@@ -229,8 +227,6 @@ gtk_scale_button_class_init (GtkScaleButtonClass *klass)
    * It is recommended to use at least 3 icons so that the
    * #GtkScaleButton reflects the current value of the scale
    * better for the users.
-   *
-   * Since: 2.12
    */
   g_object_class_install_property (gobject_class,
                                    PROP_ICONS,
@@ -247,8 +243,6 @@ gtk_scale_button_class_init (GtkScaleButtonClass *klass)
    *
    * The ::value-changed signal is emitted when the value field has
    * changed.
-   *
-   * Since: 2.12
    */
   signals[VALUE_CHANGED] =
     g_signal_new (I_("value-changed"),
@@ -268,8 +262,6 @@ gtk_scale_button_class_init (GtkScaleButtonClass *klass)
    * which gets emitted to popup the scale widget.
    *
    * The default bindings for this signal are Space, Enter and Return.
-   *
-   * Since: 2.12
    */
   signals[POPUP] =
     g_signal_new_class_handler (I_("popup"),
@@ -289,8 +281,6 @@ gtk_scale_button_class_init (GtkScaleButtonClass *klass)
    * which gets emitted to popdown the scale widget.
    *
    * The default binding for this signal is Escape.
-   *
-   * Since: 2.12
    */
   signals[POPDOWN] =
     g_signal_new_class_handler (I_("popdown"),
@@ -535,8 +525,6 @@ gtk_scale_button_dispose (GObject *object)
  * a stepping of @step.
  *
  * Returns: a new #GtkScaleButton
- *
- * Since: 2.12
  */
 GtkWidget *
 gtk_scale_button_new (gdouble       min,
@@ -564,8 +552,6 @@ gtk_scale_button_new (gdouble       min,
  * Gets the current value of the scale button.
  *
  * Returns: current value of the scale button
- *
- * Since: 2.12
  */
 gdouble
 gtk_scale_button_get_value (GtkScaleButton * button)
@@ -588,8 +574,6 @@ gtk_scale_button_get_value (GtkScaleButton * button)
  * the minimum or maximum range values, it will be clamped to fit
  * inside them. The scale button emits the #GtkScaleButton::value-changed
  * signal if the value changes.
- *
- * Since: 2.12
  */
 void
 gtk_scale_button_set_value (GtkScaleButton *button,
@@ -612,8 +596,6 @@ gtk_scale_button_set_value (GtkScaleButton *button,
  *
  * Sets the icons to be used by the scale button.
  * For details, see the #GtkScaleButton:icons property.
- *
- * Since: 2.12
  */
 void
 gtk_scale_button_set_icons (GtkScaleButton  *button,
@@ -642,8 +624,6 @@ gtk_scale_button_set_icons (GtkScaleButton  *button,
  * See gtk_range_get_adjustment() for details.
  *
  * Returns: (transfer none): the adjustment associated with the scale
- *
- * Since: 2.12
  */
 GtkAdjustment*
 gtk_scale_button_get_adjustment        (GtkScaleButton *button)
@@ -661,8 +641,6 @@ gtk_scale_button_get_adjustment     (GtkScaleButton *button)
  * Sets the #GtkAdjustment to be used as a model
  * for the #GtkScaleButton’s scale.
  * See gtk_range_set_adjustment() for details.
- *
- * Since: 2.12
  */
 void
 gtk_scale_button_set_adjustment        (GtkScaleButton *button,
@@ -695,8 +673,6 @@ gtk_scale_button_set_adjustment     (GtkScaleButton *button,
  * Retrieves the plus button of the #GtkScaleButton.
  *
  * Returns: (transfer none) (type Gtk.Button): the plus button of the #GtkScaleButton as a #GtkButton
- *
- * Since: 2.14
  */
 GtkWidget *
 gtk_scale_button_get_plus_button (GtkScaleButton *button)
@@ -713,8 +689,6 @@ gtk_scale_button_get_plus_button (GtkScaleButton *button)
  * Retrieves the minus button of the #GtkScaleButton.
  *
  * Returns: (transfer none) (type Gtk.Button): the minus button of the #GtkScaleButton as a #GtkButton
- *
- * Since: 2.14
  */
 GtkWidget *
 gtk_scale_button_get_minus_button (GtkScaleButton *button)
@@ -731,8 +705,6 @@ gtk_scale_button_get_minus_button (GtkScaleButton *button)
  * Retrieves the popup of the #GtkScaleButton.
  *
  * Returns: (transfer none): the popup of the #GtkScaleButton
- *
- * Since: 2.14
  */
 GtkWidget *
 gtk_scale_button_get_popup (GtkScaleButton *button)
diff --git a/gtk/gtkscrollable.c b/gtk/gtkscrollable.c
index 6cea0ce..308cd75 100644
--- a/gtk/gtkscrollable.c
+++ b/gtk/gtkscrollable.c
@@ -70,8 +70,6 @@ gtk_scrollable_default_init (GtkScrollableInterface *iface)
    *
    * Horizontal #GtkAdjustment of the scrollable widget. This adjustment is
    * shared between the scrollable widget and its parent.
-   *
-   * Since: 3.0
    */
   pspec = g_param_spec_object ("hadjustment",
                                P_("Horizontal adjustment"),
@@ -87,8 +85,6 @@ gtk_scrollable_default_init (GtkScrollableInterface *iface)
    *
    * Verical #GtkAdjustment of the scrollable widget. This adjustment is shared
    * between the scrollable widget and its parent.
-   *
-   * Since: 3.0
    */
   pspec = g_param_spec_object ("vadjustment",
                                P_("Vertical adjustment"),
@@ -104,8 +100,6 @@ gtk_scrollable_default_init (GtkScrollableInterface *iface)
    *
    * Determines whether horizontal scrolling should start once the scrollable
    * widget is allocated less than its minimum width or less than its natural width.
-   *
-   * Since: 3.0
    */
   pspec = g_param_spec_enum ("hscroll-policy",
                             P_("Horizontal Scrollable Policy"),
@@ -120,8 +114,6 @@ gtk_scrollable_default_init (GtkScrollableInterface *iface)
    *
    * Determines whether vertical scrolling should start once the scrollable
    * widget is allocated less than its minimum height or less than its natural height.
-   *
-   * Since: 3.0
    */
   pspec = g_param_spec_enum ("vscroll-policy",
                             P_("Vertical Scrollable Policy"),
@@ -139,8 +131,6 @@ gtk_scrollable_default_init (GtkScrollableInterface *iface)
  * Retrieves the #GtkAdjustment used for horizontal scrolling.
  *
  * Returns: (transfer none): horizontal #GtkAdjustment.
- *
- * Since: 3.0
  **/
 GtkAdjustment *
 gtk_scrollable_get_hadjustment (GtkScrollable *scrollable)
@@ -167,8 +157,6 @@ gtk_scrollable_get_hadjustment (GtkScrollable *scrollable)
  * @hadjustment: (allow-none): a #GtkAdjustment
  *
  * Sets the horizontal adjustment of the #GtkScrollable.
- *
- * Since: 3.0
  **/
 void
 gtk_scrollable_set_hadjustment (GtkScrollable *scrollable,
@@ -187,8 +175,6 @@ gtk_scrollable_set_hadjustment (GtkScrollable *scrollable,
  * Retrieves the #GtkAdjustment used for vertical scrolling.
  *
  * Returns: (transfer none): vertical #GtkAdjustment.
- *
- * Since: 3.0
  **/
 GtkAdjustment *
 gtk_scrollable_get_vadjustment (GtkScrollable *scrollable)
@@ -215,8 +201,6 @@ gtk_scrollable_get_vadjustment (GtkScrollable *scrollable)
  * @vadjustment: (allow-none): a #GtkAdjustment
  *
  * Sets the vertical adjustment of the #GtkScrollable.
- *
- * Since: 3.0
  **/
 void
 gtk_scrollable_set_vadjustment (GtkScrollable *scrollable,
@@ -236,8 +220,6 @@ gtk_scrollable_set_vadjustment (GtkScrollable *scrollable,
  * Gets the horizontal #GtkScrollablePolicy.
  *
  * Returns: The horizontal #GtkScrollablePolicy.
- *
- * Since: 3.0
  **/
 GtkScrollablePolicy
 gtk_scrollable_get_hscroll_policy (GtkScrollable *scrollable)
@@ -259,8 +241,6 @@ gtk_scrollable_get_hscroll_policy (GtkScrollable *scrollable)
  * Sets the #GtkScrollablePolicy to determine whether
  * horizontal scrolling should start below the minimum width or
  * below the natural width.
- *
- * Since: 3.0
  **/
 void
 gtk_scrollable_set_hscroll_policy (GtkScrollable       *scrollable,
@@ -278,8 +258,6 @@ gtk_scrollable_set_hscroll_policy (GtkScrollable       *scrollable,
  * Gets the vertical #GtkScrollablePolicy.
  *
  * Returns: The vertical #GtkScrollablePolicy.
- *
- * Since: 3.0
  **/
 GtkScrollablePolicy
 gtk_scrollable_get_vscroll_policy (GtkScrollable *scrollable)
@@ -301,8 +279,6 @@ gtk_scrollable_get_vscroll_policy (GtkScrollable *scrollable)
  * Sets the #GtkScrollablePolicy to determine whether
  * vertical scrolling should start below the minimum height or
  * below the natural height.
- *
- * Since: 3.0
  **/
 void
 gtk_scrollable_set_vscroll_policy (GtkScrollable       *scrollable,
@@ -325,8 +301,6 @@ gtk_scrollable_set_vscroll_policy (GtkScrollable       *scrollable,
  * at the right position.
  *
  * Returns: %TRUE if @border has been set
- *
- * Since: 3.16
  */
 gboolean
 gtk_scrollable_get_border (GtkScrollable *scrollable,
diff --git a/gtk/gtkscrollable.h b/gtk/gtkscrollable.h
index a4e0af1..2d61929 100644
--- a/gtk/gtkscrollable.h
+++ b/gtk/gtkscrollable.h
@@ -69,7 +69,7 @@ GDK_AVAILABLE_IN_ALL
 void                 gtk_scrollable_set_vscroll_policy     (GtkScrollable       *scrollable,
                                                            GtkScrollablePolicy  policy);
 
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 gboolean             gtk_scrollable_get_border             (GtkScrollable       *scrollable,
                                                             GtkBorder           *border);
 
diff --git a/gtk/gtkscrollbar.c b/gtk/gtkscrollbar.c
index 8ddb412..131c197 100644
--- a/gtk/gtkscrollbar.c
+++ b/gtk/gtkscrollbar.c
@@ -271,8 +271,6 @@ gtk_scrollbar_init (GtkScrollbar *self)
  * Creates a new scrollbar with the given orientation.
  *
  * Returns:  the new #GtkScrollbar.
- *
- * Since: 3.0
  **/
 GtkWidget *
 gtk_scrollbar_new (GtkOrientation  orientation,
diff --git a/gtk/gtkscrollbar.h b/gtk/gtkscrollbar.h
index 0f35a93..b76d635 100644
--- a/gtk/gtkscrollbar.h
+++ b/gtk/gtkscrollbar.h
@@ -68,12 +68,12 @@ GType       gtk_scrollbar_get_type (void) G_GNUC_CONST;
 GDK_AVAILABLE_IN_ALL
 GtkWidget * gtk_scrollbar_new      (GtkOrientation  orientation,
                                     GtkAdjustment  *adjustment);
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 void           gtk_scrollbar_set_adjustment (GtkScrollbar  *self,
                                              GtkAdjustment *adjustment);
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 GtkAdjustment *gtk_scrollbar_get_adjustment (GtkScrollbar  *self);
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 double         gtk_scrollbar_get_wheel_delta (GtkScrollbar         *self,
                                               const GdkEventScroll *event);
 
diff --git a/gtk/gtkscrolledwindow.c b/gtk/gtkscrolledwindow.c
index 704d6c1..56d0d02 100644
--- a/gtk/gtkscrolledwindow.c
+++ b/gtk/gtkscrolledwindow.c
@@ -583,8 +583,6 @@ gtk_scrolled_window_class_init (GtkScrolledWindowClass *class)
    * GtkScrolledWindow:min-content-width:
    *
    * The minimum content width of @scrolled_window, or -1 if not set.
-   *
-   * Since: 3.0
    */
   properties[PROP_MIN_CONTENT_WIDTH] =
       g_param_spec_int ("min-content-width",
@@ -597,8 +595,6 @@ gtk_scrolled_window_class_init (GtkScrolledWindowClass *class)
    * GtkScrolledWindow:min-content-height:
    *
    * The minimum content height of @scrolled_window, or -1 if not set.
-   *
-   * Since: 3.0
    */
   properties[PROP_MIN_CONTENT_HEIGHT] =
       g_param_spec_int ("min-content-height",
@@ -612,8 +608,6 @@ gtk_scrolled_window_class_init (GtkScrolledWindowClass *class)
    *
    * Whether kinetic scrolling is enabled or not. Kinetic scrolling
    * only applies to devices with source %GDK_SOURCE_TOUCHSCREEN.
-   *
-   * Since: 3.4
    */
   properties[PROP_KINETIC_SCROLLING] =
       g_param_spec_boolean ("kinetic-scrolling",
@@ -629,8 +623,6 @@ gtk_scrolled_window_class_init (GtkScrolledWindowClass *class)
    * scrollbars are only added as traditional widgets when a mouse
    * is present. Otherwise, they are overlayed on top of the content,
    * as narrow indicators.
-   *
-   * Since: 3.16
    */
   properties[PROP_OVERLAY_SCROLLING] =
       g_param_spec_boolean ("overlay-scrolling",
@@ -643,8 +635,6 @@ gtk_scrolled_window_class_init (GtkScrolledWindowClass *class)
    * GtkScrolledWindow:max-content-width:
    *
    * The maximum content width of @scrolled_window, or -1 if not set.
-   *
-   * Since: 3.22
    */
   properties[PROP_MAX_CONTENT_WIDTH] =
       g_param_spec_int ("max-content-width",
@@ -657,8 +647,6 @@ gtk_scrolled_window_class_init (GtkScrolledWindowClass *class)
    * GtkScrolledWindow:max-content-height:
    *
    * The maximum content height of @scrolled_window, or -1 if not set.
-   *
-   * Since: 3.22
    */
   properties[PROP_MAX_CONTENT_HEIGHT] =
       g_param_spec_int ("max-content-height",
@@ -675,8 +663,6 @@ gtk_scrolled_window_class_init (GtkScrolledWindowClass *class)
    *
    * This is useful in cases where an attempt should be made to allocate exactly
    * enough space for the natural size of the child.
-   *
-   * Since: 3.22
    */
   properties[PROP_PROPAGATE_NATURAL_WIDTH] =
       g_param_spec_boolean ("propagate-natural-width",
@@ -693,8 +679,6 @@ gtk_scrolled_window_class_init (GtkScrolledWindowClass *class)
    *
    * This is useful in cases where an attempt should be made to allocate exactly
    * enough space for the natural size of the child.
-   *
-   * Since: 3.22
    */
   properties[PROP_PROPAGATE_NATURAL_HEIGHT] =
       g_param_spec_boolean ("propagate-natural-height",
@@ -767,8 +751,6 @@ gtk_scrolled_window_class_init (GtkScrolledWindowClass *class)
    *
    * Note: The @pos argument is LTR/RTL aware, so callers should be aware too
    * if intending to provide behavior on horizontal edges.
-   *
-   * Since: 3.16
    */
   signals[EDGE_OVERSHOT] =
     g_signal_new (I_("edge-overshot"),
@@ -792,8 +774,6 @@ gtk_scrolled_window_class_init (GtkScrolledWindowClass *class)
    *
    * Note: The @pos argument is LTR/RTL aware, so callers should be aware too
    * if intending to provide behavior on horizontal edges.
-   *
-   * Since: 3.16
    */
   signals[EDGE_REACHED] =
     g_signal_new (I_("edge-reached"),
@@ -2255,8 +2235,6 @@ gtk_scrolled_window_get_vadjustment (GtkScrolledWindow *scrolled_window)
  * Returns the horizontal scrollbar of @scrolled_window.
  *
  * Returns: (transfer none): the horizontal scrollbar of the scrolled window.
- *
- * Since: 2.8
  */
 GtkWidget*
 gtk_scrolled_window_get_hscrollbar (GtkScrolledWindow *scrolled_window)
@@ -2273,8 +2251,6 @@ gtk_scrolled_window_get_hscrollbar (GtkScrolledWindow *scrolled_window)
  * Returns the vertical scrollbar of @scrolled_window.
  *
  * Returns: (transfer none): the vertical scrollbar of the scrolled window.
- *
- * Since: 2.8
  */
 GtkWidget*
 gtk_scrolled_window_get_vscrollbar (GtkScrolledWindow *scrolled_window)
@@ -2424,8 +2400,6 @@ gtk_scrolled_window_get_placement (GtkScrolledWindow *scrolled_window)
  *
  * See also gtk_scrolled_window_set_placement() and
  * gtk_scrolled_window_get_placement().
- *
- * Since: 2.10
  **/
 void
 gtk_scrolled_window_unset_placement (GtkScrolledWindow *scrolled_window)
@@ -2499,8 +2473,6 @@ gtk_scrolled_window_get_shadow_type (GtkScrolledWindow *scrolled_window)
  * Turns kinetic scrolling on or off.
  * Kinetic scrolling only applies to devices with source
  * %GDK_SOURCE_TOUCHSCREEN.
- *
- * Since: 3.4
  **/
 void
 gtk_scrolled_window_set_kinetic_scrolling (GtkScrolledWindow *scrolled_window,
@@ -2538,8 +2510,6 @@ gtk_scrolled_window_set_kinetic_scrolling (GtkScrolledWindow *scrolled_window,
  * Returns the specified kinetic scrolling behavior.
  *
  * Returns: the scrolling behavior flags.
- *
- * Since: 3.4
  */
 gboolean
 gtk_scrolled_window_get_kinetic_scrolling (GtkScrolledWindow *scrolled_window)
@@ -2565,8 +2535,6 @@ gtk_scrolled_window_get_kinetic_scrolling (GtkScrolledWindow *scrolled_window)
  * to %FALSE.
  *
  * This setting only has an effect if kinetic scrolling is enabled.
- *
- * Since: 3.4
  */
 void
 gtk_scrolled_window_set_capture_button_press (GtkScrolledWindow *scrolled_window,
@@ -2585,8 +2553,6 @@ gtk_scrolled_window_set_capture_button_press (GtkScrolledWindow *scrolled_window
  * scrolling. See gtk_scrolled_window_set_capture_button_press().
  *
  * Returns: %TRUE if button presses are captured during kinetic scrolling
- *
- * Since: 3.4
  */
 gboolean
 gtk_scrolled_window_get_capture_button_press (GtkScrolledWindow *scrolled_window)
@@ -3974,8 +3940,6 @@ gtk_scrolled_window_grab_notify (GtkWidget *widget,
  * Gets the minimum content width of @scrolled_window, or -1 if not set.
  *
  * Returns: the minimum content width
- *
- * Since: 3.0
  */
 gint
 gtk_scrolled_window_get_min_content_width (GtkScrolledWindow *scrolled_window)
@@ -3996,8 +3960,6 @@ gtk_scrolled_window_get_min_content_width (GtkScrolledWindow *scrolled_window)
  *
  * It is a programming error to set the minimum content width to a
  * value greater than #GtkScrolledWindow:max-content-width.
- *
- * Since: 3.0
  */
 void
 gtk_scrolled_window_set_min_content_width (GtkScrolledWindow *scrolled_window,
@@ -4028,8 +3990,6 @@ gtk_scrolled_window_set_min_content_width (GtkScrolledWindow *scrolled_window,
  * Gets the minimal content height of @scrolled_window, or -1 if not set.
  *
  * Returns: the minimal content height
- *
- * Since: 3.0
  */
 gint
 gtk_scrolled_window_get_min_content_height (GtkScrolledWindow *scrolled_window)
@@ -4050,8 +4010,6 @@ gtk_scrolled_window_get_min_content_height (GtkScrolledWindow *scrolled_window)
  *
  * It is a programming error to set the minimum content height to a
  * value greater than #GtkScrolledWindow:max-content-height.
- *
- * Since: 3.0
  */
 void
 gtk_scrolled_window_set_min_content_height (GtkScrolledWindow *scrolled_window,
@@ -4081,8 +4039,6 @@ gtk_scrolled_window_set_min_content_height (GtkScrolledWindow *scrolled_window,
  * @overlay_scrolling: whether to enable overlay scrolling
  *
  * Enables or disables overlay scrolling for this scrolled window.
- *
- * Since: 3.16
  */
 void
 gtk_scrolled_window_set_overlay_scrolling (GtkScrolledWindow *scrolled_window,
@@ -4111,8 +4067,6 @@ gtk_scrolled_window_set_overlay_scrolling (GtkScrolledWindow *scrolled_window,
  * Returns whether overlay scrolling is enabled for this scrolled window.
  *
  * Returns: %TRUE if overlay scrolling is enabled
- *
- * Since: 3.16
  */
 gboolean
 gtk_scrolled_window_get_overlay_scrolling (GtkScrolledWindow *scrolled_window)
@@ -4133,8 +4087,6 @@ gtk_scrolled_window_get_overlay_scrolling (GtkScrolledWindow *scrolled_window)
  *
  * It is a programming error to set the maximum content width to a value
  * smaller than #GtkScrolledWindow:min-content-width.
- *
- * Since: 3.22
  */
 void
 gtk_scrolled_window_set_max_content_width (GtkScrolledWindow *scrolled_window,
@@ -4163,8 +4115,6 @@ gtk_scrolled_window_set_max_content_width (GtkScrolledWindow *scrolled_window,
  * Returns the maximum content width set.
  *
  * Returns: the maximum content width, or -1
- *
- * Since: 3.22
  */
 gint
 gtk_scrolled_window_get_max_content_width (GtkScrolledWindow *scrolled_window)
@@ -4185,8 +4135,6 @@ gtk_scrolled_window_get_max_content_width (GtkScrolledWindow *scrolled_window)
  *
  * It is a programming error to set the maximum content height to a value
  * smaller than #GtkScrolledWindow:min-content-height.
- *
- * Since: 3.22
  */
 void
 gtk_scrolled_window_set_max_content_height (GtkScrolledWindow *scrolled_window,
@@ -4215,8 +4163,6 @@ gtk_scrolled_window_set_max_content_height (GtkScrolledWindow *scrolled_window,
  * Returns the maximum content height set.
  *
  * Returns: the maximum content height, or -1
- *
- * Since: 3.22
  */
 gint
 gtk_scrolled_window_get_max_content_height (GtkScrolledWindow *scrolled_window)
@@ -4233,8 +4179,6 @@ gtk_scrolled_window_get_max_content_height (GtkScrolledWindow *scrolled_window)
  *
  * Sets whether the natural width of the child should be calculated and propagated
  * through the scrolled windows requested natural width.
- *
- * Since: 3.22
  */
 void
 gtk_scrolled_window_set_propagate_natural_width (GtkScrolledWindow *scrolled_window,
@@ -4264,8 +4208,6 @@ gtk_scrolled_window_set_propagate_natural_width (GtkScrolledWindow *scrolled_win
  * through the scrolled windows requested natural width.
  *
  * Returns: whether natural width propagation is enabled.
- *
- * Since: 3.22
  */
 gboolean
 gtk_scrolled_window_get_propagate_natural_width (GtkScrolledWindow *scrolled_window)
@@ -4282,8 +4224,6 @@ gtk_scrolled_window_get_propagate_natural_width (GtkScrolledWindow *scrolled_win
  *
  * Sets whether the natural height of the child should be calculated and propagated
  * through the scrolled windows requested natural height.
- *
- * Since: 3.22
  */
 void
 gtk_scrolled_window_set_propagate_natural_height (GtkScrolledWindow *scrolled_window,
@@ -4313,8 +4253,6 @@ gtk_scrolled_window_set_propagate_natural_height (GtkScrolledWindow *scrolled_wi
  * through the scrolled windows requested natural height.
  *
  * Returns: whether natural height propagation is enabled.
- *
- * Since: 3.22
  */
 gboolean
 gtk_scrolled_window_get_propagate_natural_height (GtkScrolledWindow *scrolled_window)
diff --git a/gtk/gtkscrolledwindow.h b/gtk/gtkscrolledwindow.h
index 41355fa..7197b0a 100644
--- a/gtk/gtkscrolledwindow.h
+++ b/gtk/gtkscrolledwindow.h
@@ -125,7 +125,7 @@ typedef enum
  *  content determines the size.
  * @GTK_POLICY_EXTERNAL: Don't show a scrollbar, but don't force the
  *  size to follow the content. This can be used e.g. to make multiple
- *  scrolled windows share a scrollbar. Since: 3.16
+ *  scrolled windows share a scrollbar.
  *
  * Determines how the size should be computed to achieve the one of the
  * visibility mode for the scrollbars.
@@ -190,46 +190,46 @@ gint           gtk_scrolled_window_get_min_content_height (GtkScrolledWindow *sc
 GDK_AVAILABLE_IN_ALL
 void           gtk_scrolled_window_set_min_content_height (GtkScrolledWindow *scrolled_window,
                                                            gint               height);
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 void           gtk_scrolled_window_set_kinetic_scrolling  (GtkScrolledWindow *scrolled_window,
                                                            gboolean           kinetic_scrolling);
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 gboolean       gtk_scrolled_window_get_kinetic_scrolling  (GtkScrolledWindow *scrolled_window);
 
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 void           gtk_scrolled_window_set_capture_button_press (GtkScrolledWindow *scrolled_window,
                                                              gboolean           capture_button_press);
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 gboolean       gtk_scrolled_window_get_capture_button_press (GtkScrolledWindow *scrolled_window);
 
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 void           gtk_scrolled_window_set_overlay_scrolling  (GtkScrolledWindow *scrolled_window,
                                                            gboolean           overlay_scrolling);
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 gboolean       gtk_scrolled_window_get_overlay_scrolling (GtkScrolledWindow   *scrolled_window);
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 void           gtk_scrolled_window_set_max_content_width  (GtkScrolledWindow *scrolled_window,
                                                            gint               width);
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 gint           gtk_scrolled_window_get_max_content_width  (GtkScrolledWindow *scrolled_window);
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 void           gtk_scrolled_window_set_max_content_height (GtkScrolledWindow *scrolled_window,
                                                            gint               height);
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 gint           gtk_scrolled_window_get_max_content_height (GtkScrolledWindow *scrolled_window);
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 void           gtk_scrolled_window_set_propagate_natural_width  (GtkScrolledWindow *scrolled_window,
                                                                 gboolean           propagate);
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 gboolean       gtk_scrolled_window_get_propagate_natural_width  (GtkScrolledWindow *scrolled_window);
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 void           gtk_scrolled_window_set_propagate_natural_height (GtkScrolledWindow *scrolled_window,
                                                                 gboolean           propagate);
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 gboolean       gtk_scrolled_window_get_propagate_natural_height (GtkScrolledWindow *scrolled_window);
 
 G_END_DECLS
diff --git a/gtk/gtksearchbar.c b/gtk/gtksearchbar.c
index 169861f..ef1b982 100644
--- a/gtk/gtksearchbar.c
+++ b/gtk/gtksearchbar.c
@@ -77,8 +77,6 @@
  * ## Creating a search bar
  *
  * [A simple example](https://git.gnome.org/browse/gtk+/tree/examples/search-bar.c)
- *
- * Since: 3.10
  */
 
 typedef struct {
@@ -225,8 +223,6 @@ gtk_search_bar_handle_event_for_entry (GtkSearchBar *bar,
  * Returns: %GDK_EVENT_STOP if the key press event resulted
  *     in text being entered in the search entry (and revealing
  *     the search bar if necessary), %GDK_EVENT_PROPAGATE otherwise.
- *
- * Since: 3.10
  */
 gboolean
 gtk_search_bar_handle_event (GtkSearchBar *bar,
@@ -501,8 +497,6 @@ gtk_search_bar_init (GtkSearchBar *bar)
  * gtk_search_bar_connect_entry().
  *
  * Returns: a new #GtkSearchBar
- *
- * Since: 3.10
  */
 GtkWidget *
 gtk_search_bar_new (void)
@@ -548,8 +542,6 @@ gtk_search_bar_set_entry (GtkSearchBar *bar,
  * this search bar. The entry should be a descendant of the search bar.
  * This is only required if the entry isn’t the direct child of the
  * search bar (as in our main example).
- *
- * Since: 3.10
  */
 void
 gtk_search_bar_connect_entry (GtkSearchBar *bar,
@@ -568,8 +560,6 @@ gtk_search_bar_connect_entry (GtkSearchBar *bar,
  * Returns whether the search mode is on or off.
  *
  * Returns: whether search mode is toggled on
- *
- * Since: 3.10
  */
 gboolean
 gtk_search_bar_get_search_mode (GtkSearchBar *bar)
@@ -587,8 +577,6 @@ gtk_search_bar_get_search_mode (GtkSearchBar *bar)
  * @search_mode: the new state of the search mode
  *
  * Switches the search mode on or off.
- *
- * Since: 3.10
  */
 void
 gtk_search_bar_set_search_mode (GtkSearchBar *bar,
@@ -608,8 +596,6 @@ gtk_search_bar_set_search_mode (GtkSearchBar *bar,
  * Returns whether the close button is shown.
  *
  * Returns: whether the close button is shown
- *
- * Since: 3.10
  */
 gboolean
 gtk_search_bar_get_show_close_button (GtkSearchBar *bar)
@@ -630,8 +616,6 @@ gtk_search_bar_get_show_close_button (GtkSearchBar *bar)
  * already have a “search” toggle button should not show a close
  * button in their search bar, as it duplicates the role of the
  * toggle button.
- *
- * Since: 3.10
  */
 void
 gtk_search_bar_set_show_close_button (GtkSearchBar *bar,
diff --git a/gtk/gtksearchbar.h b/gtk/gtksearchbar.h
index 0d8b075..68f8542 100644
--- a/gtk/gtksearchbar.h
+++ b/gtk/gtksearchbar.h
@@ -69,29 +69,29 @@ struct _GtkSearchBarClass
   void (*_gtk_reserved4) (void);
 };
 
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 GType       gtk_search_bar_get_type        (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 GtkWidget*  gtk_search_bar_new             (void);
 
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void        gtk_search_bar_connect_entry   (GtkSearchBar *bar,
                                             GtkEntry     *entry);
 
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 gboolean    gtk_search_bar_get_search_mode (GtkSearchBar *bar);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void        gtk_search_bar_set_search_mode (GtkSearchBar *bar,
                                             gboolean      search_mode);
 
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 gboolean    gtk_search_bar_get_show_close_button (GtkSearchBar *bar);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void        gtk_search_bar_set_show_close_button (GtkSearchBar *bar,
                                                   gboolean      visible);
 
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 gboolean    gtk_search_bar_handle_event    (GtkSearchBar *bar,
                                             GdkEvent     *event);
 
diff --git a/gtk/gtksearchentry.c b/gtk/gtksearchentry.c
index 522463e..6cf7da6 100644
--- a/gtk/gtksearchentry.c
+++ b/gtk/gtksearchentry.c
@@ -64,8 +64,6 @@
  * Often, GtkSearchEntry will be fed events by means of being
  * placed inside a #GtkSearchBar. If that is not the case,
  * you can use gtk_search_entry_handle_event() to pass events.
- *
- * Since: 3.6
  */
 
 enum {
@@ -169,8 +167,6 @@ gtk_search_entry_class_init (GtkSearchEntryClass *klass)
    *
    * The #GtkSearchEntry::search-changed signal is emitted with a short
    * delay of 150 milliseconds after the last change to the entry text.
-   *
-   * Since: 3.10
    */
   signals[SEARCH_CHANGED] =
     g_signal_new (I_("search-changed"),
@@ -193,8 +189,6 @@ gtk_search_entry_class_init (GtkSearchEntryClass *klass)
    * matches.
    *
    * The default bindings for this signal is Ctrl-g.
-   *
-   * Since: 3.16
    */
   signals[NEXT_MATCH] =
     g_signal_new (I_("next-match"),
@@ -217,8 +211,6 @@ gtk_search_entry_class_init (GtkSearchEntryClass *klass)
    * matches.
    *
    * The default bindings for this signal is Ctrl-Shift-g.
-   *
-   * Since: 3.16
    */
   signals[PREVIOUS_MATCH] =
     g_signal_new (I_("previous-match"),
@@ -240,8 +232,6 @@ gtk_search_entry_class_init (GtkSearchEntryClass *klass)
    * entry in this case.
    *
    * The default bindings for this signal is Escape.
-   *
-   * Since: 3.16
    */
   signals[STOP_SEARCH] =
     g_signal_new (I_("stop-search"),
@@ -380,8 +370,6 @@ gtk_search_entry_init (GtkSearchEntry *entry)
  * empty, and a clear icon when it isn't.
  *
  * Returns: a new #GtkSearchEntry
- *
- * Since: 3.6
  */
 GtkWidget *
 gtk_search_entry_new (void)
@@ -438,8 +426,6 @@ gtk_search_entry_is_keynav_event (GdkEvent *event)
  * Returns: %GDK_EVENT_STOP if the key press event resulted
  *     in a search beginning or continuing, %GDK_EVENT_PROPAGATE
  *     otherwise.
- *
- * Since: 3.16
  */
 gboolean
 gtk_search_entry_handle_event (GtkSearchEntry *entry,
diff --git a/gtk/gtksearchentry.h b/gtk/gtksearchentry.h
index e73dc8d..2a8d562 100644
--- a/gtk/gtksearchentry.h
+++ b/gtk/gtksearchentry.h
@@ -61,13 +61,13 @@ struct _GtkSearchEntryClass
   void (*stop_search)    (GtkSearchEntry *entry);
 };
 
-GDK_AVAILABLE_IN_3_6
+GDK_AVAILABLE_IN_ALL
 GType           gtk_search_entry_get_type       (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_6
+GDK_AVAILABLE_IN_ALL
 GtkWidget*      gtk_search_entry_new            (void);
 
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 gboolean        gtk_search_entry_handle_event   (GtkSearchEntry *entry,
                                                  GdkEvent       *event);
 
diff --git a/gtk/gtkselection.c b/gtk/gtkselection.c
index 5dc56a7..575cd9b 100644
--- a/gtk/gtkselection.c
+++ b/gtk/gtkselection.c
@@ -149,8 +149,6 @@ init_atoms (void)
  * 
  * Appends the text targets supported by #GtkSelectionData to
  * the target list. All targets are added with the same @info.
- * 
- * Since: 2.6
  **/
 GdkContentFormats *
 gtk_content_formats_add_text_targets (GdkContentFormats *list)
@@ -187,8 +185,6 @@ gtk_content_formats_add_text_targets (GdkContentFormats *list)
  * 
  * Appends the image targets supported by #GtkSelectionData to
  * the target list. All targets are added with the same @info.
- * 
- * Since: 2.6
  **/
 GdkContentFormats *
 gtk_content_formats_add_image_targets (GdkContentFormats *list,
@@ -252,8 +248,6 @@ gtk_content_formats_add_image_targets (GdkContentFormats *list,
  * 
  * Appends the URI targets supported by #GtkSelectionData to
  * the target list. All targets are added with the same @info.
- * 
- * Since: 2.6
  **/
 GdkContentFormats *
 gtk_content_formats_add_uri_targets (GdkContentFormats *list)
@@ -280,8 +274,6 @@ gtk_content_formats_add_uri_targets (GdkContentFormats *list)
  * Retrieves the target of the selection.
  *
  * Returns: (transfer none): the target of the selection.
- *
- * Since: 2.14
  **/
 GdkAtom
 gtk_selection_data_get_target (const GtkSelectionData *selection_data)
@@ -298,8 +290,6 @@ gtk_selection_data_get_target (const GtkSelectionData *selection_data)
  * Retrieves the data type of the selection.
  *
  * Returns: (transfer none): the data type of the selection.
- *
- * Since: 2.14
  **/
 GdkAtom
 gtk_selection_data_get_data_type (const GtkSelectionData *selection_data)
@@ -316,8 +306,6 @@ gtk_selection_data_get_data_type (const GtkSelectionData *selection_data)
  * Retrieves the format of the selection.
  *
  * Returns: the format of the selection.
- *
- * Since: 2.14
  **/
 gint
 gtk_selection_data_get_format (const GtkSelectionData *selection_data)
@@ -335,8 +323,6 @@ gtk_selection_data_get_format (const GtkSelectionData *selection_data)
  * Retrieves the raw data of the selection.
  *
  * Returns: (array) (element-type guint8): the raw data of the selection.
- *
- * Since: 2.14
  **/
 const guchar*
 gtk_selection_data_get_data (const GtkSelectionData *selection_data)
@@ -353,8 +339,6 @@ gtk_selection_data_get_data (const GtkSelectionData *selection_data)
  * Retrieves the length of the raw data of the selection.
  *
  * Returns: the length of the data of the selection.
- *
- * Since: 2.14
  */
 gint
 gtk_selection_data_get_length (const GtkSelectionData *selection_data)
@@ -372,8 +356,6 @@ gtk_selection_data_get_length (const GtkSelectionData *selection_data)
  * Retrieves the raw data of the selection along with its length.
  *
  * Returns: (array length=length): the raw data of the selection
- *
- * Since: 3.0
  */
 const guchar*
 gtk_selection_data_get_data_with_length (const GtkSelectionData *selection_data,
@@ -393,8 +375,6 @@ gtk_selection_data_get_data_with_length (const GtkSelectionData *selection_data,
  * Retrieves the display of the selection.
  *
  * Returns: (transfer none): the display of the selection.
- *
- * Since: 2.14
  **/
 GdkDisplay *
 gtk_selection_data_get_display (const GtkSelectionData *selection_data)
@@ -768,8 +748,6 @@ gtk_selection_data_get_text (const GtkSelectionData *selection_data)
  * 
  * Returns: %TRUE if the selection was successfully set,
  *   otherwise %FALSE.
- *
- * Since: 2.6
  **/
 gboolean
 gtk_selection_data_set_pixbuf (GtkSelectionData *selection_data,
@@ -835,8 +813,6 @@ gtk_selection_data_set_pixbuf (GtkSelectionData *selection_data,
  * 
  * Returns: %TRUE if the selection was successfully set,
  *   otherwise %FALSE.
- *
- * Since: 3.94
  **/
 gboolean
 gtk_selection_data_set_surface (GtkSelectionData *selection_data,
@@ -866,8 +842,6 @@ gtk_selection_data_set_surface (GtkSelectionData *selection_data,
  *   cairo surface, a newly allocated surface is returned, otherwise
  *   %NULL.  If the result is non-%NULL it must be freed with
  *   g_object_unref().
- *
- * Since: 3.94
  **/
 cairo_surface_t *
 gtk_selection_data_get_surface (GtkSelectionData *selection_data)
@@ -893,8 +867,6 @@ gtk_selection_data_get_surface (GtkSelectionData *selection_data)
  *   #GdkPixbuf, a newly allocated pixbuf is returned, otherwise
  *   %NULL.  If the result is non-%NULL it must be freed with
  *   g_object_unref().
- *
- * Since: 2.6
  **/
 GdkPixbuf *
 gtk_selection_data_get_pixbuf (const GtkSelectionData *selection_data)
@@ -935,8 +907,6 @@ gtk_selection_data_get_pixbuf (const GtkSelectionData *selection_data)
  * 
  * Returns: %TRUE if the selection was successfully set,
  *   otherwise %FALSE.
- *
- * Since: 3.94
  **/
 gboolean
 gtk_selection_data_set_texture (GtkSelectionData *selection_data,
@@ -966,8 +936,6 @@ gtk_selection_data_set_texture (GtkSelectionData *selection_data,
  *   #GdkTexture, a newly allocated texture is returned, otherwise
  *   %NULL.  If the result is non-%NULL it must be freed with
  *   g_object_unref().
- *
- * Since: 3.94
  **/
 GdkTexture *
 gtk_selection_data_get_texture (const GtkSelectionData *selection_data)
@@ -999,8 +967,6 @@ gtk_selection_data_get_texture (const GtkSelectionData *selection_data)
  * 
  * Returns: %TRUE if the selection was successfully set,
  *   otherwise %FALSE.
- *
- * Since: 2.6
  **/
 gboolean
 gtk_selection_data_set_uris (GtkSelectionData  *selection_data,
@@ -1056,8 +1022,6 @@ gtk_selection_data_set_uris (GtkSelectionData  *selection_data,
  *   URIs, a newly allocated %NULL-terminated string array
  *   containing the URIs, otherwise %NULL. If the result is
  *   non-%NULL it must be freed with g_strfreev().
- *
- * Since: 2.6
  **/
 gchar **
 gtk_selection_data_get_uris (const GtkSelectionData *selection_data)
@@ -1143,8 +1107,6 @@ gtk_selection_data_get_targets (const GtkSelectionData  *selection_data,
  * 
  * Returns: %TRUE if @targets include a suitable target for text,
  *   otherwise %FALSE.
- *
- * Since: 2.10
  **/
 gboolean 
 gtk_targets_include_text (GdkAtom *targets,
@@ -1221,8 +1183,6 @@ gtk_selection_data_targets_include_text (const GtkSelectionData *selection_data)
  * 
  * Returns: %TRUE if @targets include a suitable target for images,
  *   otherwise %FALSE.
- *
- * Since: 2.10
  **/
 gboolean 
 gtk_targets_include_image (GdkAtom *targets,
@@ -1262,8 +1222,6 @@ gtk_targets_include_image (GdkAtom *targets,
  * 
  * Returns: %TRUE if @selection_data holds a list of targets,
  *   and a suitable target for images is included, otherwise %FALSE.
- *
- * Since: 2.6
  **/
 gboolean 
 gtk_selection_data_targets_include_image (const GtkSelectionData *selection_data,
@@ -1296,8 +1254,6 @@ gtk_selection_data_targets_include_image (const GtkSelectionData *selection_data
  * 
  * Returns: %TRUE if @targets include a suitable target for uri lists,
  *   otherwise %FALSE.
- *
- * Since: 2.10
  **/
 gboolean 
 gtk_targets_include_uri (GdkAtom *targets,
@@ -1335,8 +1291,6 @@ gtk_targets_include_uri (GdkAtom *targets,
  * 
  * Returns: %TRUE if @selection_data holds a list of targets,
  *   and a suitable target for URI lists is included, otherwise %FALSE.
- *
- * Since: 2.10
  **/
 gboolean
 gtk_selection_data_targets_include_uri (const GtkSelectionData *selection_data)
diff --git a/gtk/gtkselection.h b/gtk/gtkselection.h
index a855e04..b98e726 100644
--- a/gtk/gtkselection.h
+++ b/gtk/gtkselection.h
@@ -77,17 +77,17 @@ guchar * gtk_selection_data_get_text (const GtkSelectionData     *selection_data
 GDK_AVAILABLE_IN_ALL
 gboolean gtk_selection_data_set_pixbuf   (GtkSelectionData  *selection_data,
                                           GdkPixbuf         *pixbuf);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 cairo_surface_t *gtk_selection_data_get_surface (GtkSelectionData *selection_data);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 gboolean gtk_selection_data_set_surface (GtkSelectionData  *selection_data,
                                          cairo_surface_t   *surface);
 GDK_AVAILABLE_IN_ALL
 GdkPixbuf *gtk_selection_data_get_pixbuf (const GtkSelectionData  *selection_data);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 gboolean gtk_selection_data_set_texture (GtkSelectionData *selection_data,
                                          GdkTexture       *texture);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GdkTexture *gtk_selection_data_get_texture (const GtkSelectionData *selection_data);
 GDK_AVAILABLE_IN_ALL
 gboolean gtk_selection_data_set_uris (GtkSelectionData     *selection_data,
diff --git a/gtk/gtkseparator.c b/gtk/gtkseparator.c
index 13d0b6b..f723c69 100644
--- a/gtk/gtkseparator.c
+++ b/gtk/gtkseparator.c
@@ -144,8 +144,6 @@ gtk_separator_class_init (GtkSeparatorClass *class)
  * Creates a new #GtkSeparator with the given orientation.
  *
  * Returns: a new #GtkSeparator.
- *
- * Since: 3.0
  */
 GtkWidget *
 gtk_separator_new (GtkOrientation orientation)
diff --git a/gtk/gtkseparatortoolitem.c b/gtk/gtkseparatortoolitem.c
index c0cc141..2a305a0 100644
--- a/gtk/gtkseparatortoolitem.c
+++ b/gtk/gtkseparatortoolitem.c
@@ -180,8 +180,6 @@ gtk_separator_tool_item_get_property (GObject      *object,
  * Create a new #GtkSeparatorToolItem
  * 
  * Returns: the new #GtkSeparatorToolItem
- * 
- * Since: 2.4
  */
 GtkToolItem *
 gtk_separator_tool_item_new (void)
@@ -202,8 +200,6 @@ gtk_separator_tool_item_new (void)
  * See gtk_separator_tool_item_set_draw().
  * 
  * Returns: %TRUE if @item is drawn as a line, or just blank.
- * 
- * Since: 2.4
  */
 gboolean
 gtk_separator_tool_item_get_draw (GtkSeparatorToolItem *item)
@@ -221,8 +217,6 @@ gtk_separator_tool_item_get_draw (GtkSeparatorToolItem *item)
  * Whether @item is drawn as a vertical line, or just blank.
  * Setting this to %FALSE along with gtk_tool_item_set_expand() is useful
  * to create an item that forces following items to the end of the toolbar.
- * 
- * Since: 2.4
  */
 void
 gtk_separator_tool_item_set_draw (GtkSeparatorToolItem *item,
diff --git a/gtk/gtksettings.c b/gtk/gtksettings.c
index deaa220..6deb1f0 100644
--- a/gtk/gtksettings.c
+++ b/gtk/gtksettings.c
@@ -388,8 +388,6 @@ gtk_settings_class_init (GtkSettingsClass *class)
    *
    * Setting this to zero has the same effect as setting
    * #GtkSettings:gtk-cursor-blink to %FALSE.
-   *
-   * Since: 2.12
    */
   result = settings_install_property_parser (class,
                                              g_param_spec_int ("gtk-cursor-blink-timeout",
@@ -550,8 +548,6 @@ gtk_settings_class_init (GtkSettingsClass *class)
    * Controls the direction of the sort indicators in sorted list and tree
    * views. By default an arrow pointing down means the column is sorted
    * in ascending order. When set to %TRUE, this order will be inverted.
-   *
-   * Since: 2.12
    */
   result = settings_install_property_parser (class,
                                              g_param_spec_boolean ("gtk-alternative-sort-arrows",
@@ -580,8 +576,6 @@ gtk_settings_class_init (GtkSettingsClass *class)
    * gdk_window_beep(), the windowing system may offer ways to
    * configure the error bell in many ways, such as flashing the
    * window or similar visual effects.
-   *
-   * Since: 2.12
    */
   result = settings_install_property_parser (class,
                                              g_param_spec_boolean ("gtk-error-bell",
@@ -599,8 +593,6 @@ gtk_settings_class_init (GtkSettingsClass *class)
    * A comma-separated list of print backends to use in the print
    * dialog. Available print backends depend on the GTK+ installation,
    * and may include "file", "cups", "lpr" or "papi".
-   *
-   * Since: 2.10
    */
   result = settings_install_property_parser (class,
                                              g_param_spec_string ("gtk-print-backends",
@@ -623,8 +615,6 @@ gtk_settings_class_init (GtkSettingsClass *class)
    *
    * The preview application is responsible for removing the pdf file
    * and the print settings file when it is done.
-   *
-   * Since: 2.10
    */
   result = settings_install_property_parser (class,
                                              g_param_spec_string ("gtk-print-preview-command",
@@ -640,8 +630,6 @@ gtk_settings_class_init (GtkSettingsClass *class)
    *
    * Whether menu items should have visible accelerators which can be
    * activated.
-   *
-   * Since: 2.12
    */
   result = settings_install_property_parser (class,
                                              g_param_spec_boolean ("gtk-enable-accels",
@@ -679,8 +667,6 @@ gtk_settings_class_init (GtkSettingsClass *class)
    * resources list. Items older than this setting will be excised
    * from the list. If set to 0, the list will always be empty; if
    * set to -1, no item will be removed.
-   *
-   * Since: 2.14
    */
   result = settings_install_property_parser (class,
                                              g_param_spec_int ("gtk-recent-files-max-age",
@@ -712,8 +698,6 @@ gtk_settings_class_init (GtkSettingsClass *class)
    *
    * GTK+ itself does not support event sounds, you have to use a loadable
    * module like the one that comes with libcanberra.
-   *
-   * Since: 2.14
    */
   result = settings_install_property_parser (class,
                                              g_param_spec_string ("gtk-sound-theme-name",
@@ -734,8 +718,6 @@ gtk_settings_class_init (GtkSettingsClass *class)
    *
    * GTK+ itself does not support event sounds, you have to use a loadable
    * module like the one that comes with libcanberra.
-   *
-   * Since: 2.14
    */
   result = settings_install_property_parser (class,
                                              g_param_spec_boolean ("gtk-enable-input-feedback-sounds",
@@ -757,8 +739,6 @@ gtk_settings_class_init (GtkSettingsClass *class)
    *
    * GTK+ itself does not support event sounds, you have to use a loadable
    * module like the one that comes with libcanberra.
-   *
-   * Since: 2.14
    */
   result = settings_install_property_parser (class,
                                              g_param_spec_boolean ("gtk-enable-event-sounds",
@@ -780,8 +760,6 @@ gtk_settings_class_init (GtkSettingsClass *class)
    * Whichever action you choose for the primary button, the other action will
    * be available by holding Shift and primary-clicking, or (since GTK+ 3.22.25)
    * clicking the middle mouse button.
-   *
-   * Since: 3.6
    */
   result = settings_install_property_parser (class,
                                              g_param_spec_boolean ("gtk-primary-button-warps-slider",
@@ -806,8 +784,6 @@ gtk_settings_class_init (GtkSettingsClass *class)
    *
    * Dark themes should not be used for documents, where large spaces are white/light
    * and the dark chrome creates too much contrast (web browser, text editor...).
-   *
-   * Since: 3.0
    */
   result = settings_install_property_parser (class,
                                              g_param_spec_boolean ("gtk-application-prefer-dark-theme",
@@ -833,8 +809,6 @@ gtk_settings_class_init (GtkSettingsClass *class)
    * How long to show the last input character in hidden
    * entries. This value is in milliseconds. 0 disables showing the
    * last char. 600 is a good value for enabling it.
-   *
-   * Since: 2.10
    */
   result = settings_install_property_parser (class,
                                              g_param_spec_uint ("gtk-entry-password-hint-timeout",
@@ -908,8 +882,6 @@ gtk_settings_class_init (GtkSettingsClass *class)
    *
    * Also note that the setting can be overridden with the
    * #GtkHeaderBar:decoration-layout property.
-   *
-   * Since: 3.12
    */
   result = settings_install_property_parser (class,
                                              g_param_spec_string ("gtk-decoration-layout",
@@ -927,8 +899,6 @@ gtk_settings_class_init (GtkSettingsClass *class)
    *
    * Recognized actions are minimize, toggle-maximize, menu, lower
    * or none.
-   *
-   * Since: 3.14
    */
   result = settings_install_property_parser (class,
                                              g_param_spec_string ("gtk-titlebar-double-click",
@@ -946,8 +916,6 @@ gtk_settings_class_init (GtkSettingsClass *class)
    *
    * Recognized actions are minimize, toggle-maximize, menu, lower
    * or none.
-   *
-   * Since: 3.14
    */
   result = settings_install_property_parser (class,
                                              g_param_spec_string ("gtk-titlebar-middle-click",
@@ -965,8 +933,6 @@ gtk_settings_class_init (GtkSettingsClass *class)
    *
    * Recognized actions are minimize, toggle-maximize, menu, lower
    * or none.
-   *
-   * Since: 3.14
    */
   result = settings_install_property_parser (class,
                                              g_param_spec_string ("gtk-titlebar-right-click",
@@ -988,8 +954,6 @@ gtk_settings_class_init (GtkSettingsClass *class)
    *
    * This setting does not affect custom dialogs using GtkDialog
    * directly, or message dialogs.
-   *
-   * Since: 3.12
    */
   result = settings_install_property_parser (class,
                                              g_param_spec_boolean ("gtk-dialogs-use-header",
@@ -1005,8 +969,6 @@ gtk_settings_class_init (GtkSettingsClass *class)
    *
    * Whether a middle click on a mouse should paste the
    * 'PRIMARY' clipboard content at the cursor location.
-   *
-   * Since: 3.4
    */
   result = settings_install_property_parser (class,
                                              g_param_spec_boolean ("gtk-enable-primary-paste",
@@ -1022,8 +984,6 @@ gtk_settings_class_init (GtkSettingsClass *class)
    *
    * Whether GTK+ should keep track of items inside the recently used
    * resources list. If set to %FALSE, the list will always be empty.
-   *
-   * Since: 3.8
    */
   result = settings_install_property_parser (class,
                                              g_param_spec_boolean ("gtk-recent-files-enabled",
@@ -1038,8 +998,6 @@ gtk_settings_class_init (GtkSettingsClass *class)
    * GtkSettings:gtk-long-press-time:
    *
    * The time for a button or touch press to be considered a "long press".
-   *
-   * Since: 3.14
    */
   result = settings_install_property_parser (class,
                                              g_param_spec_uint ("gtk-long-press-time",
@@ -1056,8 +1014,6 @@ gtk_settings_class_init (GtkSettingsClass *class)
    * Whether GTK+ should make sure that text can be navigated with
    * a caret, even if it is not editable. This is useful when using
    * a screen reader.
-   *
-   * Since: 3.20
    */
   result = settings_install_property_parser (class,
                                              g_param_spec_boolean ("gtk-keynav-use-caret",
@@ -1243,8 +1199,6 @@ gtk_settings_create_for_display (GdkDisplay *display)
  * Gets the #GtkSettings object for @display, creating it if necessary.
  *
  * Returns: (transfer none): a #GtkSettings object.
- *
- * Since: 3.94
  */
 GtkSettings *
 gtk_settings_get_for_display (GdkDisplay *display)
@@ -2622,8 +2576,6 @@ _gtk_settings_get_setting_source (GtkSettings *settings,
  * application-specific value for a setting. After this call,
  * the setting will again follow the session-wide value for
  * this setting.
- *
- * Since: 3.20
  */
 void
 gtk_settings_reset_property (GtkSettings *settings,
diff --git a/gtk/gtksettings.h b/gtk/gtksettings.h
index b7b5f89..9b1b41d 100644
--- a/gtk/gtksettings.h
+++ b/gtk/gtksettings.h
@@ -89,7 +89,7 @@ GDK_AVAILABLE_IN_ALL
 GType           gtk_settings_get_type                (void) G_GNUC_CONST;
 GDK_AVAILABLE_IN_ALL
 GtkSettings*    gtk_settings_get_default             (void);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GtkSettings*    gtk_settings_get_for_display         (GdkDisplay *display);
 
 /* --- precoded parsing functions --- */
@@ -114,7 +114,7 @@ gboolean gtk_rc_property_parse_border      (const GParamSpec *pspec,
                                             const GString    *gstring,
                                             GValue           *property_value);
 
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 void     gtk_settings_reset_property       (GtkSettings            *settings,
                                             const gchar            *name);
 
diff --git a/gtk/gtkshortcutlabel.c b/gtk/gtkshortcutlabel.c
index b7003dd..6f0b2e3 100644
--- a/gtk/gtkshortcutlabel.c
+++ b/gtk/gtkshortcutlabel.c
@@ -469,8 +469,6 @@ gtk_shortcut_label_class_init (GtkShortcutLabelClass *klass)
    *
    * The accelerator that @self displays. See #GtkShortcutsShortcut:accelerator
    * for the accepted syntax.
-   *
-   * Since: 3.22
    */
   properties[PROP_ACCELERATOR] =
     g_param_spec_string ("accelerator", P_("Accelerator"), P_("Accelerator"),
@@ -481,8 +479,6 @@ gtk_shortcut_label_class_init (GtkShortcutLabelClass *klass)
    * GtkShortcutLabel:disabled-text:
    *
    * The text that is displayed when no accelerator is set.
-   *
-   * Since: 3.22
    */
   properties[PROP_DISABLED_TEXT] =
     g_param_spec_string ("disabled-text", P_("Disabled text"), P_("Disabled text"),
@@ -508,8 +504,6 @@ gtk_shortcut_label_init (GtkShortcutLabel *self)
  * Creates a new #GtkShortcutLabel with @accelerator set.
  *
  * Returns: (transfer full): a newly-allocated #GtkShortcutLabel
- *
- * Since: 3.22
  */
 GtkWidget *
 gtk_shortcut_label_new (const gchar *accelerator)
@@ -526,8 +520,6 @@ gtk_shortcut_label_new (const gchar *accelerator)
  * Retrieves the current accelerator of @self.
  *
  * Returns: (transfer none)(nullable): the current accelerator.
- *
- * Since: 3.22
  */
 const gchar *
 gtk_shortcut_label_get_accelerator (GtkShortcutLabel *self)
@@ -543,8 +535,6 @@ gtk_shortcut_label_get_accelerator (GtkShortcutLabel *self)
  * @accelerator: the new accelerator
  *
  * Sets the accelerator to be displayed by @self.
- *
- * Since: 3.22
  */
 void
 gtk_shortcut_label_set_accelerator (GtkShortcutLabel *self,
@@ -569,8 +559,6 @@ gtk_shortcut_label_set_accelerator (GtkShortcutLabel *self,
  *
  * Returns: (transfer none)(nullable): the current text displayed when no
  * accelerator is set.
- *
- * Since: 3.22
  */
 const gchar *
 gtk_shortcut_label_get_disabled_text (GtkShortcutLabel *self)
@@ -586,8 +574,6 @@ gtk_shortcut_label_get_disabled_text (GtkShortcutLabel *self)
  * @disabled_text: the text to be displayed when no accelerator is set
  *
  * Sets the text to be displayed by @self when no accelerator is set.
- *
- * Since: 3.22
  */
 void
 gtk_shortcut_label_set_disabled_text (GtkShortcutLabel *self,
diff --git a/gtk/gtkshortcutlabel.h b/gtk/gtkshortcutlabel.h
index a3db3b7..9b3dc9b 100644
--- a/gtk/gtkshortcutlabel.h
+++ b/gtk/gtkshortcutlabel.h
@@ -34,23 +34,23 @@ G_BEGIN_DECLS
 typedef struct _GtkShortcutLabel      GtkShortcutLabel;
 typedef struct _GtkShortcutLabelClass GtkShortcutLabelClass;
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 GType        gtk_shortcut_label_get_type        (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 GtkWidget   *gtk_shortcut_label_new             (const gchar      *accelerator);
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 const gchar *gtk_shortcut_label_get_accelerator (GtkShortcutLabel *self);
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 void         gtk_shortcut_label_set_accelerator (GtkShortcutLabel *self,
                                                  const gchar      *accelerator);
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 const gchar *gtk_shortcut_label_get_disabled_text (GtkShortcutLabel *self);
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 void         gtk_shortcut_label_set_disabled_text (GtkShortcutLabel *self,
                                                    const gchar      *disabled_text);
 
diff --git a/gtk/gtkshortcutsgroup.h b/gtk/gtkshortcutsgroup.h
index 790d60a..88048e8 100644
--- a/gtk/gtkshortcutsgroup.h
+++ b/gtk/gtkshortcutsgroup.h
@@ -34,7 +34,7 @@ G_BEGIN_DECLS
 typedef struct _GtkShortcutsGroup         GtkShortcutsGroup;
 typedef struct _GtkShortcutsGroupClass    GtkShortcutsGroupClass;
 
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 GType gtk_shortcuts_group_get_type (void) G_GNUC_CONST;
 
 G_END_DECLS
diff --git a/gtk/gtkshortcutssection.h b/gtk/gtkshortcutssection.h
index 9d8b5cc..8b7c3bb 100644
--- a/gtk/gtkshortcutssection.h
+++ b/gtk/gtkshortcutssection.h
@@ -35,7 +35,7 @@ G_BEGIN_DECLS
 typedef struct _GtkShortcutsSection      GtkShortcutsSection;
 typedef struct _GtkShortcutsSectionClass GtkShortcutsSectionClass;
 
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 GType        gtk_shortcuts_section_get_type (void) G_GNUC_CONST;
 
 G_END_DECLS
diff --git a/gtk/gtkshortcutsshortcut.c b/gtk/gtkshortcutsshortcut.c
index 2477dd4..81db301 100644
--- a/gtk/gtkshortcutsshortcut.c
+++ b/gtk/gtkshortcutsshortcut.c
@@ -701,8 +701,6 @@ gtk_shortcuts_shortcut_class_init (GtkShortcutsShortcutClass *klass)
    * the accelerators that are associated with the action
    * via gtk_application_set_accels_for_action(), and setting
    * #GtkShortcutsShortcut::accelerator is not necessary.
-   *
-   * Since: 3.22
    */
   properties[PROP_ACTION_NAME] =
     g_param_spec_string ("action-name",
diff --git a/gtk/gtkshortcutsshortcut.h b/gtk/gtkshortcutsshortcut.h
index 9f6a1cf..b8eeeca 100644
--- a/gtk/gtkshortcutsshortcut.h
+++ b/gtk/gtkshortcutsshortcut.h
@@ -55,14 +55,12 @@ typedef struct _GtkShortcutsShortcutClass GtkShortcutsShortcutClass;
  *   The shortcut is a gesture. The #GtkShortcutsShortcut:icon property will be
  *   used.
  * @GTK_SHORTCUT_GESTURE_SWIPE_LEFT:
- *   The shortcut is a swipe gesture. GTK+ provides an icon and subtitle. Since 3.90
+ *   The shortcut is a swipe gesture. GTK+ provides an icon and subtitle.
  * @GTK_SHORTCUT_GESTURE_SWIPE_RIGHT:
- *   The shortcut is a swipe gesture. GTK+ provides an icon and subtitle. Since 3.90
+ *   The shortcut is a swipe gesture. GTK+ provides an icon and subtitle.
  *
  * GtkShortcutType specifies the kind of shortcut that is being described.
  * More values may be added to this enumeration over time.
- *
- * Since: 3.20
  */
 typedef enum {
   GTK_SHORTCUT_ACCELERATOR,
@@ -77,7 +75,7 @@ typedef enum {
   GTK_SHORTCUT_GESTURE_SWIPE_RIGHT
 } GtkShortcutType;
 
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 GType        gtk_shortcuts_shortcut_get_type (void) G_GNUC_CONST;
 
 G_END_DECLS
diff --git a/gtk/gtkshortcutswindow.h b/gtk/gtkshortcutswindow.h
index 465e40e..f3f5ba4 100644
--- a/gtk/gtkshortcutswindow.h
+++ b/gtk/gtkshortcutswindow.h
@@ -48,7 +48,7 @@ struct _GtkShortcutsWindowClass
   void (*search) (GtkShortcutsWindow *self);
 };
 
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 GType gtk_shortcuts_window_get_type (void) G_GNUC_CONST;
 
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkShortcutsWindow, g_object_unref)
diff --git a/gtk/gtkshow.c b/gtk/gtkshow.c
index b285d7f..ee9ae82 100644
--- a/gtk/gtkshow.c
+++ b/gtk/gtkshow.c
@@ -79,8 +79,6 @@ window_handle_exported (GtkWindow  *window,
  * necessary for sandbox helpers to parent their dialogs properly.
  *
  * Returns: %TRUE on success, %FALSE on error
- *
- * Since: 3.22
  */
 gboolean
 gtk_show_uri_on_window (GtkWindow   *parent,
diff --git a/gtk/gtkshow.h b/gtk/gtkshow.h
index 9c751c4..ac187ff 100644
--- a/gtk/gtkshow.h
+++ b/gtk/gtkshow.h
@@ -29,7 +29,7 @@
 
 G_BEGIN_DECLS
 
-GDK_AVAILABLE_IN_3_22
+GDK_AVAILABLE_IN_ALL
 gboolean gtk_show_uri_on_window (GtkWindow   *parent,
                                  const char  *uri,
                                  guint32      timestamp,
diff --git a/gtk/gtksizegroup.c b/gtk/gtksizegroup.c
index 2e3e33f..6cdba27 100644
--- a/gtk/gtksizegroup.c
+++ b/gtk/gtksizegroup.c
@@ -429,8 +429,6 @@ gtk_size_group_remove_widget (GtkSizeGroup *size_group,
  *
  * Returns:  (element-type GtkWidget) (transfer none): a #GSList of
  *   widgets. The list is owned by GTK+ and should not be modified.
- *
- * Since: 2.10
  **/
 GSList *
 gtk_size_group_get_widgets (GtkSizeGroup *size_group)
diff --git a/gtk/gtksizerequest.c b/gtk/gtksizerequest.c
index 2b8ec8f..606b1c1 100644
--- a/gtk/gtksizerequest.c
+++ b/gtk/gtksizerequest.c
@@ -395,8 +395,6 @@ gtk_widget_query_size_for_orientation (GtkWidget        *widget,
  *
  * See [GtkWidget’s geometry management section][geometry-management] for
  * a more details on implementing #GtkWidgetClass.measure().
- *
- * Since: 3.90
  */
 void
 gtk_widget_measure (GtkWidget        *widget,
@@ -484,8 +482,6 @@ gtk_widget_measure (GtkWidget        *widget,
  * capabilities.
  *
  * Returns: The #GtkSizeRequestMode preferred by @widget.
- *
- * Since: 3.0
  */
 GtkSizeRequestMode
 gtk_widget_get_request_mode (GtkWidget *widget)
@@ -598,8 +594,6 @@ _gtk_widget_get_preferred_size_and_baseline (GtkWidget      *widget,
  *
  * Use gtk_widget_measure() if you want to support
  * baseline alignment.
- *
- * Since: 3.0
  */
 void
 gtk_widget_get_preferred_size (GtkWidget      *widget,
diff --git a/gtk/gtksnapshot.c b/gtk/gtksnapshot.c
index 45bb205..a4f118c 100644
--- a/gtk/gtksnapshot.c
+++ b/gtk/gtksnapshot.c
@@ -170,8 +170,6 @@ gtk_snapshot_init (GtkSnapshot          *snapshot,
  *
  * Creates a new render node, appends it to the current render
  * node of @snapshot, and makes it the new current render node.
- *
- * Since: 3.90
  */
 void
 gtk_snapshot_push (GtkSnapshot           *snapshot,
@@ -1101,8 +1099,6 @@ gtk_snapshot_finish (GtkSnapshot *snapshot)
  *
  * Removes the top element from the stack of render nodes,
  * and appends it to the node underneath it.
- *
- * Since: 3.90
  */
 void
 gtk_snapshot_pop (GtkSnapshot *snapshot)
@@ -1125,8 +1121,6 @@ gtk_snapshot_pop (GtkSnapshot *snapshot)
  * rendered with.
  *
  * Returns: (transfer none): the #GskRenderer
- *
- * Since: 3.90
  */
 GskRenderer *
 gtk_snapshot_get_renderer (const GtkSnapshot *snapshot)
@@ -1141,8 +1135,6 @@ gtk_snapshot_get_renderer (const GtkSnapshot *snapshot)
  * @y: vertical translation
  *
  * Appends a translation by (@x, @y) to the current transformation.
- *
- * Since: 3.90
  */
 void
 gtk_snapshot_offset (GtkSnapshot *snapshot,
@@ -1230,8 +1222,6 @@ gtk_snapshot_append_node (GtkSnapshot   *snapshot,
  *
  * Returns: a cairo_t suitable for drawing the contents of the newly
  *     created render node
- *
- * Since: 3.90
  */
 cairo_t *
 gtk_snapshot_append_cairo (GtkSnapshot           *snapshot,
@@ -1394,8 +1384,6 @@ gtk_snapshot_append_color (GtkSnapshot           *snapshot,
  * Tests whether the rectangle is entirely outside the clip region of @snapshot.
  *
  * Returns: %TRUE if @bounds is entirely outside the clip region
- *
- * Since: 3.90
  */
 gboolean
 gtk_snapshot_clips_rect (GtkSnapshot                 *snapshot,
@@ -1427,8 +1415,6 @@ gtk_snapshot_clips_rect (GtkSnapshot                 *snapshot,
  * Creates a render node for the CSS background according to @context,
  * and appends it to the current node of @snapshot, without changing
  * the current node.
- *
- * Since: 3.90
  */
 void
 gtk_snapshot_render_background (GtkSnapshot     *snapshot,
@@ -1460,8 +1446,6 @@ gtk_snapshot_render_background (GtkSnapshot     *snapshot,
  * Creates a render node for the CSS border according to @context,
  * and appends it to the current node of @snapshot, without changing
  * the current node.
- *
- * Since: 3.90
  */
 void
 gtk_snapshot_render_frame (GtkSnapshot     *snapshot,
@@ -1493,8 +1477,6 @@ gtk_snapshot_render_frame (GtkSnapshot     *snapshot,
  * Creates a render node for the focus outline according to @context,
  * and appends it to the current node of @snapshot, without changing
  * the current node.
- *
- * Since: 3.90
  */
 void
 gtk_snapshot_render_focus (GtkSnapshot     *snapshot,
@@ -1525,8 +1507,6 @@ gtk_snapshot_render_focus (GtkSnapshot     *snapshot,
  * Creates a render node for rendering @layout according to the style
  * information in @context, and appends it to the current node of @snapshot,
  * without changing the current node.
- *
- * Since: 3.90
  */
 void
 gtk_snapshot_render_layout (GtkSnapshot     *snapshot,
@@ -1568,8 +1548,6 @@ gtk_snapshot_render_layout (GtkSnapshot     *snapshot,
  * @n_stops: the number of elements in @color_stops
  *
  * Appends a linear gradient node with the given stops to @snapshot.
- *
- * Since: 3.94
  */
 void
 gtk_snapshot_append_linear_gradient (GtkSnapshot            *snapshot,
@@ -1648,8 +1626,6 @@ gtk_snapshot_append_linear_gradient (GtkSnapshot            *snapshot,
  * @n_stops: the number of elements in @color_stops
  *
  * Appends a repeating linear gradient node with the given stops to @snapshot.
- *
- * Since: 3.94
  */
 void
 gtk_snapshot_append_repeating_linear_gradient (GtkSnapshot            *snapshot,
diff --git a/gtk/gtksnapshot.h b/gtk/gtksnapshot.h
index 5d9657d..8a02345 100644
--- a/gtk/gtksnapshot.h
+++ b/gtk/gtksnapshot.h
@@ -36,129 +36,129 @@
 
 G_BEGIN_DECLS
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 void            gtk_snapshot_push                       (GtkSnapshot            *snapshot,
                                                          gboolean                keep_coordinates,
                                                          const char             *name,
                                                          ...) G_GNUC_PRINTF (3, 4);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 void            gtk_snapshot_push_transform             (GtkSnapshot            *snapshot,
                                                          const graphene_matrix_t*transform,
                                                          const char             *name,
                                                          ...) G_GNUC_PRINTF (3, 4);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 void            gtk_snapshot_push_opacity               (GtkSnapshot            *snapshot,
                                                          double                  opacity,
                                                          const char             *name,
                                                          ...) G_GNUC_PRINTF (3, 4);
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 void            gtk_snapshot_push_blur                  (GtkSnapshot            *snapshot,
                                                          double                  radius,
                                                          const char             *name,
                                                          ...) G_GNUC_PRINTF (3, 4);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 void            gtk_snapshot_push_color_matrix          (GtkSnapshot            *snapshot,
                                                          const graphene_matrix_t*color_matrix,
                                                          const graphene_vec4_t  *color_offset,
                                                          const char             *name,
                                                          ...) G_GNUC_PRINTF (4, 5);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 void            gtk_snapshot_push_repeat                (GtkSnapshot            *snapshot,
                                                          const graphene_rect_t  *bounds,
                                                          const graphene_rect_t  *child_bounds,
                                                          const char             *name,
                                                          ...) G_GNUC_PRINTF (4, 5);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 void            gtk_snapshot_push_clip                  (GtkSnapshot            *snapshot,
                                                          const graphene_rect_t  *bounds,
                                                          const char             *name,
                                                          ...) G_GNUC_PRINTF (3, 4);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 void            gtk_snapshot_push_rounded_clip          (GtkSnapshot            *snapshot,
                                                          const GskRoundedRect   *bounds,
                                                          const char             *name,
                                                          ...) G_GNUC_PRINTF (3, 4);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 void            gtk_snapshot_push_shadow                (GtkSnapshot            *snapshot,
                                                          const GskShadow        *shadow,
                                                          gsize                   n_shadows,
                                                          const char             *name,
                                                          ...) G_GNUC_PRINTF (4, 5);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 void            gtk_snapshot_push_blend                 (GtkSnapshot            *snapshot,
                                                          GskBlendMode            blend_mode,
                                                          const char             *name,
                                                          ...) G_GNUC_PRINTF (3, 4);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 void            gtk_snapshot_push_cross_fade            (GtkSnapshot            *snapshot,
                                                          double                  progress,
                                                          const char             *name,
                                                          ...) G_GNUC_PRINTF (3, 4);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 void            gtk_snapshot_pop                        (GtkSnapshot            *snapshot);
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 void            gtk_snapshot_offset                     (GtkSnapshot            *snapshot,
                                                          int                     x,
                                                          int                     y);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 void            gtk_snapshot_get_offset                 (GtkSnapshot            *snapshot,
                                                          int                    *x,
                                                          int                    *y);
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 void            gtk_snapshot_append_node                (GtkSnapshot            *snapshot,
                                                          GskRenderNode          *node);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 cairo_t *       gtk_snapshot_append_cairo               (GtkSnapshot            *snapshot,
                                                          const graphene_rect_t  *bounds,
                                                          const char             *name,
                                                          ...) G_GNUC_PRINTF(3, 4);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 void            gtk_snapshot_append_texture             (GtkSnapshot            *snapshot,
                                                          GdkTexture             *texture,
                                                          const graphene_rect_t  *bounds,
                                                          const char             *name,
                                                          ...) G_GNUC_PRINTF (4, 5);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 void            gtk_snapshot_append_color               (GtkSnapshot            *snapshot,
                                                          const GdkRGBA          *color,
                                                          const graphene_rect_t  *bounds,
                                                          const char             *name,
                                                          ...) G_GNUC_PRINTF (4, 5);
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 gboolean        gtk_snapshot_clips_rect                 (GtkSnapshot            *snapshot,
                                                          const cairo_rectangle_int_t  *bounds);
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 void            gtk_snapshot_render_background          (GtkSnapshot            *snapshot,
                                                          GtkStyleContext        *context,
                                                          gdouble                 x,
                                                          gdouble                 y,
                                                          gdouble                 width,
                                                          gdouble                 height);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 void            gtk_snapshot_render_frame               (GtkSnapshot            *snapshot,
                                                          GtkStyleContext        *context,
                                                          gdouble                 x,
                                                          gdouble                 y,
                                                          gdouble                 width,
                                                          gdouble                 height);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 void            gtk_snapshot_render_focus               (GtkSnapshot            *snapshot,
                                                          GtkStyleContext        *context,
                                                          gdouble                 x,
                                                          gdouble                 y,
                                                          gdouble                 width,
                                                          gdouble                 height);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 void            gtk_snapshot_render_layout              (GtkSnapshot            *snapshot,
                                                          GtkStyleContext        *context,
                                                          gdouble                 x,
                                                          gdouble                 y,
                                                          PangoLayout            *layout);
-GDK_AVAILABLE_IN_3_90 /* in gtkstylecontext.c */
+GDK_AVAILABLE_IN_ALL /* in gtkstylecontext.c */
 void            gtk_snapshot_render_insertion_cursor    (GtkSnapshot            *snapshot,
                                                          GtkStyleContext        *context,
                                                          gdouble                 x,
@@ -166,7 +166,7 @@ void            gtk_snapshot_render_insertion_cursor    (GtkSnapshot
                                                          PangoLayout            *layout,
                                                          int                     index,
                                                          PangoDirection          direction);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void            gtk_snapshot_append_linear_gradient     (GtkSnapshot            *snapshot,
                                                          const graphene_rect_t  *bounds,
                                                          const graphene_point_t *start_point,
@@ -175,7 +175,7 @@ void            gtk_snapshot_append_linear_gradient     (GtkSnapshot
                                                          gsize                   n_stops,
                                                          const char             *name,
                                                          ...) G_GNUC_PRINTF (7, 8);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void            gtk_snapshot_append_repeating_linear_gradient (GtkSnapshot            *snapshot,
                                                                const graphene_rect_t  *bounds,
                                                                const graphene_point_t *start_point,
diff --git a/gtk/gtkspinbutton.c b/gtk/gtkspinbutton.c
index 1f28cee..c234431 100644
--- a/gtk/gtkspinbutton.c
+++ b/gtk/gtkspinbutton.c
@@ -508,8 +508,6 @@ gtk_spin_button_class_init (GtkSpinButtonClass *class)
    *
    * The ::wrapped signal is emitted right after the spinbutton wraps
    * from its maximum to minimum value or vice-versa.
-   *
-   * Since: 2.10
    */
   spinbutton_signals[WRAPPED] =
     g_signal_new (I_("wrapped"),
@@ -2269,8 +2267,6 @@ gtk_spin_button_update (GtkSpinButton *spin_button)
  * @spin_button: a #GtkSpinButton
  *
  * Returns: (transfer none): The current text shown in the entry area of @spin_button.
- *
- * Since: 3.92
  */
 const char *
 gtk_spin_button_get_text (GtkSpinButton *spin_button)
@@ -2289,8 +2285,6 @@ gtk_spin_button_get_text (GtkSpinButton *spin_button)
  *
  * Sets the current text of the spinbutton. Note that setting this will not change
  * the value of the adjustment @spin_button.
- *
- * Since: 3.92
  */
 void
 gtk_spin_button_set_text (GtkSpinButton *spin_button,
@@ -2316,8 +2310,6 @@ gtk_spin_button_set_text (GtkSpinButton *spin_button,
  * See also #GtkEntry:max-width-chars
  *
  * Returns: the maximum width of the spin button, in characters
- *
- * Since: 3.92
  */
 int
 gtk_spin_button_get_max_width_chars (GtkSpinButton *spin_button)
@@ -2337,8 +2329,6 @@ gtk_spin_button_get_max_width_chars (GtkSpinButton *spin_button)
  * Sets the desired maximum width of @spin_button, in characters.
  * Note that this only applies to the entry area of @spin_button, not the
  * spin button. This is especially important for horizontal spinbuttons.
- *
- * Since: 3.92
  */
 void
 gtk_spin_button_set_max_width_chars (GtkSpinButton *spin_button,
@@ -2364,8 +2354,6 @@ gtk_spin_button_set_max_width_chars (GtkSpinButton *spin_button,
  *
  * Returns: The number of characters to request space for in the entry
  *          area of @spin_button
- *
- * Since: 3.92
  */
 int
 gtk_spin_button_get_width_chars (GtkSpinButton *spin_button)
@@ -2384,8 +2372,6 @@ gtk_spin_button_get_width_chars (GtkSpinButton *spin_button)
  *
  * Changes the size request of the entry area of @spin_button
  * to be about the right size for @width_chars characters.
- *
- * Since: 3.92
  */
 void
 gtk_spin_button_set_width_chars (GtkSpinButton *spin_button,
diff --git a/gtk/gtkspinbutton.h b/gtk/gtkspinbutton.h
index b811b5f..029e99d 100644
--- a/gtk/gtkspinbutton.h
+++ b/gtk/gtkspinbutton.h
@@ -227,19 +227,19 @@ GDK_AVAILABLE_IN_ALL
 gboolean        gtk_spin_button_get_snap_to_ticks  (GtkSpinButton  *spin_button);
 GDK_AVAILABLE_IN_ALL
 void            gtk_spin_button_update             (GtkSpinButton  *spin_button);
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 const char *    gtk_spin_button_get_text           (GtkSpinButton *spin_button);
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 void            gtk_spin_button_set_text           (GtkSpinButton *spin_button,
                                                     const char    *text);
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 int             gtk_spin_button_get_max_width_chars (GtkSpinButton *spin_button);
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 void            gtk_spin_button_set_max_width_chars (GtkSpinButton *spin_button,
                                                      int            max_width_chars);
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 int             gtk_spin_button_get_width_chars     (GtkSpinButton *spin_button);
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 void            gtk_spin_button_set_width_chars     (GtkSpinButton *spin_button,
                                                      int            width_chars);
 
diff --git a/gtk/gtkspinner.c b/gtk/gtkspinner.c
index 17b0f7d..9723964 100644
--- a/gtk/gtkspinner.c
+++ b/gtk/gtkspinner.c
@@ -192,8 +192,6 @@ gtk_spinner_class_init (GtkSpinnerClass *klass)
   /* GtkSpinner:active:
    *
    * Whether the spinner is active
-   *
-   * Since: 2.20
    */
   g_object_class_install_property (gobject_class,
                                    PROP_ACTIVE,
@@ -219,8 +217,6 @@ gtk_spinner_init (GtkSpinner *spinner)
  * Returns a new spinner widget. Not yet started.
  *
  * Returns: a new #GtkSpinner
- *
- * Since: 2.20
  */
 GtkWidget *
 gtk_spinner_new (void)
@@ -233,8 +229,6 @@ gtk_spinner_new (void)
  * @spinner: a #GtkSpinner
  *
  * Starts the animation of the spinner.
- *
- * Since: 2.20
  */
 void
 gtk_spinner_start (GtkSpinner *spinner)
@@ -249,8 +243,6 @@ gtk_spinner_start (GtkSpinner *spinner)
  * @spinner: a #GtkSpinner
  *
  * Stops the animation of the spinner.
- *
- * Since: 2.20
  */
 void
 gtk_spinner_stop (GtkSpinner *spinner)
diff --git a/gtk/gtkstack.c b/gtk/gtkstack.c
index 74c681d..b501b77 100644
--- a/gtk/gtkstack.c
+++ b/gtk/gtkstack.c
@@ -69,18 +69,18 @@
  * @GTK_STACK_TRANSITION_TYPE_SLIDE_DOWN: Slide from top down
  * @GTK_STACK_TRANSITION_TYPE_SLIDE_LEFT_RIGHT: Slide from left or right according to the children order
  * @GTK_STACK_TRANSITION_TYPE_SLIDE_UP_DOWN: Slide from top down or bottom up according to the order
- * @GTK_STACK_TRANSITION_TYPE_OVER_UP: Cover the old page by sliding up. Since 3.12
- * @GTK_STACK_TRANSITION_TYPE_OVER_DOWN: Cover the old page by sliding down. Since: 3.12
- * @GTK_STACK_TRANSITION_TYPE_OVER_LEFT: Cover the old page by sliding to the left. Since: 3.12
- * @GTK_STACK_TRANSITION_TYPE_OVER_RIGHT: Cover the old page by sliding to the right. Since: 3.12
- * @GTK_STACK_TRANSITION_TYPE_UNDER_UP: Uncover the new page by sliding up. Since 3.12
- * @GTK_STACK_TRANSITION_TYPE_UNDER_DOWN: Uncover the new page by sliding down. Since: 3.12
- * @GTK_STACK_TRANSITION_TYPE_UNDER_LEFT: Uncover the new page by sliding to the left. Since: 3.12
- * @GTK_STACK_TRANSITION_TYPE_UNDER_RIGHT: Uncover the new page by sliding to the right. Since: 3.12
- * @GTK_STACK_TRANSITION_TYPE_OVER_UP_DOWN: Cover the old page sliding up or uncover the new page sliding 
down, according to order. Since: 3.12
- * @GTK_STACK_TRANSITION_TYPE_OVER_DOWN_UP: Cover the old page sliding down or uncover the new page sliding 
up, according to order. Since: 3.14
- * @GTK_STACK_TRANSITION_TYPE_OVER_LEFT_RIGHT: Cover the old page sliding left or uncover the new page 
sliding right, according to order. Since: 3.14
- * @GTK_STACK_TRANSITION_TYPE_OVER_RIGHT_LEFT: Cover the old page sliding right or uncover the new page 
sliding left, according to order. Since: 3.14
+ * @GTK_STACK_TRANSITION_TYPE_OVER_UP: Cover the old page by sliding up
+ * @GTK_STACK_TRANSITION_TYPE_OVER_DOWN: Cover the old page by sliding down
+ * @GTK_STACK_TRANSITION_TYPE_OVER_LEFT: Cover the old page by sliding to the left
+ * @GTK_STACK_TRANSITION_TYPE_OVER_RIGHT: Cover the old page by sliding to the right
+ * @GTK_STACK_TRANSITION_TYPE_UNDER_UP: Uncover the new page by sliding up
+ * @GTK_STACK_TRANSITION_TYPE_UNDER_DOWN: Uncover the new page by sliding down
+ * @GTK_STACK_TRANSITION_TYPE_UNDER_LEFT: Uncover the new page by sliding to the left
+ * @GTK_STACK_TRANSITION_TYPE_UNDER_RIGHT: Uncover the new page by sliding to the right
+ * @GTK_STACK_TRANSITION_TYPE_OVER_UP_DOWN: Cover the old page sliding up or uncover the new page sliding 
down, according to order
+ * @GTK_STACK_TRANSITION_TYPE_OVER_DOWN_UP: Cover the old page sliding down or uncover the new page sliding 
up, according to order
+ * @GTK_STACK_TRANSITION_TYPE_OVER_LEFT_RIGHT: Cover the old page sliding left or uncover the new page 
sliding right, according to order
+ * @GTK_STACK_TRANSITION_TYPE_OVER_RIGHT_LEFT: Cover the old page sliding right or uncover the new page 
sliding left, according to order
  *
  * These enumeration values describe the possible transitions
  * between pages in a #GtkStack widget.
@@ -331,8 +331,6 @@ gtk_stack_class_init (GtkStackClass *klass)
    * GtkStack:hhomogeneous:
    *
    * %TRUE if the stack allocates the same width for all children.
-   *
-   * Since: 3.16
    */
   stack_props[PROP_HHOMOGENEOUS] =
       g_param_spec_boolean ("hhomogeneous", P_("Horizontally homogeneous"), P_("Horizontally homogeneous 
sizing"),
@@ -343,8 +341,6 @@ gtk_stack_class_init (GtkStackClass *klass)
    * GtkStack:vhomogeneous:
    *
    * %TRUE if the stack allocates the same height for all children.
-   *
-   * Since: 3.16
    */
   stack_props[PROP_VHOMOGENEOUS] =
       g_param_spec_boolean ("vhomogeneous", P_("Vertically homogeneous"), P_("Vertically homogeneous 
sizing"),
@@ -414,8 +410,6 @@ gtk_stack_class_init (GtkStackClass *klass)
    * This is used by the #GtkStackSwitcher to change the appearance of the
    * corresponding button when a page needs attention and it is not the
    * current one.
-   *
-   * Since: 3.12
    */
   stack_child_props[CHILD_PROP_NEEDS_ATTENTION] =
     g_param_spec_boolean ("needs-attention",
@@ -436,8 +430,6 @@ gtk_stack_class_init (GtkStackClass *klass)
  * Creates a new #GtkStack container.
  *
  * Returns: a new #GtkStack
- *
- * Since: 3.10
  */
 GtkWidget *
 gtk_stack_new (void)
@@ -1098,8 +1090,6 @@ stack_child_visibility_notify_cb (GObject    *obj,
  * The child is identified by the @name. The @title
  * will be used by #GtkStackSwitcher to represent
  * @child in a tab bar, so it should be short.
- *
- * Since: 3.10
  */
 void
 gtk_stack_add_titled (GtkStack   *stack,
@@ -1125,8 +1115,6 @@ gtk_stack_add_titled (GtkStack   *stack,
  *
  * Adds a child to @stack.
  * The child is identified by the @name.
- *
- * Since: 3.10
  */
 void
 gtk_stack_add_named (GtkStack   *stack,
@@ -1233,8 +1221,6 @@ gtk_stack_remove (GtkContainer *container,
  * name.
  *
  * Returns: (transfer none) (nullable): the requested child of the #GtkStack
- *
- * Since: 3.12
  */
 GtkWidget *
 gtk_stack_get_child_by_name (GtkStack    *stack,
@@ -1270,8 +1256,6 @@ gtk_stack_get_child_by_name (GtkStack    *stack,
  * Since 3.16, homogeneity can be controlled separately
  * for horizontal and vertical size, with the
  * #GtkStack:hhomogeneous and #GtkStack:vhomogeneous.
- *
- * Since: 3.10
  */
 void
 gtk_stack_set_homogeneous (GtkStack *stack,
@@ -1315,8 +1299,6 @@ gtk_stack_set_homogeneous (GtkStack *stack,
  * See gtk_stack_set_homogeneous().
  *
  * Returns: whether @stack is homogeneous.
- *
- * Since: 3.10
  */
 gboolean
 gtk_stack_get_homogeneous (GtkStack *stack)
@@ -1337,8 +1319,6 @@ gtk_stack_get_homogeneous (GtkStack *stack)
  * If it is homogeneous, the #GtkStack will request the same
  * width for all its children. If it isn't, the stack
  * may change width when a different child becomes visible.
- *
- * Since: 3.16
  */
 void
 gtk_stack_set_hhomogeneous (GtkStack *stack,
@@ -1369,8 +1349,6 @@ gtk_stack_set_hhomogeneous (GtkStack *stack,
  * See gtk_stack_set_hhomogeneous().
  *
  * Returns: whether @stack is horizontally homogeneous.
- *
- * Since: 3.16
  */
 gboolean
 gtk_stack_get_hhomogeneous (GtkStack *stack)
@@ -1391,8 +1369,6 @@ gtk_stack_get_hhomogeneous (GtkStack *stack)
  * If it is homogeneous, the #GtkStack will request the same
  * height for all its children. If it isn't, the stack
  * may change height when a different child becomes visible.
- *
- * Since: 3.16
  */
 void
 gtk_stack_set_vhomogeneous (GtkStack *stack,
@@ -1423,8 +1399,6 @@ gtk_stack_set_vhomogeneous (GtkStack *stack,
  * See gtk_stack_set_vhomogeneous().
  *
  * Returns: whether @stack is vertically homogeneous.
- *
- * Since: 3.16
  */
 gboolean
 gtk_stack_get_vhomogeneous (GtkStack *stack)
@@ -1444,8 +1418,6 @@ gtk_stack_get_vhomogeneous (GtkStack *stack)
  * transitions between pages in @stack will take.
  *
  * Returns: the transition duration
- *
- * Since: 3.10
  */
 guint
 gtk_stack_get_transition_duration (GtkStack *stack)
@@ -1464,8 +1436,6 @@ gtk_stack_get_transition_duration (GtkStack *stack)
  *
  * Sets the duration that transitions between pages in @stack
  * will take.
- *
- * Since: 3.10
  */
 void
 gtk_stack_set_transition_duration (GtkStack *stack,
@@ -1491,8 +1461,6 @@ gtk_stack_set_transition_duration (GtkStack *stack,
  * for transitions between pages in @stack.
  *
  * Returns: the current transition type of @stack
- *
- * Since: 3.10
  */
 GtkStackTransitionType
 gtk_stack_get_transition_type (GtkStack *stack)
@@ -1516,8 +1484,6 @@ gtk_stack_get_transition_type (GtkStack *stack)
  * The transition type can be changed without problems
  * at runtime, so it is possible to change the animation
  * based on the page that is about to become current.
- *
- * Since: 3.10
  */
 void
 gtk_stack_set_transition_type (GtkStack              *stack,
@@ -1543,8 +1509,6 @@ gtk_stack_set_transition_type (GtkStack              *stack,
  * another.
  *
  * Returns: %TRUE if the transition is currently running, %FALSE otherwise.
- *
- * Since: 3.12
  */
 gboolean
 gtk_stack_get_transition_running (GtkStack *stack)
@@ -1566,8 +1530,6 @@ gtk_stack_get_transition_running (GtkStack *stack)
  * property is set to %TRUE, @stack will interpolate its size between
  * the current one and the one it'll take after changing the
  * visible child, according to the set transition duration.
- *
- * Since: 3.18
  */
 void
 gtk_stack_set_interpolate_size (GtkStack *stack,
@@ -1594,8 +1556,6 @@ gtk_stack_set_interpolate_size (GtkStack *stack,
  * the sizes of children on page switch.
  *
  * Returns: %TRUE if child sizes are interpolated
- *
- * Since: 3.18
  */
 gboolean
 gtk_stack_get_interpolate_size (GtkStack *stack)
@@ -1616,8 +1576,6 @@ gtk_stack_get_interpolate_size (GtkStack *stack)
  * there are no visible children.
  *
  * Returns: (transfer none) (nullable): the visible child of the #GtkStack
- *
- * Since: 3.10
  */
 GtkWidget *
 gtk_stack_get_visible_child (GtkStack *stack)
@@ -1637,8 +1595,6 @@ gtk_stack_get_visible_child (GtkStack *stack)
  * %NULL if there is no visible child.
  *
  * Returns: (transfer none) (nullable): the name of the visible child of the #GtkStack
- *
- * Since: 3.10
  */
 const gchar *
 gtk_stack_get_visible_child_name (GtkStack *stack)
@@ -1668,8 +1624,6 @@ gtk_stack_get_visible_child_name (GtkStack *stack)
  * Note that the @child widget has to be visible itself
  * (see gtk_widget_show()) in order to become the visible
  * child of @stack.
- *
- * Since: 3.10
  */
 void
 gtk_stack_set_visible_child (GtkStack  *stack,
@@ -1710,8 +1664,6 @@ gtk_stack_set_visible_child (GtkStack  *stack,
  * Note that the child widget has to be visible itself
  * (see gtk_widget_show()) in order to become the visible
  * child of @stack.
- *
- * Since: 3.10
  */
 void
 gtk_stack_set_visible_child_name (GtkStack   *stack,
@@ -1733,8 +1685,6 @@ gtk_stack_set_visible_child_name (GtkStack   *stack,
  * Note that the child widget has to be visible itself
  * (see gtk_widget_show()) in order to become the visible
  * child of @stack.
- *
- * Since: 3.10
  */
 void
 gtk_stack_set_visible_child_full (GtkStack               *stack,
diff --git a/gtk/gtkstack.h b/gtk/gtkstack.h
index 4823a29..b9b4701 100644
--- a/gtk/gtkstack.h
+++ b/gtk/gtkstack.h
@@ -72,68 +72,68 @@ struct _GtkStackClass {
   GtkContainerClass parent_class;
 };
 
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 GType                  gtk_stack_get_type                (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 GtkWidget *            gtk_stack_new                     (void);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void                   gtk_stack_add_named               (GtkStack               *stack,
                                                           GtkWidget              *child,
                                                           const gchar            *name);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void                   gtk_stack_add_titled              (GtkStack               *stack,
                                                           GtkWidget              *child,
                                                           const gchar            *name,
                                                           const gchar            *title);
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 GtkWidget *            gtk_stack_get_child_by_name       (GtkStack               *stack,
                                                           const gchar            *name);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void                   gtk_stack_set_visible_child       (GtkStack               *stack,
                                                           GtkWidget              *child);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 GtkWidget *            gtk_stack_get_visible_child       (GtkStack               *stack);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void                   gtk_stack_set_visible_child_name  (GtkStack               *stack,
                                                           const gchar            *name);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 const gchar *          gtk_stack_get_visible_child_name  (GtkStack               *stack);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void                   gtk_stack_set_visible_child_full  (GtkStack               *stack,
                                                           const gchar            *name,
                                                           GtkStackTransitionType  transition);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void                   gtk_stack_set_homogeneous         (GtkStack               *stack,
                                                           gboolean                homogeneous);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 gboolean               gtk_stack_get_homogeneous         (GtkStack               *stack);
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 void                   gtk_stack_set_hhomogeneous        (GtkStack               *stack,
                                                           gboolean                hhomogeneous);
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 gboolean               gtk_stack_get_hhomogeneous        (GtkStack               *stack);
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 void                   gtk_stack_set_vhomogeneous        (GtkStack               *stack,
                                                           gboolean                vhomogeneous);
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 gboolean               gtk_stack_get_vhomogeneous        (GtkStack               *stack);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void                   gtk_stack_set_transition_duration (GtkStack               *stack,
                                                           guint                   duration);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 guint                  gtk_stack_get_transition_duration (GtkStack               *stack);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void                   gtk_stack_set_transition_type     (GtkStack               *stack,
                                                           GtkStackTransitionType  transition);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 GtkStackTransitionType gtk_stack_get_transition_type     (GtkStack               *stack);
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 gboolean               gtk_stack_get_transition_running  (GtkStack               *stack);
-GDK_AVAILABLE_IN_3_18
+GDK_AVAILABLE_IN_ALL
 void                   gtk_stack_set_interpolate_size    (GtkStack *stack,
                                                           gboolean  interpolate_size);
-GDK_AVAILABLE_IN_3_18
+GDK_AVAILABLE_IN_ALL
 gboolean               gtk_stack_get_interpolate_size    (GtkStack *stack);
 G_END_DECLS
 
diff --git a/gtk/gtkstacksidebar.c b/gtk/gtkstacksidebar.c
index 1c1ea03..552dcab 100644
--- a/gtk/gtkstacksidebar.c
+++ b/gtk/gtkstacksidebar.c
@@ -52,8 +52,6 @@
  * When circumstances require it, GtkStackSidebar adds the
  * .needs-attention style class to the widgets representing the stack
  * pages.
- *
- * Since: 3.16
  */
 
 struct _GtkStackSidebarPrivate
@@ -459,8 +457,6 @@ gtk_stack_sidebar_class_init (GtkStackSidebarClass *klass)
  * Creates a new sidebar.
  *
  * Returns: the new #GtkStackSidebar
- *
- * Since: 3.16
  */
 GtkWidget *
 gtk_stack_sidebar_new (void)
@@ -477,8 +473,6 @@ gtk_stack_sidebar_new (void)
  *
  * The sidebar widget will automatically update according to the order
  * (packing) and items within the given #GtkStack.
- *
- * Since: 3.16
  */
 void
 gtk_stack_sidebar_set_stack (GtkStackSidebar *sidebar,
@@ -521,8 +515,6 @@ gtk_stack_sidebar_set_stack (GtkStackSidebar *sidebar,
  *
  * Returns: (nullable) (transfer none): the associated #GtkStack or
  *     %NULL if none has been set explicitly
- *
- * Since: 3.16
  */
 GtkStack *
 gtk_stack_sidebar_get_stack (GtkStackSidebar *sidebar)
diff --git a/gtk/gtkstacksidebar.h b/gtk/gtkstacksidebar.h
index 9bb38d3..33e2e82 100644
--- a/gtk/gtkstacksidebar.h
+++ b/gtk/gtkstacksidebar.h
@@ -58,14 +58,14 @@ struct _GtkStackSidebarClass
   void (*_gtk_reserved4) (void);
 };
 
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 GType       gtk_stack_sidebar_get_type  (void) G_GNUC_CONST;
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 GtkWidget * gtk_stack_sidebar_new       (void);
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 void        gtk_stack_sidebar_set_stack (GtkStackSidebar *sidebar,
                                          GtkStack        *stack);
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 GtkStack *  gtk_stack_sidebar_get_stack (GtkStackSidebar *sidebar);
 
 G_END_DECLS
diff --git a/gtk/gtkstackswitcher.c b/gtk/gtkstackswitcher.c
index 5495591..7c403c3 100644
--- a/gtk/gtkstackswitcher.c
+++ b/gtk/gtkstackswitcher.c
@@ -500,8 +500,6 @@ connect_stack_signals (GtkStackSwitcher *switcher)
  * @stack: (allow-none): a #GtkStack
  *
  * Sets the stack to control.
- *
- * Since: 3.10
  */
 void
 gtk_stack_switcher_set_stack (GtkStackSwitcher *switcher,
@@ -544,8 +542,6 @@ gtk_stack_switcher_set_stack (GtkStackSwitcher *switcher,
  *
  * Returns: (nullable) (transfer none): the stack, or %NULL if
  *    none has been set explicitly.
- *
- * Since: 3.10
  */
 GtkStack *
 gtk_stack_switcher_get_stack (GtkStackSwitcher *switcher)
@@ -673,8 +669,6 @@ gtk_stack_switcher_class_init (GtkStackSwitcherClass *class)
    *
    * Use the "icon-size" property to change the size of the image displayed
    * when a #GtkStackSwitcher is displaying icons.
-   *
-   * Since: 3.20
    */
   g_object_class_install_property (object_class,
                                    PROP_ICON_SIZE,
@@ -703,8 +697,6 @@ gtk_stack_switcher_class_init (GtkStackSwitcherClass *class)
  * Create a new #GtkStackSwitcher.
  *
  * Returns: a new #GtkStackSwitcher.
- *
- * Since: 3.10
  */
 GtkWidget *
 gtk_stack_switcher_new (void)
diff --git a/gtk/gtkstackswitcher.h b/gtk/gtkstackswitcher.h
index 61f3158..d11ed46 100644
--- a/gtk/gtkstackswitcher.h
+++ b/gtk/gtkstackswitcher.h
@@ -55,14 +55,14 @@ struct _GtkStackSwitcherClass
   void (*_gtk_reserved4) (void);
 };
 
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 GType        gtk_stack_switcher_get_type          (void) G_GNUC_CONST;
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 GtkWidget *  gtk_stack_switcher_new               (void);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void         gtk_stack_switcher_set_stack         (GtkStackSwitcher *switcher,
                                                    GtkStack         *stack);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 GtkStack *   gtk_stack_switcher_get_stack         (GtkStackSwitcher *switcher);
 
 G_END_DECLS
diff --git a/gtk/gtkstatusbar.c b/gtk/gtkstatusbar.c
index 3edb920..fc0336c 100644
--- a/gtk/gtkstatusbar.c
+++ b/gtk/gtkstatusbar.c
@@ -478,8 +478,6 @@ gtk_statusbar_remove (GtkStatusbar *statusbar,
  *
  * Forces the removal of all messages from a statusbar's
  * stack with the exact @context_id.
- *
- * Since: 2.22
  */
 void
 gtk_statusbar_remove_all (GtkStatusbar *statusbar,
@@ -539,8 +537,6 @@ gtk_statusbar_remove_all (GtkStatusbar *statusbar,
  * Retrieves the box containing the label widget.
  *
  * Returns: (type Gtk.Box) (transfer none): a #GtkBox
- *
- * Since: 2.20
  */
 GtkWidget*
 gtk_statusbar_get_message_area (GtkStatusbar *statusbar)
diff --git a/gtk/gtkstylecontext.c b/gtk/gtkstylecontext.c
index b309f15..1689706 100644
--- a/gtk/gtkstylecontext.c
+++ b/gtk/gtkstylecontext.c
@@ -194,8 +194,6 @@ gtk_style_context_class_init (GtkStyleContextClass *klass)
    * #GtkWidget::style-updated signal/vfunc might be more convenient to use.
    *
    * This signal is useful when using the theming layer standalone.
-   *
-   * Since: 3.0
    */
   signals[CHANGED] =
     g_signal_new (I_("changed"),
@@ -225,8 +223,6 @@ gtk_style_context_class_init (GtkStyleContextClass *klass)
    *
    * Sets or gets the style context’s parent. See gtk_style_context_set_parent()
    * for details.
-   *
-   * Since: 3.4
    */
   properties[PROP_PARENT] =
       g_param_spec_object ("parent",
@@ -505,8 +501,6 @@ gtk_style_context_new_for_node (GtkCssNode *node)
  * Note: If both priorities are the same, a #GtkStyleProvider
  * added through this function takes precedence over another added
  * through gtk_style_context_add_provider_for_display().
- *
- * Since: 3.0
  **/
 void
 gtk_style_context_add_provider (GtkStyleContext  *context,
@@ -542,8 +536,6 @@ gtk_style_context_add_provider (GtkStyleContext  *context,
  * @provider: a #GtkStyleProvider
  *
  * Removes @provider from the style providers list in @context.
- *
- * Since: 3.0
  **/
 void
 gtk_style_context_remove_provider (GtkStyleContext  *context,
@@ -570,8 +562,6 @@ gtk_style_context_remove_provider (GtkStyleContext  *context,
  * style, it will both redraw and recompute any cached information about
  * its appearance. As an example, it is used when the color scheme changes
  * in the related #GtkSettings object.
- *
- * Since: 3.0
  **/
 void
 gtk_style_context_reset_widgets (GdkDisplay *display)
@@ -611,8 +601,6 @@ gtk_style_context_reset_widgets (GdkDisplay *display)
  * Note: If both priorities are the same, A #GtkStyleProvider
  * added through gtk_style_context_add_provider() takes precedence
  * over another added through this function.
- *
- * Since: 3.94
  **/
 void
 gtk_style_context_add_provider_for_display (GdkDisplay       *display,
@@ -635,8 +623,6 @@ gtk_style_context_add_provider_for_display (GdkDisplay       *display,
  * @provider: a #GtkStyleProvider
  *
  * Removes @provider from the global style providers list in @display.
- *
- * Since: 3.94
  **/
 void
 gtk_style_context_remove_provider_for_display (GdkDisplay       *display,
@@ -713,8 +699,6 @@ gtk_style_context_query_func (guint    id,
  *
  * When @value is no longer needed, g_value_unset() must be called
  * to free any allocated memory.
- *
- * Since: 3.0
  **/
 void
 gtk_style_context_get_property (GtkStyleContext *context,
@@ -761,8 +745,6 @@ gtk_style_context_get_property (GtkStyleContext *context,
  * memory in the appropriate manner for the type. For example, by calling
  * g_free() or g_object_unref(). Non-pointer-valued properties, such as
  * integers, are returned by value and do not need to be freed.
- *
- * Since: 3.0
  */
 void
 gtk_style_context_get_valist (GtkStyleContext *context,
@@ -815,8 +797,6 @@ gtk_style_context_get_valist (GtkStyleContext *context,
  * memory in the appropriate manner for the type. For example, by calling
  * g_free() or g_object_unref(). Non-pointer-valued properties, such as
  * integers, are returned by value and do not need to be freed.
- *
- * Since: 3.0
  */
 void
 gtk_style_context_get (GtkStyleContext *context,
@@ -875,8 +855,6 @@ gtk_style_context_get_id (GtkStyleContext *context)
  * @flags: state to represent
  *
  * Sets the state to be used for style matching.
- *
- * Since: 3.0
  **/
 void
 gtk_style_context_set_state (GtkStyleContext *context,
@@ -901,8 +879,6 @@ gtk_style_context_set_state (GtkStyleContext *context,
  * gtk_widget_get_state_flags().
  *
  * Returns: the state flags
- *
- * Since: 3.0
  **/
 GtkStateFlags
 gtk_style_context_get_state (GtkStyleContext *context)
@@ -920,8 +896,6 @@ gtk_style_context_get_state (GtkStyleContext *context)
  * @scale: scale
  *
  * Sets the scale to use when getting image assets for the style.
- *
- * Since: 3.10
  **/
 void
 gtk_style_context_set_scale (GtkStyleContext *context,
@@ -955,8 +929,6 @@ gtk_style_context_set_scale (GtkStyleContext *context,
  * Returns the scale used for assets.
  *
  * Returns: the scale
- *
- * Since: 3.10
  **/
 gint
 gtk_style_context_get_scale (GtkStyleContext *context)
@@ -980,8 +952,6 @@ gtk_style_context_get_scale (GtkStyleContext *context)
  * If you are using a #GtkStyleContext returned from
  * gtk_widget_get_style_context(), you do not need to call
  * this yourself.
- *
- * Since: 3.0
  **/
 void
 gtk_style_context_set_path (GtkStyleContext *context,
@@ -1019,8 +989,6 @@ gtk_style_context_set_path (GtkStyleContext *context,
  * Returns the widget path used for style matching.
  *
  * Returns: (transfer none): A #GtkWidgetPath
- *
- * Since: 3.0
  **/
 const GtkWidgetPath *
 gtk_style_context_get_path (GtkStyleContext *context)
@@ -1040,8 +1008,6 @@ gtk_style_context_get_path (GtkStyleContext *context)
  *
  * If you are using a #GtkStyleContext returned from
  * gtk_widget_get_style_context(), the parent will be set for you.
- *
- * Since: 3.4
  **/
 void
 gtk_style_context_set_parent (GtkStyleContext *context,
@@ -1084,8 +1050,6 @@ gtk_style_context_set_parent (GtkStyleContext *context,
  * See that function for details.
  *
  * Returns: (nullable) (transfer none): the parent context or %NULL
- *
- * Since: 3.4
  **/
 GtkStyleContext *
 gtk_style_context_get_parent (GtkStyleContext *context)
@@ -1160,8 +1124,6 @@ gtk_style_context_save_named (GtkStyleContext *context,
  *
  * The matching call to gtk_style_context_restore() must be done
  * before GTK returns to the main loop.
- *
- * Since: 3.0
  **/
 void
 gtk_style_context_save (GtkStyleContext *context)
@@ -1177,8 +1139,6 @@ gtk_style_context_save (GtkStyleContext *context)
  *
  * Restores @context state to a previous stage.
  * See gtk_style_context_save().
- *
- * Since: 3.0
  **/
 void
 gtk_style_context_restore (GtkStyleContext *context)
@@ -1217,8 +1177,6 @@ gtk_style_context_restore (GtkStyleContext *context)
  * |[ <!-- language="CSS" -->
  * .search { ... }
  * ]|
- *
- * Since: 3.0
  **/
 void
 gtk_style_context_add_class (GtkStyleContext *context,
@@ -1241,8 +1199,6 @@ gtk_style_context_add_class (GtkStyleContext *context,
  * @class_name: class name to remove
  *
  * Removes @class_name from @context.
- *
- * Since: 3.0
  **/
 void
 gtk_style_context_remove_class (GtkStyleContext *context,
@@ -1270,8 +1226,6 @@ gtk_style_context_remove_class (GtkStyleContext *context,
  * given class name.
  *
  * Returns: %TRUE if @context has @class_name defined
- *
- * Since: 3.0
  **/
 gboolean
 gtk_style_context_has_class (GtkStyleContext *context,
@@ -1300,8 +1254,6 @@ gtk_style_context_has_class (GtkStyleContext *context,
  *          strings with the currently defined classes. The contents
  *          of the list are owned by GTK+, but you must free the list
  *          itself with g_list_free() when you are done with it.
- *
- * Since: 3.0
  **/
 GList *
 gtk_style_context_list_classes (GtkStyleContext *context)
@@ -1342,8 +1294,6 @@ _gtk_style_context_peek_property (GtkStyleContext *context,
  * If you are using a #GtkStyleContext returned from
  * gtk_widget_get_style_context(), you do not need to
  * call this yourself.
- *
- * Since: 3.94
  **/
 void
 gtk_style_context_set_display (GtkStyleContext *context,
@@ -1382,8 +1332,6 @@ gtk_style_context_set_display (GtkStyleContext *context,
  * Returns the #GdkDisplay to which @context is attached.
  *
  * Returns: (transfer none): a #GdkDisplay.
- *
- * Since: 3.94
  **/
 GdkDisplay *
 gtk_style_context_get_display (GtkStyleContext *context)
@@ -1407,8 +1355,6 @@ gtk_style_context_get_display (GtkStyleContext *context)
  * If you are using a #GtkStyleContext returned from
  * gtk_widget_get_style_context(), you do not need to
  * call this yourself.
- *
- * Since: 3.8
  **/
 void
 gtk_style_context_set_frame_clock (GtkStyleContext *context,
@@ -1431,8 +1377,6 @@ gtk_style_context_set_frame_clock (GtkStyleContext *context,
  *
  * Returns: (nullable) (transfer none): a #GdkFrameClock, or %NULL
  *  if @context does not have an attached frame clock.
- *
- * Since: 3.8
  **/
 GdkFrameClock *
 gtk_style_context_get_frame_clock (GtkStyleContext *context)
@@ -1530,8 +1474,6 @@ gtk_style_context_validate (GtkStyleContext  *context,
  *
  * See gtk_style_context_get_property() and
  * #GTK_STYLE_PROPERTY_COLOR for details.
- *
- * Since: 3.0
  **/
 void
 gtk_style_context_get_color (GtkStyleContext *context,
@@ -1566,8 +1508,6 @@ gtk_style_context_get_color (GtkStyleContext *context,
  * achieve this result is to use gtk_render_background() instead, along with CSS
  * style classes to modify the color to be rendered.
  *
- * Since: 3.0
- *
  * Deprecated: 3.16: Use gtk_render_background() instead.
  **/
 void
@@ -1594,8 +1534,6 @@ gtk_style_context_get_background_color (GtkStyleContext *context,
  *
  * Gets the border color for a given state.
  *
- * Since: 3.0
- *
  * Deprecated: 3.16: Use gtk_render_frame() instead.
  **/
 void
@@ -1624,8 +1562,6 @@ gtk_style_context_get_border_color (GtkStyleContext *context,
  *
  * See gtk_style_context_get_property() and
  * #GTK_STYLE_PROPERTY_BORDER_WIDTH for details.
- *
- * Since: 3.0
  **/
 void
 gtk_style_context_get_border (GtkStyleContext *context,
@@ -1658,8 +1594,6 @@ gtk_style_context_get_border (GtkStyleContext *context,
  * Gets the padding for a given state as a #GtkBorder.
  * See gtk_style_context_get() and #GTK_STYLE_PROPERTY_PADDING
  * for details.
- *
- * Since: 3.0
  **/
 void
 gtk_style_context_get_padding (GtkStyleContext *context,
@@ -1692,8 +1626,6 @@ gtk_style_context_get_padding (GtkStyleContext *context,
  * Gets the margin for a given state as a #GtkBorder.
  * See gtk_style_property_get() and #GTK_STYLE_PROPERTY_MARGIN
  * for details.
- *
- * Since: 3.0
  **/
 void
 gtk_style_context_get_margin (GtkStyleContext *context,
@@ -1879,8 +1811,6 @@ snapshot_insertion_cursor (GtkSnapshot     *snapshot,
  * @direction: the #PangoDirection of the text
  *
  * Draws a text caret on @cr at the specified index of @layout.
- *
- * Since: 3.4
  **/
 void
 gtk_render_insertion_cursor (GtkStyleContext *context,
@@ -1964,8 +1894,6 @@ gtk_render_insertion_cursor (GtkStyleContext *context,
  * @direction: the #PangoDirection of the text
  *
  * Draws a text caret using @snapshot at the specified index of @layout.
- *
- * Since: 3.90
  **/
 void
 gtk_snapshot_render_insertion_cursor (GtkSnapshot     *snapshot,
@@ -2176,8 +2104,6 @@ G_GNUC_END_IGNORE_DEPRECATIONS
  * the format of the returned string, it may change.
  *
  * Returns: a newly allocated string representing @context
- *
- * Since: 3.20
  */
 char *
 gtk_style_context_to_string (GtkStyleContext           *context,
diff --git a/gtk/gtkstylecontext.h b/gtk/gtkstylecontext.h
index 0b58d5e..bfe5130 100644
--- a/gtk/gtkstylecontext.h
+++ b/gtk/gtkstylecontext.h
@@ -178,8 +178,6 @@ struct _GtkStyleContextClass
  * A CSS class to match labels.
  *
  * Refer to individual widget documentation for used style classes.
- *
- * Since: 3.16
  */
 #define GTK_STYLE_CLASS_LABEL "label"
 
@@ -261,8 +259,6 @@ struct _GtkStyleContextClass
  * A CSS class that gets added to windows which have client-side decorations.
  *
  * Refer to individual widget documentation for used style classes.
- *
- * Since: 3.14
  */
 #define GTK_STYLE_CLASS_CSD "csd"
 
@@ -300,8 +296,6 @@ struct _GtkStyleContextClass
  * and text views.
  *
  * Refer to individual widget documentation for used style classes.
- *
- * Since: 3.16
  */
 #define GTK_STYLE_CLASS_TOUCH_SELECTION "touch-selection"
 
@@ -356,8 +350,6 @@ struct _GtkStyleContextClass
  * A CSS class to match statusbars.
  *
  * Refer to individual widget documentation for used style classes.
- *
- * Since: 3.16
  */
 #define GTK_STYLE_CLASS_STATUSBAR "statusbar"
 
@@ -792,8 +784,6 @@ struct _GtkStyleContextClass
  * a toplevel window.
  *
  * Refer to individual widget documentation for used style classes.
- *
- * Since: 3.14
  */
 #define GTK_STYLE_CLASS_TITLE "title"
 
@@ -804,8 +794,6 @@ struct _GtkStyleContextClass
  * a toplevel window.
  *
  * Refer to individual widget documentation for used style classes.
- *
- * Since: 3.14
  */
 #define GTK_STYLE_CLASS_SUBTITLE "subtitle"
 
@@ -817,8 +805,6 @@ struct _GtkStyleContextClass
  * a hidden page that changed state.
  *
  * Refer to individual widget documentation for used style classes.
- *
- * Since: 3.12
  */
 #define GTK_STYLE_CLASS_NEEDS_ATTENTION "needs-attention"
 
@@ -829,8 +815,6 @@ struct _GtkStyleContextClass
  * primary suggested action in a specific context.
  *
  * Refer to individual widget documentation for used style classes.
- *
- * Since: 3.12
  */
 #define GTK_STYLE_CLASS_SUGGESTED_ACTION "suggested-action"
 
@@ -842,8 +826,6 @@ struct _GtkStyleContextClass
  * to the user.
  *
  * Refer to individual widget documentation for used style classes.
- *
- * Since: 3.12
  */
 #define GTK_STYLE_CLASS_DESTRUCTIVE_ACTION "destructive-action"
 
@@ -853,8 +835,6 @@ struct _GtkStyleContextClass
  * A CSS class that matches popovers.
  *
  * Refer to individual widget documentation for used style classes.
- *
- * Since: 3.14
  */
 #define GTK_STYLE_CLASS_POPOVER "popover"
 
@@ -866,8 +846,6 @@ struct _GtkStyleContextClass
  * A CSS class that is added to the toplevel windows used for menus.
  *
  * Refer to individual widget documentation for used style classes.
- *
- * Since: 3.14
  */
 #define GTK_STYLE_CLASS_POPUP "popup"
 
@@ -877,8 +855,6 @@ struct _GtkStyleContextClass
  * A CSS class that is added to message dialogs.
  *
  * Refer to individual widget documentation for used style classes.
- *
- * Since: 3.14
  */
 #define GTK_STYLE_CLASS_MESSAGE_DIALOG "message-dialog"
 
@@ -890,8 +866,6 @@ struct _GtkStyleContextClass
  * without it.
  *
  * Refer to individual widget documentation for used style classes.
- *
- * Since: 3.14
  */
 #define GTK_STYLE_CLASS_FLAT "flat"
 
@@ -912,8 +886,6 @@ struct _GtkStyleContextClass
  * area.
  *
  * Refer to individual widget documentation for used style classes.
- *
- * Since: 3.14
  */
 #define GTK_STYLE_CLASS_OVERSHOOT "overshoot"
 
@@ -925,8 +897,6 @@ struct _GtkStyleContextClass
  * by scrolling.
  *
  * Refer to individual widget documentation for used style classes.
- *
- * Since: 3.16
  */
 #define GTK_STYLE_CLASS_UNDERSHOOT "undershoot"
 
@@ -939,8 +909,6 @@ struct _GtkStyleContextClass
  * style it as black text on white background.
  *
  * Refer to individual widget documentation for used style classes.
- *
- * Since: 3.16
  */
 #define GTK_STYLE_CLASS_PAPER "paper"
 
@@ -951,8 +919,6 @@ struct _GtkStyleContextClass
  * a monospace font.
  *
  * Refer to individual widget documentation for used style classes.
- *
- * Since: 3.16
  */
 #define GTK_STYLE_CLASS_MONOSPACE "monospace"
 
@@ -963,8 +929,6 @@ struct _GtkStyleContextClass
  * Used by #GtkPaned.
  *
  * Refer to individual widget documentation for used style classes.
- *
- * Since: 3.16
  */
 #define GTK_STYLE_CLASS_WIDE "wide"
 
@@ -974,11 +938,11 @@ GType gtk_style_context_get_type (void) G_GNUC_CONST;
 GDK_AVAILABLE_IN_ALL
 GtkStyleContext * gtk_style_context_new (void);
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void gtk_style_context_add_provider_for_display    (GdkDisplay       *display,
                                                     GtkStyleProvider *provider,
                                                     guint             priority);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void gtk_style_context_remove_provider_for_display (GdkDisplay       *display,
                                                     GtkStyleProvider *provider);
 
@@ -1018,10 +982,10 @@ void          gtk_style_context_set_state    (GtkStyleContext *context,
 GDK_AVAILABLE_IN_ALL
 GtkStateFlags gtk_style_context_get_state    (GtkStyleContext *context);
 
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void          gtk_style_context_set_scale    (GtkStyleContext *context,
                                               gint             scale);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 gint          gtk_style_context_get_scale    (GtkStyleContext *context);
 
 GDK_AVAILABLE_IN_ALL
@@ -1029,7 +993,7 @@ void          gtk_style_context_set_path     (GtkStyleContext *context,
                                               GtkWidgetPath   *path);
 GDK_AVAILABLE_IN_ALL
 const GtkWidgetPath * gtk_style_context_get_path (GtkStyleContext *context);
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 void          gtk_style_context_set_parent   (GtkStyleContext *context,
                                               GtkStyleContext *parent);
 GDK_AVAILABLE_IN_ALL
@@ -1054,10 +1018,10 @@ void        gtk_style_context_set_display (GtkStyleContext *context,
 GDK_AVAILABLE_IN_ALL
 GdkDisplay *gtk_style_context_get_display (GtkStyleContext *context);
 
-GDK_AVAILABLE_IN_3_8
+GDK_AVAILABLE_IN_ALL
 void           gtk_style_context_set_frame_clock (GtkStyleContext *context,
                                                   GdkFrameClock   *frame_clock);
-GDK_AVAILABLE_IN_3_8
+GDK_AVAILABLE_IN_ALL
 GdkFrameClock *gtk_style_context_get_frame_clock (GtkStyleContext *context);
 
 GDK_AVAILABLE_IN_ALL
@@ -1069,10 +1033,10 @@ gboolean gtk_style_context_lookup_color (GtkStyleContext *context,
 GDK_AVAILABLE_IN_ALL
 void gtk_style_context_get_color            (GtkStyleContext *context,
                                              GdkRGBA         *color);
-GDK_DEPRECATED_IN_3_16_FOR(gtk_render_background)
+GDK_DEPRECATED_FOR(gtk_render_background)
 void gtk_style_context_get_background_color (GtkStyleContext *context,
                                              GdkRGBA         *color);
-GDK_DEPRECATED_IN_3_16_FOR(gtk_render_frame)
+GDK_DEPRECATED_FOR(gtk_render_frame)
 void gtk_style_context_get_border_color     (GtkStyleContext *context,
                                              GdkRGBA         *color);
 
@@ -1089,7 +1053,7 @@ void gtk_style_context_get_margin           (GtkStyleContext *context,
 GDK_AVAILABLE_IN_ALL
 void gtk_style_context_reset_widgets        (GdkDisplay      *display);
 
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 void        gtk_render_insertion_cursor
                                    (GtkStyleContext     *context,
                                     cairo_t             *cr,
@@ -1105,7 +1069,7 @@ typedef enum {
   GTK_STYLE_CONTEXT_PRINT_SHOW_STYLE   = 1 << 1
 } GtkStyleContextPrintFlags;
 
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 char * gtk_style_context_to_string (GtkStyleContext           *context,
                                     GtkStyleContextPrintFlags  flags);
 
diff --git a/gtk/gtkswitch.c b/gtk/gtkswitch.c
index a4d7d38..b25ffc9 100644
--- a/gtk/gtkswitch.c
+++ b/gtk/gtkswitch.c
@@ -533,8 +533,6 @@ gtk_switch_class_init (GtkSwitchClass *klass)
    *
    * The backend state that is controlled by the switch. 
    * See #GtkSwitch::state-set for details.
-   *
-   * Since: 3.14
    */
   switch_props[PROP_STATE] =
     g_param_spec_boolean ("state",
@@ -595,8 +593,6 @@ gtk_switch_class_init (GtkSwitchClass *klass)
    * position of the switch.
    *
    * Returns: %TRUE to stop the signal emission
-   *
-   * Since: 3.14
    */
   signals[STATE_SET] =
     g_signal_new (I_("state-set"),
@@ -672,8 +668,6 @@ gtk_switch_init (GtkSwitch *self)
  * Creates a new #GtkSwitch widget.
  *
  * Returns: the newly created #GtkSwitch instance
- *
- * Since: 3.0
  */
 GtkWidget *
 gtk_switch_new (void)
@@ -687,8 +681,6 @@ gtk_switch_new (void)
  * @is_active: %TRUE if @sw should be active, and %FALSE otherwise
  *
  * Changes the state of @sw to the desired one.
- *
- * Since: 3.0
  */
 void
 gtk_switch_set_active (GtkSwitch *sw,
@@ -732,8 +724,6 @@ gtk_switch_set_active (GtkSwitch *sw,
  * Gets whether the #GtkSwitch is in its “on” or “off” state.
  *
  * Returns: %TRUE if the #GtkSwitch is active, and %FALSE otherwise
- *
- * Since: 3.0
  */
 gboolean
 gtk_switch_get_active (GtkSwitch *sw)
@@ -757,8 +747,6 @@ gtk_switch_get_active (GtkSwitch *sw)
  * called from a #GtkSwitch::state-set signal handler.
  *
  * See #GtkSwitch::state-set for details.
- *
- * Since: 3.14
  */
 void
 gtk_switch_set_state (GtkSwitch *sw,
@@ -795,8 +783,6 @@ gtk_switch_set_state (GtkSwitch *sw,
  * Gets the underlying state of the #GtkSwitch.
  *
  * Returns: the underlying state
- *
- * Since: 3.14
  */
 gboolean
 gtk_switch_get_state (GtkSwitch *sw)
diff --git a/gtk/gtkswitch.h b/gtk/gtkswitch.h
index da19795..f525364 100644
--- a/gtk/gtkswitch.h
+++ b/gtk/gtkswitch.h
@@ -92,10 +92,10 @@ void            gtk_switch_set_active   (GtkSwitch *sw,
 GDK_AVAILABLE_IN_ALL
 gboolean        gtk_switch_get_active   (GtkSwitch *sw);
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 void            gtk_switch_set_state   (GtkSwitch *sw,
                                         gboolean   state);
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 gboolean        gtk_switch_get_state   (GtkSwitch *sw);
 
 G_END_DECLS
diff --git a/gtk/gtktestutils.c b/gtk/gtktestutils.c
index 1a35d2e..43293c9 100644
--- a/gtk/gtktestutils.c
+++ b/gtk/gtktestutils.c
@@ -70,8 +70,6 @@
  *
  * Like gtk_init() and g_test_init(), any known arguments will be
  * processed and stripped from @argc and @argv.
- *
- * Since: 2.14
  **/
 void
 gtk_test_init (int    *argcp,
@@ -126,8 +124,6 @@ quit_main_loop_callback (GtkWidget     *widget,
  * This function is intended to be used for syncing with actions that
  * depend on @widget relayouting or on interaction with the display
  * server.
- *
- * Since: 3.10
  **/
 void
 gtk_test_widget_wait_for_draw (GtkWidget *widget)
@@ -158,8 +154,6 @@ static guint  n_all_registered_types = 0;
  *
  * Returns: (array length=n_types zero-terminated=1) (transfer none):
  *    0-terminated array of type ids
- *
- * Since: 2.14
  */
 const GType*
 gtk_test_list_all_types (guint *n_types)
@@ -175,8 +169,6 @@ gtk_test_list_all_types (guint *n_types)
  * Force registration of all core Gtk+ and Gdk object types.
  * This allowes to refer to any of those object types via
  * g_type_from_name() after calling this function.
- *
- * Since: 2.14
  **/
 void
 gtk_test_register_all_types (void)
diff --git a/gtk/gtktestutils.h b/gtk/gtktestutils.h
index a64e2db..1ea7c0a 100644
--- a/gtk/gtktestutils.h
+++ b/gtk/gtktestutils.h
@@ -37,7 +37,7 @@ GDK_AVAILABLE_IN_ALL
 void            gtk_test_register_all_types     (void);
 GDK_AVAILABLE_IN_ALL
 const GType*    gtk_test_list_all_types         (guint          *n_types);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void            gtk_test_widget_wait_for_draw   (GtkWidget      *widget);
 
 G_END_DECLS
diff --git a/gtk/gtktextbuffer.c b/gtk/gtktextbuffer.c
index 5e60188..e6c1a6c 100644
--- a/gtk/gtktextbuffer.c
+++ b/gtk/gtktextbuffer.c
@@ -419,8 +419,6 @@ gtk_text_buffer_class_init (GtkTextBufferClass *klass)
    *
    * The text content of the buffer. Without child widgets and images,
    * see gtk_text_buffer_get_text() for more information.
-   *
-   * Since: 2.8
    */
   text_buffer_props[PROP_TEXT] =
       g_param_spec_string ("text",
@@ -433,8 +431,6 @@ gtk_text_buffer_class_init (GtkTextBufferClass *klass)
    * GtkTextBuffer:has-selection:
    *
    * Whether the buffer has some text currently selected.
-   *
-   * Since: 2.10
    */
   text_buffer_props[PROP_HAS_SELECTION] =
       g_param_spec_boolean ("has-selection",
@@ -449,8 +445,6 @@ gtk_text_buffer_class_init (GtkTextBufferClass *klass)
    * The position of the insert mark (as offset from the beginning
    * of the buffer). It is useful for getting notified when the
    * cursor moves.
-   *
-   * Since: 2.10
    */
   text_buffer_props[PROP_CURSOR_POSITION] =
       g_param_spec_int ("cursor-position",
@@ -465,8 +459,6 @@ gtk_text_buffer_class_init (GtkTextBufferClass *klass)
    *
    * The list of targets this buffer supports for clipboard copying
    * and as DND source.
-   *
-   * Since: 2.10
    */
   text_buffer_props[PROP_COPY_TARGET_LIST] =
       g_param_spec_boxed ("copy-target-list",
@@ -480,8 +472,6 @@ gtk_text_buffer_class_init (GtkTextBufferClass *klass)
    *
    * The list of targets this buffer supports for clipboard pasting
    * and as DND destination.
-   *
-   * Since: 2.10
    */
   text_buffer_props[PROP_PASTE_TARGET_LIST] =
       g_param_spec_boxed ("paste-target-list",
@@ -838,8 +828,6 @@ gtk_text_buffer_class_init (GtkTextBufferClass *klass)
    * The paste-done signal is emitted after paste operation has been completed.
    * This is useful to properly scroll the view to the end of the pasted text.
    * See gtk_text_buffer_paste_clipboard() for more details.
-   * 
-   * Since: 2.16
    */ 
   signals[PASTE_DONE] =
     g_signal_new (I_("paste-done"),
@@ -2338,8 +2326,6 @@ gtk_text_buffer_create_mark (GtkTextBuffer     *buffer,
  *
  * Emits the #GtkTextBuffer::mark-set signal as notification of the mark's
  * initial placement.
- *
- * Since: 2.12
  **/
 void
 gtk_text_buffer_add_mark (GtkTextBuffer     *buffer,
@@ -2628,8 +2614,6 @@ gtk_text_buffer_place_cursor (GtkTextBuffer     *buffer,
  * inefficient since the temporarily-selected region will force stuff
  * to be recalculated. This function moves them as a unit, which can
  * be optimized.
- *
- * Since: 2.4
  **/
 void
 gtk_text_buffer_select_range (GtkTextBuffer     *buffer,
@@ -3314,8 +3298,6 @@ gtk_text_buffer_set_modified (GtkTextBuffer *buffer,
  * Indicates whether the buffer has some text currently selected.
  * 
  * Returns: %TRUE if the there is text selected
- *
- * Since: 2.10
  **/
 gboolean
 gtk_text_buffer_get_has_selection (GtkTextBuffer *buffer)
@@ -3821,8 +3803,6 @@ gtk_text_buffer_delete_selection (GtkTextBuffer *buffer,
  * re-initialized to point to the location where text was deleted. 
  *
  * Returns: %TRUE if the buffer was modified
- *
- * Since: 2.6
  **/
 gboolean
 gtk_text_buffer_backspace (GtkTextBuffer *buffer,
@@ -4722,8 +4702,6 @@ gtk_text_buffer_insert_with_attributes (GtkTextBuffer *buffer,
  * #GtkTextBuffer::insert-text signal, possibly multiple times; insertion
  * actually occurs in the default handler for the signal. @iter will point
  * to the end of the inserted text on return.
- *
- * Since: 3.16
  */
 void
 gtk_text_buffer_insert_markup (GtkTextBuffer *buffer,
diff --git a/gtk/gtktextbuffer.h b/gtk/gtktextbuffer.h
index 2181c5e..51668cb 100644
--- a/gtk/gtktextbuffer.h
+++ b/gtk/gtktextbuffer.h
@@ -230,7 +230,7 @@ void    gtk_text_buffer_insert_with_tags_by_name  (GtkTextBuffer     *buffer,
                                                    const gchar       *first_tag_name,
                                                    ...) G_GNUC_NULL_TERMINATED;
 
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 void     gtk_text_buffer_insert_markup            (GtkTextBuffer     *buffer,
                                                    GtkTextIter       *iter,
                                                    const gchar       *markup,
diff --git a/gtk/gtktextiter.c b/gtk/gtktextiter.c
index e7dd2c8..e16f3a5 100644
--- a/gtk/gtktextiter.c
+++ b/gtk/gtktextiter.c
@@ -452,8 +452,6 @@ gtk_text_iter_free (GtkTextIter *iter)
  * is not useful in applications, because iterators can be assigned
  * with `GtkTextIter i = j;`. The
  * function is used by language bindings.
- *
- * Since: 3.2
  **/
 void
 gtk_text_iter_assign (GtkTextIter       *iter,
@@ -1166,7 +1164,6 @@ gtk_text_iter_get_toggled_tags  (const GtkTextIter  *iter,
  * parameters.
  *
  * Returns: whether @iter is the start of a range tagged with @tag
- * Since: 3.20
  **/
 gboolean
 gtk_text_iter_starts_tag (const GtkTextIter *iter,
@@ -2710,8 +2707,6 @@ gtk_text_iter_backward_lines (GtkTextIter *iter, gint count)
  * already at the end of the buffer.
  *
  * Returns: whether @iter can be dereferenced
- * 
- * Since: 2.8
  **/
 gboolean
 gtk_text_iter_forward_visible_line (GtkTextIter *iter)
@@ -2750,8 +2745,6 @@ gtk_text_iter_forward_visible_line (GtkTextIter *iter)
  * every iteration, if your first iteration is on line 0.)
  *
  * Returns: whether @iter moved
- *
- * Since: 2.8
  **/
 gboolean
 gtk_text_iter_backward_visible_line (GtkTextIter *iter)
@@ -2791,8 +2784,6 @@ gtk_text_iter_backward_visible_line (GtkTextIter *iter)
  * moves backward by 0 - @count lines.
  *
  * Returns: whether @iter moved and is dereferenceable
- * 
- * Since: 2.8
  **/
 gboolean
 gtk_text_iter_forward_visible_lines (GtkTextIter *iter,
@@ -2831,8 +2822,6 @@ gtk_text_iter_forward_visible_lines (GtkTextIter *iter,
  * moves forward by 0 - @count lines.
  *
  * Returns: whether @iter moved and is dereferenceable
- *
- * Since: 2.8
  **/
 gboolean
 gtk_text_iter_backward_visible_lines (GtkTextIter *iter,
@@ -3297,8 +3286,6 @@ gtk_text_iter_backward_word_starts (GtkTextIter      *iter,
  * algorithms).
  * 
  * Returns: %TRUE if @iter moved and is not the end iterator 
- *
- * Since: 2.4
  **/
 gboolean
 gtk_text_iter_forward_visible_word_end (GtkTextIter *iter)
@@ -3317,8 +3304,6 @@ gtk_text_iter_forward_visible_word_end (GtkTextIter *iter)
  * algorithms).
  * 
  * Returns: %TRUE if @iter moved and is not the end iterator 
- * 
- * Since: 2.4
  **/
 gboolean
 gtk_text_iter_backward_visible_word_start (GtkTextIter      *iter)
@@ -3334,8 +3319,6 @@ gtk_text_iter_backward_visible_word_start (GtkTextIter      *iter)
  * Calls gtk_text_iter_forward_visible_word_end() up to @count times.
  *
  * Returns: %TRUE if @iter moved and is not the end iterator 
- *
- * Since: 2.4
  **/
 gboolean
 gtk_text_iter_forward_visible_word_ends (GtkTextIter *iter,
@@ -3354,8 +3337,6 @@ gtk_text_iter_forward_visible_word_ends (GtkTextIter *iter,
  * Calls gtk_text_iter_backward_visible_word_start() up to @count times.
  *
  * Returns: %TRUE if @iter moved and is not the end iterator 
- * 
- * Since: 2.4
  **/
 gboolean
 gtk_text_iter_backward_visible_word_starts (GtkTextIter *iter,
@@ -3691,8 +3672,6 @@ gtk_text_iter_backward_cursor_positions (GtkTextIter *iter,
  * gtk_text_iter_forward_cursor_position() for details.
  * 
  * Returns: %TRUE if we moved and the new position is dereferenceable
- * 
- * Since: 2.4
  **/
 gboolean
 gtk_text_iter_forward_visible_cursor_position (GtkTextIter *iter)
@@ -3708,8 +3687,6 @@ gtk_text_iter_forward_visible_cursor_position (GtkTextIter *iter)
  * gtk_text_iter_backward_cursor_position() for details.
  * 
  * Returns: %TRUE if we moved and the new position is dereferenceable
- * 
- * Since: 2.4
  **/
 gboolean
 gtk_text_iter_backward_visible_cursor_position (GtkTextIter *iter)
@@ -3726,8 +3703,6 @@ gtk_text_iter_backward_visible_cursor_position (GtkTextIter *iter)
  * gtk_text_iter_forward_cursor_position() for details.
  * 
  * Returns: %TRUE if we moved and the new position is dereferenceable
- * 
- * Since: 2.4
  **/
 gboolean
 gtk_text_iter_forward_visible_cursor_positions (GtkTextIter *iter,
@@ -3747,8 +3722,6 @@ gtk_text_iter_forward_visible_cursor_positions (GtkTextIter *iter,
  * gtk_text_iter_backward_cursor_position() for details.
  * 
  * Returns: %TRUE if we moved and the new position is dereferenceable
- * 
- * Since: 2.4
  **/
 gboolean
 gtk_text_iter_backward_visible_cursor_positions (GtkTextIter *iter,
diff --git a/gtk/gtktextiter.h b/gtk/gtktextiter.h
index dbc89d1..890244e 100644
--- a/gtk/gtktextiter.h
+++ b/gtk/gtktextiter.h
@@ -103,7 +103,7 @@ GDK_AVAILABLE_IN_ALL
 GtkTextIter *gtk_text_iter_copy     (const GtkTextIter *iter);
 GDK_AVAILABLE_IN_ALL
 void         gtk_text_iter_free     (GtkTextIter       *iter);
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 void         gtk_text_iter_assign   (GtkTextIter       *iter,
                                      const GtkTextIter *other);
 
@@ -169,7 +169,7 @@ GDK_AVAILABLE_IN_ALL
 GSList  *gtk_text_iter_get_toggled_tags  (const GtkTextIter  *iter,
                                           gboolean            toggled_on);
 
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 gboolean gtk_text_iter_starts_tag        (const GtkTextIter  *iter,
                                           GtkTextTag         *tag);
 
@@ -259,7 +259,7 @@ gboolean gtk_text_iter_forward_word_ends    (GtkTextIter *iter,
 GDK_AVAILABLE_IN_ALL
 gboolean gtk_text_iter_backward_word_starts (GtkTextIter *iter,
                                              gint         count);
-                                             
+
 GDK_AVAILABLE_IN_ALL
 gboolean gtk_text_iter_forward_visible_line   (GtkTextIter *iter);
 GDK_AVAILABLE_IN_ALL
diff --git a/gtk/gtktextmark.c b/gtk/gtktextmark.c
index 4e966ce..12c6e2d 100644
--- a/gtk/gtktextmark.c
+++ b/gtk/gtktextmark.c
@@ -255,8 +255,6 @@ gtk_text_mark_get_property (GObject    *object,
  * side of the text you’re typing).
  *
  * Returns: new #GtkTextMark
- *
- * Since: 2.12
  **/
 GtkTextMark *
 gtk_text_mark_new (const gchar *name,
diff --git a/gtk/gtktexttag.c b/gtk/gtktexttag.c
index d6c1a55..f357b3e 100644
--- a/gtk/gtktexttag.c
+++ b/gtk/gtktexttag.c
@@ -210,8 +210,6 @@ gtk_text_tag_class_init (GtkTextTagClass *klass)
    * GtkTextTag:background-rgba:
    *
    * Background color as a #GdkRGBA.
-   *
-   * Since: 3.2
    */
   g_object_class_install_property (object_class,
                                    PROP_BACKGROUND_RGBA,
@@ -241,8 +239,6 @@ gtk_text_tag_class_init (GtkTextTagClass *klass)
    * GtkTextTag:foreground-rgba:
    *
    * Foreground color as a #GdkRGBA.
-   *
-   * Since: 3.2
    */
   g_object_class_install_property (object_class,
                                    PROP_FOREGROUND_RGBA,
@@ -494,8 +490,6 @@ gtk_text_tag_class_init (GtkTextTagClass *klass)
    * If #GtkTextTag:underline is set to %PANGO_UNDERLINE_ERROR, an alternate
    * color may be applied instead of the foreground. Setting this property
    * will always override those defaults.
-   *
-   * Since: 3.16
    */
   g_object_class_install_property (object_class,
                                    PROP_UNDERLINE_RGBA,
@@ -510,8 +504,6 @@ gtk_text_tag_class_init (GtkTextTagClass *klass)
    *
    * This property modifies the color of strikeouts. If not set, strikeouts
    * will use the forground color.
-   *
-   * Since: 3.16
    */
   g_object_class_install_property (object_class,
                                    PROP_STRIKETHROUGH_RGBA,
@@ -547,8 +539,6 @@ gtk_text_tag_class_init (GtkTextTagClass *klass)
    * Note that there may still be problems with the support for invisible 
    * text, in particular when navigating programmatically inside a buffer
    * containing invisible segments. 
-   *
-   * Since: 2.8
    */
   g_object_class_install_property (object_class,
                                    PROP_INVISIBLE,
@@ -562,8 +552,6 @@ gtk_text_tag_class_init (GtkTextTagClass *klass)
    * GtkTextTag:paragraph-background:
    *
    * The paragraph background color as a string.
-   *
-   * Since: 2.8
    */
   g_object_class_install_property (object_class,
                                    PROP_PARAGRAPH_BACKGROUND,
@@ -577,8 +565,6 @@ gtk_text_tag_class_init (GtkTextTagClass *klass)
    * GtkTextTag:paragraph-background-rgba:
    *
    * The paragraph background color as a #GdkRGBA.
-   *
-   * Since: 3.2
    */
   g_object_class_install_property (object_class,
                                    PROP_PARAGRAPH_BACKGROUND_RGBA,
@@ -595,8 +581,6 @@ gtk_text_tag_class_init (GtkTextTagClass *klass)
    *
    * When set to %TRUE, other fonts will be substituted
    * where the current font is missing glyphs.
-   *
-   * Since: 3.16
    */
   g_object_class_install_property (object_class,
                                    PROP_FALLBACK,
@@ -610,8 +594,6 @@ gtk_text_tag_class_init (GtkTextTagClass *klass)
    * GtkTextTag:letter-spacing:
    *
    * Extra spacing between graphemes, in Pango units.
-   *
-   * Since: 3.16
    */
   g_object_class_install_property (object_class,
                                    PROP_LETTER_SPACING,
@@ -625,8 +607,6 @@ gtk_text_tag_class_init (GtkTextTagClass *klass)
    * GtkTextTag:font-features:
    *
    * OpenType font features, as a string.
-   *
-   * Since: 3.18
    */
   g_object_class_install_property (object_class,
                                    PROP_FONT_FEATURES,
@@ -644,8 +624,6 @@ gtk_text_tag_class_init (GtkTextTagClass *klass)
    * When set to %TRUE the margins of this tag are added to the margins 
    * of any other non-accumulative margins present. When set to %FALSE 
    * the margins override one another (the default).
-   *
-   * Since: 2.12
    */
   g_object_class_install_property (object_class,
                                    PROP_ACCUMULATIVE_MARGIN,
@@ -751,8 +729,6 @@ gtk_text_tag_class_init (GtkTextTagClass *klass)
    * GtkTextTag:underline-rgba-set:
    *
    * If the #GtkTextTag:underline-rgba property has been set.
-   *
-   * Since: 3.16
    */
   ADD_SET_PROP ("underline-rgba-set", PROP_UNDERLINE_RGBA_SET,
                 P_("Underline RGBA set"),
@@ -762,8 +738,6 @@ gtk_text_tag_class_init (GtkTextTagClass *klass)
    * GtkTextTag:strikethrough-rgba-set:
    *
    * If the #GtkTextTag:strikethrough-rgba property has been set.
-   *
-   * Since: 3.16
    */
   ADD_SET_PROP ("strikethrough-rgba-set", PROP_STRIKETHROUGH_RGBA_SET,
                 P_("Strikethrough RGBA set"),
@@ -2039,8 +2013,6 @@ gtk_text_tag_set_priority (GtkTextTag *tag,
  *
  * The signal is already emitted when setting a #GtkTextTag property. This
  * function is useful for a #GtkTextTag subclass.
- *
- * Since: 3.20
  */
 void
 gtk_text_tag_changed (GtkTextTag *tag,
diff --git a/gtk/gtktexttag.h b/gtk/gtktexttag.h
index b6daa7c..454cd93 100644
--- a/gtk/gtktexttag.h
+++ b/gtk/gtktexttag.h
@@ -102,7 +102,7 @@ gint         gtk_text_tag_get_priority (GtkTextTag        *tag);
 GDK_AVAILABLE_IN_ALL
 void         gtk_text_tag_set_priority (GtkTextTag        *tag,
                                         gint               priority);
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 void         gtk_text_tag_changed      (GtkTextTag        *tag,
                                         gboolean           size_changed);
 
diff --git a/gtk/gtktextview.c b/gtk/gtktextview.c
index 171467c..9e69647 100644
--- a/gtk/gtktextview.c
+++ b/gtk/gtktextview.c
@@ -857,8 +857,6 @@ gtk_text_view_class_init (GtkTextViewClass *klass)
    * to the padding from the theme.
    *
    * Don't confuse this property with #GtkWidget:margin-top.
-   *
-   * Since: 3.18
    */
   g_object_class_install_property (gobject_class,
                                    PROP_TOP_MARGIN,
@@ -878,8 +876,6 @@ gtk_text_view_class_init (GtkTextViewClass *klass)
    * to the padding from the theme.
    *
    * Don't confuse this property with #GtkWidget:margin-bottom.
-   *
-   * Since: 3.18
    */
   g_object_class_install_property (gobject_class,
                                    PROP_BOTTOM_MARGIN,
@@ -946,8 +942,6 @@ gtk_text_view_class_init (GtkTextViewClass *klass)
     * Setting this to a non-%NULL value overrides the
     * system-wide IM module setting. See the GtkSettings 
     * #GtkSettings:gtk-im-module property.
-    *
-    * Since: 2.16
     */
    g_object_class_install_property (gobject_class,
                                     PROP_IM_MODULE,
@@ -964,8 +958,6 @@ gtk_text_view_class_init (GtkTextViewClass *klass)
    *
    * This property can be used by on-screen keyboards and other input
    * methods to adjust their behaviour.
-   *
-   * Since: 3.6
    */
   g_object_class_install_property (gobject_class,
                                    PROP_INPUT_PURPOSE,
@@ -982,8 +974,6 @@ gtk_text_view_class_init (GtkTextViewClass *klass)
    *
    * Additional hints (beyond #GtkTextView:input-purpose) that
    * allow input methods to fine-tune their behaviour.
-   *
-   * Since: 3.6
    */
   g_object_class_install_property (gobject_class,
                                    PROP_INPUT_HINTS,
@@ -999,8 +989,6 @@ gtk_text_view_class_init (GtkTextViewClass *klass)
    *
    * If :populate-all is %TRUE, the #GtkTextView::populate-popup
    * signal is also emitted for touch popups.
-   *
-   * Since: 3.8
    */
   g_object_class_install_property (gobject_class,
                                    PROP_POPULATE_ALL,
@@ -1015,8 +1003,6 @@ gtk_text_view_class_init (GtkTextViewClass *klass)
    *
    * If %TRUE, set the %GTK_STYLE_CLASS_MONOSPACE style class on the
    * text view to indicate that a monospace font is desired.
-   *
-   * Since: 3.16
    */
   g_object_class_install_property (gobject_class,
                                    PROP_MONOSPACE,
@@ -1358,8 +1344,6 @@ gtk_text_view_class_init (GtkTextViewClass *klass)
    *
    * This signal is only emitted if the text at the given position
    * is actually editable.
-   *
-   * Since: 2.20
    */
   signals[PREEDIT_CHANGED] =
     g_signal_new_class_handler (I_("preedit-changed"),
@@ -1384,7 +1368,6 @@ gtk_text_view_class_init (GtkTextViewClass *klass)
    *
    * Returns: %GDK_EVENT_STOP to stop other handlers from being invoked for the
    *   event. %GDK_EVENT_PROPAGATE to propagate the event further.
-   * Since: 3.16
    */
   signals[EXTEND_SELECTION] =
     g_signal_new (I_("extend-selection"),
@@ -1408,8 +1391,6 @@ gtk_text_view_class_init (GtkTextViewClass *klass)
    * which gets emitted to present the Emoji chooser for the @text_view.
    *
    * The default bindings for this signal are Ctrl-. and Ctrl-;
-   *
-   * Since: 3.22.27
    */
   signals[INSERT_EMOJI] =
     g_signal_new (I_("insert-emoji"),
@@ -2024,8 +2005,6 @@ gtk_text_view_get_buffer (GtkTextView *text_view)
  * The rectangle position is in buffer coordinates; use
  * gtk_text_view_buffer_to_window_coords() to convert these
  * coordinates to coordinates for one of the windows in the text view.
- *
- * Since: 3.0
  **/
 void
 gtk_text_view_get_cursor_locations (GtkTextView       *text_view,
@@ -2103,8 +2082,6 @@ gtk_text_view_get_iter_at_location (GtkTextView *text_view,
  * characters.
  *
  * Returns: %TRUE if the position is over text
- *
- * Since: 2.6
  **/
 gboolean
 gtk_text_view_get_iter_at_position (GtkTextView *text_view,
@@ -3252,8 +3229,6 @@ gtk_text_view_get_right_margin (GtkTextView *text_view)
  *
  * Note that this function is confusingly named.
  * In CSS terms, the value set here is padding.
- *
- * Since: 3.18
  */
 void
 gtk_text_view_set_top_margin (GtkTextView *text_view,
@@ -3286,8 +3261,6 @@ gtk_text_view_set_top_margin (GtkTextView *text_view,
  * Gets the top margin for text in the @text_view.
  *
  * Returns: top margin in pixels
- *
- * Since: 3.18
  **/
 gint
 gtk_text_view_get_top_margin (GtkTextView *text_view)
@@ -3306,8 +3279,6 @@ gtk_text_view_get_top_margin (GtkTextView *text_view)
  *
  * Note that this function is confusingly named.
  * In CSS terms, the value set here is padding.
- *
- * Since: 3.18
  */
 void
 gtk_text_view_set_bottom_margin (GtkTextView *text_view,
@@ -3336,8 +3307,6 @@ gtk_text_view_set_bottom_margin (GtkTextView *text_view,
  * Gets the bottom margin for text in the @text_view.
  *
  * Returns: bottom margin in pixels
- *
- * Since: 3.18
  */
 gint
 gtk_text_view_get_bottom_margin (GtkTextView *text_view)
@@ -3528,8 +3497,6 @@ gtk_text_view_get_cursor_visible (GtkTextView *text_view)
  * This function should be called in response to user input
  * (e.g. from derived classes that override the textview's
  * #GtkWidget::key-press-event handler).
- *
- * Since: 3.20
  */
 void
 gtk_text_view_reset_cursor_blink (GtkTextView *text_view)
@@ -6857,8 +6824,6 @@ gtk_text_view_toggle_overwrite (GtkTextView *text_view)
  * Returns whether the #GtkTextView is in overwrite mode or not.
  *
  * Returns: whether @text_view is in overwrite mode or not.
- * 
- * Since: 2.4
  **/
 gboolean
 gtk_text_view_get_overwrite (GtkTextView *text_view)
@@ -6874,8 +6839,6 @@ gtk_text_view_get_overwrite (GtkTextView *text_view)
  * @overwrite: %TRUE to turn on overwrite mode, %FALSE to turn it off
  *
  * Changes the #GtkTextView overwrite mode.
- *
- * Since: 2.4
  **/
 void
 gtk_text_view_set_overwrite (GtkTextView *text_view,
@@ -6899,8 +6862,6 @@ gtk_text_view_set_overwrite (GtkTextView *text_view,
  * If @accepts_tab is %TRUE, a tab character is inserted. If @accepts_tab 
  * is %FALSE the keyboard focus is moved to the next widget in the focus 
  * chain.
- * 
- * Since: 2.4
  **/
 void
 gtk_text_view_set_accepts_tab (GtkTextView *text_view,
@@ -6927,8 +6888,6 @@ gtk_text_view_set_accepts_tab (GtkTextView *text_view,
  * 
  * Returns: %TRUE if pressing the Tab key inserts a tab character, 
  *   %FALSE if pressing the Tab key moves the keyboard focus.
- * 
- * Since: 2.4
  **/
 gboolean
 gtk_text_view_get_accepts_tab (GtkTextView *text_view)
@@ -7725,8 +7684,6 @@ gtk_text_view_destroy_layout (GtkTextView *text_view)
  *
  * This can be necessary in the case where modifying the buffer
  * would confuse on-going input method behavior.
- *
- * Since: 2.22
  */
 void
 gtk_text_view_reset_im_context (GtkTextView *text_view)
@@ -7777,8 +7734,6 @@ gtk_text_view_reset_im_context (GtkTextView *text_view)
  * ]|
  *
  * Returns: %TRUE if the input method handled the key event.
- *
- * Since: 2.22
  */
 gboolean
 gtk_text_view_im_context_filter_keypress (GtkTextView  *text_view,
@@ -10058,8 +10013,6 @@ gtk_text_view_move_visually (GtkTextView *text_view,
  * Sets the #GtkTextView:input-purpose property which
  * can be used by on-screen keyboards and other input
  * methods to adjust their behaviour.
- *
- * Since: 3.6
  */
 
 void
@@ -10084,10 +10037,7 @@ gtk_text_view_set_input_purpose (GtkTextView     *text_view,
  * @text_view: a #GtkTextView
  *
  * Gets the value of the #GtkTextView:input-purpose property.
- *
- * Since: 3.6
  */
-
 GtkInputPurpose
 gtk_text_view_get_input_purpose (GtkTextView *text_view)
 {
@@ -10109,8 +10059,6 @@ gtk_text_view_get_input_purpose (GtkTextView *text_view)
  *
  * Sets the #GtkTextView:input-hints property, which
  * allows input methods to fine-tune their behaviour.
- *
- * Since: 3.6
  */
 
 void
@@ -10135,10 +10083,7 @@ gtk_text_view_set_input_hints (GtkTextView   *text_view,
  * @text_view: a #GtkTextView
  *
  * Gets the value of the #GtkTextView:input-hints property.
- *
- * Since: 3.6
  */
-
 GtkInputHints
 gtk_text_view_get_input_hints (GtkTextView *text_view)
 {
@@ -10161,8 +10106,6 @@ gtk_text_view_get_input_hints (GtkTextView *text_view)
  * Sets the #GtkTextView:monospace property, which
  * indicates that the text view should use monospace
  * fonts.
- *
- * Since: 3.16
  */
 void
 gtk_text_view_set_monospace (GtkTextView *text_view,
@@ -10193,8 +10136,6 @@ gtk_text_view_set_monospace (GtkTextView *text_view,
  * Gets the value of the #GtkTextView:monospace property.
  *
  * Return: %TRUE if monospace fonts are desired
- *
- * Since: 3.16
  */
 gboolean
 gtk_text_view_get_monospace (GtkTextView *text_view)
diff --git a/gtk/gtktextview.h b/gtk/gtktextview.h
index 9881e4c..2fa4fe3 100644
--- a/gtk/gtktextview.h
+++ b/gtk/gtktextview.h
@@ -68,8 +68,8 @@ typedef enum
 
 /**
  * GtkTextViewLayer:
- * @GTK_TEXT_VIEW_LAYER_BELOW_TEXT: The layer rendered below the text (but above the background).  Since: 
3.20
- * @GTK_TEXT_VIEW_LAYER_ABOVE_TEXT: The layer rendered above the text.  Since: 3.20
+ * @GTK_TEXT_VIEW_LAYER_BELOW_TEXT: The layer rendered below the text (but above the background).
+ * @GTK_TEXT_VIEW_LAYER_ABOVE_TEXT: The layer rendered above the text.
  *
  * Used to reference the layers of #GtkTextView for the purpose of customized
  * drawing with the ::draw_layer vfunc.
@@ -89,8 +89,6 @@ typedef enum
  *
  * Granularity types that extend the text selection. Use the
  * #GtkTextView::extend-selection signal to customize the selection.
- *
- * Since: 3.16
  */
 typedef enum
 {
@@ -144,16 +142,15 @@ struct _GtkTextView
  *   keybinding signal.
  * @create_buffer: The create_buffer vfunc is called to create a #GtkTextBuffer
  *   for the text view. The default implementation is to just call
- *   gtk_text_buffer_new(). Since: 3.10
+ *   gtk_text_buffer_new().
  * @draw_layer: The draw_layer vfunc is called before and after the text
  *   view is drawing its own text. Applications can override this vfunc
  *   in a subclass to draw customized content underneath or above the
  *   text. In the %GTK_TEXT_VIEW_LAYER_BELOW_TEXT and %GTK_TEXT_VIEW_LAYER_ABOVE_TEXT
  *   the drawing is done in the buffer coordinate space, but the older (deprecated)
  *   layers %GTK_TEXT_VIEW_LAYER_BELOW and %GTK_TEXT_VIEW_LAYER_ABOVE work in viewport
- *   coordinates, which makes them unnecessarily hard to use. Since: 3.14
- * @extend_selection: The class handler for the #GtkTextView::extend-selection
- *   signal. Since 3.16
+ *   coordinates, which makes them unnecessarily hard to use.
+ * @extend_selection: The class handler for the #GtkTextView::extend-selection signal.
  */
 struct _GtkTextViewClass
 {
@@ -241,7 +238,7 @@ void           gtk_text_view_set_cursor_visible    (GtkTextView   *text_view,
 GDK_AVAILABLE_IN_ALL
 gboolean       gtk_text_view_get_cursor_visible    (GtkTextView   *text_view);
 
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 void           gtk_text_view_reset_cursor_blink    (GtkTextView   *text_view);
 
 GDK_AVAILABLE_IN_ALL
@@ -398,15 +395,15 @@ void             gtk_text_view_set_right_margin       (GtkTextView      *text_vi
                                                        gint              right_margin);
 GDK_AVAILABLE_IN_ALL
 gint             gtk_text_view_get_right_margin       (GtkTextView      *text_view);
-GDK_AVAILABLE_IN_3_18
+GDK_AVAILABLE_IN_ALL
 void             gtk_text_view_set_top_margin         (GtkTextView      *text_view,
                                                        gint              top_margin);
-GDK_AVAILABLE_IN_3_18
+GDK_AVAILABLE_IN_ALL
 gint             gtk_text_view_get_top_margin         (GtkTextView      *text_view);
-GDK_AVAILABLE_IN_3_18
+GDK_AVAILABLE_IN_ALL
 void             gtk_text_view_set_bottom_margin      (GtkTextView      *text_view,
                                                        gint              bottom_margin);
-GDK_AVAILABLE_IN_3_18
+GDK_AVAILABLE_IN_ALL
 gint             gtk_text_view_get_bottom_margin       (GtkTextView      *text_view);
 GDK_AVAILABLE_IN_ALL
 void             gtk_text_view_set_indent             (GtkTextView      *text_view,
@@ -419,22 +416,22 @@ void             gtk_text_view_set_tabs               (GtkTextView      *text_vi
 GDK_AVAILABLE_IN_ALL
 PangoTabArray*   gtk_text_view_get_tabs               (GtkTextView      *text_view);
 
-GDK_AVAILABLE_IN_3_6
+GDK_AVAILABLE_IN_ALL
 void             gtk_text_view_set_input_purpose      (GtkTextView      *text_view,
                                                        GtkInputPurpose   purpose);
-GDK_AVAILABLE_IN_3_6
+GDK_AVAILABLE_IN_ALL
 GtkInputPurpose  gtk_text_view_get_input_purpose      (GtkTextView      *text_view);
 
-GDK_AVAILABLE_IN_3_6
+GDK_AVAILABLE_IN_ALL
 void             gtk_text_view_set_input_hints        (GtkTextView      *text_view,
                                                        GtkInputHints     hints);
-GDK_AVAILABLE_IN_3_6
+GDK_AVAILABLE_IN_ALL
 GtkInputHints    gtk_text_view_get_input_hints        (GtkTextView      *text_view);
 
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 void             gtk_text_view_set_monospace          (GtkTextView      *text_view,
                                                        gboolean          monospace);
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 gboolean         gtk_text_view_get_monospace          (GtkTextView      *text_view);
 
 G_END_DECLS
diff --git a/gtk/gtktoggletoolbutton.c b/gtk/gtktoggletoolbutton.c
index 074d507..eed4321 100644
--- a/gtk/gtktoggletoolbutton.c
+++ b/gtk/gtktoggletoolbutton.c
@@ -106,8 +106,6 @@ gtk_toggle_tool_button_class_init (GtkToggleToolButtonClass *klass)
    * GtkToggleToolButton:active:
    *
    * If the toggle tool button should be pressed in.
-   *
-   * Since: 2.8
    */
   g_object_class_install_property (object_class,
                                    PROP_ACTIVE,
@@ -311,8 +309,6 @@ button_toggled (GtkWidget           *widget,
  * Returns a new #GtkToggleToolButton
  * 
  * Returns: a newly created #GtkToggleToolButton
- * 
- * Since: 2.4
  **/
 GtkToolItem *
 gtk_toggle_tool_button_new (void)
@@ -333,8 +329,6 @@ gtk_toggle_tool_button_new (void)
  * Sets the status of the toggle tool button. Set to %TRUE if you
  * want the GtkToggleButton to be “pressed in”, and %FALSE to raise it.
  * This action causes the toggled signal to be emitted.
- * 
- * Since: 2.4
  **/
 void
 gtk_toggle_tool_button_set_active (GtkToggleToolButton *button,
@@ -359,8 +353,6 @@ gtk_toggle_tool_button_set_active (GtkToggleToolButton *button,
  * Returns %TRUE if the toggle button is pressed in and %FALSE if it is raised.
  * 
  * Returns: %TRUE if the toggle tool button is pressed in, %FALSE if not
- * 
- * Since: 2.4
  **/
 gboolean
 gtk_toggle_tool_button_get_active (GtkToggleToolButton *button)
diff --git a/gtk/gtktoolbar.c b/gtk/gtktoolbar.c
index 262ab9f..5d923e8 100644
--- a/gtk/gtktoolbar.c
+++ b/gtk/gtktoolbar.c
@@ -1929,8 +1929,6 @@ logical_to_physical (GtkToolbar *toolbar,
  * hierarchy. When an item is set as drop highlight item it can not
  * added to any widget hierarchy or used as highlight item for another
  * toolbar.
- * 
- * Since: 2.4
  **/
 void
 gtk_toolbar_set_drop_highlight_item (GtkToolbar  *toolbar,
@@ -2371,8 +2369,6 @@ gtk_toolbar_new (void)
  * Insert a #GtkToolItem into the toolbar at position @pos. If @pos is
  * 0 the item is prepended to the start of the toolbar. If @pos is
  * negative, the item is appended to the end of the toolbar.
- *
- * Since: 2.4
  **/
 void
 gtk_toolbar_insert (GtkToolbar  *toolbar,
@@ -2399,8 +2395,6 @@ gtk_toolbar_insert (GtkToolbar  *toolbar,
  * It is an error if @item is not a child of the toolbar.
  * 
  * Returns: the position of item on the toolbar.
- * 
- * Since: 2.4
  **/
 gint
 gtk_toolbar_get_item_index (GtkToolbar  *toolbar,
@@ -2506,8 +2500,6 @@ gtk_toolbar_unset_style (GtkToolbar *toolbar)
  * Returns the number of items on the toolbar.
  * 
  * Returns: the number of items on the toolbar
- * 
- * Since: 2.4
  **/
 gint
 gtk_toolbar_get_n_items (GtkToolbar *toolbar)
@@ -2531,8 +2523,6 @@ gtk_toolbar_get_n_items (GtkToolbar *toolbar)
  *
  * Returns: (nullable) (transfer none): The @n'th #GtkToolItem on @toolbar,
  *     or %NULL if there isn’t an @n'th item.
- *
- * Since: 2.4
  **/
 GtkToolItem *
 gtk_toolbar_get_nth_item (GtkToolbar *toolbar,
@@ -2570,8 +2560,6 @@ gtk_toolbar_get_nth_item (GtkToolbar *toolbar,
  * or #GtkToolItem::create-menu-proxy, will be available in an overflow menu,
  * which can be opened by an added arrow button. If %FALSE, @toolbar will
  * request enough size to fit all of its child items without any overflow.
- * 
- * Since: 2.4
  **/
 void
 gtk_toolbar_set_show_arrow (GtkToolbar *toolbar,
@@ -2605,8 +2593,6 @@ gtk_toolbar_set_show_arrow (GtkToolbar *toolbar,
  * See gtk_toolbar_set_show_arrow().
  * 
  * Returns: %TRUE if the toolbar has an overflow menu.
- * 
- * Since: 2.4
  **/
 gboolean
 gtk_toolbar_get_show_arrow (GtkToolbar *toolbar)
@@ -2630,8 +2616,6 @@ gtk_toolbar_get_show_arrow (GtkToolbar *toolbar)
  * @x and @y are in @toolbar coordinates.
  * 
  * Returns: The position corresponding to the point (@x, @y) on the toolbar.
- * 
- * Since: 2.4
  **/
 gint
 gtk_toolbar_get_drop_index (GtkToolbar *toolbar,
diff --git a/gtk/gtktoolbutton.c b/gtk/gtktoolbutton.c
index 5f25715..bd317d6 100644
--- a/gtk/gtktoolbutton.c
+++ b/gtk/gtktoolbutton.c
@@ -233,8 +233,6 @@ gtk_tool_button_class_init (GtkToolButtonClass *klass)
    * The name of the themed icon displayed on the item.
    * This property only has an effect if not overridden by
    * #GtkToolButton:label-widget or #GtkToolButton:icon-widget
-   *
-   * Since: 2.8
    */
   g_object_class_install_property (object_class,
                                   PROP_ICON_NAME,
@@ -832,8 +830,6 @@ gtk_tool_button_toolbar_reconfigured (GtkToolItem *tool_item)
  * label.
  *
  * Returns: A new #GtkToolButton
- * 
- * Since: 2.4
  **/
 GtkToolItem *
 gtk_tool_button_new (GtkWidget  *icon_widget,
@@ -860,8 +856,6 @@ gtk_tool_button_new (GtkWidget       *icon_widget,
  * property only has an effect if not overridden by a non-%NULL 
  * #GtkToolButton:label-widget property. If both the #GtkToolButton:label-widget
  * and #GtkToolButton:label properties are %NULL, @button will not have a label.
- * 
- * Since: 2.4
  **/
 void
 gtk_tool_button_set_label (GtkToolButton *button,
@@ -900,8 +894,6 @@ gtk_tool_button_set_label (GtkToolButton *button,
  * string is owned by GTK+, and must not be modified or freed.
  *
  * Returns: (nullable) (transfer none): The label, or %NULL
- *
- * Since: 2.4
  **/
 const gchar *
 gtk_tool_button_get_label (GtkToolButton *button)
@@ -924,8 +916,6 @@ gtk_tool_button_get_label (GtkToolButton *button)
  * 
  * Labels shown on tool buttons never have mnemonics on them; this property
  * only affects the menu item on the overflow menu.
- * 
- * Since: 2.4
  **/
 void
 gtk_tool_button_set_use_underline (GtkToolButton *button,
@@ -953,8 +943,6 @@ gtk_tool_button_set_use_underline (GtkToolButton *button,
  * 
  * Returns: %TRUE if underscores in the label property are used as
  * mnemonics on menu items on the overflow menu.
- * 
- * Since: 2.4
  **/
 gboolean
 gtk_tool_button_get_use_underline (GtkToolButton *button)
@@ -974,8 +962,6 @@ gtk_tool_button_get_use_underline (GtkToolButton *button)
  * The #GtkToolButton:icon-name property only has an effect if not
  * overridden by non-%NULL #GtkToolButton:label-widget or
  * #GtkToolButton:icon-widget properties.
- * 
- * Since: 2.8
  **/
 void
 gtk_tool_button_set_icon_name (GtkToolButton *button,
@@ -1004,8 +990,6 @@ gtk_tool_button_set_icon_name (GtkToolButton *button,
  *
  * Returns: (nullable): the icon name or %NULL if the tool button has
  * no themed icon
- *
- * Since: 2.8
  **/
 const gchar*
 gtk_tool_button_get_icon_name (GtkToolButton *button)
@@ -1021,8 +1005,6 @@ gtk_tool_button_get_icon_name (GtkToolButton *button)
  * @icon_widget: (allow-none): the widget used as icon, or %NULL
  *
  * Sets @icon as the widget used as icon on @button.
- *
- * Since: 2.4
  **/
 void
 gtk_tool_button_set_icon_widget (GtkToolButton *button,
@@ -1063,8 +1045,6 @@ gtk_tool_button_set_icon_widget (GtkToolButton *button,
  * Sets @label_widget as the widget that will be used as the label
  * for @button. If @label_widget is %NULL the #GtkToolButton:label property is used
  * as label. If #GtkToolButton:label is also %NULL, @button does not have a label.
- *
- * Since: 2.4
  **/
 void
 gtk_tool_button_set_label_widget (GtkToolButton *button,
@@ -1106,8 +1086,6 @@ gtk_tool_button_set_label_widget (GtkToolButton *button,
  *
  * Returns: (nullable) (transfer none): The widget used as label
  *     on @button, or %NULL.
- *
- * Since: 2.4
  **/
 GtkWidget *
 gtk_tool_button_get_label_widget (GtkToolButton *button)
@@ -1126,8 +1104,6 @@ gtk_tool_button_get_label_widget (GtkToolButton *button)
  *
  * Returns: (nullable) (transfer none): The widget used as icon
  *     on @button, or %NULL.
- *
- * Since: 2.4
  **/
 GtkWidget *
 gtk_tool_button_get_icon_widget (GtkToolButton *button)
diff --git a/gtk/gtktoolitem.c b/gtk/gtktoolitem.c
index ad132a0..ab0f78b 100644
--- a/gtk/gtktoolitem.c
+++ b/gtk/gtktoolitem.c
@@ -318,8 +318,6 @@ _gtk_tool_item_create_menu_proxy (GtkToolItem *item)
  * Creates a new #GtkToolItem
  * 
  * Returns: the new #GtkToolItem
- * 
- * Since: 2.4
  **/
 GtkToolItem *
 gtk_tool_item_new (void)
@@ -341,8 +339,6 @@ gtk_tool_item_new (void)
  *
  * Returns: a #PangoEllipsizeMode indicating how text in @tool_item
  * should be ellipsized.
- *
- * Since: 2.20
  **/
 PangoEllipsizeMode
 gtk_tool_item_get_ellipsize_mode (GtkToolItem *tool_item)
@@ -368,8 +364,6 @@ gtk_tool_item_get_ellipsize_mode (GtkToolItem *tool_item)
  * 
  * Returns: a #GtkOrientation indicating the orientation
  * used for @tool_item
- * 
- * Since: 2.4
  **/
 GtkOrientation
 gtk_tool_item_get_orientation (GtkToolItem *tool_item)
@@ -404,8 +398,6 @@ gtk_tool_item_get_orientation (GtkToolItem *tool_item)
  * 
  * Returns: A #GtkToolbarStyle indicating the toolbar style used
  * for @tool_item.
- * 
- * Since: 2.4
  **/
 GtkToolbarStyle
 gtk_tool_item_get_toolbar_style (GtkToolItem *tool_item)
@@ -431,8 +423,6 @@ gtk_tool_item_get_toolbar_style (GtkToolItem *tool_item)
  * 
  * Returns: a #gfloat indicating the horizontal text alignment
  * used for @tool_item
- * 
- * Since: 2.20
  **/
 gfloat
 gtk_tool_item_get_text_alignment (GtkToolItem *tool_item)
@@ -458,8 +448,6 @@ gtk_tool_item_get_text_alignment (GtkToolItem *tool_item)
  *
  * Returns: a #GtkOrientation indicating the text orientation
  * used for @tool_item
- *
- * Since: 2.20
  */
 GtkOrientation
 gtk_tool_item_get_text_orientation (GtkToolItem *tool_item)
@@ -484,8 +472,6 @@ gtk_tool_item_get_text_orientation (GtkToolItem *tool_item)
  * and use the size group for labels.
  *
  * Returns: (transfer none): a #GtkSizeGroup
- *
- * Since: 2.20
  */
 GtkSizeGroup *
 gtk_tool_item_get_text_size_group (GtkToolItem *tool_item)
@@ -510,8 +496,6 @@ gtk_tool_item_get_text_size_group (GtkToolItem *tool_item)
  * is more room on the toolbar then needed for the items. The
  * effect is that the item gets bigger when the toolbar gets bigger
  * and smaller when the toolbar gets smaller.
- *
- * Since: 2.4
  */
 void
 gtk_tool_item_set_expand (GtkToolItem *tool_item,
@@ -537,8 +521,6 @@ gtk_tool_item_set_expand (GtkToolItem *tool_item,
  * See gtk_tool_item_set_expand().
  * 
  * Returns: %TRUE if @tool_item is allocated extra space.
- * 
- * Since: 2.4
  **/
 gboolean
 gtk_tool_item_get_expand (GtkToolItem *tool_item)
@@ -556,8 +538,6 @@ gtk_tool_item_get_expand (GtkToolItem *tool_item)
  * Sets whether @tool_item is to be allocated the same size as other
  * homogeneous items. The effect is that all homogeneous items will have
  * the same width as the widest of the items.
- * 
- * Since: 2.4
  **/
 void
 gtk_tool_item_set_homogeneous (GtkToolItem *tool_item,
@@ -584,8 +564,6 @@ gtk_tool_item_set_homogeneous (GtkToolItem *tool_item,
  * 
  * Returns: %TRUE if the item is the same size as other homogeneous
  * items.
- * 
- * Since: 2.4
  **/
 gboolean
 gtk_tool_item_get_homogeneous (GtkToolItem *tool_item)
@@ -603,8 +581,6 @@ gtk_tool_item_get_homogeneous (GtkToolItem *tool_item)
  * gtk_tool_item_set_is_important()
  * 
  * Returns: %TRUE if @tool_item is considered important.
- * 
- * Since: 2.4
  **/
 gboolean
 gtk_tool_item_get_is_important (GtkToolItem *tool_item)
@@ -624,8 +600,6 @@ gtk_tool_item_get_is_important (GtkToolItem *tool_item)
  * when the toolbar style is %GTK_TOOLBAR_BOTH_HORIZ. The result is that
  * only tool buttons with the “is_important” property set have labels, an
  * effect known as “priority text”
- * 
- * Since: 2.4
  **/
 void
 gtk_tool_item_set_is_important (GtkToolItem *tool_item, gboolean is_important)
@@ -651,8 +625,6 @@ gtk_tool_item_set_is_important (GtkToolItem *tool_item, gboolean is_important)
  *
  * Sets the text to be displayed as tooltip on the item.
  * See gtk_widget_set_tooltip_text().
- *
- * Since: 2.12
  **/
 void
 gtk_tool_item_set_tooltip_text (GtkToolItem *tool_item,
@@ -674,8 +646,6 @@ gtk_tool_item_set_tooltip_text (GtkToolItem *tool_item,
  *
  * Sets the markup text to be displayed as tooltip on the item.
  * See gtk_widget_set_tooltip_markup().
- *
- * Since: 2.12
  **/
 void
 gtk_tool_item_set_tooltip_markup (GtkToolItem *tool_item,
@@ -696,8 +666,6 @@ gtk_tool_item_set_tooltip_markup (GtkToolItem *tool_item,
  * @visible_horizontal: Whether @tool_item is visible when in horizontal mode
  * 
  * Sets whether @tool_item is visible when the toolbar is docked horizontally.
- * 
- * Since: 2.4
  **/
 void
 gtk_tool_item_set_visible_horizontal (GtkToolItem *toolitem,
@@ -726,8 +694,6 @@ gtk_tool_item_set_visible_horizontal (GtkToolItem *toolitem,
  * 
  * Returns: %TRUE if @tool_item is visible on toolbars that are
  * docked horizontally.
- * 
- * Since: 2.4
  **/
 gboolean
 gtk_tool_item_get_visible_horizontal (GtkToolItem *toolitem)
@@ -747,8 +713,6 @@ gtk_tool_item_get_visible_horizontal (GtkToolItem *toolitem)
  * vertically. Some tool items, such as text entries, are too wide to be
  * useful on a vertically docked toolbar. If @visible_vertical is %FALSE
  * @tool_item will not appear on toolbars that are docked vertically.
- * 
- * Since: 2.4
  **/
 void
 gtk_tool_item_set_visible_vertical (GtkToolItem *toolitem,
@@ -776,8 +740,6 @@ gtk_tool_item_set_visible_vertical (GtkToolItem *toolitem,
  * See gtk_tool_item_set_visible_vertical().
  * 
  * Returns: Whether @tool_item is visible when the toolbar is docked vertically
- * 
- * Since: 2.4
  **/
 gboolean
 gtk_tool_item_get_visible_vertical (GtkToolItem *toolitem)
@@ -797,8 +759,6 @@ gtk_tool_item_get_visible_vertical (GtkToolItem *toolitem)
  *
  * Returns: (transfer none): The #GtkMenuItem that is going to appear in the
  * overflow menu for @tool_item.
- *
- * Since: 2.4
  **/
 GtkWidget *
 gtk_tool_item_retrieve_proxy_menu_item (GtkToolItem *tool_item)
@@ -829,8 +789,6 @@ gtk_tool_item_retrieve_proxy_menu_item (GtkToolItem *tool_item)
  * Returns: (transfer none) (nullable): The #GtkMenuItem passed to
  *     gtk_tool_item_set_proxy_menu_item(), if the @menu_item_ids
  *     match.
- *
- * Since: 2.4
  **/
 GtkWidget *
 gtk_tool_item_get_proxy_menu_item (GtkToolItem *tool_item,
@@ -856,8 +814,6 @@ gtk_tool_item_get_proxy_menu_item (GtkToolItem *tool_item,
  *
  * The function must be called when the tool item changes what it
  * will do in response to the #GtkToolItem::create-menu-proxy signal.
- *
- * Since: 2.6
  */
 void
 gtk_tool_item_rebuild_menu (GtkToolItem *tool_item)
@@ -885,8 +841,6 @@ gtk_tool_item_rebuild_menu (GtkToolItem *tool_item)
  * should also be used with gtk_tool_item_get_proxy_menu_item().
  *
  * See also #GtkToolItem::create-menu-proxy.
- * 
- * Since: 2.4
  **/
 void
 gtk_tool_item_set_proxy_menu_item (GtkToolItem *tool_item,
@@ -925,8 +879,6 @@ gtk_tool_item_set_proxy_menu_item (GtkToolItem *tool_item,
  * Emits the signal #GtkToolItem::toolbar_reconfigured on @tool_item.
  * #GtkToolbar and other #GtkToolShell implementations use this function
  * to notify children, when some aspect of their configuration changes.
- *
- * Since: 2.14
  **/
 void
 gtk_tool_item_toolbar_reconfigured (GtkToolItem *tool_item)
diff --git a/gtk/gtktoolshell.c b/gtk/gtktoolshell.c
index caa75d1..ba1cf70 100644
--- a/gtk/gtktoolshell.c
+++ b/gtk/gtktoolshell.c
@@ -84,8 +84,6 @@ gtk_tool_shell_real_get_ellipsize_mode (GtkToolShell *shell)
  * instead.
  *
  * Returns: the current orientation of @shell
- *
- * Since: 2.14
  **/
 GtkOrientation
 gtk_tool_shell_get_orientation (GtkToolShell *shell)
@@ -102,8 +100,6 @@ gtk_tool_shell_get_orientation (GtkToolShell *shell)
  * instead.
  *
  * Returns: the current style of @shell
- *
- * Since: 2.14
  **/
 GtkToolbarStyle
 gtk_tool_shell_get_style (GtkToolShell *shell)
@@ -121,8 +117,6 @@ gtk_tool_shell_get_style (GtkToolShell *shell)
  *
  * Tool items must not call this function directly, but rely on
  * gtk_tool_item_rebuild_menu() instead.
- *
- * Since: 2.14
  **/
 void
 gtk_tool_shell_rebuild_menu (GtkToolShell *shell)
@@ -142,8 +136,6 @@ gtk_tool_shell_rebuild_menu (GtkToolShell *shell)
  * instead.
  *
  * Returns: the current text orientation of @shell
- *
- * Since: 2.20
  **/
 GtkOrientation
 gtk_tool_shell_get_text_orientation (GtkToolShell *shell)
@@ -162,8 +154,6 @@ gtk_tool_shell_get_text_orientation (GtkToolShell *shell)
  * instead.
  *
  * Returns: the current text alignment of @shell
- *
- * Since: 2.20
  **/
 gfloat
 gtk_tool_shell_get_text_alignment (GtkToolShell *shell)
@@ -182,8 +172,6 @@ gtk_tool_shell_get_text_alignment (GtkToolShell *shell)
  * instead.
  *
  * Returns: the current ellipsize mode of @shell
- *
- * Since: 2.20
  **/
 PangoEllipsizeMode
 gtk_tool_shell_get_ellipsize_mode (GtkToolShell *shell)
@@ -202,8 +190,6 @@ gtk_tool_shell_get_ellipsize_mode (GtkToolShell *shell)
  * instead.
  *
  * Returns: (transfer none): the current text size group of @shell
- *
- * Since: 2.20
  **/
 GtkSizeGroup *
 gtk_tool_shell_get_text_size_group (GtkToolShell *shell)
diff --git a/gtk/gtktooltip.c b/gtk/gtktooltip.c
index 80b340a..6d9c6e3 100644
--- a/gtk/gtktooltip.c
+++ b/gtk/gtktooltip.c
@@ -234,8 +234,6 @@ gtk_tooltip_dispose (GObject *object)
  * Sets the text of the tooltip to be @markup, which is marked up
  * with the [Pango text markup language][PangoMarkupFormat].
  * If @markup is %NULL, the label will be hidden.
- *
- * Since: 2.12
  */
 void
 gtk_tooltip_set_markup (GtkTooltip  *tooltip,
@@ -253,8 +251,6 @@ gtk_tooltip_set_markup (GtkTooltip  *tooltip,
  *
  * Sets the text of the tooltip to be @text. If @text is %NULL, the label
  * will be hidden. See also gtk_tooltip_set_markup().
- *
- * Since: 2.12
  */
 void
 gtk_tooltip_set_text (GtkTooltip  *tooltip,
@@ -272,8 +268,6 @@ gtk_tooltip_set_text (GtkTooltip  *tooltip,
  *
  * Sets the icon of the tooltip (which is in front of the text) to be
  * @texture.  If @texure is %NULL, the image will be hidden.
- *
- * Since: 3.94
  */
 void
 gtk_tooltip_set_icon (GtkTooltip *tooltip,
@@ -293,8 +287,6 @@ gtk_tooltip_set_icon (GtkTooltip *tooltip,
  * Sets the icon of the tooltip (which is in front of the text) to be
  * the icon indicated by @icon_name with the size indicated
  * by @size.  If @icon_name is %NULL, the image will be hidden.
- *
- * Since: 2.14
  */
 void
 gtk_tooltip_set_icon_from_icon_name (GtkTooltip  *tooltip,
@@ -314,8 +306,6 @@ gtk_tooltip_set_icon_from_icon_name (GtkTooltip  *tooltip,
  * Sets the icon of the tooltip (which is in front of the text)
  * to be the icon indicated by @gicon with the size indicated
  * by @size. If @gicon is %NULL, the image will be hidden.
- *
- * Since: 2.20
  */
 void
 gtk_tooltip_set_icon_from_gicon (GtkTooltip  *tooltip,
@@ -338,9 +328,6 @@ gtk_tooltip_set_icon_from_gicon (GtkTooltip  *tooltip,
  * By default a box with a #GtkImage and #GtkLabel is embedded in 
  * the tooltip, which can be configured using gtk_tooltip_set_markup() 
  * and gtk_tooltip_set_icon().
-
- *
- * Since: 2.12
  */
 void
 gtk_tooltip_set_custom (GtkTooltip *tooltip,
@@ -370,8 +357,6 @@ gtk_tooltip_set_custom (GtkTooltip *tooltip,
  * For setting tooltips on #GtkTreeView, please refer to the convenience
  * functions for this: gtk_tree_view_set_tooltip_row() and
  * gtk_tree_view_set_tooltip_cell().
- *
- * Since: 2.12
  */
 void
 gtk_tooltip_set_tip_area (GtkTooltip         *tooltip,
@@ -396,8 +381,6 @@ gtk_tooltip_set_tip_area (GtkTooltip         *tooltip,
  * visible tooltip, or to show/hide the current tooltip.  This function is
  * useful to call when, for example, the state of the widget changed by a
  * key press.
- *
- * Since: 2.12
  */
 void
 gtk_tooltip_trigger_tooltip_query (GdkDisplay *display)
diff --git a/gtk/gtktooltip.h b/gtk/gtktooltip.h
index 70091f8..1c826d5 100644
--- a/gtk/gtktooltip.h
+++ b/gtk/gtktooltip.h
@@ -41,7 +41,7 @@ void gtk_tooltip_set_markup              (GtkTooltip         *tooltip,
 GDK_AVAILABLE_IN_ALL
 void gtk_tooltip_set_text                (GtkTooltip         *tooltip,
                                           const gchar        *text);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void gtk_tooltip_set_icon                (GtkTooltip         *tooltip,
                                           GdkTexture         *texture);
 GDK_AVAILABLE_IN_ALL
diff --git a/gtk/gtktreemenu.c b/gtk/gtktreemenu.c
index 13b9fb4..16d5959 100644
--- a/gtk/gtktreemenu.c
+++ b/gtk/gtktreemenu.c
@@ -226,8 +226,6 @@ _gtk_tree_menu_class_init (GtkTreeMenuClass *class)
    * This signal is emitted to notify that a menu item in the #GtkTreeMenu
    * was activated and provides the path string from the #GtkTreeModel
    * to specify which row was selected.
-   *
-   * Since: 3.0
    */
   tree_menu_signals[SIGNAL_MENU_ACTIVATE] =
     g_signal_new (I_("menu-activate"),
@@ -242,8 +240,6 @@ _gtk_tree_menu_class_init (GtkTreeMenuClass *class)
    * GtkTreeMenu:model:
    *
    * The #GtkTreeModel from which the menu is constructed.
-   *
-   * Since: 3.0
    */
   g_object_class_install_property (object_class,
                                    PROP_MODEL,
@@ -265,8 +261,6 @@ _gtk_tree_menu_class_init (GtkTreeMenuClass *class)
    * If you dont provide a root for the #GtkTreeMenu then the whole
    * model will be added to the menu. Specifying a root allows you
    * to build a menu for a given #GtkTreePath and its children.
-   * 
-   * Since: 3.0
    */
   g_object_class_install_property (object_class,
                                    PROP_ROOT,
@@ -284,8 +278,6 @@ _gtk_tree_menu_class_init (GtkTreeMenuClass *class)
    *
    * You can provide a different cell area at object construction
    * time, otherwise the #GtkTreeMenu will use a #GtkCellAreaBox.
-   *
-   * Since: 3.0
    */
   g_object_class_install_property (object_class,
                                    PROP_CELL_AREA,
@@ -300,8 +292,6 @@ _gtk_tree_menu_class_init (GtkTreeMenuClass *class)
    *
    * If wrap-width is set to a positive value, items in the popup will be laid
    * out along multiple columns, starting a new row on reaching the wrap width.
-   *
-   * Since: 3.0
    */
   g_object_class_install_property (object_class,
                                    PROP_WRAP_WIDTH,
@@ -320,8 +310,6 @@ _gtk_tree_menu_class_init (GtkTreeMenuClass *class)
    * of type %G_TYPE_INT in the model. The value in that column for each item
    * will determine how many rows that item will span in the popup. Therefore,
    * values in this column must be greater than zero.
-   *
-   * Since: 3.0
    */
   g_object_class_install_property (object_class,
                                    PROP_ROW_SPAN_COL,
@@ -341,8 +329,6 @@ _gtk_tree_menu_class_init (GtkTreeMenuClass *class)
    * will determine how many columns that item will span in the popup.
    * Therefore, values in this column must be greater than zero, and the sum of
    * an item’s column position + span should not exceed #GtkTreeMenu:wrap-width.
-   *
-   * Since: 3.0
    */
   g_object_class_install_property (object_class,
                                    PROP_COL_SPAN_COL,
@@ -1396,8 +1382,6 @@ gtk_tree_menu_set_model_internal (GtkTreeMenu  *menu,
  * Creates a new #GtkTreeMenu.
  *
  * Returns: A newly created #GtkTreeMenu with no model or root.
- *
- * Since: 3.0
  */
 GtkWidget *
 _gtk_tree_menu_new (void)
@@ -1412,8 +1396,6 @@ _gtk_tree_menu_new (void)
  * Creates a new #GtkTreeMenu using @area to render its cells.
  *
  * Returns: A newly created #GtkTreeMenu with no model or root.
- *
- * Since: 3.0
  */
 GtkWidget *
 _gtk_tree_menu_new_with_area (GtkCellArea    *area)
@@ -1432,8 +1414,6 @@ _gtk_tree_menu_new_with_area (GtkCellArea    *area)
  * Creates a new #GtkTreeMenu hierarchy from the provided @model and @root using @area to render its cells.
  *
  * Returns: A newly created #GtkTreeMenu.
- *
- * Since: 3.0
  */
 GtkWidget *
 _gtk_tree_menu_new_full (GtkCellArea         *area,
@@ -1453,8 +1433,6 @@ _gtk_tree_menu_new_full (GtkCellArea         *area,
  * @model: (allow-none): the #GtkTreeModel to build the menu hierarchy from, or %NULL.
  *
  * Sets @model to be used to build the menu heirarhcy.
- *
- * Since: 3.0
  */
 void
 _gtk_tree_menu_set_model (GtkTreeMenu  *menu,
@@ -1476,8 +1454,6 @@ _gtk_tree_menu_set_model (GtkTreeMenu  *menu,
  *
  * Returns: (transfer none): the #GtkTreeModel which is used
  * for @menu’s hierarchy.
- *
- * Since: 3.0
  */
 GtkTreeModel *
 _gtk_tree_menu_get_model (GtkTreeMenu *menu)
@@ -1498,8 +1474,6 @@ _gtk_tree_menu_get_model (GtkTreeMenu *menu)
  *
  * Sets the root of a @menu’s hierarchy to be @path. @menu must already
  * have a model set and @path must point to a valid path inside the model.
- *
- * Since: 3.0
  */
 void
 _gtk_tree_menu_set_root (GtkTreeMenu *menu,
@@ -1532,8 +1506,6 @@ _gtk_tree_menu_set_root (GtkTreeMenu *menu,
  *
  * Returns: (transfer full) (allow-none): A newly created #GtkTreePath
  * pointing to the root of @menu which must be freed with gtk_tree_path_free().
- *
- * Since: 3.0
  */
 GtkTreePath *
 _gtk_tree_menu_get_root (GtkTreeMenu *menu)
@@ -1558,8 +1530,6 @@ _gtk_tree_menu_get_root (GtkTreeMenu *menu)
  * for @menu. If the wrap width is larger than 1, @menu is in table mode.
  *
  * Returns: the wrap width.
- *
- * Since: 3.0
  */
 gint
 _gtk_tree_menu_get_wrap_width (GtkTreeMenu *menu)
@@ -1580,8 +1550,6 @@ _gtk_tree_menu_get_wrap_width (GtkTreeMenu *menu)
  *
  * Sets the wrap width which is used to determine the number of columns
  * for @menu. If the wrap width is larger than 1, @menu is in table mode.
- *
- * Since: 3.0
  */
 void
 _gtk_tree_menu_set_wrap_width (GtkTreeMenu *menu,
@@ -1613,8 +1581,6 @@ _gtk_tree_menu_set_wrap_width (GtkTreeMenu *menu,
  * a menu item should span.
  *
  * Returns: the column in @menu’s model containing row span information, or -1.
- *
- * Since: 3.0
  */
 gint
 _gtk_tree_menu_get_row_span_column (GtkTreeMenu *menu)
@@ -1636,8 +1602,6 @@ _gtk_tree_menu_get_row_span_column (GtkTreeMenu *menu)
  * Sets the column with row span information for @menu to be @row_span.
  * The row span column contains integers which indicate how many rows
  * a menu item should span.
- *
- * Since: 3.0
  */
 void
 _gtk_tree_menu_set_row_span_column (GtkTreeMenu *menu,
@@ -1669,8 +1633,6 @@ _gtk_tree_menu_set_row_span_column (GtkTreeMenu *menu,
  * a menu item should span.
  *
  * Returns: the column in @menu’s model containing column span information, or -1.
- *
- * Since: 3.0
  */
 gint
 _gtk_tree_menu_get_column_span_column (GtkTreeMenu *menu)
@@ -1692,8 +1654,6 @@ _gtk_tree_menu_get_column_span_column (GtkTreeMenu *menu)
  * Sets the column with column span information for @menu to be @column_span.
  * The column span column contains integers which indicate how many columns
  * a menu item should span.
- *
- * Since: 3.0
  */
 void
 _gtk_tree_menu_set_column_span_column (GtkTreeMenu *menu,
@@ -1723,8 +1683,6 @@ _gtk_tree_menu_set_column_span_column (GtkTreeMenu *menu,
  * Gets the current #GtkTreeViewRowSeparatorFunc separator function.
  *
  * Returns: the current row separator function.
- *
- * Since: 3.0
  */
 GtkTreeViewRowSeparatorFunc
 _gtk_tree_menu_get_row_separator_func (GtkTreeMenu *menu)
@@ -1748,8 +1706,6 @@ _gtk_tree_menu_get_row_separator_func (GtkTreeMenu *menu)
  * Sets the row separator function, which is used to determine
  * whether a row should be drawn as a separator. If the row separator
  * function is %NULL, no separators are drawn. This is the default value.
- *
- * Since: 3.0
  */
 void
 _gtk_tree_menu_set_row_separator_func (GtkTreeMenu          *menu,
diff --git a/gtk/gtktreemodel.c b/gtk/gtktreemodel.c
index 303a911..7c00a88 100644
--- a/gtk/gtktreemodel.c
+++ b/gtk/gtktreemodel.c
@@ -660,8 +660,6 @@ gtk_tree_path_new_from_string (const gchar *path)
  * Creates a new path with @first_index and @varargs as indices.
  *
  * Returns: A newly created #GtkTreePath-struct
- *
- * Since: 2.2
  */
 GtkTreePath *
 gtk_tree_path_new_from_indices (gint first_index,
@@ -695,8 +693,6 @@ gtk_tree_path_new_from_indices (gint first_index,
  * Creates a new path with the given @indices array of @length.
  *
  * Returns: A newly created #GtkTreePath-struct
- *
- * Since: 3.12
  */
 GtkTreePath *
 gtk_tree_path_new_from_indicesv (gint *indices,
@@ -886,8 +882,6 @@ gtk_tree_path_get_indices (GtkTreePath *path)
  *
  * Returns: (array length=depth) (transfer none): The current
  *     indices, or %NULL
- *
- * Since: 3.0
  */
 gint *
 gtk_tree_path_get_indices_with_depth (GtkTreePath *path,
@@ -1316,8 +1310,6 @@ gtk_tree_model_get_iter_from_string (GtkTreeModel *tree_model,
  *
  * Returns: a newly-allocated string.
  *     Must be freed with g_free().
- *
- * Since: 2.2
  */
 gchar *
 gtk_tree_model_get_string_from_iter (GtkTreeModel *tree_model,
@@ -1482,8 +1474,6 @@ gtk_tree_model_iter_previous_default (GtkTreeModel *tree_model,
  * set to be invalid.
  *
  * Returns: %TRUE if @iter has been changed to the previous node
- *
- * Since: 3.0
  */
 gboolean
 gtk_tree_model_iter_previous (GtkTreeModel *tree_model,
@@ -1948,8 +1938,6 @@ gtk_tree_model_rows_reordered (GtkTreeModel *tree_model,
  *
  * This should be called by models when their rows have been
  * reordered.
- *
- * Since: 3.10
  */
 void
 gtk_tree_model_rows_reordered_with_length (GtkTreeModel *tree_model,
@@ -2426,8 +2414,6 @@ gtk_tree_row_reference_get_path (GtkTreeRowReference *reference)
  * Returns the model that the row reference is monitoring.
  *
  * Returns: (transfer none): the model
- *
- * Since: 2.8
  */
 GtkTreeModel *
 gtk_tree_row_reference_get_model (GtkTreeRowReference *reference)
@@ -2463,8 +2449,6 @@ gtk_tree_row_reference_valid (GtkTreeRowReference *reference)
  * Copies a #GtkTreeRowReference.
  *
  * Returns: a copy of @reference
- *
- * Since: 2.2
  */
 GtkTreeRowReference *
 gtk_tree_row_reference_copy (GtkTreeRowReference *reference)
diff --git a/gtk/gtktreemodel.h b/gtk/gtktreemodel.h
index 3edece2..9d6ad21 100644
--- a/gtk/gtktreemodel.h
+++ b/gtk/gtktreemodel.h
@@ -199,7 +199,7 @@ GtkTreePath *gtk_tree_path_new_from_string  (const gchar       *path);
 GDK_AVAILABLE_IN_ALL
 GtkTreePath *gtk_tree_path_new_from_indices (gint               first_index,
                                             ...);
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 GtkTreePath *gtk_tree_path_new_from_indicesv (gint             *indices,
                                              gsize             length);
 GDK_AVAILABLE_IN_ALL
@@ -396,7 +396,7 @@ void gtk_tree_model_rows_reordered        (GtkTreeModel *tree_model,
                                           GtkTreePath  *path,
                                           GtkTreeIter  *iter,
                                           gint         *new_order);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void gtk_tree_model_rows_reordered_with_length (GtkTreeModel *tree_model,
                                                GtkTreePath  *path,
                                                GtkTreeIter  *iter,
diff --git a/gtk/gtktreemodelfilter.c b/gtk/gtktreemodelfilter.c
index 46d2b8e..a371cae 100644
--- a/gtk/gtktreemodelfilter.c
+++ b/gtk/gtktreemodelfilter.c
@@ -3763,8 +3763,6 @@ gtk_tree_model_filter_set_root (GtkTreeModelFilter *filter,
  * and @root as the virtual root.
  *
  * Returns: (transfer full): A new #GtkTreeModel.
- *
- * Since: 2.4
  */
 GtkTreeModel *
 gtk_tree_model_filter_new (GtkTreeModel *child_model,
@@ -3785,8 +3783,6 @@ gtk_tree_model_filter_new (GtkTreeModel *child_model,
  * Returns a pointer to the child model of @filter.
  *
  * Returns: (transfer none): A pointer to a #GtkTreeModel.
- *
- * Since: 2.4
  */
 GtkTreeModel *
 gtk_tree_model_filter_get_model (GtkTreeModelFilter *filter)
@@ -3838,8 +3834,6 @@ gtk_tree_model_filter_get_model (GtkTreeModelFilter *filter)
  * Note that gtk_tree_model_filter_set_visible_func() or
  * gtk_tree_model_filter_set_visible_column() can only be called
  * once for a given filter model.
- *
- * Since: 2.4
  */
 void
 gtk_tree_model_filter_set_visible_func (GtkTreeModelFilter            *filter,
@@ -3877,8 +3871,6 @@ gtk_tree_model_filter_set_visible_func (GtkTreeModelFilter            *filter,
  *
  * Note that gtk_tree_model_filter_set_modify_func()
  * can only be called once for a given filter model.
- *
- * Since: 2.4
  */
 void
 gtk_tree_model_filter_set_modify_func (GtkTreeModelFilter           *filter,
@@ -3915,8 +3907,6 @@ gtk_tree_model_filter_set_modify_func (GtkTreeModelFilter           *filter,
  * Note that gtk_tree_model_filter_set_visible_func() or
  * gtk_tree_model_filter_set_visible_column() can only be called
  * once for a given filter model.
- *
- * Since: 2.4
  */
 void
 gtk_tree_model_filter_set_visible_column (GtkTreeModelFilter *filter,
@@ -3945,8 +3935,6 @@ gtk_tree_model_filter_set_visible_column (GtkTreeModelFilter *filter,
  *
  * Returns: %TRUE, if @filter_iter was set, i.e. if @child_iter is a
  * valid iterator pointing to a visible row in child model.
- *
- * Since: 2.4
  */
 gboolean
 gtk_tree_model_filter_convert_child_iter_to_iter (GtkTreeModelFilter *filter,
@@ -3987,8 +3975,6 @@ gtk_tree_model_filter_convert_child_iter_to_iter (GtkTreeModelFilter *filter,
  * @filter_iter: A valid #GtkTreeIter pointing to a row on @filter.
  *
  * Sets @child_iter to point to the row pointed to by @filter_iter.
- *
- * Since: 2.4
  */
 void
 gtk_tree_model_filter_convert_iter_to_child_iter (GtkTreeModelFilter *filter,
@@ -4126,8 +4112,6 @@ gtk_real_tree_model_filter_convert_child_path_to_path (GtkTreeModelFilter *filte
  * is returned.
  *
  * Returns: (nullable) (transfer full): A newly allocated #GtkTreePath, or %NULL.
- *
- * Since: 2.4
  */
 GtkTreePath *
 gtk_tree_model_filter_convert_child_path_to_path (GtkTreeModelFilter *filter,
@@ -4169,8 +4153,6 @@ gtk_tree_model_filter_convert_child_path_to_path (GtkTreeModelFilter *filter,
  * does not point to a location in the child model, %NULL is returned.
  *
  * Returns: (nullable) (transfer full): A newly allocated #GtkTreePath, or %NULL.
- *
- * Since: 2.4
  */
 GtkTreePath *
 gtk_tree_model_filter_convert_path_to_child_path (GtkTreeModelFilter *filter,
@@ -4252,8 +4234,6 @@ gtk_tree_model_filter_refilter_helper (GtkTreeModel *model,
  *
  * Emits ::row_changed for each row in the child model, which causes
  * the filter to re-evaluate whether a row is visible or not.
- *
- * Since: 2.4
  */
 void
 gtk_tree_model_filter_refilter (GtkTreeModelFilter *filter)
@@ -4276,8 +4256,6 @@ gtk_tree_model_filter_refilter (GtkTreeModelFilter *filter)
  * being filtered is static (and doesn’t change often) and there has been
  * a lot of unreffed access to nodes. As a side effect of this function,
  * all unreffed iters will be invalid.
- *
- * Since: 2.4
  */
 void
 gtk_tree_model_filter_clear_cache (GtkTreeModelFilter *filter)
diff --git a/gtk/gtktreemodelsort.c b/gtk/gtktreemodelsort.c
index aeffee9..2e3b808 100644
--- a/gtk/gtktreemodelsort.c
+++ b/gtk/gtktreemodelsort.c
@@ -2766,8 +2766,6 @@ gtk_tree_model_sort_iter_is_valid_helper (GtkTreeIter *iter,
  * Checks if the given iter is a valid iter for this #GtkTreeModelSort.
  *
  * Returns: %TRUE if the iter is valid, %FALSE if the iter is invalid.
- *
- * Since: 2.2
  **/
 gboolean
 gtk_tree_model_sort_iter_is_valid (GtkTreeModelSort *tree_model_sort,
diff --git a/gtk/gtktreeselection.c b/gtk/gtktreeselection.c
index 1a4db39..3bafad7 100644
--- a/gtk/gtktreeselection.c
+++ b/gtk/gtktreeselection.c
@@ -123,8 +123,6 @@ gtk_tree_selection_class_init (GtkTreeSelectionClass *class)
    *
    * Selection mode.
    * See gtk_tree_selection_set_mode() for more information on this property.
-   *
-   * Since: 3.2
    */
   properties[PROP_MODE] = g_param_spec_enum ("mode",
                                              P_("Mode"),
@@ -414,8 +412,6 @@ gtk_tree_selection_set_select_function (GtkTreeSelection     *selection,
  * Returns the current selection function.
  *
  * Returns: The function.
- *
- * Since: 2.14
  **/
 GtkTreeSelectionFunc
 gtk_tree_selection_get_select_function (GtkTreeSelection *selection)
@@ -547,8 +543,6 @@ gtk_tree_selection_get_selected (GtkTreeSelection  *selection,
  * ]|
  *
  * Returns: (element-type GtkTreePath) (transfer full): A #GList containing a #GtkTreePath for each selected 
row.
- *
- * Since: 2.2
  **/
 GList *
 gtk_tree_selection_get_selected_rows (GtkTreeSelection   *selection,
@@ -668,8 +662,6 @@ gtk_tree_selection_count_selected_rows_helper (GtkRBTree *tree,
  * Returns the number of rows that have been selected in @tree.
  *
  * Returns: The number of rows selected.
- * 
- * Since: 2.2
  **/
 gint
 gtk_tree_selection_count_selected_rows (GtkTreeSelection *selection)
@@ -1409,8 +1401,6 @@ gtk_tree_selection_select_range (GtkTreeSelection *selection,
  *
  * Unselects a range of nodes, determined by @start_path and @end_path
  * inclusive.
- *
- * Since: 2.2
  **/
 void
 gtk_tree_selection_unselect_range (GtkTreeSelection *selection,
diff --git a/gtk/gtktreestore.c b/gtk/gtktreestore.c
index 332be4e..4da0576 100644
--- a/gtk/gtktreestore.c
+++ b/gtk/gtktreestore.c
@@ -1088,8 +1088,6 @@ gtk_tree_store_set_valist_internal (GtkTreeStore *tree_store,
  * the columns and values as two arrays, instead of varargs.  This
  * function is mainly intended for language bindings or in case
  * the number of columns to change is not known until run-time.
- *
- * Since: 2.12
  **/
 void
 gtk_tree_store_set_valuesv (GtkTreeStore *tree_store,
@@ -1510,8 +1508,6 @@ gtk_tree_store_insert_after (GtkTreeStore *tree_store,
  * repeatedly can affect the performance of the program,
  * gtk_tree_store_insert_with_values() should generally be preferred when
  * inserting rows in a sorted tree store.
- *
- * Since: 2.10
  */
 void
 gtk_tree_store_insert_with_values (GtkTreeStore *tree_store,
@@ -1589,8 +1585,6 @@ gtk_tree_store_insert_with_values (GtkTreeStore *tree_store,
  * A variant of gtk_tree_store_insert_with_values() which takes
  * the columns and values as two arrays, instead of varargs.  This
  * function is mainly intended for language bindings.
- *
- * Since: 2.10
  */
 void
 gtk_tree_store_insert_with_valuesv (GtkTreeStore *tree_store,
@@ -1919,8 +1913,6 @@ gtk_tree_store_iter_is_valid_helper (GtkTreeIter *iter,
  * Checks if the given iter is a valid iter for this #GtkTreeStore.
  *
  * Returns: %TRUE if the iter is valid, %FALSE if the iter is invalid.
- *
- * Since: 2.2
  **/
 gboolean
 gtk_tree_store_iter_is_valid (GtkTreeStore *tree_store,
@@ -2261,8 +2253,6 @@ gtk_tree_store_reorder_func (gconstpointer a,
  * Reorders the children of @parent in @tree_store to follow the order
  * indicated by @new_order. Note that this function only works with
  * unsorted stores.
- *
- * Since: 2.2
  **/
 void
 gtk_tree_store_reorder (GtkTreeStore *tree_store,
@@ -2349,8 +2339,6 @@ gtk_tree_store_reorder (GtkTreeStore *tree_store,
  *
  * Swaps @a and @b in the same level of @tree_store. Note that this function
  * only works with unsorted stores.
- *
- * Since: 2.2
  **/
 void
 gtk_tree_store_swap (GtkTreeStore *tree_store,
@@ -2815,8 +2803,6 @@ free_paths_and_out:
  * @position should be in the same level. Note that this function only
  * works with unsorted stores. If @position is %NULL, @iter will be
  * moved to the end of the level.
- *
- * Since: 2.2
  **/
 void
 gtk_tree_store_move_before (GtkTreeStore *tree_store,
@@ -2836,8 +2822,6 @@ gtk_tree_store_move_before (GtkTreeStore *tree_store,
  * @position should be in the same level. Note that this function only
  * works with unsorted stores. If @position is %NULL, @iter will be moved
  * to the start of the level.
- *
- * Since: 2.2
  **/
 void
 gtk_tree_store_move_after (GtkTreeStore *tree_store,
diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c
index c392531..4a4bd86 100644
--- a/gtk/gtktreeview.c
+++ b/gtk/gtktreeview.c
@@ -1071,8 +1071,6 @@ gtk_tree_view_class_init (GtkTreeViewClass *class)
    * Only enable this option if all rows are the same height.  
    * Please see gtk_tree_view_set_fixed_height_mode() for more 
    * information on this option.
-   *
-   * Since: 2.4
    */
   tree_view_props[PROP_FIXED_HEIGHT_MODE] =
       g_param_spec_boolean ("fixed-height-mode",
@@ -1091,8 +1089,6 @@ gtk_tree_view_class_init (GtkTreeViewClass *class)
    *
    * This mode is primarily intended for treeviews in popups, e.g.
    * in #GtkComboBox or #GtkEntryCompletion.
-   *
-   * Since: 2.6
    */
   tree_view_props[PROP_HOVER_SELECTION] =
       g_param_spec_boolean ("hover-selection",
@@ -1110,8 +1106,6 @@ gtk_tree_view_class_init (GtkTreeViewClass *class)
    *
    * This mode is primarily intended for treeviews in popups, e.g.
    * in #GtkComboBox or #GtkEntryCompletion.
-   *
-   * Since: 2.6
    */
   tree_view_props[PROP_HOVER_EXPAND] =
       g_param_spec_boolean ("hover-expand",
@@ -1124,8 +1118,6 @@ gtk_tree_view_class_init (GtkTreeViewClass *class)
    * GtkTreeView:show-expanders:
    *
    * %TRUE if the view has expanders.
-   *
-   * Since: 2.12
    */
   tree_view_props[PROP_SHOW_EXPANDERS] =
       g_param_spec_boolean ("show-expanders",
@@ -1138,8 +1130,6 @@ gtk_tree_view_class_init (GtkTreeViewClass *class)
    * GtkTreeView:level-indentation:
    *
    * Extra indentation for each level.
-   *
-   * Since: 2.12
    */
   tree_view_props[PROP_LEVEL_INDENTATION] =
       g_param_spec_int ("level-indentation",
@@ -1184,8 +1174,6 @@ gtk_tree_view_class_init (GtkTreeViewClass *class)
    *
    * The activate-on-single-click property specifies whether the "row-activated" signal
    * will be emitted after a single click.
-   *
-   * Since: 3.8
    */
   tree_view_props[PROP_ACTIVATE_ON_SINGLE_CLICK] =
       g_param_spec_boolean ("activate-on-single-click",
@@ -8011,8 +7999,6 @@ column_sizing_notify (GObject    *object,
  * rows have the same height. 
  * Only enable this option if all rows are the same height and all
  * columns are of type %GTK_TREE_VIEW_COLUMN_FIXED.
- *
- * Since: 2.6 
  **/
 void
 gtk_tree_view_set_fixed_height_mode (GtkTreeView *tree_view,
@@ -8062,8 +8048,6 @@ gtk_tree_view_set_fixed_height_mode (GtkTreeView *tree_view,
  * Returns whether fixed height mode is turned on for @tree_view.
  * 
  * Returns: %TRUE if @tree_view is in fixed height mode
- * 
- * Since: 2.6
  **/
 gboolean
 gtk_tree_view_get_fixed_height_mode (GtkTreeView *tree_view)
@@ -11277,8 +11261,6 @@ gtk_tree_view_set_headers_clickable (GtkTreeView *tree_view,
  * Returns whether all header columns are clickable.
  *
  * Returns: %TRUE if all header columns are clickable, otherwise %FALSE
- *
- * Since: 2.10
  **/
 gboolean 
 gtk_tree_view_get_headers_clickable (GtkTreeView *tree_view)
@@ -11301,8 +11283,6 @@ gtk_tree_view_get_headers_clickable (GtkTreeView *tree_view)
  *
  * Cause the #GtkTreeView::row-activated signal to be emitted
  * on a single click instead of a double click.
- *
- * Since: 3.8
  **/
 void
 gtk_tree_view_set_activate_on_single_click (GtkTreeView *tree_view,
@@ -11326,8 +11306,6 @@ gtk_tree_view_set_activate_on_single_click (GtkTreeView *tree_view,
  * Gets the setting set by gtk_tree_view_set_activate_on_single_click().
  *
  * Returns: %TRUE if row-activated will be emitted on a single click
- *
- * Since: 3.8
  **/
 gboolean
 gtk_tree_view_get_activate_on_single_click (GtkTreeView *tree_view)
@@ -11597,8 +11575,6 @@ gtk_tree_view_insert_column_with_data_func  (GtkTreeView               *tree_vie
  * Queries the number of columns in the given @tree_view.
  *
  * Returns: The number of columns in the @tree_view
- *
- * Since: 3.4
  **/
 guint
 gtk_tree_view_get_n_columns (GtkTreeView *tree_view)
@@ -12066,8 +12042,6 @@ gtk_tree_view_collapse_all (GtkTreeView *tree_view)
  *
  * Expands the row at @path. This will also expand all parent rows of
  * @path as necessary.
- *
- * Since: 2.2
  **/
 void
 gtk_tree_view_expand_to_path (GtkTreeView *tree_view,
@@ -12706,8 +12680,6 @@ gtk_tree_view_set_cursor (GtkTreeView       *tree_view,
  *
  * If @path is invalid for @model, the current cursor (if any) will be unset
  * and the function will return without failing.
- *
- * Since: 2.2
  **/
 void
 gtk_tree_view_set_cursor_on_cell (GtkTreeView       *tree_view,
@@ -13151,8 +13123,6 @@ gtk_tree_view_get_visible_rect (GtkTreeView  *tree_view,
  *
  * Converts widget coordinates to coordinates for the
  * tree (the full scrollable area of the tree).
- *
- * Since: 2.12
  **/
 void
 gtk_tree_view_convert_widget_to_tree_coords (GtkTreeView *tree_view,
@@ -13183,8 +13153,6 @@ gtk_tree_view_convert_widget_to_tree_coords (GtkTreeView *tree_view,
  *
  * Converts tree coordinates (coordinates in full scrollable area of the tree)
  * to widget coordinates.
- *
- * Since: 2.12
  **/
 void
 gtk_tree_view_convert_tree_to_widget_coords (GtkTreeView *tree_view,
@@ -13214,8 +13182,6 @@ gtk_tree_view_convert_tree_to_widget_coords (GtkTreeView *tree_view,
  * @by: (out): return location for bin_window Y coordinate
  *
  * Converts widget coordinates to coordinates for the bin_window.
- *
- * Since: 2.12
  **/
 void
 gtk_tree_view_convert_widget_to_bin_window_coords (GtkTreeView *tree_view,
@@ -13241,8 +13207,6 @@ gtk_tree_view_convert_widget_to_bin_window_coords (GtkTreeView *tree_view,
  * @wy: (out): return location for widget Y coordinate
  *
  * Converts bin_window coordinates to widget relative coordinates.
- *
- * Since: 2.12
  **/
 void
 gtk_tree_view_convert_bin_window_to_widget_coords (GtkTreeView *tree_view,
@@ -13269,8 +13233,6 @@ gtk_tree_view_convert_bin_window_to_widget_coords (GtkTreeView *tree_view,
  *
  * Converts tree coordinates (coordinates in full scrollable area of the tree)
  * to bin_window coordinates.
- *
- * Since: 2.12
  **/
 void
 gtk_tree_view_convert_tree_to_bin_window_coords (GtkTreeView *tree_view,
@@ -13297,8 +13259,6 @@ gtk_tree_view_convert_tree_to_bin_window_coords (GtkTreeView *tree_view,
  *
  * Converts bin_window coordinates to coordinates for the
  * tree (the full scrollable area of the tree).
- *
- * Since: 2.12
  **/
 void
 gtk_tree_view_convert_bin_window_to_tree_coords (GtkTreeView *tree_view,
@@ -13330,8 +13290,6 @@ gtk_tree_view_convert_bin_window_to_tree_coords (GtkTreeView *tree_view,
  * The paths should be freed with gtk_tree_path_free() after use.
  *
  * Returns: %TRUE, if valid paths were placed in @start_path and @end_path.
- *
- * Since: 2.8
  **/
 gboolean
 gtk_tree_view_get_visible_range (GtkTreeView  *tree_view,
@@ -13409,8 +13367,6 @@ gtk_tree_view_get_visible_range (GtkTreeView  *tree_view,
  *
  * Returns: %TRUE if the area at the given coordinates is blank,
  * %FALSE otherwise.
- *
- * Since: 3.0
  */
 gboolean
 gtk_tree_view_is_blank_at_pos (GtkTreeView       *tree_view,
@@ -14156,8 +14112,6 @@ gtk_tree_view_set_search_equal_func (GtkTreeView                *tree_view,
  * will be returned.
  *
  * Returns: (transfer none): the entry currently in use as search entry.
- *
- * Since: 2.10
  */
 GtkEntry *
 gtk_tree_view_get_search_entry (GtkTreeView *tree_view)
@@ -14180,8 +14134,6 @@ gtk_tree_view_get_search_entry (GtkTreeView *tree_view)
  * in our interface at all time at a fixed position.  Passing %NULL for
  * @entry will make the interactive search code use the built-in popup
  * entry again.
- *
- * Since: 2.10
  */
 void
 gtk_tree_view_set_search_entry (GtkTreeView *tree_view,
@@ -14244,8 +14196,6 @@ gtk_tree_view_set_search_entry (GtkTreeView *tree_view,
  * @destroy: (allow-none): Destroy notifier for @data, or %NULL
  *
  * Sets the function to use when positioning the search dialog.
- *
- * Since: 2.10
  **/
 void
 gtk_tree_view_set_search_position_func (GtkTreeView                   *tree_view,
@@ -14272,8 +14222,6 @@ gtk_tree_view_set_search_position_func (GtkTreeView                   *tree_view
  * Returns the positioning function currently in use.
  *
  * Returns: the currently used function for positioning the search dialog.
- *
- * Since: 2.10
  */
 GtkTreeViewSearchPositionFunc
 gtk_tree_view_get_search_position_func (GtkTreeView *tree_view)
@@ -14961,8 +14909,6 @@ gtk_tree_view_stop_editing (GtkTreeView *tree_view,
  * Hover selection makes the selected row follow the pointer.
  * Currently, this works only for the selection modes 
  * %GTK_SELECTION_SINGLE and %GTK_SELECTION_BROWSE.
- * 
- * Since: 2.6
  **/
 void     
 gtk_tree_view_set_hover_selection (GtkTreeView *tree_view,
@@ -14985,8 +14931,6 @@ gtk_tree_view_set_hover_selection (GtkTreeView *tree_view,
  * Returns whether hover selection mode is turned on for @tree_view.
  * 
  * Returns: %TRUE if @tree_view is in hover selection mode
- *
- * Since: 2.6 
  **/
 gboolean 
 gtk_tree_view_get_hover_selection (GtkTreeView *tree_view)
@@ -15002,8 +14946,6 @@ gtk_tree_view_get_hover_selection (GtkTreeView *tree_view)
  * Enables or disables the hover expansion mode of @tree_view.
  * Hover expansion makes rows expand or collapse if the pointer 
  * moves over them.
- * 
- * Since: 2.6
  **/
 void     
 gtk_tree_view_set_hover_expand (GtkTreeView *tree_view,
@@ -15026,8 +14968,6 @@ gtk_tree_view_set_hover_expand (GtkTreeView *tree_view,
  * Returns whether hover expansion mode is turned on for @tree_view.
  * 
  * Returns: %TRUE if @tree_view is in hover expansion mode
- *
- * Since: 2.6 
  **/
 gboolean 
 gtk_tree_view_get_hover_expand (GtkTreeView *tree_view)
@@ -15043,8 +14983,6 @@ gtk_tree_view_get_hover_expand (GtkTreeView *tree_view)
  * Enables or disables rubber banding in @tree_view.  If the selection mode
  * is #GTK_SELECTION_MULTIPLE, rubber banding will allow the user to select
  * multiple rows by dragging the mouse.
- * 
- * Since: 2.10
  **/
 void
 gtk_tree_view_set_rubber_banding (GtkTreeView *tree_view,
@@ -15069,8 +15007,6 @@ gtk_tree_view_set_rubber_banding (GtkTreeView *tree_view,
  * user to select multiple rows by dragging the mouse.
  * 
  * Returns: %TRUE if rubber banding in @tree_view is enabled.
- *
- * Since: 2.10
  **/
 gboolean
 gtk_tree_view_get_rubber_banding (GtkTreeView *tree_view)
@@ -15087,8 +15023,6 @@ gtk_tree_view_get_rubber_banding (GtkTreeView *tree_view)
  *
  * Returns: %TRUE if a rubber banding operation is currently being
  * done in @tree_view.
- *
- * Since: 2.12
  **/
 gboolean
 gtk_tree_view_is_rubber_banding_active (GtkTreeView *tree_view)
@@ -15109,8 +15043,6 @@ gtk_tree_view_is_rubber_banding_active (GtkTreeView *tree_view)
  * Returns the current row separator function.
  * 
  * Returns: the current row separator function.
- *
- * Since: 2.6
  **/
 GtkTreeViewRowSeparatorFunc 
 gtk_tree_view_get_row_separator_func (GtkTreeView *tree_view)
@@ -15130,8 +15062,6 @@ gtk_tree_view_get_row_separator_func (GtkTreeView *tree_view)
  * Sets the row separator function, which is used to determine
  * whether a row should be drawn as a separator. If the row separator
  * function is %NULL, no separators are drawn. This is the default value.
- *
- * Since: 2.6
  **/
 void
 gtk_tree_view_set_row_separator_func (GtkTreeView                 *tree_view,
@@ -15161,8 +15091,6 @@ gtk_tree_view_set_row_separator_func (GtkTreeView                 *tree_view,
  *
  * Returns: a #GtkTreeViewGridLines value indicating which grid lines
  * are enabled.
- *
- * Since: 2.10
  */
 GtkTreeViewGridLines
 gtk_tree_view_get_grid_lines (GtkTreeView *tree_view)
@@ -15179,8 +15107,6 @@ gtk_tree_view_get_grid_lines (GtkTreeView *tree_view)
  * enable.
  *
  * Sets which grid lines to draw in @tree_view.
- *
- * Since: 2.10
  */
 void
 gtk_tree_view_set_grid_lines (GtkTreeView           *tree_view,
@@ -15224,8 +15150,6 @@ gtk_tree_view_set_grid_lines (GtkTreeView           *tree_view,
  *
  * Returns: %TRUE if tree lines are drawn in @tree_view, %FALSE
  * otherwise.
- *
- * Since: 2.10
  */
 gboolean
 gtk_tree_view_get_enable_tree_lines (GtkTreeView *tree_view)
@@ -15242,8 +15166,6 @@ gtk_tree_view_get_enable_tree_lines (GtkTreeView *tree_view)
  *
  * Sets whether to draw lines interconnecting the expanders in @tree_view.
  * This does not have any visible effects for lists.
- *
- * Since: 2.10
  */
 void
 gtk_tree_view_set_enable_tree_lines (GtkTreeView *tree_view,
@@ -15294,8 +15216,6 @@ gtk_tree_view_set_enable_tree_lines (GtkTreeView *tree_view,
  * can set a custom indentation in this case using
  * gtk_tree_view_set_level_indentation().
  * This does not have any visible effects for lists.
- *
- * Since: 2.12
  */
 void
 gtk_tree_view_set_show_expanders (GtkTreeView *tree_view,
@@ -15320,8 +15240,6 @@ gtk_tree_view_set_show_expanders (GtkTreeView *tree_view,
  *
  * Returns: %TRUE if expanders are drawn in @tree_view, %FALSE
  * otherwise.
- *
- * Since: 2.12
  */
 gboolean
 gtk_tree_view_get_show_expanders (GtkTreeView *tree_view)
@@ -15341,8 +15259,6 @@ gtk_tree_view_get_show_expanders (GtkTreeView *tree_view)
  * pixels, a value of 0 disables this feature and in this case only the default
  * indentation will be used.
  * This does not have any visible effects for lists.
- *
- * Since: 2.12
  */
 void
 gtk_tree_view_set_level_indentation (GtkTreeView *tree_view,
@@ -15362,8 +15278,6 @@ gtk_tree_view_set_level_indentation (GtkTreeView *tree_view,
  *
  * Returns: the amount of extra indentation for child levels in
  * @tree_view.  A return value of 0 means that this feature is disabled.
- *
- * Since: 2.12
  */
 gint
 gtk_tree_view_get_level_indentation (GtkTreeView *tree_view)
@@ -15382,8 +15296,6 @@ gtk_tree_view_get_level_indentation (GtkTreeView *tree_view)
  * Sets the tip area of @tooltip to be the area covered by the row at @path.
  * See also gtk_tree_view_set_tooltip_column() for a simpler alternative.
  * See also gtk_tooltip_set_tip_area().
- *
- * Since: 2.12
  */
 void
 gtk_tree_view_set_tooltip_row (GtkTreeView *tree_view,
@@ -15415,8 +15327,6 @@ gtk_tree_view_set_tooltip_row (GtkTreeView *tree_view,
  * mouse cursor for this function to operate correctly.
  *
  * See also gtk_tree_view_set_tooltip_column() for a simpler alternative.
- *
- * Since: 2.12
  */
 void
 gtk_tree_view_set_tooltip_cell (GtkTreeView       *tree_view,
@@ -15513,8 +15423,6 @@ gtk_tree_view_set_tooltip_cell (GtkTreeView       *tree_view,
  * to be relative to @tree_view’s bin_window if @keyboard_tooltip is %FALSE.
  *
  * Returns: whether or not the given tooltip context points to a row.
- *
- * Since: 2.12
  */
 gboolean
 gtk_tree_view_get_tooltip_context (GtkTreeView   *tree_view,
@@ -15631,8 +15539,6 @@ gtk_tree_view_set_tooltip_query_cb (GtkWidget  *widget,
  *
  * Note that the signal handler sets the text with gtk_tooltip_set_markup(),
  * so &, <, etc have to be escaped in the text.
- *
- * Since: 2.12
  */
 void
 gtk_tree_view_set_tooltip_column (GtkTreeView *tree_view,
@@ -15673,8 +15579,6 @@ gtk_tree_view_set_tooltip_column (GtkTreeView *tree_view,
  *
  * Returns: the index of the tooltip column that is currently being
  * used, or -1 if this is disabled.
- *
- * Since: 2.12
  */
 gint
 gtk_tree_view_get_tooltip_column (GtkTreeView *tree_view)
diff --git a/gtk/gtktreeview.h b/gtk/gtktreeview.h
index c4c0879..6134810 100644
--- a/gtk/gtktreeview.h
+++ b/gtk/gtktreeview.h
@@ -230,9 +230,9 @@ gboolean               gtk_tree_view_get_headers_clickable         (GtkTreeView
 GDK_AVAILABLE_IN_ALL
 void                   gtk_tree_view_set_headers_clickable         (GtkTreeView               *tree_view,
                                                                    gboolean                   setting);
-GDK_AVAILABLE_IN_3_8
+GDK_AVAILABLE_IN_ALL
 gboolean               gtk_tree_view_get_activate_on_single_click  (GtkTreeView               *tree_view);
-GDK_AVAILABLE_IN_3_8
+GDK_AVAILABLE_IN_ALL
 void                   gtk_tree_view_set_activate_on_single_click  (GtkTreeView               *tree_view,
                                                                    gboolean                   single);
 
@@ -262,7 +262,7 @@ gint                   gtk_tree_view_insert_column_with_data_func  (GtkTreeView
                                                                     gpointer                   data,
                                                                     GDestroyNotify             dnotify);
 
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 guint                  gtk_tree_view_get_n_columns                 (GtkTreeView               *tree_view);
 GDK_AVAILABLE_IN_ALL
 GtkTreeViewColumn     *gtk_tree_view_get_column                    (GtkTreeView               *tree_view,
diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c
index f688d9e..578b5ec 100644
--- a/gtk/gtktreeviewcolumn.c
+++ b/gtk/gtktreeviewcolumn.c
@@ -372,8 +372,6 @@ gtk_tree_view_column_class_init (GtkTreeViewColumnClass *class)
    *
    * Logical sort column ID this column sorts on when selected for sorting. Setting the sort column ID makes 
the column header
    * clickable. Set to -1 to make the column unsortable.
-   *
-   * Since: 2.18
    **/
   tree_column_props[PROP_SORT_COLUMN_ID] =
       g_param_spec_int ("sort-column-id",
@@ -390,8 +388,6 @@ gtk_tree_view_column_class_init (GtkTreeViewColumnClass *class)
    *
    * If no area is specified when creating the tree view column with gtk_tree_view_column_new_with_area() 
    * a horizontally oriented #GtkCellAreaBox will be used.
-   *
-   * Since: 3.0
    */
   tree_column_props[PROP_CELL_AREA] =
       g_param_spec_object ("cell-area",
@@ -1500,8 +1496,6 @@ gtk_tree_view_column_new (void)
  * Creates a new #GtkTreeViewColumn using @area to render its cells.
  * 
  * Returns: A newly created #GtkTreeViewColumn.
- *
- * Since: 3.0
  */
 GtkTreeViewColumn *
 gtk_tree_view_column_new_with_area (GtkCellArea *area)
@@ -1954,8 +1948,6 @@ gtk_tree_view_column_get_width (GtkTreeViewColumn *tree_column)
  * Returns the current X offset of @tree_column in pixels.
  * 
  * Returns: The current X offset of @tree_column.
- *
- * Since: 3.2
  */
 gint
 gtk_tree_view_column_get_x_offset (GtkTreeViewColumn *tree_column)
@@ -2309,8 +2301,6 @@ gtk_tree_view_column_get_title (GtkTreeViewColumn *tree_column)
  *
  * Along with “fixed-width”, the “expand” property changes when the column is
  * resized by the user.
- *
- * Since: 2.4
  **/
 void
 gtk_tree_view_column_set_expand (GtkTreeViewColumn *tree_column,
@@ -2344,8 +2334,6 @@ gtk_tree_view_column_set_expand (GtkTreeViewColumn *tree_column,
  * Returns %TRUE if the column expands to fill available space.
  *
  * Returns: %TRUE if the column expands to fill available space.
- *
- * Since: 2.4
  **/
 gboolean
 gtk_tree_view_column_get_expand (GtkTreeViewColumn *tree_column)
@@ -2888,8 +2876,6 @@ gtk_tree_view_column_cell_is_visible (GtkTreeViewColumn *tree_column)
  *
  * Sets the current keyboard focus to be at @cell, if the column contains
  * 2 or more editable and activatable cells.
- *
- * Since: 2.2
  **/
 void
 gtk_tree_view_column_focus_cell (GtkTreeViewColumn *tree_column,
@@ -2992,8 +2978,6 @@ gtk_tree_view_column_cell_get_position (GtkTreeViewColumn *tree_column,
  *
  * Flags the column, and the cell renderers added to this column, to have
  * their sizes renegotiated.
- *
- * Since: 2.8
  **/
 void
 gtk_tree_view_column_queue_resize (GtkTreeViewColumn *tree_column)
@@ -3014,8 +2998,6 @@ gtk_tree_view_column_queue_resize (GtkTreeViewColumn *tree_column)
  *
  * Returns: (nullable) (transfer none): The tree view wherein @column has
  *     been inserted if any, %NULL otherwise.
- *
- * Since: 2.12
  */
 GtkWidget *
 gtk_tree_view_column_get_tree_view (GtkTreeViewColumn *tree_column)
@@ -3032,8 +3014,6 @@ gtk_tree_view_column_get_tree_view (GtkTreeViewColumn *tree_column)
  * Returns the button used in the treeview column header
  *
  * Returns: (transfer none): The button for the column header.
- *
- * Since: 3.0
  */
 GtkWidget *
 gtk_tree_view_column_get_button (GtkTreeViewColumn *tree_column)
diff --git a/gtk/gtktreeviewcolumn.h b/gtk/gtktreeviewcolumn.h
index 97649dc..0c5d022 100644
--- a/gtk/gtktreeviewcolumn.h
+++ b/gtk/gtktreeviewcolumn.h
@@ -159,7 +159,7 @@ void                    gtk_tree_view_column_set_sizing          (GtkTreeViewCol
                                                                  GtkTreeViewColumnSizing  type);
 GDK_AVAILABLE_IN_ALL
 GtkTreeViewColumnSizing gtk_tree_view_column_get_sizing          (GtkTreeViewColumn       *tree_column);
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 gint                    gtk_tree_view_column_get_x_offset        (GtkTreeViewColumn       *tree_column);
 GDK_AVAILABLE_IN_ALL
 gint                    gtk_tree_view_column_get_width           (GtkTreeViewColumn       *tree_column);
diff --git a/gtk/gtkvolumebutton.c b/gtk/gtkvolumebutton.c
index 4dcf4ff..71b5fc1 100644
--- a/gtk/gtkvolumebutton.c
+++ b/gtk/gtkvolumebutton.c
@@ -160,8 +160,6 @@ gtk_volume_button_class_init (GtkVolumeButtonClass *klass)
    * if the symbolic icons are not available in your installed
    * theme, then the normal (potentially colorful) icons will
    * be used.
-   *
-   * Since: 3.0
    */
   g_object_class_install_property (gobject_class,
                                    PROP_SYMBOLIC,
@@ -198,8 +196,6 @@ gtk_volume_button_init (GtkVolumeButton *button)
  * the functions from #GtkScaleButton.
  *
  * Returns: a new #GtkVolumeButton
- *
- * Since: 2.12
  */
 GtkWidget *
 gtk_volume_button_new (void)
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c
index b2e80c9..d74e126 100644
--- a/gtk/gtkwidget.c
+++ b/gtk/gtkwidget.c
@@ -1074,8 +1074,6 @@ gtk_widget_class_init (GtkWidgetClass *klass)
    *
    * Before 3.20, several widgets (GtkButton, GtkFileChooserButton,
    * GtkComboBox) implemented this property individually.
-   *
-   * Since: 3.20
    */
   widget_props[PROP_FOCUS_ON_CLICK] =
       g_param_spec_boolean ("focus-on-click",
@@ -1109,8 +1107,6 @@ gtk_widget_class_init (GtkWidgetClass *klass)
  * GtkWidget:cursor:
  *
  * The cursor used by @widget. See gtk_widget_set_cursor() for details.
- *
- * Since: 3.94
  */
   widget_props[PROP_CURSOR] =
       g_param_spec_object("cursor",
@@ -1126,8 +1122,6 @@ gtk_widget_class_init (GtkWidgetClass *klass)
  * A value of %TRUE indicates that @widget can have a tooltip, in this case
  * the widget will be queried using #GtkWidget::query-tooltip to determine
  * whether it will provide a tooltip or not.
- *
- * Since: 2.12
  */
   widget_props[PROP_HAS_TOOLTIP] =
       g_param_spec_boolean ("has-tooltip",
@@ -1150,8 +1144,6 @@ gtk_widget_class_init (GtkWidgetClass *klass)
    *
    * Note that if both #GtkWidget:tooltip-text and #GtkWidget:tooltip-markup
    * are set, the last one wins.
-   *
-   * Since: 2.12
    */
   widget_props[PROP_TOOLTIP_TEXT] =
       g_param_spec_string ("tooltip-text",
@@ -1174,8 +1166,6 @@ gtk_widget_class_init (GtkWidgetClass *klass)
    *
    * Note that if both #GtkWidget:tooltip-text and #GtkWidget:tooltip-markup
    * are set, the last one wins.
-   *
-   * Since: 2.12
    */
   widget_props[PROP_TOOLTIP_MARKUP] =
       g_param_spec_string ("tooltip-markup",
@@ -1188,8 +1178,6 @@ gtk_widget_class_init (GtkWidgetClass *klass)
    * GtkWidget:window:
    *
    * The widget's window if it is realized, %NULL otherwise.
-   *
-   * Since: 2.14
    */
   widget_props[PROP_WINDOW] =
       g_param_spec_object ("window",
@@ -1202,8 +1190,6 @@ gtk_widget_class_init (GtkWidgetClass *klass)
    * GtkWidget:halign:
    *
    * How to distribute horizontal space if widget gets extra space, see #GtkAlign
-   *
-   * Since: 3.0
    */
   widget_props[PROP_HALIGN] =
       g_param_spec_enum ("halign",
@@ -1217,8 +1203,6 @@ gtk_widget_class_init (GtkWidgetClass *klass)
    * GtkWidget:valign:
    *
    * How to distribute vertical space if widget gets extra space, see #GtkAlign
-   *
-   * Since: 3.0
    */
   widget_props[PROP_VALIGN] =
       g_param_spec_enum ("valign",
@@ -1237,8 +1221,6 @@ gtk_widget_class_init (GtkWidgetClass *klass)
    * This property adds margin outside of the widget's normal size
    * request, the margin will be added in addition to the size from
    * gtk_widget_set_size_request() for example.
-   *
-   * Since: 3.12
    */
   widget_props[PROP_MARGIN_START] =
       g_param_spec_int ("margin-start",
@@ -1257,8 +1239,6 @@ gtk_widget_class_init (GtkWidgetClass *klass)
    * This property adds margin outside of the widget's normal size
    * request, the margin will be added in addition to the size from
    * gtk_widget_set_size_request() for example.
-   *
-   * Since: 3.12
    */
   widget_props[PROP_MARGIN_END] =
       g_param_spec_int ("margin-end",
@@ -1276,8 +1256,6 @@ gtk_widget_class_init (GtkWidgetClass *klass)
    * This property adds margin outside of the widget's normal size
    * request, the margin will be added in addition to the size from
    * gtk_widget_set_size_request() for example.
-   *
-   * Since: 3.0
    */
   widget_props[PROP_MARGIN_TOP] =
       g_param_spec_int ("margin-top",
@@ -1295,8 +1273,6 @@ gtk_widget_class_init (GtkWidgetClass *klass)
    * This property adds margin outside of the widget's normal size
    * request, the margin will be added in addition to the size from
    * gtk_widget_set_size_request() for example.
-   *
-   * Since: 3.0
    */
   widget_props[PROP_MARGIN_BOTTOM] =
       g_param_spec_int ("margin-bottom",
@@ -1311,8 +1287,6 @@ gtk_widget_class_init (GtkWidgetClass *klass)
    *
    * Sets all four sides' margin at once. If read, returns max
    * margin on any side.
-   *
-   * Since: 3.0
    */
   widget_props[PROP_MARGIN] =
       g_param_spec_int ("margin",
@@ -1326,8 +1300,6 @@ gtk_widget_class_init (GtkWidgetClass *klass)
    * GtkWidget:hexpand:
    *
    * Whether to expand horizontally. See gtk_widget_set_hexpand().
-   *
-   * Since: 3.0
    */
   widget_props[PROP_HEXPAND] =
       g_param_spec_boolean ("hexpand",
@@ -1340,8 +1312,6 @@ gtk_widget_class_init (GtkWidgetClass *klass)
    * GtkWidget:hexpand-set:
    *
    * Whether to use the #GtkWidget:hexpand property. See gtk_widget_get_hexpand_set().
-   *
-   * Since: 3.0
    */
   widget_props[PROP_HEXPAND_SET] =
       g_param_spec_boolean ("hexpand-set",
@@ -1354,8 +1324,6 @@ gtk_widget_class_init (GtkWidgetClass *klass)
    * GtkWidget:vexpand:
    *
    * Whether to expand vertically. See gtk_widget_set_vexpand().
-   *
-   * Since: 3.0
    */
   widget_props[PROP_VEXPAND] =
       g_param_spec_boolean ("vexpand",
@@ -1368,8 +1336,6 @@ gtk_widget_class_init (GtkWidgetClass *klass)
    * GtkWidget:vexpand-set:
    *
    * Whether to use the #GtkWidget:vexpand property. See gtk_widget_get_vexpand_set().
-   *
-   * Since: 3.0
    */
   widget_props[PROP_VEXPAND_SET] =
       g_param_spec_boolean ("vexpand-set",
@@ -1382,8 +1348,6 @@ gtk_widget_class_init (GtkWidgetClass *klass)
    * GtkWidget:expand:
    *
    * Whether to expand in both directions. Setting this sets both #GtkWidget:hexpand and #GtkWidget:vexpand
-   *
-   * Since: 3.0
    */
   widget_props[PROP_EXPAND] =
       g_param_spec_boolean ("expand",
@@ -1399,8 +1363,6 @@ gtk_widget_class_init (GtkWidgetClass *klass)
    * more details about window opacity.
    *
    * Before 3.8 this was only available in GtkWindow
-   *
-   * Since: 3.8
    */
   widget_props[PROP_OPACITY] =
       g_param_spec_double ("opacity",
@@ -1415,8 +1377,6 @@ gtk_widget_class_init (GtkWidgetClass *klass)
    *
    * The scale factor of the widget. See gtk_widget_get_scale_factor() for
    * more details about widget scaling.
-   *
-   * Since: 3.10
    */
   widget_props[PROP_SCALE_FACTOR] =
       g_param_spec_int ("scale-factor",
@@ -1430,8 +1390,6 @@ gtk_widget_class_init (GtkWidgetClass *klass)
    * GtkWidget:css-name:
    *
    * The name of this widget in the CSS tree.
-   *
-   * Since: 3.90
    */
   widget_props[PROP_CSS_NAME] =
       g_param_spec_string ("css-name",
@@ -1597,8 +1555,6 @@ gtk_widget_class_init (GtkWidgetClass *klass)
    *
    * The ::state-flags-changed signal is emitted when the widget state
    * changes, see gtk_widget_get_state_flags().
-   *
-   * Since: 3.0
    */
   widget_signals[STATE_FLAGS_CHANGED] =
     g_signal_new (I_("state-flags-changed"),
@@ -1639,8 +1595,6 @@ gtk_widget_class_init (GtkWidgetClass *klass)
    * The ::style-updated signal is a convenience signal that is emitted when the
    * #GtkStyleContext::changed signal is emitted on the @widget's associated
    * #GtkStyleContext as returned by gtk_widget_get_style_context().
-   *
-   * Since: 3.0
    */
   widget_signals[STYLE_UPDATED] =
     g_signal_new (I_("style-updated"),
@@ -1738,8 +1692,6 @@ gtk_widget_class_init (GtkWidgetClass *klass)
    *
    * Returns: %TRUE to stop other handlers from being invoked for the event.
    * %FALSE to propagate the event further.
-   *
-   * Since: 3.0
    */
   widget_signals[DRAW] =
     g_signal_new (I_("draw"),
@@ -1831,8 +1783,6 @@ gtk_widget_class_init (GtkWidgetClass *klass)
    * Returns: %TRUE if stopping keyboard navigation is fine, %FALSE
    *          if the emitting widget should try to handle the keyboard
    *          navigation attempt in its parent widget(s).
-   *
-   * Since: 2.12
    **/
   widget_signals[KEYNAV_FAILED] =
     g_signal_new (I_("keynav-failed"),
@@ -2030,8 +1980,6 @@ gtk_widget_class_init (GtkWidgetClass *klass)
    * animation), otherwise it returns %FALSE.
    *
    * Returns: %TRUE if the failed drag operation has been already handled.
-   *
-   * Since: 2.12
    */
   widget_signals[DRAG_FAILED] =
     g_signal_new (I_("drag-failed"),
@@ -2321,8 +2269,6 @@ gtk_widget_class_init (GtkWidgetClass *klass)
    * destined function calls.
    *
    * Returns: %TRUE if @tooltip should be shown right now, %FALSE otherwise.
-   *
-   * Since: 2.12
    */
   widget_signals[QUERY_TOOLTIP] =
     g_signal_new (I_("query-tooltip"),
@@ -3778,8 +3724,6 @@ static guint tick_callback_id;
  *
  * Returns: an id for the connection of this callback. Remove the callback
  *     by passing it to gtk_widget_remove_tick_callback()
- *
- * Since: 3.8
  */
 guint
 gtk_widget_add_tick_callback (GtkWidget       *widget,
@@ -3829,8 +3773,6 @@ gtk_widget_add_tick_callback (GtkWidget       *widget,
  *
  * Removes a tick callback previously registered with
  * gtk_widget_add_tick_callback().
- *
- * Since: 3.8
  */
 void
 gtk_widget_remove_tick_callback (GtkWidget *widget,
@@ -4133,8 +4075,6 @@ gtk_widget_set_alloc_needed (GtkWidget *widget);
  * reposition its contents.
  *
  * An example user of this function is gtk_widget_set_halign().
- *
- * Since: 3.20
  */
 void
 gtk_widget_queue_allocate (GtkWidget *widget)
@@ -4224,8 +4164,6 @@ gtk_widget_queue_resize (GtkWidget *widget)
  *
  * This function works like gtk_widget_queue_resize(),
  * except that the widget is not invalidated.
- *
- * Since: 2.4
  **/
 void
 gtk_widget_queue_resize_no_redraw (GtkWidget *widget)
@@ -4263,8 +4201,6 @@ gtk_widget_queue_resize_no_redraw (GtkWidget *widget)
  *
  * Returns: (nullable) (transfer none): a #GdkFrameClock,
  * or %NULL if widget is unrealized
- *
- * Since: 3.8
  */
 GdkFrameClock*
 gtk_widget_get_frame_clock (GtkWidget *widget)
@@ -4345,8 +4281,6 @@ get_box_padding (GtkCssStyle *style,
  * Normally you would only use this function in widget
  * implementations. You might also use it to schedule a redraw of a
  * #GtkDrawingArea or some portion thereof.
- *
- * Since: 3.0
  **/
 void
 gtk_widget_queue_draw_region (GtkWidget            *widget,
@@ -4444,8 +4378,6 @@ invalidate:
  * In this function, the allocation and baseline may be adjusted. The given
  * allocation will be forced to be bigger than the widget's minimum size,
  * as well as at least 0×0 in size.
- *
- * Since: 3.10
  **/
 void
 gtk_widget_size_allocate (GtkWidget           *widget,
@@ -5029,8 +4961,6 @@ gtk_widget_real_can_activate_accel (GtkWidget *widget,
  * its ancestors mapped.
  *
  * Returns: %TRUE if the accelerator can be activated.
- *
- * Since: 2.4
  **/
 gboolean
 gtk_widget_can_activate_accel (GtkWidget *widget,
@@ -5585,8 +5515,6 @@ gtk_widget_draw_internal (GtkWidget *widget,
  * Note that special-purpose widgets may contain special code for
  * rendering to the screen and might appear differently on screen
  * and when rendered using gtk_widget_draw().
- *
- * Since: 3.0
  **/
 void
 gtk_widget_draw (GtkWidget *widget,
@@ -6042,8 +5970,6 @@ gtk_widget_intersect (GtkWidget            *widget,
  * @was_grabbed: whether a grab is now in effect
  *
  * Emits the #GtkWidget::grab-notify signal on @widget.
- *
- * Since: 2.6
  **/
 void
 _gtk_widget_grab_notify (GtkWidget *widget,
@@ -6331,8 +6257,6 @@ gtk_widget_real_keynav_failed (GtkWidget        *widget,
  * Specifies whether @widget can own the input focus. See
  * gtk_widget_grab_focus() for actually setting the input focus on a
  * widget.
- *
- * Since: 2.18
  **/
 void
 gtk_widget_set_can_focus (GtkWidget *widget,
@@ -6357,8 +6281,6 @@ gtk_widget_set_can_focus (GtkWidget *widget,
  * gtk_widget_set_can_focus().
  *
  * Returns: %TRUE if @widget can own the input focus, %FALSE otherwise
- *
- * Since: 2.18
  **/
 gboolean
 gtk_widget_get_can_focus (GtkWidget *widget)
@@ -6377,8 +6299,6 @@ gtk_widget_get_can_focus (GtkWidget *widget)
  * input focus, and only having the focus within a toplevel.
  *
  * Returns: %TRUE if the widget has the global input focus.
- *
- * Since: 2.18
  **/
 gboolean
 gtk_widget_has_focus (GtkWidget *widget)
@@ -6403,8 +6323,6 @@ gtk_widget_has_focus (GtkWidget *widget)
  * gtk_widget_has_focus().
  *
  * Returns: %TRUE if the widget should display a “focus rectangle”
- *
- * Since: 3.2
  */
 gboolean
 gtk_widget_has_visible_focus (GtkWidget *widget)
@@ -6465,8 +6383,6 @@ gtk_widget_is_focus (GtkWidget *widget)
  * Making mouse clicks not grab focus is useful in places like toolbars where
  * you don’t want the keyboard focus removed from the main area of the
  * application.
- *
- * Since: 3.20
  **/
 void
 gtk_widget_set_focus_on_click (GtkWidget *widget,
@@ -6497,8 +6413,6 @@ gtk_widget_set_focus_on_click (GtkWidget *widget,
  *
  * Returns: %TRUE if the widget should grab focus when it is clicked with
  *               the mouse.
- *
- * Since: 3.20
  **/
 gboolean
 gtk_widget_get_focus_on_click (GtkWidget *widget)
@@ -6517,8 +6431,6 @@ gtk_widget_get_focus_on_click (GtkWidget *widget)
  * Specifies whether @widget can be a default widget. See
  * gtk_widget_grab_default() for details about the meaning of
  * “default”.
- *
- * Since: 2.18
  **/
 void
 gtk_widget_set_can_default (GtkWidget *widget,
@@ -6543,8 +6455,6 @@ gtk_widget_set_can_default (GtkWidget *widget,
  * gtk_widget_set_can_default().
  *
  * Returns: %TRUE if @widget can be a default widget, %FALSE otherwise
- *
- * Since: 2.18
  **/
 gboolean
 gtk_widget_get_can_default (GtkWidget *widget)
@@ -6563,8 +6473,6 @@ gtk_widget_get_can_default (GtkWidget *widget)
  *
  * Returns: %TRUE if @widget is the current default widget within
  *     its toplevel, %FALSE otherwise
- *
- * Since: 2.18
  */
 gboolean
 gtk_widget_has_default (GtkWidget *widget)
@@ -6631,8 +6539,6 @@ gtk_widget_grab_default (GtkWidget *widget)
  *
  * See gtk_widget_grab_default() for details about the meaning of
  * “default”.
- *
- * Since: 2.18
  **/
 void
 gtk_widget_set_receives_default (GtkWidget *widget,
@@ -6660,8 +6566,6 @@ gtk_widget_set_receives_default (GtkWidget *widget,
  *
  * Returns: %TRUE if @widget acts as the default widget when focused,
  *               %FALSE otherwise
- *
- * Since: 2.18
  **/
 gboolean
 gtk_widget_get_receives_default (GtkWidget *widget)
@@ -6681,8 +6585,6 @@ gtk_widget_get_receives_default (GtkWidget *widget)
  * See also gtk_grab_add().
  *
  * Returns: %TRUE if the widget is in the grab_widgets stack
- *
- * Since: 2.18
  **/
 gboolean
 gtk_widget_has_grab (GtkWidget *widget)
@@ -6712,8 +6614,6 @@ _gtk_widget_set_has_grab (GtkWidget *widget,
  *
  * Returns: %TRUE if there is an ongoing grab on @device
  *          by another #GtkWidget than @widget.
- *
- * Since: 3.0
  **/
 gboolean
 gtk_widget_device_is_shadowed (GtkWidget *widget,
@@ -6864,8 +6764,6 @@ gtk_widget_update_state_flags (GtkWidget     *widget,
  * down to all #GtkContainer children by different means than turning on the
  * state flag down the hierarchy, both gtk_widget_get_state_flags() and
  * gtk_widget_is_sensitive() will make use of these.
- *
- * Since: 3.0
  **/
 void
 gtk_widget_set_state_flags (GtkWidget     *widget,
@@ -6896,8 +6794,6 @@ gtk_widget_set_state_flags (GtkWidget     *widget,
  * This function is for use in widget implementations. Turns off flag
  * values for the current widget state (insensitive, prelighted, etc.).
  * See gtk_widget_set_state_flags().
- *
- * Since: 3.0
  **/
 void
 gtk_widget_unset_state_flags (GtkWidget     *widget,
@@ -6925,8 +6821,6 @@ gtk_widget_unset_state_flags (GtkWidget     *widget,
  * should look at gtk_style_context_get_state().
  *
  * Returns: The state flags for widget
- *
- * Since: 3.0
  **/
 GtkStateFlags
 gtk_widget_get_state_flags (GtkWidget *widget)
@@ -6948,8 +6842,6 @@ gtk_widget_get_state_flags (GtkWidget *widget)
  * This function simply calls gtk_widget_show() or gtk_widget_hide()
  * but is nicer to use when the visibility of the widget depends on
  * some condition.
- *
- * Since: 2.18
  **/
 void
 gtk_widget_set_visible (GtkWidget *widget,
@@ -6996,8 +6888,6 @@ _gtk_widget_set_visible_flag (GtkWidget *widget,
  * See gtk_widget_set_visible().
  *
  * Returns: %TRUE if the widget is visible
- *
- * Since: 2.18
  **/
 gboolean
 gtk_widget_get_visible (GtkWidget *widget)
@@ -7019,8 +6909,6 @@ gtk_widget_get_visible (GtkWidget *widget)
  * See also gtk_widget_get_visible() and gtk_widget_set_visible()
  *
  * Returns: %TRUE if the widget and all its parents are visible
- *
- * Since: 3.8
  **/
 gboolean
 gtk_widget_is_visible (GtkWidget *widget)
@@ -7055,8 +6943,6 @@ gtk_widget_is_visible (GtkWidget *widget)
  *
  * This function should only be called by widget implementations,
  * and they should call it in their init() function.
- *
- * Since: 2.18
  **/
 void
 gtk_widget_set_has_window (GtkWidget *widget,
@@ -7080,8 +6966,6 @@ gtk_widget_set_has_window (GtkWidget *widget,
  * gtk_widget_set_has_window().
  *
  * Returns: %TRUE if @widget has a window, %FALSE otherwise
- *
- * Since: 2.18
  **/
 gboolean
 gtk_widget_get_has_window (GtkWidget *widget)
@@ -7101,8 +6985,6 @@ gtk_widget_get_has_window (GtkWidget *widget)
  * Toplevel widgets have no parent widget.
  *
  * Returns: %TRUE if @widget is a toplevel, %FALSE otherwise
- *
- * Since: 2.18
  **/
 gboolean
 gtk_widget_is_toplevel (GtkWidget *widget)
@@ -7127,8 +7009,6 @@ _gtk_widget_set_is_toplevel (GtkWidget *widget,
  * to if it is mapped and visible.
  *
  * Returns: %TRUE if @widget is drawable, %FALSE otherwise
- *
- * Since: 2.18
  **/
 gboolean
 gtk_widget_is_drawable (GtkWidget *widget)
@@ -7146,8 +7026,6 @@ gtk_widget_is_drawable (GtkWidget *widget)
  * Determines whether @widget is realized.
  *
  * Returns: %TRUE if @widget is realized, %FALSE otherwise
- *
- * Since: 2.20
  **/
 gboolean
 gtk_widget_get_realized (GtkWidget *widget)
@@ -7168,8 +7046,6 @@ gtk_widget_get_realized (GtkWidget *widget)
  *
  * This function should only ever be called in a derived widget's
  * “realize” or “unrealize” implementation.
- *
- * Since: 2.20
  */
 void
 gtk_widget_set_realized (GtkWidget *widget,
@@ -7187,8 +7063,6 @@ gtk_widget_set_realized (GtkWidget *widget,
  * Whether the widget is mapped.
  *
  * Returns: %TRUE if the widget is mapped, %FALSE otherwise.
- *
- * Since: 2.20
  */
 gboolean
 gtk_widget_get_mapped (GtkWidget *widget)
@@ -7262,8 +7136,6 @@ gtk_widget_set_sensitive (GtkWidget *widget,
  * own and its parent widget’s sensitivity. See gtk_widget_is_sensitive().
  *
  * Returns: %TRUE if the widget is sensitive
- *
- * Since: 2.18
  */
 gboolean
 gtk_widget_get_sensitive (GtkWidget *widget)
@@ -7281,8 +7153,6 @@ gtk_widget_get_sensitive (GtkWidget *widget)
  * it is sensitive itself and also its parent widget is sensitive
  *
  * Returns: %TRUE if the widget is effectively sensitive
- *
- * Since: 2.18
  */
 gboolean
 gtk_widget_is_sensitive (GtkWidget *widget)
@@ -7652,8 +7522,6 @@ reset_style_recurse (GtkWidget *widget, gpointer user_data)
  * by updating its widget path. #GtkContainers may want
  * to use this on a child when reordering it in a way that a different
  * style might apply to it. See also gtk_container_get_path_for_child().
- *
- * Since: 3.0
  */
 void
 gtk_widget_reset_style (GtkWidget *widget)
@@ -7975,8 +7843,6 @@ gtk_widget_update_pango_context (GtkWidget *widget)
  *
  * Sets the #cairo_font_options_t used for Pango rendering in this widget.
  * When not set, the default font options for the #GdkDisplay will be used.
- *
- * Since: 3.18
  **/
 void
 gtk_widget_set_font_options (GtkWidget                  *widget,
@@ -8006,8 +7872,6 @@ gtk_widget_set_font_options (GtkWidget                  *widget,
  * the defaults font options for the #GdkDisplay will be used.
  *
  * Returns: (transfer none) (nullable): the #cairo_font_options_t or %NULL if not set
- *
- * Since: 3.18
  **/
 const cairo_font_options_t *
 gtk_widget_get_font_options (GtkWidget *widget)
@@ -8036,8 +7900,6 @@ gtk_widget_set_font_map_recurse (GtkWidget *widget, gpointer user_data)
  *
  * Sets the font map to use for Pango rendering. When not set, the widget
  * will inherit the font map from its parent.
- *
- * Since: 3.18
  */
 void
 gtk_widget_set_font_map (GtkWidget    *widget,
@@ -8068,8 +7930,6 @@ gtk_widget_set_font_map (GtkWidget    *widget,
  * Gets the font map that has been set with gtk_widget_set_font_map().
  *
  * Returns: (transfer none) (nullable): A #PangoFontMap, or %NULL
- *
- * Since: 3.18
  */
 PangoFontMap *
 gtk_widget_get_font_map (GtkWidget *widget)
@@ -8315,8 +8175,6 @@ _gtk_widget_scale_changed (GtkWidget *widget)
  * See gdk_window_get_scale_factor().
  *
  * Returns: the scale factor for @widget
- *
- * Since: 3.10
  */
 gint
 gtk_widget_get_scale_factor (GtkWidget *widget)
@@ -8356,8 +8214,6 @@ gtk_widget_get_scale_factor (GtkWidget *widget)
  * free those resources when the widget is unrealized.
  *
  * Returns: (transfer none): the #GdkDisplay for the toplevel for this widget.
- *
- * Since: 2.2
  **/
 GdkDisplay*
 gtk_widget_get_display (GtkWidget *widget)
@@ -8467,8 +8323,6 @@ gtk_widget_child_focus (GtkWidget       *widget,
  * Returns: %TRUE if stopping keyboard navigation is fine, %FALSE
  *               if the emitting widget should try to handle the keyboard
  *               navigation attempt in its parent container(s).
- *
- * Since: 2.12
  **/
 gboolean
 gtk_widget_keynav_failed (GtkWidget        *widget,
@@ -8495,8 +8349,6 @@ gtk_widget_keynav_failed (GtkWidget        *widget,
  * Note that the effect of gdk_window_beep() can be configured in many
  * ways, depending on the windowing backend and the desktop environment
  * or window manager that is used.
- *
- * Since: 2.12
  **/
 void
 gtk_widget_error_bell (GtkWidget *widget)
@@ -9818,8 +9670,6 @@ gtk_widget_propagate_state (GtkWidget          *widget,
  * Sets a shape for this widget’s GDK window. This allows for
  * transparent windows etc., see gdk_window_shape_combine_region()
  * for more information.
- *
- * Since: 3.0
  **/
 void
 gtk_widget_shape_combine_region (GtkWidget *widget,
@@ -9919,8 +9769,6 @@ gtk_widget_set_csd_input_shape (GtkWidget            *widget,
  * Sets an input shape for this widget’s GDK window. This allows for
  * windows which react to mouse click in a nonrectangular region, see
  * gdk_window_input_shape_combine_region() for more information.
- *
- * Since: 3.0
  **/
 void
 gtk_widget_input_shape_combine_region (GtkWidget      *widget,
@@ -9946,8 +9794,6 @@ gtk_widget_input_shape_combine_region (GtkWidget      *widget,
  *
  * Returns: a new empty #GtkRequisition. The newly allocated #GtkRequisition should
  *   be freed with gtk_requisition_free().
- *
- * Since: 3.0
  */
 GtkRequisition *
 gtk_requisition_new (void)
@@ -9995,8 +9841,6 @@ G_DEFINE_BOXED_TYPE (GtkRequisition, gtk_requisition,
  * accessibles of the parent class.
  *
  * This function should only be called from class init functions of widgets.
- *
- * Since: 3.2
  **/
 void
 gtk_widget_class_set_accessible_type (GtkWidgetClass *widget_class,
@@ -10033,8 +9877,6 @@ gtk_widget_class_set_accessible_type (GtkWidgetClass *widget_class,
  * and the accessible’s default role will be used instead.
  *
  * This function should only be called from class init functions of widgets.
- *
- * Since: 3.2
  **/
 void
 gtk_widget_class_set_accessible_role (GtkWidgetClass *widget_class,
@@ -11340,8 +11182,6 @@ gtk_widget_set_valign (GtkWidget *widget,
  * Gets the value of the #GtkWidget:margin-start property.
  *
  * Returns: The start margin of @widget
- *
- * Since: 3.12
  */
 gint
 gtk_widget_get_margin_start (GtkWidget *widget)
@@ -11358,8 +11198,6 @@ gtk_widget_get_margin_start (GtkWidget *widget)
  *
  * Sets the start margin of @widget.
  * See the #GtkWidget:margin-start property.
- *
- * Since: 3.12
  */
 void
 gtk_widget_set_margin_start (GtkWidget *widget,
@@ -11385,8 +11223,6 @@ gtk_widget_set_margin_start (GtkWidget *widget,
  * Gets the value of the #GtkWidget:margin-end property.
  *
  * Returns: The end margin of @widget
- *
- * Since: 3.12
  */
 gint
 gtk_widget_get_margin_end (GtkWidget *widget)
@@ -11403,8 +11239,6 @@ gtk_widget_get_margin_end (GtkWidget *widget)
  *
  * Sets the end margin of @widget.
  * See the #GtkWidget:margin-end property.
- *
- * Since: 3.12
  */
 void
 gtk_widget_set_margin_end (GtkWidget *widget,
@@ -11430,8 +11264,6 @@ gtk_widget_set_margin_end (GtkWidget *widget,
  * Gets the value of the #GtkWidget:margin-top property.
  *
  * Returns: The top margin of @widget
- *
- * Since: 3.0
  */
 gint
 gtk_widget_get_margin_top (GtkWidget *widget)
@@ -11448,8 +11280,6 @@ gtk_widget_get_margin_top (GtkWidget *widget)
  *
  * Sets the top margin of @widget.
  * See the #GtkWidget:margin-top property.
- *
- * Since: 3.0
  */
 void
 gtk_widget_set_margin_top (GtkWidget *widget,
@@ -11473,8 +11303,6 @@ gtk_widget_set_margin_top (GtkWidget *widget,
  * Gets the value of the #GtkWidget:margin-bottom property.
  *
  * Returns: The bottom margin of @widget
- *
- * Since: 3.0
  */
 gint
 gtk_widget_get_margin_bottom (GtkWidget *widget)
@@ -11491,8 +11319,6 @@ gtk_widget_get_margin_bottom (GtkWidget *widget)
  *
  * Sets the bottom margin of @widget.
  * See the #GtkWidget:margin-bottom property.
- *
- * Since: 3.0
  */
 void
 gtk_widget_set_margin_bottom (GtkWidget *widget,
@@ -11520,8 +11346,6 @@ gtk_widget_set_margin_bottom (GtkWidget *widget,
  * realized yet.
  *
  * Returns: (transfer none): the appropriate clipboard object.
- *
- * Since: 3.94
  **/
 GdkClipboard *
 gtk_widget_get_clipboard (GtkWidget *widget)
@@ -11542,8 +11366,6 @@ gtk_widget_get_clipboard (GtkWidget *widget)
  * realized yet.
  *
  * Returns: (transfer none): the appropriate clipboard object.
- *
- * Since: 3.94
  **/
 GdkClipboard *
 gtk_widget_get_primary_clipboard (GtkWidget *widget)
@@ -11571,8 +11393,6 @@ gtk_widget_get_primary_clipboard (GtkWidget *widget)
  * Returns: (element-type GtkWidget) (transfer container): the list of
  *  mnemonic labels; free this list
  *  with g_list_free() when you are done with it.
- *
- * Since: 2.4
  **/
 GList *
 gtk_widget_list_mnemonic_labels (GtkWidget *widget)
@@ -11599,8 +11419,6 @@ gtk_widget_list_mnemonic_labels (GtkWidget *widget)
  * widget is destroyed, so the caller must make sure to update
  * its internal state at this point as well, by using a connection
  * to the #GtkWidget::destroy signal or a weak notifier.
- *
- * Since: 2.4
  **/
 void
 gtk_widget_add_mnemonic_label (GtkWidget *widget,
@@ -11628,8 +11446,6 @@ gtk_widget_add_mnemonic_label (GtkWidget *widget,
  * this widget. (See gtk_widget_list_mnemonic_labels()). The widget
  * must have previously been added to the list with
  * gtk_widget_add_mnemonic_label().
- *
- * Since: 2.4
  **/
 void
 gtk_widget_remove_mnemonic_label (GtkWidget *widget,
@@ -11673,8 +11489,6 @@ gtk_widget_real_set_has_tooltip (GtkWidget *widget,
  * hiding @custom_window at the right moment, to behave likewise as
  * the default tooltip window. If @custom_window is %NULL, the default
  * tooltip window will be used.
- *
- * Since: 2.12
  */
 void
 gtk_widget_set_tooltip_window (GtkWidget *widget,
@@ -11710,8 +11524,6 @@ gtk_widget_set_tooltip_window (GtkWidget *widget,
  * using gtk_widget_set_tooltip_window().
  *
  * Returns: (transfer none): The #GtkWindow of the current tooltip.
- *
- * Since: 2.12
  */
 GtkWindow *
 gtk_widget_get_tooltip_window (GtkWidget *widget)
@@ -11728,8 +11540,6 @@ gtk_widget_get_tooltip_window (GtkWidget *widget)
  * Triggers a tooltip query on the display where the toplevel of @widget
  * is located. See gtk_tooltip_trigger_tooltip_query() for more
  * information.
- *
- * Since: 2.12
  */
 void
 gtk_widget_trigger_tooltip_query (GtkWidget *widget)
@@ -11779,8 +11589,6 @@ gtk_widget_queue_tooltip_query (GtkWidget *widget)
  * handler for the #GtkWidget::query-tooltip signal.
  *
  * See also the #GtkWidget:tooltip-text property and gtk_tooltip_set_text().
- *
- * Since: 2.12
  */
 void
 gtk_widget_set_tooltip_text (GtkWidget   *widget,
@@ -11799,8 +11607,6 @@ gtk_widget_set_tooltip_text (GtkWidget   *widget,
  *
  * Returns: (nullable): the tooltip text, or %NULL. You should free the
  *   returned string with g_free() when done.
- *
- * Since: 2.12
  */
 gchar *
 gtk_widget_get_tooltip_text (GtkWidget *widget)
@@ -11827,8 +11633,6 @@ gtk_widget_get_tooltip_text (GtkWidget *widget)
  *
  * See also the #GtkWidget:tooltip-markup property and
  * gtk_tooltip_set_markup().
- *
- * Since: 2.12
  */
 void
 gtk_widget_set_tooltip_markup (GtkWidget   *widget,
@@ -11847,8 +11651,6 @@ gtk_widget_set_tooltip_markup (GtkWidget   *widget,
  *
  * Returns: (nullable): the tooltip text, or %NULL. You should free the
  *   returned string with g_free() when done.
- *
- * Since: 2.12
  */
 gchar *
 gtk_widget_get_tooltip_markup (GtkWidget *widget)
@@ -11869,8 +11671,6 @@ gtk_widget_get_tooltip_markup (GtkWidget *widget)
  *
  * Sets the has-tooltip property on @widget to @has_tooltip.  See
  * #GtkWidget:has-tooltip for more information.
- *
- * Since: 2.12
  */
 void
 gtk_widget_set_has_tooltip (GtkWidget *widget,
@@ -11889,8 +11689,6 @@ gtk_widget_set_has_tooltip (GtkWidget *widget,
  * #GtkWidget:has-tooltip for more information.
  *
  * Returns: current value of has-tooltip on @widget.
- *
- * Since: 2.12
  */
 gboolean
 gtk_widget_get_has_tooltip (GtkWidget *widget)
@@ -11912,8 +11710,6 @@ gtk_widget_get_has_tooltip (GtkWidget *widget)
  *
  * Historically, in GTK+ the clip area has been equal to the allocation
  * retrieved via gtk_widget_get_allocation().
- *
- * Since: 3.14
  */
 void
 gtk_widget_get_clip (GtkWidget     *widget,
@@ -12023,8 +11819,6 @@ gtk_widget_set_clip (GtkWidget           *widget,
  * the value returned by this function.
  *
  * If a widget is not visible, its allocated size is 0.
- *
- * Since: 3.20
  */
 void
 gtk_widget_get_allocated_size (GtkWidget     *widget,
@@ -12062,8 +11856,6 @@ gtk_widget_get_allocated_size (GtkWidget     *widget,
  * gtk_widget_size_allocate() allocation, however. So a #GtkContainer
  * is guaranteed that its children stay inside the assigned bounds,
  * but not that they have exactly the bounds the container assigned.
- *
- * Since: 2.18
  */
 void
 gtk_widget_get_allocation (GtkWidget     *widget,
@@ -12098,8 +11890,6 @@ gtk_widget_get_allocation (GtkWidget     *widget,
  * details about those functions.
  *
  * Returns: %TRUE if @widget contains (@x, @y).
- *
- * Since: 3.94
  **/
 gboolean
 gtk_widget_contains (GtkWidget  *widget,
@@ -12137,8 +11927,6 @@ gtk_widget_contains (GtkWidget  *widget,
  *
  * Returns: (nullable) (transfer none): The widget descendant at the given
  *     coordinate or %NULL if none.
- *
- * Since: 3.94
  **/
 GtkWidget *
 gtk_widget_pick (GtkWidget *widget,
@@ -12239,8 +12027,6 @@ gtk_widget_get_allocated_height (GtkWidget *widget)
  * widgets in #GtkWidget::size_allocate.
  *
  * Returns: the baseline of the @widget, or -1 if none
- *
- * Since: 3.10
  **/
 int
 gtk_widget_get_allocated_baseline (GtkWidget *widget)
@@ -12266,8 +12052,6 @@ gtk_widget_get_allocated_baseline (GtkWidget *widget)
  * widget’s init() function.
  *
  * Note that this function does not add any reference to @window.
- *
- * Since: 2.18
  */
 void
 gtk_widget_set_window (GtkWidget *widget,
@@ -12301,8 +12085,6 @@ gtk_widget_set_window (GtkWidget *widget,
  * this up. This is now deprecated and you should use gtk_widget_register_window()
  * instead. Old code will keep working as is, although some new features like
  * transparency might not work perfectly.
- *
- * Since: 3.8
  */
 void
 gtk_widget_register_window (GtkWidget    *widget,
@@ -12331,8 +12113,6 @@ gtk_widget_register_window (GtkWidget    *widget,
  * Unregisters a #GdkWindow from the widget that was previously set up with
  * gtk_widget_register_window(). You need to call this when the window is
  * no longer used by the widget, such as when you destroy it.
- *
- * Since: 3.8
  */
 void
 gtk_widget_unregister_window (GtkWidget    *widget,
@@ -12359,8 +12139,6 @@ gtk_widget_unregister_window (GtkWidget    *widget,
  * Returns the widget’s window if it is realized, %NULL otherwise
  *
  * Returns: (transfer none) (nullable): @widget’s window.
- *
- * Since: 2.14
  */
 GdkWindow*
 gtk_widget_get_window (GtkWidget *widget)
@@ -12396,8 +12174,6 @@ gtk_widget_get_support_multidevice (GtkWidget *widget)
  * @widget will start receiving multiple, per device enter/leave events. Note
  * that if custom #GdkWindows are created in #GtkWidget::realize,
  * gdk_window_set_support_multidevice() will have to be called manually on them.
- *
- * Since: 3.0
  **/
 void
 gtk_widget_set_support_multidevice (GtkWidget *widget,
@@ -12470,8 +12246,6 @@ gtk_widget_update_alpha (GtkWidget *widget)
  * shown causes it to flicker once on Windows.
  *
  * For child widgets it doesn’t work if any affected widget has a native window.
- *
- * Since: 3.8
  **/
 void
 gtk_widget_set_opacity (GtkWidget *widget,
@@ -12506,8 +12280,6 @@ gtk_widget_set_opacity (GtkWidget *widget,
  * See gtk_widget_set_opacity().
  *
  * Returns: the requested opacity for this widget.
- *
- * Since: 3.8
  **/
 gdouble
 gtk_widget_get_opacity (GtkWidget *widget)
@@ -12548,8 +12320,6 @@ gtk_widget_get_opacity (GtkWidget *widget)
  *
  * Returns: the return value from the event signal emission: %TRUE
  *   if the event was handled, and %FALSE otherwise
- *
- * Since: 2.20
  */
 gboolean
 gtk_widget_send_focus_change (GtkWidget *widget,
@@ -12778,8 +12548,6 @@ _gtk_widget_remove_attached_window (GtkWidget    *widget,
  * adding the style classes from @widget.
  *
  * Returns: the position where the data was inserted
- *
- * Since: 3.2
  */
 gint
 gtk_widget_path_append_for_widget (GtkWidgetPath *path,
@@ -12892,8 +12660,6 @@ gtk_widget_clear_path (GtkWidget *widget)
  *
  * If this function is not called for a given class, the name
  * of the parent class is used.
- *
- * Since: 3.20
  */
 void
 gtk_widget_class_set_css_name (GtkWidgetClass *widget_class,
@@ -12924,8 +12690,6 @@ gtk_widget_class_get_visible_by_default (GtkWidgetClass *widget_class)
  * gtk_widget_class_set_css_name() for details.
  *
  * Returns: the CSS name of the given class
- *
- * Since: 3.20
  */
 const char *
 gtk_widget_class_get_css_name (GtkWidgetClass *widget_class)
@@ -13011,8 +12775,6 @@ gtk_widget_get_style_context (GtkWidget *widget)
  * See gdk_keymap_get_modifier_mask().
  *
  * Returns: the modifier mask used for @intent.
- *
- * Since: 3.4
  **/
 GdkModifierType
 gtk_widget_get_modifier_mask (GtkWidget         *widget,
@@ -13101,8 +12863,6 @@ _gtk_widget_get_action_muxer (GtkWidget *widget,
  *
  * If @group is %NULL, a previously inserted group for @name is removed
  * from @widget.
- *
- * Since: 3.6
  */
 void
 gtk_widget_insert_action_group (GtkWidget    *widget,
@@ -13286,8 +13046,6 @@ setup_template_child (GtkWidgetTemplate   *template_data,
  * composite templates, it’s important to build the composite widgets
  * before the construct properties are set. Properties passed to g_object_new()
  * should take precedence over properties set in the private template XML.
- *
- * Since: 3.10
  */
 void
 gtk_widget_init_template (GtkWidget *widget)
@@ -13384,8 +13142,6 @@ gtk_widget_init_template (GtkWidget *widget)
  *
  * Note that any class that installs templates must call gtk_widget_init_template()
  * in the widget’s instance initializer.
- *
- * Since: 3.10
  */
 void
 gtk_widget_class_set_template (GtkWidgetClass    *widget_class,
@@ -13408,8 +13164,6 @@ gtk_widget_class_set_template (GtkWidgetClass    *widget_class,
  *
  * Note that any class that installs templates must call gtk_widget_init_template()
  * in the widget’s instance initializer.
- *
- * Since: 3.10
  */
 void
 gtk_widget_class_set_template_from_resource (GtkWidgetClass    *widget_class,
@@ -13453,8 +13207,6 @@ gtk_widget_class_set_template_from_resource (GtkWidgetClass    *widget_class,
  *
  * Note that this must be called from a composite widget classes class
  * initializer after calling gtk_widget_class_set_template().
- *
- * Since: 3.10
  */
 void
 gtk_widget_class_bind_template_callback_full (GtkWidgetClass *widget_class,
@@ -13485,8 +13237,6 @@ gtk_widget_class_bind_template_callback_full (GtkWidgetClass *widget_class,
  *
  * Note that this must be called from a composite widget classes class
  * initializer after calling gtk_widget_class_set_template().
- *
- * Since: 3.10
  */
 void
 gtk_widget_class_set_connect_func (GtkWidgetClass        *widget_class,
@@ -13538,8 +13288,6 @@ gtk_widget_class_set_connect_func (GtkWidgetClass        *widget_class,
  *
  * Note that this must be called from a composite widget classes class
  * initializer after calling gtk_widget_class_set_template().
- *
- * Since: 3.10
  */
 void
 gtk_widget_class_bind_template_child_full (GtkWidgetClass *widget_class,
@@ -13606,8 +13354,6 @@ gtk_widget_get_template_child (GtkWidget   *widget,
  * #GActionGroup's available to @widget.
  *
  * Returns: (transfer container): a %NULL-terminated array of strings.
- *
- * Since: 3.16
  */
 const gchar **
 gtk_widget_list_action_prefixes (GtkWidget *widget)
@@ -13635,8 +13381,6 @@ gtk_widget_list_action_prefixes (GtkWidget *widget)
  * If no action group was found matching @prefix, then %NULL is returned.
  *
  * Returns: (transfer none) (nullable): A #GActionGroup or %NULL.
- *
- * Since: 3.16
  */
 GActionGroup *
 gtk_widget_get_action_group (GtkWidget   *widget,
@@ -14225,8 +13969,6 @@ gtk_widget_render (GtkWidget            *widget,
  * @widget: a #GtkWidget
  *
  * Returns: (transfer none) (nullable): The widget's first child
- *
- * Since: 3.90
  */
 GtkWidget *
 gtk_widget_get_first_child (GtkWidget *widget)
@@ -14241,8 +13983,6 @@ gtk_widget_get_first_child (GtkWidget *widget)
  * @widget: a #GtkWidget
  *
  * Returns: (transfer none) (nullable): The widget's last child
- *
- * Since: 3.90
  */
 GtkWidget *
 gtk_widget_get_last_child (GtkWidget *widget)
@@ -14257,8 +13997,6 @@ gtk_widget_get_last_child (GtkWidget *widget)
  * @widget: a #GtkWidget
  *
  * Returns: (transfer none) (nullable): The widget's next sibling
- *
- * Since: 3.90
  */
 GtkWidget *
 gtk_widget_get_next_sibling (GtkWidget *widget)
@@ -14273,8 +14011,6 @@ gtk_widget_get_next_sibling (GtkWidget *widget)
  * @widget: a #GtkWidget
  *
  * Returns: (transfer none) (nullable): The widget's previous sibling
- *
- * Since: 3.90
  */
 GtkWidget *
 gtk_widget_get_prev_sibling (GtkWidget *widget)
@@ -14297,8 +14033,6 @@ gtk_widget_get_prev_sibling (GtkWidget *widget)
  *
  * If @parent is already set as the parent widget of @widget, this function can also be used
  * to reorder @widget in the child widget list of @parent.
- *
- * Since: 3.92
  */
 void
 gtk_widget_insert_after (GtkWidget *widget,
@@ -14335,8 +14069,6 @@ gtk_widget_insert_after (GtkWidget *widget,
  *
  * If @parent is already set as the parent widget of @widget, this function can also be used
  * to reorder @widget in the child widget list of @parent.
- *
- * Since: 3.92
  */
 void
 gtk_widget_insert_before (GtkWidget *widget,
@@ -14476,8 +14208,6 @@ gtk_widget_get_focus_child (GtkWidget *widget)
  *
  * If the @cursor is NULL, @widget will use the cursor inherited from the
  * parent widget.
- *
- * Since: 3.94
  **/
 void
 gtk_widget_set_cursor (GtkWidget *widget,
@@ -14512,8 +14242,6 @@ gtk_widget_set_cursor (GtkWidget *widget,
  *
  * On top of that, this function allows @name to be %NULL, which will
  * do the same as calling gtk_widget_set_cursor() with a %NULL cursor.
- *
- * Since: 3.94
  **/
 void
 gtk_widget_set_cursor_from_name (GtkWidget  *widget,
@@ -14544,8 +14272,6 @@ gtk_widget_set_cursor_from_name (GtkWidget  *widget,
  *
  * Returns: (nullable) (transfer none): the cursor curently in use or %NULL
  *     to use the default.
- *
- * Since: 3.94
  **/
 GdkCursor *
 gtk_widget_get_cursor (GtkWidget *widget)
@@ -14587,8 +14313,6 @@ gtk_widget_init_legacy_controller (GtkWidget *widget)
  * events, see gtk_widget_contains().
  *
  * Returns: The width of @widget
- *
- * Since: 3.94
  */
 int
 gtk_widget_get_width (GtkWidget *widget)
@@ -14619,8 +14343,6 @@ gtk_widget_get_width (GtkWidget *widget)
  * events, see gtk_widget_contains().
  *
  * Returns: The height of @widget
- *
- * Since: 3.94
  */
 int
 gtk_widget_get_height (GtkWidget *widget)
diff --git a/gtk/gtkwidget.h b/gtk/gtkwidget.h
index 0e7a7cb..58b7f3d 100644
--- a/gtk/gtkwidget.h
+++ b/gtk/gtkwidget.h
@@ -90,8 +90,6 @@ typedef void    (*GtkCallback)     (GtkWidget        *widget,
  *
  * Returns: %G_SOURCE_CONTINUE if the tick callback should continue to be called,
  *  %G_SOURCE_REMOVE if the tick callback should be removed.
- *
- * Since: 3.8
  */
 typedef gboolean (*GtkTickCallback) (GtkWidget     *widget,
                                      GdkFrameClock *frame_clock,
@@ -430,9 +428,9 @@ GDK_AVAILABLE_IN_ALL
 void      gtk_widget_queue_resize        (GtkWidget           *widget);
 GDK_AVAILABLE_IN_ALL
 void      gtk_widget_queue_resize_no_redraw (GtkWidget *widget);
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 void       gtk_widget_queue_allocate      (GtkWidget           *widget);
-GDK_AVAILABLE_IN_3_8
+GDK_AVAILABLE_IN_ALL
 GdkFrameClock* gtk_widget_get_frame_clock (GtkWidget           *widget);
 
 GDK_AVAILABLE_IN_ALL
@@ -443,7 +441,7 @@ void           gtk_widget_size_allocate       (GtkWidget           *widget,
 
 GDK_AVAILABLE_IN_ALL
 GtkSizeRequestMode  gtk_widget_get_request_mode               (GtkWidget      *widget);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 void gtk_widget_measure (GtkWidget      *widget,
                          GtkOrientation  orientation,
                          int             for_size,
@@ -512,14 +510,14 @@ GDK_AVAILABLE_IN_ALL
 gboolean   gtk_widget_has_focus           (GtkWidget           *widget);
 GDK_AVAILABLE_IN_ALL
 gboolean   gtk_widget_is_focus            (GtkWidget           *widget);
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 gboolean   gtk_widget_has_visible_focus   (GtkWidget           *widget);
 GDK_AVAILABLE_IN_ALL
 void       gtk_widget_grab_focus          (GtkWidget           *widget);
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 void       gtk_widget_set_focus_on_click  (GtkWidget           *widget,
                                            gboolean             focus_on_click);
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 gboolean   gtk_widget_get_focus_on_click  (GtkWidget           *widget);
 
 GDK_AVAILABLE_IN_ALL
@@ -620,10 +618,10 @@ void                  gtk_widget_set_window             (GtkWidget    *widget,
                                                          GdkWindow    *window);
 GDK_AVAILABLE_IN_ALL
 GdkWindow           * gtk_widget_get_window             (GtkWidget    *widget);
-GDK_AVAILABLE_IN_3_8
+GDK_AVAILABLE_IN_ALL
 void                  gtk_widget_register_window        (GtkWidget    *widget,
                                                          GdkWindow    *window);
-GDK_AVAILABLE_IN_3_8
+GDK_AVAILABLE_IN_ALL
 void                  gtk_widget_unregister_window      (GtkWidget    *widget,
                                                          GdkWindow    *window);
 
@@ -631,9 +629,9 @@ GDK_AVAILABLE_IN_ALL
 int                   gtk_widget_get_allocated_width    (GtkWidget     *widget);
 GDK_AVAILABLE_IN_ALL
 int                   gtk_widget_get_allocated_height   (GtkWidget     *widget);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 int                   gtk_widget_get_allocated_baseline (GtkWidget     *widget);
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 void                  gtk_widget_get_allocated_size     (GtkWidget     *widget,
                                                          GtkAllocation *allocation,
                                                          int           *baseline);
@@ -641,12 +639,12 @@ void                  gtk_widget_get_allocated_size     (GtkWidget     *widget,
 GDK_AVAILABLE_IN_ALL
 void                  gtk_widget_get_allocation         (GtkWidget     *widget,
                                                          GtkAllocation *allocation);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 int                   gtk_widget_get_width              (GtkWidget     *widget);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 int                   gtk_widget_get_height             (GtkWidget     *widget);
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 void                  gtk_widget_get_clip               (GtkWidget     *widget,
                                                          GtkAllocation *clip);
 
@@ -667,10 +665,10 @@ GDK_AVAILABLE_IN_ALL
 void       gtk_widget_get_size_request    (GtkWidget           *widget,
                                            gint                *width,
                                            gint                *height);
-GDK_AVAILABLE_IN_3_8
+GDK_AVAILABLE_IN_ALL
 void      gtk_widget_set_opacity         (GtkWidget           *widget,
                                           double               opacity);
-GDK_AVAILABLE_IN_3_8
+GDK_AVAILABLE_IN_ALL
 double    gtk_widget_get_opacity         (GtkWidget           *widget);
 
 GDK_AVAILABLE_IN_ALL
@@ -679,15 +677,15 @@ GDK_AVAILABLE_IN_ALL
 GtkWidget*   gtk_widget_get_ancestor   (GtkWidget      *widget,
                                         GType           widget_type);
 
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 gint          gtk_widget_get_scale_factor (GtkWidget *widget);
 GDK_AVAILABLE_IN_ALL
 GdkDisplay *  gtk_widget_get_display     (GtkWidget *widget);
 GDK_AVAILABLE_IN_ALL
 GtkSettings*  gtk_widget_get_settings    (GtkWidget *widget);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GdkClipboard *gtk_widget_get_clipboard   (GtkWidget *widget);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GdkClipboard *gtk_widget_get_primary_clipboard (GtkWidget *widget);
 
 
@@ -727,10 +725,10 @@ void             gtk_widget_set_support_multidevice (GtkWidget      *widget,
                                                      gboolean        support_multidevice);
 
 /* Accessibility support */
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 void             gtk_widget_class_set_accessible_type    (GtkWidgetClass     *widget_class,
                                                           GType               type);
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 void             gtk_widget_class_set_accessible_role    (GtkWidgetClass     *widget_class,
                                                           AtkRole             role);
 GDK_AVAILABLE_IN_ALL
@@ -748,14 +746,14 @@ GtkAlign gtk_widget_get_valign        (GtkWidget *widget);
 GDK_AVAILABLE_IN_ALL
 void     gtk_widget_set_valign        (GtkWidget *widget,
                                        GtkAlign   align);
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 gint     gtk_widget_get_margin_start  (GtkWidget *widget);
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 void     gtk_widget_set_margin_start  (GtkWidget *widget,
                                        gint       margin);
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 gint     gtk_widget_get_margin_end    (GtkWidget *widget);
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 void     gtk_widget_set_margin_end    (GtkWidget *widget,
                                        gint       margin);
 GDK_AVAILABLE_IN_ALL
@@ -781,11 +779,11 @@ gboolean     gtk_widget_translate_coordinates (GtkWidget  *src_widget,
                                               gint       *dest_x,
                                               gint       *dest_y);
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 gboolean     gtk_widget_contains              (GtkWidget  *widget,
                                                gdouble     x,
                                                gdouble     y);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GtkWidget *  gtk_widget_pick                  (GtkWidget  *widget,
                                                gdouble     x,
                                                gdouble     y);
@@ -797,10 +795,10 @@ GDK_AVAILABLE_IN_ALL
 PangoContext *gtk_widget_create_pango_context (GtkWidget   *widget);
 GDK_AVAILABLE_IN_ALL
 PangoContext *gtk_widget_get_pango_context    (GtkWidget   *widget);
-GDK_AVAILABLE_IN_3_18
+GDK_AVAILABLE_IN_ALL
 void gtk_widget_set_font_options (GtkWidget                  *widget,
                                   const cairo_font_options_t *options);
-GDK_AVAILABLE_IN_3_18
+GDK_AVAILABLE_IN_ALL
 const cairo_font_options_t *gtk_widget_get_font_options (GtkWidget *widget);
 GDK_AVAILABLE_IN_ALL
 PangoLayout  *gtk_widget_create_pango_layout  (GtkWidget   *widget,
@@ -828,13 +826,13 @@ GDK_AVAILABLE_IN_ALL
 void        gtk_widget_input_shape_combine_region (GtkWidget *widget,
                                                     cairo_region_t *region);
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void                    gtk_widget_set_cursor                   (GtkWidget              *widget,
                                                                  GdkCursor              *cursor);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void                    gtk_widget_set_cursor_from_name         (GtkWidget              *widget,
                                                                  const char             *name);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 GdkCursor *             gtk_widget_get_cursor                   (GtkWidget              *widget);
 
 GDK_AVAILABLE_IN_ALL
@@ -887,30 +885,30 @@ GtkStyleContext * gtk_widget_get_style_context (GtkWidget *widget);
 GDK_AVAILABLE_IN_ALL
 GtkWidgetPath *   gtk_widget_get_path (GtkWidget *widget);
 
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 void              gtk_widget_class_set_css_name (GtkWidgetClass *widget_class,
                                                  const char     *name);
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 const char *      gtk_widget_class_get_css_name (GtkWidgetClass *widget_class);
 
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 GdkModifierType   gtk_widget_get_modifier_mask (GtkWidget         *widget,
                                                 GdkModifierIntent  intent);
 
-GDK_AVAILABLE_IN_3_6
+GDK_AVAILABLE_IN_ALL
 void                    gtk_widget_insert_action_group                  (GtkWidget    *widget,
                                                                          const gchar  *name,
                                                                          GActionGroup *group);
 
 
 
-GDK_AVAILABLE_IN_3_8
+GDK_AVAILABLE_IN_ALL
 guint gtk_widget_add_tick_callback (GtkWidget       *widget,
                                     GtkTickCallback  callback,
                                     gpointer         user_data,
                                     GDestroyNotify   notify);
 
-GDK_AVAILABLE_IN_3_8
+GDK_AVAILABLE_IN_ALL
 void gtk_widget_remove_tick_callback (GtkWidget       *widget,
                                       guint            id);
 
@@ -923,8 +921,6 @@ void gtk_widget_remove_tick_callback (GtkWidget       *widget,
  *
  * This macro is a convenience wrapper around the
  * gtk_widget_class_bind_template_callback_full() function.
- *
- * Since: 3.10
  */
 #define gtk_widget_class_bind_template_callback(widget_class, callback) \
   gtk_widget_class_bind_template_callback_full (GTK_WIDGET_CLASS (widget_class), \
@@ -944,8 +940,6 @@ void gtk_widget_remove_tick_callback (GtkWidget       *widget,
  *
  * This macro will use the offset of the @member_name inside the @TypeName
  * instance structure.
- *
- * Since: 3.10
  */
 #define gtk_widget_class_bind_template_child(widget_class, TypeName, member_name) \
   gtk_widget_class_bind_template_child_full (widget_class, \
@@ -968,8 +962,6 @@ void gtk_widget_remove_tick_callback (GtkWidget       *widget,
  *
  * This macro will use the offset of the @member_name inside the @TypeName
  * instance structure.
- *
- * Since: 3.10
  */
 #define gtk_widget_class_bind_template_child_internal(widget_class, TypeName, member_name) \
   gtk_widget_class_bind_template_child_full (widget_class, \
@@ -991,8 +983,6 @@ void gtk_widget_remove_tick_callback (GtkWidget       *widget,
  * This macro will use the offset of the @member_name inside the @TypeName
  * private data structure (it uses G_PRIVATE_OFFSET(), so the private struct
  * must be added with G_ADD_PRIVATE()).
- *
- * Since: 3.10
  */
 #define gtk_widget_class_bind_template_child_private(widget_class, TypeName, member_name) \
   gtk_widget_class_bind_template_child_full (widget_class, \
@@ -1015,8 +1005,6 @@ void gtk_widget_remove_tick_callback (GtkWidget       *widget,
  *
  * This macro will use the offset of the @member_name inside the @TypeName
  * private data structure.
- *
- * Since: 3.10
  */
 #define gtk_widget_class_bind_template_child_internal_private(widget_class, TypeName, member_name) \
   gtk_widget_class_bind_template_child_full (widget_class, \
@@ -1024,66 +1012,66 @@ void gtk_widget_remove_tick_callback (GtkWidget       *widget,
                                              TRUE, \
                                              G_PRIVATE_OFFSET (TypeName, member_name))
 
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void    gtk_widget_init_template                        (GtkWidget             *widget);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 GObject *gtk_widget_get_template_child                  (GtkWidget             *widget,
                                                         GType                  widget_type,
                                                         const gchar           *name);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void    gtk_widget_class_set_template                   (GtkWidgetClass        *widget_class,
                                                         GBytes                *template_bytes);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void    gtk_widget_class_set_template_from_resource     (GtkWidgetClass        *widget_class,
                                                         const gchar           *resource_name);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void    gtk_widget_class_bind_template_callback_full    (GtkWidgetClass        *widget_class,
                                                         const gchar           *callback_name,
                                                         GCallback              callback_symbol);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void    gtk_widget_class_set_connect_func               (GtkWidgetClass        *widget_class,
                                                         GtkBuilderConnectFunc  connect_func,
                                                         gpointer               connect_data,
                                                         GDestroyNotify         connect_data_destroy);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void    gtk_widget_class_bind_template_child_full       (GtkWidgetClass        *widget_class,
                                                         const gchar           *name,
                                                         gboolean               internal_child,
                                                         gssize                 struct_offset);
 
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 GActionGroup           *gtk_widget_get_action_group     (GtkWidget             *widget,
                                                          const gchar           *prefix);
 
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 const gchar **          gtk_widget_list_action_prefixes (GtkWidget             *widget);
 
-GDK_AVAILABLE_IN_3_18
+GDK_AVAILABLE_IN_ALL
 void                    gtk_widget_set_font_map         (GtkWidget             *widget,
                                                          PangoFontMap          *font_map);
-GDK_AVAILABLE_IN_3_18
+GDK_AVAILABLE_IN_ALL
 PangoFontMap *          gtk_widget_get_font_map         (GtkWidget             *widget);
 
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GtkWidget *             gtk_widget_get_first_child      (GtkWidget *widget);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GtkWidget *             gtk_widget_get_last_child       (GtkWidget *widget);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GtkWidget *             gtk_widget_get_next_sibling     (GtkWidget *widget);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 GtkWidget *             gtk_widget_get_prev_sibling     (GtkWidget *widget);
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 void                    gtk_widget_insert_after         (GtkWidget *widget,
                                                          GtkWidget *parent,
                                                          GtkWidget *previous_sibling);
-GDK_AVAILABLE_IN_3_92
+GDK_AVAILABLE_IN_ALL
 void                    gtk_widget_insert_before        (GtkWidget *widget,
                                                          GtkWidget *parent,
                                                          GtkWidget *next_sibling);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 void                    gtk_widget_set_focus_child      (GtkWidget *widget,
                                                          GtkWidget *child);
-GDK_AVAILABLE_IN_3_90
+GDK_AVAILABLE_IN_ALL
 void                    gtk_widget_snapshot_child       (GtkWidget   *widget,
                                                          GtkWidget   *child,
                                                          GtkSnapshot *snapshot);
diff --git a/gtk/gtkwidgetpath.c b/gtk/gtkwidgetpath.c
index 8f15f14..c82f170 100644
--- a/gtk/gtkwidgetpath.c
+++ b/gtk/gtkwidgetpath.c
@@ -109,8 +109,6 @@ struct _GtkWidgetPath
  * Returns an empty widget path.
  *
  * Returns: (transfer full): A newly created, empty, #GtkWidgetPath
- *
- * Since: 3.0
  **/
 GtkWidgetPath *
 gtk_widget_path_new (void)
@@ -143,8 +141,6 @@ gtk_path_element_copy (GtkPathElement       *dest,
  * Returns a copy of @path
  *
  * Returns: (transfer full): a copy of @path
- *
- * Since: 3.0
  **/
 GtkWidgetPath *
 gtk_widget_path_copy (const GtkWidgetPath *path)
@@ -178,8 +174,6 @@ gtk_widget_path_copy (const GtkWidgetPath *path)
  * Increments the reference count on @path.
  *
  * Returns: @path itself.
- *
- * Since: 3.2
  **/
 GtkWidgetPath *
 gtk_widget_path_ref (GtkWidgetPath *path)
@@ -197,8 +191,6 @@ gtk_widget_path_ref (GtkWidgetPath *path)
  *
  * Decrements the reference count on @path, freeing the structure
  * if the reference count reaches 0.
- *
- * Since: 3.2
  **/
 void
 gtk_widget_path_unref (GtkWidgetPath *path)
@@ -232,8 +224,6 @@ gtk_widget_path_unref (GtkWidgetPath *path)
  *
  * Decrements the reference count on @path, freeing the structure
  * if the reference count reaches 0.
- *
- * Since: 3.0
  **/
 void
 gtk_widget_path_free (GtkWidgetPath *path)
@@ -251,8 +241,6 @@ gtk_widget_path_free (GtkWidgetPath *path)
  * widget and its topmost container.
  *
  * Returns: the number of elements in the path
- *
- * Since: 3.0
  **/
 gint
 gtk_widget_path_length (const GtkWidgetPath *path)
@@ -274,8 +262,6 @@ gtk_widget_path_length (const GtkWidgetPath *path)
  * g_print() the path or dump it in a gdb session.
  *
  * Returns: A new string describing @path.
- *
- * Since: 3.2
  **/
 char *
 gtk_widget_path_to_string (const GtkWidgetPath *path)
@@ -349,8 +335,6 @@ gtk_widget_path_to_string (const GtkWidgetPath *path)
  * @type: widget type to prepend
  *
  * Prepends a widget type to the widget hierachy represented by @path.
- *
- * Since: 3.0
  **/
 void
 gtk_widget_path_prepend_type (GtkWidgetPath *path,
@@ -374,8 +358,6 @@ gtk_widget_path_prepend_type (GtkWidgetPath *path,
  * Appends a widget type to the widget hierarchy represented by @path.
  *
  * Returns: the position where the element was inserted
- *
- * Since: 3.0
  **/
 gint
 gtk_widget_path_append_type (GtkWidgetPath *path,
@@ -410,8 +392,6 @@ gtk_widget_path_append_type (GtkWidgetPath *path,
  * involved widgets when the @siblings path changes.
  *
  * Returns: the position where the element was inserted.
- *
- * Since: 3.2
  **/
 gint
 gtk_widget_path_append_with_siblings (GtkWidgetPath *path,
@@ -495,8 +475,6 @@ gtk_widget_path_iter_get_sibling_index (const GtkWidgetPath *path,
  * hierarchy defined in @path.
  *
  * Returns: (nullable): the name or %NULL
- *
- * Since: 3.20
  **/
 const char *
 gtk_widget_path_iter_get_object_name (const GtkWidgetPath *path,
@@ -525,8 +503,6 @@ gtk_widget_path_iter_get_object_name (const GtkWidgetPath *path,
  *
  * When set, the object name overrides the object type when matching
  * CSS.
- *
- * Since: 3.20
  **/
 void
 gtk_widget_path_iter_set_object_name (GtkWidgetPath *path,
@@ -554,8 +530,6 @@ gtk_widget_path_iter_set_object_name (GtkWidgetPath *path,
  * hierarchy defined in @path.
  *
  * Returns: a widget type
- *
- * Since: 3.0
  **/
 GType
 gtk_widget_path_iter_get_object_type (const GtkWidgetPath *path,
@@ -581,8 +555,6 @@ gtk_widget_path_iter_get_object_type (const GtkWidgetPath *path,
  *
  * Sets the object type for a given position in the widget hierarchy
  * defined by @path.
- *
- * Since: 3.0
  **/
 void
 gtk_widget_path_iter_set_object_type (GtkWidgetPath *path,
@@ -611,8 +583,6 @@ gtk_widget_path_iter_set_object_type (GtkWidgetPath *path,
  * @path
  *
  * Returns: The state flags
- *
- * Since: 3.14
  **/
 GtkStateFlags
 gtk_widget_path_iter_get_state (const GtkWidgetPath *path,
@@ -653,9 +623,6 @@ gtk_widget_path_iter_get_state (const GtkWidgetPath *path,
  * |[<!-- language="C" -->
  * gtk_widget_path_iter_set_state (path, pos, gtk_widget_path_iter_get_state (path, pos) & ~flag);
  * ]|
- *
- *
- * Since: 3.14
  **/
 void
 gtk_widget_path_iter_set_state (GtkWidgetPath *path,
@@ -710,8 +677,6 @@ gtk_widget_path_iter_get_name (const GtkWidgetPath *path,
  *
  * Sets the widget name for the widget found at position @pos
  * in the widget hierarchy defined by @path.
- *
- * Since: 3.0
  **/
 void
 gtk_widget_path_iter_set_name (GtkWidgetPath *path,
@@ -742,8 +707,6 @@ gtk_widget_path_iter_set_name (GtkWidgetPath *path,
  * that operates on #GQuarks.
  *
  * Returns: %TRUE if the widget at @pos has this name
- *
- * Since: 3.0
  **/
 gboolean
 gtk_widget_path_iter_has_qname (const GtkWidgetPath *path,
@@ -767,8 +730,6 @@ gtk_widget_path_iter_has_qname (const GtkWidgetPath *path,
  * %FALSE otherwise.
  *
  * Returns: %TRUE if the widget at @pos has this name
- *
- * Since: 3.0
  **/
 gboolean
 gtk_widget_path_iter_has_name (const GtkWidgetPath *path,
@@ -798,8 +759,6 @@ gtk_widget_path_iter_has_name (const GtkWidgetPath *path,
  * Adds the class @name to the widget at position @pos in
  * the hierarchy defined in @path. See
  * gtk_style_context_add_class().
- *
- * Since: 3.0
  **/
 void
 gtk_widget_path_iter_add_class (GtkWidgetPath *path,
@@ -836,8 +795,6 @@ gtk_widget_path_iter_add_qclass (GtkWidgetPath *path,
  *
  * Removes the class @name from the widget at position @pos in
  * the hierarchy defined in @path.
- *
- * Since: 3.0
  **/
 void
 gtk_widget_path_iter_remove_class (GtkWidgetPath *path,
@@ -869,8 +826,6 @@ gtk_widget_path_iter_remove_class (GtkWidgetPath *path,
  *
  * Removes all classes from the widget at position @pos in the
  * hierarchy defined in @path.
- *
- * Since: 3.0
  **/
 void
 gtk_widget_path_iter_clear_classes (GtkWidgetPath *path,
@@ -901,8 +856,6 @@ gtk_widget_path_iter_clear_classes (GtkWidgetPath *path,
  *          classes, This is a list of strings, the #GSList contents
  *          are owned by GTK+, but you should use g_slist_free() to
  *          free the list itself.
- *
- * Since: 3.0
  **/
 GSList *
 gtk_widget_path_iter_list_classes (const GtkWidgetPath *path,
@@ -940,8 +893,6 @@ gtk_widget_path_iter_list_classes (const GtkWidgetPath *path,
  * with GQuarks.
  *
  * Returns: %TRUE if the widget at @pos has the class defined.
- *
- * Since: 3.0
  **/
 gboolean
 gtk_widget_path_iter_has_qclass (const GtkWidgetPath *path,
@@ -972,8 +923,6 @@ gtk_widget_path_iter_has_qclass (const GtkWidgetPath *path,
  * defined, %FALSE otherwise.
  *
  * Returns: %TRUE if the class @name is defined for the widget at @pos
- *
- * Since: 3.0
  **/
 gboolean
 gtk_widget_path_iter_has_class (const GtkWidgetPath *path,
@@ -1005,8 +954,6 @@ gtk_widget_path_iter_has_class (const GtkWidgetPath *path,
  * is representing.
  *
  * Returns: The object type
- *
- * Since: 3.0
  **/
 GType
 gtk_widget_path_get_object_type (const GtkWidgetPath *path)
@@ -1029,8 +976,6 @@ gtk_widget_path_get_object_type (const GtkWidgetPath *path)
  * is @type, or a subtype of it.
  *
  * Returns: %TRUE if the widget represented by @path is of type @type
- *
- * Since: 3.0
  **/
 gboolean
 gtk_widget_path_is_type (const GtkWidgetPath *path,
@@ -1055,8 +1000,6 @@ gtk_widget_path_is_type (const GtkWidgetPath *path,
  * in @path is of type @type, or any subtype of it.
  *
  * Returns: %TRUE if any parent is of type @type
- *
- * Since: 3.0
  **/
 gboolean
 gtk_widget_path_has_parent (const GtkWidgetPath *path,
diff --git a/gtk/gtkwidgetpath.h b/gtk/gtkwidgetpath.h
index 6fcc49b..5a03775 100644
--- a/gtk/gtkwidgetpath.h
+++ b/gtk/gtkwidgetpath.h
@@ -38,14 +38,14 @@ GtkWidgetPath * gtk_widget_path_new                 (void);
 
 GDK_AVAILABLE_IN_ALL
 GtkWidgetPath * gtk_widget_path_copy                (const GtkWidgetPath *path);
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 GtkWidgetPath * gtk_widget_path_ref                 (GtkWidgetPath       *path);
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 void            gtk_widget_path_unref               (GtkWidgetPath       *path);
 GDK_AVAILABLE_IN_ALL
 void            gtk_widget_path_free                (GtkWidgetPath       *path);
 
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 char *          gtk_widget_path_to_string           (const GtkWidgetPath *path);
 GDK_AVAILABLE_IN_ALL
 gint            gtk_widget_path_length              (const GtkWidgetPath *path);
@@ -56,12 +56,12 @@ gint            gtk_widget_path_append_type         (GtkWidgetPath       *path,
 GDK_AVAILABLE_IN_ALL
 void            gtk_widget_path_prepend_type        (GtkWidgetPath       *path,
                                                      GType                type);
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 gint            gtk_widget_path_append_with_siblings(GtkWidgetPath       *path,
                                                      GtkWidgetPath       *siblings,
                                                      guint                sibling_index);
 /* gtk_widget_path_append_for_widget() is declared in gtkwidget.c */
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 gint            gtk_widget_path_append_for_widget   (GtkWidgetPath       *path,
                                                      GtkWidget           *widget);
 
@@ -72,10 +72,10 @@ GDK_AVAILABLE_IN_ALL
 void                gtk_widget_path_iter_set_object_type  (GtkWidgetPath       *path,
                                                            gint                 pos,
                                                            GType                type);
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 const char *        gtk_widget_path_iter_get_object_name  (const GtkWidgetPath *path,
                                                            gint                 pos);
-GDK_AVAILABLE_IN_3_20
+GDK_AVAILABLE_IN_ALL
 void                gtk_widget_path_iter_set_object_name  (GtkWidgetPath       *path,
                                                            gint                 pos,
                                                            const char          *name);
@@ -102,10 +102,10 @@ GDK_AVAILABLE_IN_ALL
 gboolean               gtk_widget_path_iter_has_qname (const GtkWidgetPath *path,
                                                        gint                 pos,
                                                        GQuark               qname);
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 GtkStateFlags          gtk_widget_path_iter_get_state (const GtkWidgetPath *path,
                                                        gint                 pos);
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 void                   gtk_widget_path_iter_set_state (GtkWidgetPath       *path,
                                                        gint                 pos,
                                                        GtkStateFlags        state);
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
index 3e20ca8..45e109b 100644
--- a/gtk/gtkwindow.c
+++ b/gtk/gtkwindow.c
@@ -850,8 +850,6 @@ gtk_window_class_init (GtkWindowClass *klass)
    * The :startup-id is a write-only property for setting window's
    * startup notification identifier. See gtk_window_set_startup_id()
    * for more details.
-   *
-   * Since: 2.12
    */
   window_props[PROP_STARTUP_ID] =
       g_param_spec_string ("startup-id",
@@ -927,8 +925,6 @@ gtk_window_class_init (GtkWindowClass *klass)
    *
    * This property is maintained by GTK+ based on user input,
    * and should not be set by applications.
-   *
-   * Since: 2.20
    */
   window_props[PROP_MNEMONICS_VISIBLE] =
       g_param_spec_boolean ("mnemonics-visible",
@@ -944,8 +940,6 @@ gtk_window_class_init (GtkWindowClass *klass)
    *
    * This property is maintained by GTK+ based on user input
    * and should not be set by applications.
-   *
-   * Since: 2.20
    */
   window_props[PROP_FOCUS_VISIBLE] =
       g_param_spec_boolean ("focus-visible",
@@ -959,8 +953,6 @@ gtk_window_class_init (GtkWindowClass *klass)
    *
    * The :icon-name property specifies the name of the themed icon to
    * use as the window icon. See #GtkIconTheme for more details.
-   *
-   * Since: 2.6
    */
   window_props[PROP_ICON_NAME] =
       g_param_spec_string ("icon-name",
@@ -1016,8 +1008,6 @@ gtk_window_class_init (GtkWindowClass *klass)
    * GtkWindow:accept-focus:
    *
    * Whether the window should receive the input focus.
-   *
-   * Since: 2.4
    */
   window_props[PROP_ACCEPT_FOCUS] =
       g_param_spec_boolean ("accept-focus",
@@ -1030,8 +1020,6 @@ gtk_window_class_init (GtkWindowClass *klass)
    * GtkWindow:focus-on-map:
    *
    * Whether the window should receive the input focus when mapped.
-   *
-   * Since: 2.6
    */
   window_props[PROP_FOCUS_ON_MAP] =
       g_param_spec_boolean ("focus-on-map",
@@ -1044,8 +1032,6 @@ gtk_window_class_init (GtkWindowClass *klass)
    * GtkWindow:decorated:
    *
    * Whether the window should be decorated by the window manager.
-   *
-   * Since: 2.4
    */
   window_props[PROP_DECORATED] =
       g_param_spec_boolean ("decorated",
@@ -1058,8 +1044,6 @@ gtk_window_class_init (GtkWindowClass *klass)
    * GtkWindow:deletable:
    *
    * Whether the window frame should have a close button.
-   *
-   * Since: 2.10
    */
   window_props[PROP_DELETABLE] =
       g_param_spec_boolean ("deletable",
@@ -1073,8 +1057,6 @@ gtk_window_class_init (GtkWindowClass *klass)
    *
    * The window gravity of the window. See gtk_window_move() and #GdkGravity for
    * more details about window gravity.
-   *
-   * Since: 2.4
    */
   window_props[PROP_GRAVITY] =
       g_param_spec_enum ("gravity",
@@ -1089,8 +1071,6 @@ gtk_window_class_init (GtkWindowClass *klass)
    *
    * The transient parent of the window. See gtk_window_set_transient_for() for
    * more details about transient windows.
-   *
-   * Since: 2.10
    */
   window_props[PROP_TRANSIENT_FOR] =
       g_param_spec_object ("transient-for",
@@ -1109,8 +1089,6 @@ gtk_window_class_init (GtkWindowClass *klass)
    * for instance a #GtkMenu created by a #GtkComboBox, a completion
    * popup window created by #GtkEntry or a typeahead search entry
    * created by #GtkTreeView.
-   *
-   * Since: 3.4
    */
   window_props[PROP_ATTACHED_TO] =
       g_param_spec_object ("attached-to",
@@ -1138,8 +1116,6 @@ gtk_window_class_init (GtkWindowClass *klass)
    * Normally, the connection between the application and the window
    * will remain until the window is destroyed, but you can explicitly
    * remove it by setting the :application property to %NULL.
-   *
-   * Since: 3.0
    */
   window_props[PROP_APPLICATION] =
       g_param_spec_object ("application",
@@ -1157,8 +1133,6 @@ gtk_window_class_init (GtkWindowClass *klass)
    *
    * This signal is emitted whenever the currently focused widget in
    * this window changes.
-   *
-   * Since: 2.24
    */
   window_signals[SET_FOCUS] =
     g_signal_new (I_("set-focus"),
@@ -1322,8 +1296,6 @@ gtk_window_class_init (GtkWindowClass *klass)
  * gtk_window_maximize() or gtk_window_unmaximize().
  *
  * Returns: whether the window has a maximized state.
- *
- * Since: 3.12
  */
 gboolean
 gtk_window_is_maximized (GtkWindow *window)
@@ -1355,8 +1327,6 @@ _gtk_window_toggle_maximized (GtkWindow *window)
  *
  * This function can be used with close buttons in custom
  * titlebars.
- *
- * Since: 3.10
  */
 void
 gtk_window_close (GtkWindow *window)
@@ -2687,8 +2657,6 @@ gtk_window_set_role (GtkWindow   *window,
  * function generating a window map event.
  *
  * This function is only useful on X11, not with other GTK+ targets.
- * 
- * Since: 2.12
  **/
 void
 gtk_window_set_startup_id (GtkWindow   *window,
@@ -2895,8 +2863,6 @@ gtk_window_set_default (GtkWindow *window,
  *
  * Returns: (nullable) (transfer none): the default widget, or %NULL
  * if there is none.
- *
- * Since: 2.14
  **/
 GtkWidget *
 gtk_window_get_default_widget (GtkWindow *window)
@@ -3567,8 +3533,6 @@ gtk_window_get_transient_for (GtkWindow *window)
  * between two toplevels instead.
  *
  * Passing %NULL for @attach_widget detaches the window.
- *
- * Since: 3.4
  **/
 void
 gtk_window_set_attached_to (GtkWindow *window,
@@ -3613,8 +3577,6 @@ gtk_window_set_attached_to (GtkWindow *window,
  *
  * Returns: (nullable) (transfer none): the widget where the window
  * is attached, or %NULL if the window is not attached to any widget.
- *
- * Since: 3.4
  **/
 GtkWidget *
 gtk_window_get_attached_to (GtkWindow *window)
@@ -3631,8 +3593,6 @@ gtk_window_get_attached_to (GtkWindow *window)
  * Gets the #GtkApplication associated with the window (if any).
  *
  * Returns: (nullable) (transfer none): a #GtkApplication, or %NULL
- *
- * Since: 3.0
  **/
 GtkApplication *
 gtk_window_get_application (GtkWindow *window)
@@ -3675,8 +3635,6 @@ gtk_window_release_application (GtkWindow *window)
  *
  * This is equivalent to calling gtk_application_remove_window() and/or
  * gtk_application_add_window() on the old/new applications as relevant.
- *
- * Since: 3.0
  **/
 void
 gtk_window_set_application (GtkWindow      *window,
@@ -3771,8 +3729,6 @@ gtk_window_get_type_hint (GtkWindow *window)
  * 
  * Windows may set a hint asking the desktop environment not to display
  * the window in the task bar. This function sets this hint.
- * 
- * Since: 2.2
  **/
 void
 gtk_window_set_skip_taskbar_hint (GtkWindow *window,
@@ -3803,8 +3759,6 @@ gtk_window_set_skip_taskbar_hint (GtkWindow *window,
  * Gets the value set by gtk_window_set_skip_taskbar_hint()
  * 
  * Returns: %TRUE if window shouldn’t be in taskbar
- * 
- * Since: 2.2
  **/
 gboolean
 gtk_window_get_skip_taskbar_hint (GtkWindow *window)
@@ -3824,8 +3778,6 @@ gtk_window_get_skip_taskbar_hint (GtkWindow *window)
  * (A "pager" is any desktop navigation tool such as a workspace
  * switcher that displays a thumbnail representation of the windows
  * on the screen.)
- * 
- * Since: 2.2
  **/
 void
 gtk_window_set_skip_pager_hint (GtkWindow *window,
@@ -3856,8 +3808,6 @@ gtk_window_set_skip_pager_hint (GtkWindow *window,
  * Gets the value set by gtk_window_set_skip_pager_hint().
  * 
  * Returns: %TRUE if window shouldn’t be in pager
- * 
- * Since: 2.2
  **/
 gboolean
 gtk_window_get_skip_pager_hint (GtkWindow *window)
@@ -3874,8 +3824,6 @@ gtk_window_get_skip_pager_hint (GtkWindow *window)
  * 
  * Windows may set a hint asking the desktop environment to draw
  * the users attention to the window. This function sets this hint.
- * 
- * Since: 2.8
  **/
 void
 gtk_window_set_urgency_hint (GtkWindow *window,
@@ -3906,8 +3854,6 @@ gtk_window_set_urgency_hint (GtkWindow *window,
  * Gets the value set by gtk_window_set_urgency_hint()
  * 
  * Returns: %TRUE if window is urgent
- * 
- * Since: 2.8
  **/
 gboolean
 gtk_window_get_urgency_hint (GtkWindow *window)
@@ -3924,8 +3870,6 @@ gtk_window_get_urgency_hint (GtkWindow *window)
  * 
  * Windows may set a hint asking the desktop environment not to receive
  * the input focus. This function sets this hint.
- * 
- * Since: 2.4
  **/
 void
 gtk_window_set_accept_focus (GtkWindow *window,
@@ -3956,8 +3900,6 @@ gtk_window_set_accept_focus (GtkWindow *window,
  * Gets the value set by gtk_window_set_accept_focus().
  * 
  * Returns: %TRUE if window should receive the input focus
- * 
- * Since: 2.4
  **/
 gboolean
 gtk_window_get_accept_focus (GtkWindow *window)
@@ -3975,8 +3917,6 @@ gtk_window_get_accept_focus (GtkWindow *window)
  * Windows may set a hint asking the desktop environment not to receive
  * the input focus when the window is mapped.  This function sets this
  * hint.
- * 
- * Since: 2.6
  **/
 void
 gtk_window_set_focus_on_map (GtkWindow *window,
@@ -4008,8 +3948,6 @@ gtk_window_set_focus_on_map (GtkWindow *window,
  * 
  * Returns: %TRUE if window should receive the input focus when
  * mapped.
- * 
- * Since: 2.6
  **/
 gboolean
 gtk_window_get_focus_on_map (GtkWindow *window)
@@ -4080,8 +4018,6 @@ gtk_window_get_destroy_with_parent (GtkWindow *window)
  *
  * If @setting is %TRUE, then clicking the close button on the window
  * will not destroy it, but only hide it.
- *
- * Since: 3.94
  */
 void
 gtk_window_set_hide_on_close (GtkWindow *window,
@@ -4106,8 +4042,6 @@ gtk_window_set_hide_on_close (GtkWindow *window,
  * Returns whether the window will be hidden when the close button is clicked.
  *
  * Returns: %TRUE if the window will be hidden
- *
- * Since: 3.94
  */
 gboolean
 gtk_window_get_hide_on_close (GtkWindow *window)
@@ -4233,8 +4167,6 @@ on_titlebar_title_notify (GtkHeaderBar *titlebar,
  * Depending on the system, this function may not work for a window
  * that is already visible, so you set the titlebar before calling
  * gtk_widget_show().
- *
- * Since: 3.10
  */
 void
 gtk_window_set_titlebar (GtkWindow *window,
@@ -4301,8 +4233,6 @@ out:
  * gtk_window_set_titlebar().
  *
  * Returns: (nullable) (transfer none): the custom titlebar, or %NULL
- *
- * Since: 3.16
  */
 GtkWidget *
 gtk_window_get_titlebar (GtkWindow *window)
@@ -4417,8 +4347,6 @@ gtk_window_get_decorated (GtkWindow *window)
  *
  * On Windows, this function always works, since there’s no window manager
  * policy involved.
- *
- * Since: 2.10
  */
 void
 gtk_window_set_deletable (GtkWindow *window,
@@ -4462,8 +4390,6 @@ gtk_window_set_deletable (GtkWindow *window,
  * via gtk_window_set_deletable().
  *
  * Returns: %TRUE if the window has been set to have a close button
- *
- * Since: 2.10
  **/
 gboolean
 gtk_window_get_deletable (GtkWindow *window)
@@ -4900,8 +4826,6 @@ update_themed_icon (GtkWindow *window)
  *
  * Note that this has nothing to do with the WM_ICON_NAME 
  * property which is mentioned in the ICCCM.
- *
- * Since: 2.6
  */
 void 
 gtk_window_set_icon_name (GtkWindow   *window,
@@ -4938,8 +4862,6 @@ gtk_window_set_icon_name (GtkWindow   *window,
  *
  * Returns: (nullable): the icon name or %NULL if the window has
  * no themed icon
- *
- * Since: 2.6
  */
 const gchar *
 gtk_window_get_icon_name (GtkWindow *window)
@@ -5020,8 +4942,6 @@ load_texture_verbosely (const char *filename,
  * with a surface created by loading the image from @filename.
  *
  * Returns: %TRUE if setting the icon succeeded.
- *
- * Since: 2.2
  **/
 gboolean
 gtk_window_set_icon_from_file (GtkWindow   *window,
@@ -5099,8 +5019,6 @@ gtk_window_set_default_icon_list (GList *list)
  *
  * Sets an icon to be used as fallback for windows that haven't
  * had gtk_window_set_icon() called on them from a surface.
- *
- * Since: 2.4
  **/
 void
 gtk_window_set_default_icon (GdkTexture *icon)
@@ -5121,8 +5039,6 @@ gtk_window_set_default_icon (GdkTexture *icon)
  * Sets an icon to be used as fallback for windows that haven't
  * had gtk_window_set_icon_list() called on them from a named
  * themed icon, see gtk_window_set_icon_name().
- *
- * Since: 2.6
  **/
 void
 gtk_window_set_default_icon_name (const gchar *name)
@@ -5171,8 +5087,6 @@ gtk_window_set_default_icon_name (const gchar *name)
  * gtk_window_set_default_icon_name().
  *
  * Returns: the fallback icon name for windows
- *
- * Since: 2.16
  */
 const gchar *
 gtk_window_get_default_icon_name (void)
@@ -5190,8 +5104,6 @@ gtk_window_get_default_icon_name (void)
  * on disk. Warns on failure if @err is %NULL.
  *
  * Returns: %TRUE if setting the icon succeeded.
- *
- * Since: 2.2
  **/
 gboolean
 gtk_window_set_default_icon_from_file (const gchar *filename,
@@ -7460,8 +7372,6 @@ _gtk_window_query_nonaccels (GtkWindow      *window,
  * overriding the standard key handling for a toplevel window.
  *
  * Returns: %TRUE if a widget in the focus chain handled the event.
- *
- * Since: 2.4
  */
 gboolean
 gtk_window_propagate_key_event (GtkWindow        *window,
@@ -9431,8 +9341,6 @@ gtk_window_present (GtkWindow *window)
  * Presents a window to the user in response to a user interaction.
  * If you need to present a window without a timestamp, use 
  * gtk_window_present(). See gtk_window_present() for details. 
- * 
- * Since: 2.8
  **/
 void
 gtk_window_present_with_time (GtkWindow *window,
@@ -9674,8 +9582,6 @@ gtk_window_unmaximize (GtkWindow *window)
  * don’t write code that crashes if not.
  *
  * You can track iconification via the #GdkWindow::state property
- *
- * Since: 2.2
  **/
 void
 gtk_window_fullscreen (GtkWindow *window)
@@ -9759,8 +9665,6 @@ gtk_window_fullscreen_on_monitor (GtkWindow  *window,
  * state. Just don’t write code that crashes if not.
  *
  * You can track iconification via the #GdkWindow::state property
- *
- * Since: 2.2
  **/
 void
 gtk_window_unfullscreen (GtkWindow *window)
@@ -9802,8 +9706,6 @@ gtk_window_unfullscreen (GtkWindow *window)
  * the above state is mainly meant for user preferences and should not
  * be used by applications e.g. for drawing attention to their
  * dialogs.
- *
- * Since: 2.4
  **/
 void
 gtk_window_set_keep_above (GtkWindow *window,
@@ -9848,8 +9750,6 @@ gtk_window_set_keep_above (GtkWindow *window,
  * the above state is mainly meant for user preferences and should not
  * be used by applications e.g. for drawing attention to their
  * dialogs.
- *
- * Since: 2.4
  **/
 void
 gtk_window_set_keep_below (GtkWindow *window,
@@ -10053,8 +9953,6 @@ gtk_window_begin_move_drag  (GtkWindow *window,
  * Sets the #GdkDisplay where the @window is displayed; if
  * the window is already mapped, it will be unmapped, and
  * then remapped on the new display.
- *
- * Since: 3.94
  */
 void
 gtk_window_set_display (GtkWindow  *window,
@@ -10156,8 +10054,6 @@ gtk_window_get_display (GtkWindow *window)
  * differently in an active window from a widget in an inactive window.
  * 
  * Returns: %TRUE if the window part of the current active window.
- *
- * Since: 2.4
  **/
 gboolean
 gtk_window_is_active (GtkWindow *window)
@@ -10176,8 +10072,6 @@ gtk_window_is_active (GtkWindow *window)
  * window group.
  *
  * Returns: (transfer none): the #GtkWindowGroup for a window or the default group
- *
- * Since: 2.10
  */
 GtkWindowGroup *
 gtk_window_get_group (GtkWindow *window)
@@ -10437,8 +10331,6 @@ gtk_window_free_key_hash (GtkWindow *window)
  * overriding the standard key handling for a toplevel window.
  *
  * Returns: %TRUE if a mnemonic or accelerator was found and activated.
- *
- * Since: 2.4
  */
 gboolean
 gtk_window_activate_key (GtkWindow   *window,
@@ -10587,8 +10479,6 @@ _gtk_window_set_is_active (GtkWindow *window,
  * In that example, you would disable startup notification
  * temporarily, show your splash screen, then re-enable it so that
  * showing the main window would automatically result in notification.
- * 
- * Since: 2.2
  **/
 void
 gtk_window_set_auto_startup_notification (gboolean setting)
@@ -10603,8 +10493,6 @@ gtk_window_set_auto_startup_notification (gboolean setting)
  * Gets the type of the window. See #GtkWindowType.
  *
  * Returns: the type of the window
- *
- * Since: 2.20
  **/
 GtkWindowType
 gtk_window_get_window_type (GtkWindow *window)
@@ -10622,8 +10510,6 @@ gtk_window_get_window_type (GtkWindow *window)
  *
  * Returns: %TRUE if mnemonics are supposed to be visible
  * in this window.
- *
- * Since: 2.20
  */
 gboolean
 gtk_window_get_mnemonics_visible (GtkWindow *window)
@@ -10639,8 +10525,6 @@ gtk_window_get_mnemonics_visible (GtkWindow *window)
  * @setting: the new value
  *
  * Sets the #GtkWindow:mnemonics-visible property.
- *
- * Since: 2.20
  */
 void
 gtk_window_set_mnemonics_visible (GtkWindow *window,
@@ -10702,8 +10586,6 @@ _gtk_window_schedule_mnemonics_visible (GtkWindow *window)
  *
  * Returns: %TRUE if “focus rectangles” are supposed to be visible
  *     in this window.
- *
- * Since: 3.2
  */
 gboolean
 gtk_window_get_focus_visible (GtkWindow *window)
@@ -10719,8 +10601,6 @@ gtk_window_get_focus_visible (GtkWindow *window)
  * @setting: the new value
  *
  * Sets the #GtkWindow:focus-visible property.
- *
- * Since: 3.2
  */
 void
 gtk_window_set_focus_visible (GtkWindow *window,
@@ -10753,8 +10633,6 @@ gtk_window_set_focus_visible (GtkWindow *window,
  * bindings which may need to keep the window alive until their
  * wrapper object is garbage collected. There is no justification
  * for ever calling this function in an application.
- *
- * Since: 3.0
  */
 void
 gtk_window_set_has_user_ref_count (GtkWindow *window,
@@ -11098,8 +10976,6 @@ gtk_window_set_debugging (gboolean enable,
  * Opens or closes the [interactive debugger][interactive-debugging],
  * which offers access to the widget hierarchy of the application
  * and to useful debugging tools.
- *
- * Since: 3.14
  */
 void
 gtk_window_set_interactive_debugging (gboolean enable)
diff --git a/gtk/gtkwindow.h b/gtk/gtkwindow.h
index e196030..89547fb 100644
--- a/gtk/gtkwindow.h
+++ b/gtk/gtkwindow.h
@@ -66,8 +66,8 @@ struct _GtkWindow
  * @keys_changed: Signal gets emitted when the set of accelerators or
  *   mnemonics that are associated with window changes.
  * @enable_debugging: Class handler for the #GtkWindow::enable-debugging
- *   keybinding signal. Since: 3.14
- * @close_request: Class handler for the #GtkWindow::close-request signal. Since: 3.94
+ *   keybinding signal.
+ * @close_request: Class handler for the #GtkWindow::close-request signal.
  */
 struct _GtkWindowClass
 {
@@ -189,10 +189,10 @@ void       gtk_window_set_transient_for        (GtkWindow           *window,
                                                GtkWindow           *parent);
 GDK_AVAILABLE_IN_ALL
 GtkWindow *gtk_window_get_transient_for        (GtkWindow           *window);
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 void       gtk_window_set_attached_to          (GtkWindow           *window, 
                                                 GtkWidget           *attach_widget);
-GDK_AVAILABLE_IN_3_4
+GDK_AVAILABLE_IN_ALL
 GtkWidget *gtk_window_get_attached_to          (GtkWindow           *window);
 GDK_AVAILABLE_IN_ALL
 void       gtk_window_set_type_hint            (GtkWindow           *window, 
@@ -229,20 +229,20 @@ void       gtk_window_set_destroy_with_parent  (GtkWindow           *window,
                                                 gboolean             setting);
 GDK_AVAILABLE_IN_ALL
 gboolean   gtk_window_get_destroy_with_parent  (GtkWindow           *window);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void       gtk_window_set_hide_on_close        (GtkWindow           *window,
                                                 gboolean             setting);
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 gboolean   gtk_window_get_hide_on_close        (GtkWindow           *window);
 GDK_AVAILABLE_IN_ALL
 void       gtk_window_set_mnemonics_visible    (GtkWindow           *window,
                                                 gboolean             setting);
 GDK_AVAILABLE_IN_ALL
 gboolean   gtk_window_get_mnemonics_visible    (GtkWindow           *window);
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 void       gtk_window_set_focus_visible        (GtkWindow           *window,
                                                 gboolean             setting);
-GDK_AVAILABLE_IN_3_2
+GDK_AVAILABLE_IN_ALL
 gboolean   gtk_window_get_focus_visible        (GtkWindow           *window);
 
 GDK_AVAILABLE_IN_ALL
@@ -257,7 +257,7 @@ void       gtk_window_set_gravity              (GtkWindow           *window,
 GDK_AVAILABLE_IN_ALL
 GdkGravity gtk_window_get_gravity              (GtkWindow           *window);
 
-GDK_AVAILABLE_IN_3_94
+GDK_AVAILABLE_IN_ALL
 void      gtk_window_set_display              (GtkWindow           *window,
                                                GdkDisplay          *display);
 
@@ -369,10 +369,10 @@ GDK_AVAILABLE_IN_ALL
 void     gtk_window_fullscreen    (GtkWindow *window);
 GDK_AVAILABLE_IN_ALL
 void     gtk_window_unfullscreen  (GtkWindow *window);
-GDK_AVAILABLE_IN_3_18
+GDK_AVAILABLE_IN_ALL
 void     gtk_window_fullscreen_on_monitor (GtkWindow  *window,
                                            GdkMonitor *monitor);
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void     gtk_window_close         (GtkWindow *window);
 GDK_AVAILABLE_IN_ALL
 void     gtk_window_set_keep_above    (GtkWindow *window, gboolean setting);
@@ -436,16 +436,16 @@ GDK_AVAILABLE_IN_ALL
 void            gtk_window_set_application      (GtkWindow          *window,
                                                  GtkApplication     *application);
 
-GDK_AVAILABLE_IN_3_10
+GDK_AVAILABLE_IN_ALL
 void     gtk_window_set_titlebar           (GtkWindow    *window,
                                             GtkWidget    *titlebar);
-GDK_AVAILABLE_IN_3_16
+GDK_AVAILABLE_IN_ALL
 GtkWidget *gtk_window_get_titlebar         (GtkWindow    *window);
 
-GDK_AVAILABLE_IN_3_12
+GDK_AVAILABLE_IN_ALL
 gboolean gtk_window_is_maximized           (GtkWindow    *window);
 
-GDK_AVAILABLE_IN_3_14
+GDK_AVAILABLE_IN_ALL
 void     gtk_window_set_interactive_debugging (gboolean enable);
 
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkWindow, g_object_unref)
diff --git a/gtk/gtkwindowgroup.c b/gtk/gtkwindowgroup.c
index 38befc5..da1ddc9 100644
--- a/gtk/gtkwindowgroup.c
+++ b/gtk/gtkwindowgroup.c
@@ -206,8 +206,6 @@ gtk_window_group_remove_window (GtkWindowGroup *window_group,
  *
  * Returns: (element-type GtkWindow) (transfer container): A
  *   newly-allocated list of windows inside the group.
- *
- * Since: 2.14
  **/
 GList *
 gtk_window_group_list_windows (GtkWindowGroup *window_group)
@@ -240,8 +238,6 @@ gtk_window_group_list_windows (GtkWindowGroup *window_group)
  * see gtk_grab_add().
  *
  * Returns: (transfer none): the current grab widget of the group
- *
- * Since: 2.22
  */
 GtkWidget *
 gtk_window_group_get_current_grab (GtkWindowGroup *window_group)
@@ -361,8 +357,6 @@ _gtk_window_group_remove_device_grab (GtkWindowGroup *window_group,
  * Returns the current grab widget for @device, or %NULL if none.
  *
  * Returns: (nullable) (transfer none): The grab widget, or %NULL
- *
- * Since: 3.0
  */
 GtkWidget *
 gtk_window_group_get_current_device_grab (GtkWindowGroup *window_group,


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]