diff --git a/jsaddle.cabal b/jsaddle.cabal
--- a/jsaddle.cabal
+++ b/jsaddle.cabal
@@ -1,5 +1,5 @@
 name: jsaddle
-version: 0.9.9.2
+version: 0.9.9.3
 cabal-version: >=1.10
 build-type: Simple
 license: MIT
@@ -13,6 +13,7 @@
     drive a small JavaScript helper.
 category: Web, Javascript
 author: Hamish Mackenzie
+tested-with: GHC==9.12.2, GHC==9.10.1, GHC==9.8.4, GHC==9.6.7, GHC==9.4.8, GHC==9.2.8, GHC==9.0.2, GHC==8.10.7, GHC==8.8.4, GHC==8.6.5, GHC==8.4.4
 
 source-repository head
     type: git
@@ -39,13 +40,13 @@
     else
         build-depends:
             attoparsec >=0.11 && <0.15,
-            containers >=0.5.6.2 && <0.8,
+            containers >=0.5.6.2 && <0.9,
             deepseq >=1.3 && < 1.6,
             filepath >=1.4.0.0 && <1.6,
             ghc-prim,
             http-types >=0.8.6 && <0.13,
             process >=1.2.3.0 && <1.7,
-            random >= 1.1 && < 1.3,
+            random >= 1.1 && < 1.4,
             ref-tf >=0.4.0.1 && <0.6,
             scientific >=0.3 && <0.4,
             stm >=2.4.4 && <2.6,
diff --git a/src/Language/Javascript/JSaddle/Run/Files.hs b/src/Language/Javascript/JSaddle/Run/Files.hs
--- a/src/Language/Javascript/JSaddle/Run/Files.hs
+++ b/src/Language/Javascript/JSaddle/Run/Files.hs
@@ -330,10 +330,10 @@
     \      inCallback--;\n\
     \    };\n\
     \    if(batch[1] && (initialSyncDepth || 0) === 0) {\n\
-    \        window.requestAnimationFrame(processBatch);\n\
+    \        globalThis.requestAnimationFrame(processBatch);\n\
     \    }\n\
     \    else {\n\
-    \        processBatch(window.performance ? window.performance.now() : null);\n\
+    \        processBatch(globalThis.performance ? globalThis.performance.now() : null);\n\
     \    }\n\
     \  };\n\
     \  runBatch(batch);\n\
@@ -444,7 +444,7 @@
     \         };\n\
     \}\n\
     \function h$newByteArrayFromBase64String(base64) {\n\
-    \  var bin = window.atob(base64);\n\
+    \  var bin = globalThis.atob(base64);\n\
     \  var ba = h$newByteArray(bin.length);\n\
     \  var u8 = ba.u8;\n\
     \  for (var i = 0; i < bin.length; i++) {\n\
@@ -459,6 +459,6 @@
     \  for (var i = off; i < end; i++) {\n\
     \    bin += String.fromCharCode(u8[i]);\n\
     \  }\n\
-    \  return window.btoa(bin);\n\
+    \  return globalThis.btoa(bin);\n\
     \}\n\
     \"
