diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,7 @@
+### 4.0.2
+
++ Upgrade to haskell-gi-base-0.24
+
 ### 4.0.1
 
 + Initial release
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-gdk-4.0.1/docs/GI-Gdk.html](https://hackage.haskell.org/package/gi-gdk-4.0.1/docs/GI-Gdk.html)
+[https://hackage.haskell.org/package/gi-gdk-4.0.2/docs/GI-Gdk.html](https://hackage.haskell.org/package/gi-gdk-4.0.2/docs/GI-Gdk.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-gdk.cabal b/gi-gdk.cabal
--- a/gi-gdk.cabal
+++ b/gi-gdk.cabal
@@ -1,5 +1,5 @@
 name:                 gi-gdk
-version:              4.0.1
+version:              4.0.2
 synopsis:             Gdk bindings
 description:          Bindings for Gdk, autogenerated by haskell-gi.
 homepage:             https://github.com/haskell-gi/haskell-gi
@@ -16,7 +16,7 @@
 custom-setup
       setup-depends: base >= 4.9 && < 5,
                      Cabal >= 1.24,
-                     haskell-gi >= 0.23 && < 0.24,
+                     haskell-gi >= 0.24 && < 0.25,
                      gi-cairo == 1.0.*,
                      gi-pango == 1.0.*,
                      gi-gio == 2.0.*,
@@ -32,8 +32,8 @@
 
       pkgconfig-depends: gtk4
       build-depends: base >= 4.9 && <5,
-                     haskell-gi-base >= 0.23 && < 0.24,
-                     haskell-gi >= 0.23.0 && < 0.24,
+                     haskell-gi-base >= 0.24 && < 0.25,
+                     haskell-gi >= 0.24.0 && < 0.25,
                      haskell-gi-overloading < 1.1,
                      gi-cairo == 1.0.*,
                      gi-pango == 1.0.*,
@@ -66,15 +66,23 @@
                        GI.Gdk.Functions,
                        GI.Gdk.Interfaces,
                        GI.Gdk.Interfaces.DevicePad,
+                       GI.Gdk.Interfaces.DragSurface,
                        GI.Gdk.Interfaces.Paintable,
+                       GI.Gdk.Interfaces.Popup,
+                       GI.Gdk.Interfaces.Toplevel,
                        GI.Gdk.Objects,
                        GI.Gdk.Objects.AppLaunchContext,
+                       GI.Gdk.Objects.ButtonEvent,
                        GI.Gdk.Objects.CairoContext,
                        GI.Gdk.Objects.Clipboard,
+                       GI.Gdk.Objects.ConfigureEvent,
                        GI.Gdk.Objects.ContentDeserializer,
                        GI.Gdk.Objects.ContentProvider,
                        GI.Gdk.Objects.ContentSerializer,
+                       GI.Gdk.Objects.CrossingEvent,
                        GI.Gdk.Objects.Cursor,
+                       GI.Gdk.Objects.DNDEvent,
+                       GI.Gdk.Objects.DeleteEvent,
                        GI.Gdk.Objects.Device,
                        GI.Gdk.Objects.DeviceTool,
                        GI.Gdk.Objects.Display,
@@ -83,47 +91,39 @@
                        GI.Gdk.Objects.DrawContext,
                        GI.Gdk.Objects.Drop,
                        GI.Gdk.Objects.Event,
+                       GI.Gdk.Objects.FocusEvent,
                        GI.Gdk.Objects.FrameClock,
                        GI.Gdk.Objects.GLContext,
                        GI.Gdk.Objects.GLTexture,
-                       GI.Gdk.Objects.Keymap,
+                       GI.Gdk.Objects.GrabBrokenEvent,
+                       GI.Gdk.Objects.KeyEvent,
                        GI.Gdk.Objects.MemoryTexture,
                        GI.Gdk.Objects.Monitor,
+                       GI.Gdk.Objects.MotionEvent,
+                       GI.Gdk.Objects.PadEvent,
+                       GI.Gdk.Objects.ProximityEvent,
+                       GI.Gdk.Objects.ScrollEvent,
                        GI.Gdk.Objects.Seat,
                        GI.Gdk.Objects.Snapshot,
                        GI.Gdk.Objects.Surface,
                        GI.Gdk.Objects.Texture,
+                       GI.Gdk.Objects.TouchEvent,
+                       GI.Gdk.Objects.TouchpadEvent,
                        GI.Gdk.Objects.VulkanContext,
                        GI.Gdk.Structs,
                        GI.Gdk.Structs.ContentFormats,
                        GI.Gdk.Structs.ContentFormatsBuilder,
                        GI.Gdk.Structs.DrawingContext,
-                       GI.Gdk.Structs.EventAny,
-                       GI.Gdk.Structs.EventButton,
-                       GI.Gdk.Structs.EventConfigure,
-                       GI.Gdk.Structs.EventCrossing,
-                       GI.Gdk.Structs.EventDND,
-                       GI.Gdk.Structs.EventFocus,
-                       GI.Gdk.Structs.EventGrabBroken,
-                       GI.Gdk.Structs.EventKey,
-                       GI.Gdk.Structs.EventMotion,
-                       GI.Gdk.Structs.EventPadAxis,
-                       GI.Gdk.Structs.EventPadButton,
-                       GI.Gdk.Structs.EventPadGroupMode,
-                       GI.Gdk.Structs.EventProximity,
-                       GI.Gdk.Structs.EventScroll,
                        GI.Gdk.Structs.EventSequence,
-                       GI.Gdk.Structs.EventSetting,
-                       GI.Gdk.Structs.EventTouch,
-                       GI.Gdk.Structs.EventTouchpadPinch,
-                       GI.Gdk.Structs.EventTouchpadSwipe,
                        GI.Gdk.Structs.FrameTimings,
                        GI.Gdk.Structs.Geometry,
                        GI.Gdk.Structs.KeymapKey,
                        GI.Gdk.Structs.Point,
+                       GI.Gdk.Structs.PopupLayout,
                        GI.Gdk.Structs.RGBA,
                        GI.Gdk.Structs.Rectangle,
-                       GI.Gdk.Structs.TimeCoord
+                       GI.Gdk.Structs.TimeCoord,
+                       GI.Gdk.Structs.ToplevelLayout
 
       autogen-modules: GI.Gdk.Config,
                        GI.Gdk,
@@ -134,15 +134,23 @@
                        GI.Gdk.Functions,
                        GI.Gdk.Interfaces,
                        GI.Gdk.Interfaces.DevicePad,
+                       GI.Gdk.Interfaces.DragSurface,
                        GI.Gdk.Interfaces.Paintable,
+                       GI.Gdk.Interfaces.Popup,
+                       GI.Gdk.Interfaces.Toplevel,
                        GI.Gdk.Objects,
                        GI.Gdk.Objects.AppLaunchContext,
+                       GI.Gdk.Objects.ButtonEvent,
                        GI.Gdk.Objects.CairoContext,
                        GI.Gdk.Objects.Clipboard,
+                       GI.Gdk.Objects.ConfigureEvent,
                        GI.Gdk.Objects.ContentDeserializer,
                        GI.Gdk.Objects.ContentProvider,
                        GI.Gdk.Objects.ContentSerializer,
+                       GI.Gdk.Objects.CrossingEvent,
                        GI.Gdk.Objects.Cursor,
+                       GI.Gdk.Objects.DNDEvent,
+                       GI.Gdk.Objects.DeleteEvent,
                        GI.Gdk.Objects.Device,
                        GI.Gdk.Objects.DeviceTool,
                        GI.Gdk.Objects.Display,
@@ -151,44 +159,36 @@
                        GI.Gdk.Objects.DrawContext,
                        GI.Gdk.Objects.Drop,
                        GI.Gdk.Objects.Event,
+                       GI.Gdk.Objects.FocusEvent,
                        GI.Gdk.Objects.FrameClock,
                        GI.Gdk.Objects.GLContext,
                        GI.Gdk.Objects.GLTexture,
-                       GI.Gdk.Objects.Keymap,
+                       GI.Gdk.Objects.GrabBrokenEvent,
+                       GI.Gdk.Objects.KeyEvent,
                        GI.Gdk.Objects.MemoryTexture,
                        GI.Gdk.Objects.Monitor,
+                       GI.Gdk.Objects.MotionEvent,
+                       GI.Gdk.Objects.PadEvent,
+                       GI.Gdk.Objects.ProximityEvent,
+                       GI.Gdk.Objects.ScrollEvent,
                        GI.Gdk.Objects.Seat,
                        GI.Gdk.Objects.Snapshot,
                        GI.Gdk.Objects.Surface,
                        GI.Gdk.Objects.Texture,
+                       GI.Gdk.Objects.TouchEvent,
+                       GI.Gdk.Objects.TouchpadEvent,
                        GI.Gdk.Objects.VulkanContext,
                        GI.Gdk.Structs,
                        GI.Gdk.Structs.ContentFormats,
                        GI.Gdk.Structs.ContentFormatsBuilder,
                        GI.Gdk.Structs.DrawingContext,
-                       GI.Gdk.Structs.EventAny,
-                       GI.Gdk.Structs.EventButton,
-                       GI.Gdk.Structs.EventConfigure,
-                       GI.Gdk.Structs.EventCrossing,
-                       GI.Gdk.Structs.EventDND,
-                       GI.Gdk.Structs.EventFocus,
-                       GI.Gdk.Structs.EventGrabBroken,
-                       GI.Gdk.Structs.EventKey,
-                       GI.Gdk.Structs.EventMotion,
-                       GI.Gdk.Structs.EventPadAxis,
-                       GI.Gdk.Structs.EventPadButton,
-                       GI.Gdk.Structs.EventPadGroupMode,
-                       GI.Gdk.Structs.EventProximity,
-                       GI.Gdk.Structs.EventScroll,
                        GI.Gdk.Structs.EventSequence,
-                       GI.Gdk.Structs.EventSetting,
-                       GI.Gdk.Structs.EventTouch,
-                       GI.Gdk.Structs.EventTouchpadPinch,
-                       GI.Gdk.Structs.EventTouchpadSwipe,
                        GI.Gdk.Structs.FrameTimings,
                        GI.Gdk.Structs.Geometry,
                        GI.Gdk.Structs.KeymapKey,
                        GI.Gdk.Structs.Point,
+                       GI.Gdk.Structs.PopupLayout,
                        GI.Gdk.Structs.RGBA,
                        GI.Gdk.Structs.Rectangle,
-                       GI.Gdk.Structs.TimeCoord
+                       GI.Gdk.Structs.TimeCoord,
+                       GI.Gdk.Structs.ToplevelLayout
