diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,11 @@
 # Unreleased
 
+# 0.3.1.0
+
+- Add `MonadFix` instance to `Task`
+
+# 0.3.0.0
+
 - Add `memoiseWithCycleDetection` and `Cycle`, enabling cycle detection
 - Implement `Task` using `ReaderT`, improving performance
 - Make buildable with GHC 8.2.2 through 8.8.3
diff --git a/rock.cabal b/rock.cabal
--- a/rock.cabal
+++ b/rock.cabal
@@ -1,5 +1,5 @@
 name:                rock
-version:             0.3.0.0
+version:             0.3.1.0
 synopsis:            A build system for incremental, parallel, and demand-driven computations
 description:         See <https://www.github.com/ollef/rock> for more
                      information and
diff --git a/src/Rock/Core.hs b/src/Rock/Core.hs
--- a/src/Rock/Core.hs
+++ b/src/Rock/Core.hs
@@ -67,7 +67,7 @@
 -- method from its 'MonadFetch' instance.
 newtype Task f a = Task { unTask :: ReaderT (Fetch f) IO a }
   deriving
-    (Functor, Applicative, Monad, MonadIO, MonadBase IO)
+    (Functor, Applicative, Monad, MonadIO, MonadBase IO, MonadFix)
 
 newtype Fetch f = Fetch (forall a. f a -> IO a)
 
