diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
 # Documentation
 Autogenerated documentation for this package can be found at
 
-[https://hackage.haskell.org/package/gi-gtkosxapplication-2.0.16/docs/GI-GtkosxApplication.html](https://hackage.haskell.org/package/gi-gtkosxapplication-2.0.16/docs/GI-GtkosxApplication.html)
+[https://hackage.haskell.org/package/gi-gtkosxapplication-2.0.17/docs/GI-GtkosxApplication.html](https://hackage.haskell.org/package/gi-gtkosxapplication-2.0.17/docs/GI-GtkosxApplication.html)
 
 For general documentation on using [haskell-gi](https://github.com/haskell-gi/haskell-gi) based bindings, see [the project page](https://github.com/haskell-gi/haskell-gi) or [the Wiki](https://github.com/haskell-gi/haskell-gi/wiki).
diff --git a/Setup.hs b/Setup.hs
--- a/Setup.hs
+++ b/Setup.hs
@@ -1,11 +1,17 @@
 {-# LANGUAGE OverloadedStrings #-}
 
-import Data.GI.CodeGen.CabalHooks (setupHaskellGIBinding)
+import Data.GI.CodeGen.CabalHooks (setupBinding, TaggedOverride(..))
 
+import qualified GI.GObject.Config as GObject
+import qualified GI.GdkPixbuf.Config as GdkPixbuf
+import qualified GI.Gtk.Config as Gtk
+
+
 main :: IO ()
-main = setupHaskellGIBinding name version verbose overridesFile outputDir
+main = setupBinding name version verbose overridesFile inheritedOverrides outputDir
   where name = "GtkosxApplication"
         version = "1.0"
         overridesFile = Nothing
         verbose = False
         outputDir = Nothing
+        inheritedOverrides = [TaggedOverride "inherited:GObject" GObject.overrides, TaggedOverride "inherited:GdkPixbuf" GdkPixbuf.overrides, TaggedOverride "inherited:Gtk" Gtk.overrides]
diff --git a/gi-gtkosxapplication.cabal b/gi-gtkosxapplication.cabal
--- a/gi-gtkosxapplication.cabal
+++ b/gi-gtkosxapplication.cabal
@@ -1,12 +1,12 @@
 name:                 gi-gtkosxapplication
-version:              2.0.16
+version:              2.0.17
 synopsis:             GtkosxApplication bindings
 description:          Bindings for GtkosxApplication (provided by gtk-mac-integration), autogenerated by haskell-gi.
 homepage:             https://github.com/haskell-gi/haskell-gi
 license:              LGPL-2.1
 license-file:         LICENSE
 author:               Will Thompson, Iñaki García Etxebarria and Jonas Platte
-maintainer:           Iñaki García Etxebarria (inaki@blueleaf.cc)
+maintainer:           Iñaki García Etxebarria
 category:             Bindings
 build-type:           Custom
 cabal-version:        1.24
@@ -14,20 +14,23 @@
 extra-source-files: README.md ChangeLog.md stack.yaml
 
 custom-setup
-      setup-depends: base >= 4.7 && < 5,
+      setup-depends: base >= 4.9 && < 5,
                      Cabal >= 1.24,
-                     haskell-gi >= 0.21.4 && < 0.22
+                     haskell-gi >= 0.23 && < 0.24,
+                     gi-gtk == 3.0.*,
+                     gi-gdkpixbuf == 2.0.*,
+                     gi-gobject == 2.0.*
 
 library
       default-language: Haskell2010
       default-extensions: NoImplicitPrelude, ScopedTypeVariables, CPP, OverloadedStrings, NegativeLiterals, ConstraintKinds, TypeFamilies, MultiParamTypeClasses, KindSignatures, FlexibleInstances, UndecidableInstances, DataKinds, FlexibleContexts, UndecidableSuperClasses
-      other-extensions: PatternSynonyms, ViewPatterns
+      other-extensions: PatternSynonyms, ViewPatterns, TypeApplications
       ghc-options: -fno-warn-unused-imports -fno-warn-warnings-deprecations
 
       pkgconfig-depends: gtk-mac-integration-gtk3 >= 2.0 && < 3
       build-depends: base >= 4.7 && <5,
-                     haskell-gi-base == 0.21.*,
-                     haskell-gi >= 0.21.4 && < 0.22,
+                     haskell-gi-base >= 0.23 && < 0.24,
+                     haskell-gi >= 0.23.0 && < 0.24,
                      haskell-gi-overloading < 1.1,
                      gi-gtk == 3.0.*,
                      gi-gdkpixbuf == 2.0.*,
@@ -35,9 +38,33 @@
                      bytestring >= 0.10 && < 1,
                      containers >= 0.5 && < 1,
                      text >= 1.0 && < 2,
-                     transformers >= 0.4 	&& < 1
+                     transformers >= 0.4 && < 1
 
       -- Disable overloading when compiling under GHC 8.2.x
       -- see https://ghc.haskell.org/trac/ghc/ticket/14382
       if impl(ghc == 8.2.*)
               build-depends: haskell-gi-overloading == 0.0
+
+      -- Note that the following list of exposed modules and autogen
+      -- modules is for documentation purposes only, so that some
+      -- documentation appears in hackage. The actual list of modules
+      -- to be built will be built at configure time, based on the
+      -- available introspection data.
+
+      exposed-modules: GI.GtkosxApplication.Config,
+                       GI.GtkosxApplication,
+                       GI.GtkosxApplication.Enums,
+                       GI.GtkosxApplication.Functions,
+                       GI.GtkosxApplication.Objects,
+                       GI.GtkosxApplication.Objects.Application,
+                       GI.GtkosxApplication.Structs,
+                       GI.GtkosxApplication.Structs.ApplicationMenuGroup
+
+      autogen-modules: GI.GtkosxApplication.Config,
+                       GI.GtkosxApplication,
+                       GI.GtkosxApplication.Enums,
+                       GI.GtkosxApplication.Functions,
+                       GI.GtkosxApplication.Objects,
+                       GI.GtkosxApplication.Objects.Application,
+                       GI.GtkosxApplication.Structs,
+                       GI.GtkosxApplication.Structs.ApplicationMenuGroup
