diff --git a/Changelog.md b/Changelog.md
--- a/Changelog.md
+++ b/Changelog.md
@@ -7,6 +7,16 @@
 The following is information about what major changes have gone into
 each release.
 
+Changes in 2999.20.1.0
+----------------------
+
+* Add `MonadFix` instance for `DotM` (thanks to **George Wilson**)
+
+* Fix exception catching for missing executables (thanks to **Kostas
+  Dermentzis**)
+
+* Dependency bumps.
+
 Changes in 2999.20.0.4
 ----------------------
 
diff --git a/Data/GraphViz/Commands.hs b/Data/GraphViz/Commands.hs
--- a/Data/GraphViz/Commands.hs
+++ b/Data/GraphViz/Commands.hs
@@ -249,7 +249,7 @@
                       -> GraphvizOutput -> FilePath
                       -> IO FilePath
 runGraphvizCommand cmd gr t fp
-  = mapException addExc $ graphvizWithHandle cmd gr t toFile
+  = handle (throwIO . addExc) $ graphvizWithHandle cmd gr t toFile
   where
     addFl = (++) ("Unable to create " ++ fp ++ "\n")
     toFile h = SB.hGetContents h >>= SB.writeFile fp >> return fp
diff --git a/Data/GraphViz/Commands/IO.hs b/Data/GraphViz/Commands/IO.hs
--- a/Data/GraphViz/Commands/IO.hs
+++ b/Data/GraphViz/Commands/IO.hs
@@ -149,7 +149,7 @@
               -> dg n
               -> IO a
 runCommand cmd args hf dg
-  = mapException notRunnable $
+  = handle (throwIO . notRunnable) $
     withSystemTempFile ("graphviz" <.> "gv") $ \dotFile dotHandle -> do
       finally (hPutCompactDot dotHandle dg) (hClose dotHandle)
       bracket
@@ -189,7 +189,7 @@
                     ]
 
     -- Augmenting the hf function to let it work within the forkIO:
-    hf' = mapException fErr . hf
+    hf' = handle (throwIO . fErr) . hf
     fErr :: IOException -> GraphvizException
     fErr e = GVProgramExc $ "Error re-directing the output from "
              ++ cmd ++ ": " ++ show e
diff --git a/Data/GraphViz/Exception.hs b/Data/GraphViz/Exception.hs
--- a/Data/GraphViz/Exception.hs
+++ b/Data/GraphViz/Exception.hs
@@ -11,6 +11,7 @@
          -- * Re-exported for convenience.
        , mapException
        , throw
+       , throwIO
        , handle
        , bracket
        ) where
diff --git a/Data/GraphViz/Types/Monadic.hs b/Data/GraphViz/Types/Monadic.hs
--- a/Data/GraphViz/Types/Monadic.hs
+++ b/Data/GraphViz/Types/Monadic.hs
@@ -94,6 +94,8 @@
 import Data.Semigroup (Semigroup(..))
 #endif
 
+import Control.Monad.Fix (MonadFix (mfix))
+
 -- -----------------------------------------------------------------------------
 -- The Dot monad.
 
@@ -123,6 +125,10 @@
              $ let ~(a,stmts)  = runDot dt
                    ~(b,stmts') = runDot $ f a
                in (b, stmts `DL.append` stmts')
+
+instance MonadFix (DotM n) where
+  mfix m = let (a,n) = runDot $ m a
+           in  DotM (a,n)
 
 #if MIN_VERSION_base (4,9,0)
 instance Semigroup a => Semigroup (DotM n a) where
diff --git a/graphviz.cabal b/graphviz.cabal
--- a/graphviz.cabal
+++ b/graphviz.cabal
@@ -1,5 +1,5 @@
 Name:               graphviz
-Version:            2999.20.0.4
+Version:            2999.20.1.0
 Stability:          Beta
 Synopsis:           Bindings to Graphviz for graph visualisation.
 Description: {
@@ -30,7 +30,7 @@
   augment node and edge labels with positional information, etc.
 }
 
-Homepage:           http://projects.haskell.org/graphviz/
+Homepage:           https://github.com/ivan-m/graphviz
 Category:           Graphs, Graphics
 License:            BSD3
 License-File:       LICENSE.md
@@ -72,7 +72,7 @@
                            mtl == 2.*,
                            text,
                            wl-pprint-text == 1.2.*,
-                           dlist >= 0.5 && < 0.9
+                           dlist >= 0.5 && < 1.1
 
         Exposed-Modules:   Data.GraphViz
                            Data.GraphViz.Types
@@ -129,7 +129,7 @@
                            filepath,
                            hspec >= 2.1 && < 2.8,
                            text,
-                           QuickCheck >= 2.3 && < 2.14
+                           QuickCheck >= 2.3 && < 2.15
         Build-Tool-Depends: hspec-discover:hspec-discover == 2.*
 
         hs-Source-Dirs:    tests
