diff --git a/music-util.cabal b/music-util.cabal
--- a/music-util.cabal
+++ b/music-util.cabal
@@ -1,6 +1,6 @@
 
 name:               music-util
-version:            0.12
+version:            0.13
 cabal-version:      >= 1.10
 author:             Hans Hoglund
 maintainer:         Hans Hoglund <hans@hanshoglund.se>
diff --git a/src/music-util.hs b/src/music-util.hs
--- a/src/music-util.hs
+++ b/src/music-util.hs
@@ -266,11 +266,13 @@
 
     return ()
 
+-- TODO remove this check when nobody uses 1.17 or lower any more...
 hasCabalSandboxes :: Sh Bool
 hasCabalSandboxes = do
     cb <- run (fromString "cabal") [fromString "--version"]
-    return $ List.isInfixOf "1.18" . head . lines. T.unpack $ cb
-
+    return $ any (\v -> isCabalVersion v cb) ["1.18", "1.19", "1.20", "1.21"]
+    where
+      isCabalVersion x = List.isInfixOf x . head . lines. T.unpack
 
 clonePackage :: String -> Sh ()
 clonePackage name = do
@@ -434,9 +436,10 @@
     packDbPath <- liftIO (fmap fromString getPrimaryPackagePath)
     
     -- TODO generate this
+    let hyperl = ["--hyperlink-source"]
     let packDb = ["--package-db"::Text, packDbPath]
     let out    = ["-o", fromString path <> "/musicsuite.github.io/docs/api"]
-    run "standalone-haddock" $ concat [packDb, out, fmap fromString realPackages]
+    run "standalone-haddock" $ concat [hyperl, packDb, out, fmap fromString realPackages]
     return ()
 
     -- hsFiles <- getHsFiles
