diff --git a/jsaddle-webkit2gtk.cabal b/jsaddle-webkit2gtk.cabal
--- a/jsaddle-webkit2gtk.cabal
+++ b/jsaddle-webkit2gtk.cabal
@@ -1,5 +1,5 @@
 name: jsaddle-webkit2gtk
-version: 0.9.7.1
+version: 0.9.8.0
 cabal-version: >=1.10
 build-type: Simple
 license: MIT
@@ -35,7 +35,7 @@
         gi-gtk >=3.0.17 && <3.1,
         gi-webkit2 >=4.0.14 && <4.1,
         gi-javascriptcore >=4.0.14 && <4.1,
-        haskell-gi-base >=0.20 && <0.24,
+        haskell-gi-base >=0.20 && <0.26,
         haskell-gi-overloading >=0.0 && < 2.0,
         jsaddle >=0.9.4.0 && <0.10,
         text >=1.2.1.3 && <1.3,
diff --git a/src/Language/Javascript/JSaddle/WebKitGTK.hs b/src/Language/Javascript/JSaddle/WebKitGTK.hs
--- a/src/Language/Javascript/JSaddle/WebKitGTK.hs
+++ b/src/Language/Javascript/JSaddle/WebKitGTK.hs
@@ -55,11 +55,11 @@
 import qualified GI.Gtk as Gtk (main, init)
 import GI.Gtk
        (windowSetPosition, windowSetDefaultSize, windowNew,
-        scrolledWindowNew, noAdjustment, containerAdd,
+        scrolledWindowNew, Adjustment, containerAdd,
         WindowType(..), WindowPosition(..), widgetDestroy,
         widgetGetToplevel, widgetShowAll, onWidgetDestroy,
         mainQuit)
-import GI.Gio (noCancellable)
+import GI.Gio (Cancellable)
 import GI.JavaScriptCore (valueToString)
 import GI.WebKit2
        (scriptDialogPromptSetText, scriptDialogPromptGetDefaultText,
@@ -104,7 +104,7 @@
     _ <- timeoutAdd PRIORITY_HIGH 10 (yield >> return True)
     windowSetDefaultSize window 900 600
     windowSetPosition window WindowPositionCenter
-    scrollWin <- scrolledWindowNew noAdjustment noAdjustment
+    scrollWin <- scrolledWindowNew (Nothing :: Maybe Adjustment) (Nothing :: Maybe Adjustment)
     contentManager <- userContentManagerNew
     webView <- webViewNewWithUserContentManager contentManager
     settings <- webViewGetSettings webView
@@ -128,11 +128,11 @@
 runInWebView :: JSM () -> WebView -> IO ()
 runInWebView f webView = do
     (processResults, syncResults, start) <- runJavaScript (\batch -> postGUIAsync $
-        webViewRunJavascript webView (decodeUtf8 . toStrict $ "runJSaddleBatch(" <> encode batch <> ");") noCancellable Nothing)
+        webViewRunJavascript webView (decodeUtf8 . toStrict $ "runJSaddleBatch(" <> encode batch <> ");") (Nothing :: Maybe Cancellable) Nothing)
         f
 
     addJSaddleHandler webView processResults syncResults
-    webViewRunJavascript webView (decodeUtf8 $ toStrict jsaddleJs) noCancellable . Just $
+    webViewRunJavascript webView (decodeUtf8 $ toStrict jsaddleJs) (Nothing :: Maybe Cancellable) . Just $
         \_obj _asyncResult ->
             void $ forkIO start
 
