diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,9 @@
+## [v1.5](https://github.com/diagrams/diagrams-svg/tree/v1.5) (2025-03-25)
+
+- Allow `base-4.21` and test on GHC 9.12
+- Allow `diagrams-lib-1.5` and remove `DiagramLoopOpts` which is no
+  longer supported
+
 ## [v1.4.4](https://github.com/diagrams/diagrams-svg/tree/v1.4.4) (2025-03-05)
 
 - New `svgAttr` function, for adding arbitrary attribute/value pairs
diff --git a/diagrams-svg.cabal b/diagrams-svg.cabal
--- a/diagrams-svg.cabal
+++ b/diagrams-svg.cabal
@@ -1,5 +1,5 @@
 Name:                diagrams-svg
-Version:             1.4.4
+Version:             1.5
 Synopsis:            SVG backend for diagrams drawing EDSL.
 Homepage:            https://diagrams.github.io/
 License:             BSD3
@@ -12,7 +12,7 @@
 Category:            Graphics
 Build-type:          Simple
 Cabal-version:       >=1.10
-Tested-with:         GHC ==8.4.4 || ==8.6.5 || ==8.8.4 || ==8.10.7 || ==9.0.2 || ==9.2.8 || ==9.4.8 || ==9.6.5 || ==9.8.2 || ==9.10.1
+Tested-with:         GHC ==8.4.4 || ==8.6.5 || ==8.8.4 || ==8.10.7 || ==9.0.2 || ==9.2.8 || ==9.4.8 || ==9.6.5 || ==9.8.2 || ==9.10.1 || ==9.12.1
 Description:         This package provides a modular backend for rendering
                      diagrams created with the diagrams EDSL to SVG
                      files.  It uses @svg-builder@ to be a native
@@ -40,14 +40,14 @@
                        Diagrams.Backend.SVG.CmdLine
   Other-modules:       Graphics.Rendering.SVG
   Hs-source-dirs:      src
-  Build-depends:       base                 >= 4.7   && < 4.21
+  Build-depends:       base                 >= 4.7   && < 4.22
                      , filepath             >= 1.4   && < 1.6
                      , mtl                  >= 1     && < 2.4
                      , bytestring           >= 0.9   && < 1.0
                      , base64-bytestring    >= 1     && < 1.3
                      , colour               >= 2.3   && < 2.4
                      , diagrams-core        >= 1.4   && < 1.6
-                     , diagrams-lib         >= 1.4.5 && < 1.5
+                     , diagrams-lib         >= 1.4.5 && < 1.6
                      , monoid-extras        >= 0.3   && < 0.7
                      , svg-builder          >= 0.1   && < 0.2
                      , text                 >= 0.11  && < 2.2
diff --git a/src/Diagrams/Backend/SVG/CmdLine.hs b/src/Diagrams/Backend/SVG/CmdLine.hs
--- a/src/Diagrams/Backend/SVG/CmdLine.hs
+++ b/src/Diagrams/Backend/SVG/CmdLine.hs
@@ -157,10 +157,8 @@
   parser = prettyOpt
 
 instance SVGFloat n => Mainable (QDiagram SVG V2 n Any) where
-    type MainOpts (QDiagram SVG V2 n Any) = (DiagramOpts, DiagramLoopOpts, PrettyOpt)
-    mainRender (opts, loopOpts, pretty) d = do
-        chooseRender opts pretty d
-        defaultLoopRender loopOpts
+    type MainOpts (QDiagram SVG V2 n Any) = (DiagramOpts, PrettyOpt)
+    mainRender (opts, pretty) d = chooseRender opts pretty d
 
 chooseRender :: SVGFloat n => DiagramOpts -> PrettyOpt -> QDiagram SVG V2 n Any -> IO ()
 chooseRender opts pretty d =
