diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,13 @@
 # Revision history for svgsym
 
+## 0.1.2.0 -- 2024-02-19
+
+* Expand supported dependency versions.
+
+* Make Nix Flake build using GHC 9.4 by default.
+
+* Add support for building with 9.6 and 9.8 as well.
+
 ## 0.1.1.0 -- 2022-05-07
 
 * Expand allowed versions of the base library.
diff --git a/src-exe/Main.hs b/src-exe/Main.hs
--- a/src-exe/Main.hs
+++ b/src-exe/Main.hs
@@ -58,9 +58,9 @@
               Xml.CRef _ -> Nothing
               Xml.Elem e@(Element qName attrs symbol _)
                 | qName == qnSymbol ->
-                  if isUsed attrs
-                    then Just $ Xml.Elem e
-                    else Nothing
+                    if isUsed attrs
+                      then Just $ Xml.Elem e
+                      else Nothing
                 | otherwise -> Nothing
          in mapMaybe f (elContent doc)
     }
@@ -97,14 +97,14 @@
       exitFailure
     Just doc
       | elName doc == qnSvg -> do
-        let doc' = filterDoc symbols doc
-        putStrLn $
-          if prettyPrint
-            then ppTopElement doc'
-            else showElement doc'
+          let doc' = filterDoc symbols doc
+          putStrLn $
+            if prettyPrint
+              then ppTopElement doc'
+              else showElement doc'
       | otherwise -> do
-        hPutStrLn stderr "The XML file is not an SVG document"
-        exitFailure
+          hPutStrLn stderr "The XML file is not an SVG document"
+          exitFailure
 
 main :: IO ()
 main = do
diff --git a/src-exe/Svgsym/Options.hs b/src-exe/Svgsym/Options.hs
--- a/src-exe/Svgsym/Options.hs
+++ b/src-exe/Svgsym/Options.hs
@@ -57,26 +57,26 @@
       ( metavar "FILE"
           <> help "SVG file to prune"
       )
-      <*> some
-        ( strOption
-            ( long "content"
-                <> short 'c'
-                <> help "add glob pattern of files to include in search"
-                <> metavar "GLOB"
-            )
-        )
-      <*> strOption
-        ( long "symbol"
-            <> short 's'
-            <> help "regular expression that extracts symbol name"
-            <> metavar "REGEX"
-        )
-      <*> switch
-        ( long "pretty"
-            <> help "pretty print the output SVG file"
-        )
-      <*> switch
-        ( long "debug"
-            <> help "enable debug output"
-            <> internal
-        )
+    <*> some
+      ( strOption
+          ( long "content"
+              <> short 'c'
+              <> help "add glob pattern of files to include in search"
+              <> metavar "GLOB"
+          )
+      )
+    <*> strOption
+      ( long "symbol"
+          <> short 's'
+          <> help "regular expression that extracts symbol name"
+          <> metavar "REGEX"
+      )
+    <*> switch
+      ( long "pretty"
+          <> help "pretty print the output SVG file"
+      )
+    <*> switch
+      ( long "debug"
+          <> help "enable debug output"
+          <> internal
+      )
diff --git a/svgsym.cabal b/svgsym.cabal
--- a/svgsym.cabal
+++ b/svgsym.cabal
@@ -1,19 +1,33 @@
-cabal-version:      2.4
-name:               svgsym
-version:            0.1.1.0
-synopsis:           A tool to prune unused symbols from icon SVG files.
-homepage:           https://git.sr.ht/~rycee/svgsym
-bug-reports:        https://lists.sr.ht/~rycee/public-inbox
-license:            GPL-3.0-or-later
-license-file:       LICENSE
-author:             Robert Helgesson
-maintainer:         robert@rycee.net
-copyright:          (c) 2022 Robert Helgesson
-category:           Utility
-extra-source-files:
+cabal-version:   2.4
+name:            svgsym
+version:         0.1.2.0
+synopsis:        A tool to prune unused symbols from icon SVG files.
+description:
+  This is a simple tool to prune unused symbols from icon SVG files.
+  Specifically, this tools takes as input
+  - an SVG file that consists only of `symbol` elements,
+  - one of more glob patterns of source files, and
+  - a regular expression that identifies symbol references.
+  It then scans your source files for references to symbols in the SVG
+  file. The output of the tool is an SVG file that contains only the
+  symbols referenced in your source files.
+
+homepage:        https://git.sr.ht/~rycee/svgsym
+bug-reports:     https://lists.sr.ht/~rycee/public-inbox
+license:         GPL-3.0-or-later
+license-file:    LICENSE
+author:          Robert Helgesson
+maintainer:      robert@rycee.net
+copyright:       © 2022–2024 Robert Helgesson
+category:        Utility
+extra-doc-files:
   CHANGELOG.md
   README.md
 
+source-repository head
+  type:     git
+  location: https://git.sr.ht/~rycee/svgsym
+
 executable svgsym
   main-is:          Main.hs
   autogen-modules:  Paths_svgsym
@@ -23,13 +37,13 @@
 
   build-depends:
     , array                 ^>=0.5
-    , base                  >=4.14  && <4.17
-    , bytestring            ^>=0.10
+    , base                  >=4      && <5
+    , bytestring            >=0.10   && <0.13
     , containers            ^>=0.6
     , directory             ^>=1.3
     , filepath              ^>=1.4
     , filepattern           ^>=0.1.2
-    , optparse-applicative  ^>=0.16
+    , optparse-applicative  >=0.16   && <0.19
     , regex-base            ^>=0.94
     , regex-tdfa            ^>=1.3.1
     , xml                   ^>=1.3
