diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,7 @@
+### 2.0.22
+
++ Update for haskell-gi(-base)-0.23
+
 ### 2.0.21
 
 + Add support for inherited dependencies
diff --git a/GObject.overrides b/GObject.overrides
--- a/GObject.overrides
+++ b/GObject.overrides
@@ -17,6 +17,11 @@
 # without issue.
 set-attr GObject/Object/set_data_full introspectable 1
 
+# These class structs are useful to expose
+set-attr GObject/InitiallyUnownedClass haskell-gi-force-visible 1
+set-attr GObject/TypeClass haskell-gi-force-visible 1
+set-attr GObject/ObjectClass haskell-gi-force-visible 1
+
 # Generated from gobject 2.48.0 with xsltproc Nullable.xslt GObject-2.0.gir
 set-attr GObject/BindingTransformFunc/@parameters/user_data nullable 1
 set-attr GObject/CClosure/marshal_BOOLEAN__BOXED_BOXED/@parameters/invocation_hint nullable 1
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-gobject-2.0.21/docs/GI-GObject.html](https://hackage.haskell.org/package/gi-gobject-2.0.21/docs/GI-GObject.html)
+[https://hackage.haskell.org/package/gi-gobject-2.0.22/docs/GI-GObject.html](https://hackage.haskell.org/package/gi-gobject-2.0.22/docs/GI-GObject.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/gi-gobject.cabal b/gi-gobject.cabal
--- a/gi-gobject.cabal
+++ b/gi-gobject.cabal
@@ -1,12 +1,12 @@
 name:                 gi-gobject
-version:              2.0.21
+version:              2.0.22
 synopsis:             GObject bindings
 description:          Bindings for GObject, 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
@@ -16,19 +16,19 @@
 custom-setup
       setup-depends: base >= 4.9 && < 5,
                      Cabal >= 1.24,
-                     haskell-gi >= 0.22.5 && < 0.23,
+                     haskell-gi >= 0.23 && < 0.24,
                      gi-glib == 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: gobject-2.0
       build-depends: base >= 4.7 && <5,
-                     haskell-gi-base >= 0.22.0 && < 0.23,
-                     haskell-gi >= 0.22.5 && < 0.23,
+                     haskell-gi-base >= 0.23 && < 0.24,
+                     haskell-gi >= 0.23.0 && < 0.24,
                      haskell-gi-overloading < 1.1,
                      gi-glib == 2.0.*,
                      bytestring >= 0.10 && < 1,
@@ -47,7 +47,8 @@
       -- to be built will be built at configure time, based on the
       -- available introspection data.
 
-      exposed-modules: GI.GObject,
+      exposed-modules: GI.GObject.Config,
+                       GI.GObject,
                        GI.GObject.Callbacks,
                        GI.GObject.Constants,
                        GI.GObject.Flags,
@@ -90,7 +91,9 @@
                        GI.GObject.Structs.EnumValue,
                        GI.GObject.Structs.FlagsClass,
                        GI.GObject.Structs.FlagsValue,
+                       GI.GObject.Structs.InitiallyUnownedClass,
                        GI.GObject.Structs.InterfaceInfo,
+                       GI.GObject.Structs.ObjectClass,
                        GI.GObject.Structs.ObjectConstructParam,
                        GI.GObject.Structs.ParamSpecPool,
                        GI.GObject.Structs.ParamSpecTypeInfo,
@@ -110,7 +113,8 @@
                        GI.GObject.Unions.TypeCValue,
                        GI.GObject.Unions.Value_Data_Union_
 
-      autogen-modules: GI.GObject,
+      autogen-modules: GI.GObject.Config,
+                       GI.GObject,
                        GI.GObject.Callbacks,
                        GI.GObject.Constants,
                        GI.GObject.Flags,
@@ -153,7 +157,9 @@
                        GI.GObject.Structs.EnumValue,
                        GI.GObject.Structs.FlagsClass,
                        GI.GObject.Structs.FlagsValue,
+                       GI.GObject.Structs.InitiallyUnownedClass,
                        GI.GObject.Structs.InterfaceInfo,
+                       GI.GObject.Structs.ObjectClass,
                        GI.GObject.Structs.ObjectConstructParam,
                        GI.GObject.Structs.ParamSpecPool,
                        GI.GObject.Structs.ParamSpecTypeInfo,
