diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,10 @@
-## [_Unreleased_](https://github.com/freckle/hspec-junit-formatter/compare/v1.1.0.1...main)
+## [_Unreleased_](https://github.com/freckle/hspec-junit-formatter/compare/v1.1.0.2...main)
 
 None
+
+## [v1.1.0.2](https://github.com/freckle/hspec-junit-formatter/compare/v1.1.0.1...v1.1.0.2)
+
+- Support GHCs 9.0 and 9.2
 
 ## [v1.1.0.1](https://github.com/freckle/hspec-junit-formatter/compare/v1.1.0.0...v1.1.0.1)
 
diff --git a/hspec-junit-formatter.cabal b/hspec-junit-formatter.cabal
--- a/hspec-junit-formatter.cabal
+++ b/hspec-junit-formatter.cabal
@@ -1,6 +1,6 @@
 cabal-version:      1.12
 name:               hspec-junit-formatter
-version:            1.1.0.1
+version:            1.1.0.2
 license:            MIT
 license-file:       LICENSE
 copyright:          2021 Renaissance Learning Inc
@@ -77,7 +77,6 @@
     build-depends:
         base >=4.11.1.0 && <5,
         hspec >=2.8.1,
-        hspec-core >=2.8.1,
         hspec-junit-formatter -any,
         markdown-unlit >=0.5.0
 
diff --git a/tests/Main.hs b/tests/Main.hs
--- a/tests/Main.hs
+++ b/tests/Main.hs
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 module Main
   ( main
   )
@@ -22,14 +24,14 @@
   describe "XML output" $ do
     it "matches golden file" $ do
       withJUnitReport ExampleSpec.spec $ \doc -> do
-        golden <- XML.readFile XML.def "tests/golden.xml"
+        golden <- XML.readFile XML.def goldenPath
         normalizeDoc doc `shouldBe` normalizeDoc golden
 
     it "matches golden file with prefixing" $ do
       let modify = setJUnitConfigSourcePathPrefix "lol/monorepo"
 
       withJUnitReportConfig modify ExampleSpec.spec $ \doc -> do
-        golden <- XML.readFile XML.def "tests/golden-prefixed.xml"
+        golden <- XML.readFile XML.def goldenPrefixedPath
         normalizeDoc doc `shouldBe` normalizeDoc golden
 
 withJUnitReport :: Spec -> (XML.Document -> IO ()) -> IO ()
@@ -85,3 +87,24 @@
   onNodeElement f = \case
     XML.NodeElement el -> XML.NodeElement $ f el
     n -> n
+
+-- GHC 9 changes the bounds of the SrcLoc from HasCallStack, which changes the
+-- line numbers reported by Hspec. Fun.
+--
+-- True `shouldBe` False
+-- ^ -- Before GHC 9 reports from here (18:7 in golden.xml)
+--
+-- True `shouldBe` False
+--      ^-- GHC 9 reports from here (18:12 in golden-ghc-9.xml)
+--
+-- We should really re-consider the golden testing approach. If we were instead
+-- asserting on parsed XML, we'd have a lot more options here.
+--
+goldenPath, goldenPrefixedPath :: FilePath
+#if __GLASGOW_HASKELL__ >= 900
+goldenPath = "tests/golden-ghc-9.xml"
+goldenPrefixedPath = "tests/golden-prefixed-ghc-9.xml"
+#else
+goldenPath = "tests/golden.xml"
+goldenPrefixedPath = "tests/golden-prefixed.xml"
+#endif
