diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,24 @@
-1.1.4
+1.1.5
 
+* Fix build failures on GHC 8.4 and 8.6
+* Add support for safe Haskell
+    * Specifically, this marks the `Control.Monad.Trans.Compose` module as
+      `Trustworthy`
+    * The change in 1.1.4 to use `GeneralizedNewtypeDeriving` meant that the
+      `Control.Monad.Trans.Compose` module was no longer inferred as safe
+* Restore `Traversable` instance removed by mistake in 1.1.4
+
+1.1.4 (Blacklisted)
+
+* Unintentional removal of `Traversable` instance for `ComposeT`
+    * This missing instance is restored in 1.1.5
+    * This is the reason why the 1.1.4 release is blacklisted
 * Fix `MonadFail`-related code to work for GHCJS
+* The `MonadRWS` instance for `ComposeT` has a more flexible constraint
+    * The constraint is now
+      `MonadReader r (f (g m)), MonadWriter w (f (g m)), MonadState s (f (g m))`
+      instead of `MonadRWS r w s (f g m)`
+    * This loosening of the constraint is backwards-compatible
 
 1.1.3
 
diff --git a/mmorph.cabal b/mmorph.cabal
--- a/mmorph.cabal
+++ b/mmorph.cabal
@@ -1,5 +1,5 @@
 Name: mmorph
-Version: 1.1.4
+Version: 1.1.5
 Cabal-Version: >= 1.10
 Build-Type: Simple
 License: BSD3
diff --git a/src/Control/Monad/Morph.hs b/src/Control/Monad/Morph.hs
--- a/src/Control/Monad/Morph.hs
+++ b/src/Control/Monad/Morph.hs
@@ -1,7 +1,8 @@
-{-# LANGUAGE CPP, RankNTypes #-}
-
+{-# LANGUAGE CPP        #-}
+{-# LANGUAGE RankNTypes #-}
+{-# LANGUAGE Safe       #-}
 #if __GLASGOW_HASKELL__ >= 706
-{-# LANGUAGE PolyKinds #-}
+{-# LANGUAGE PolyKinds  #-}
 #endif
 
 {-| A monad morphism is a natural transformation:
diff --git a/src/Control/Monad/Trans/Compose.hs b/src/Control/Monad/Trans/Compose.hs
--- a/src/Control/Monad/Trans/Compose.hs
+++ b/src/Control/Monad/Trans/Compose.hs
@@ -1,10 +1,12 @@
-{-# LANGUAGE FlexibleContexts #-}
-{-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE FlexibleContexts           #-}
+{-# LANGUAGE FlexibleInstances          #-}
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
-{-# LANGUAGE KindSignatures #-}
-{-# LANGUAGE MultiParamTypeClasses #-}
-{-# LANGUAGE UndecidableInstances #-}
-{-# LANGUAGE CPP #-}
+{-# LANGUAGE KindSignatures             #-}
+{-# LANGUAGE MultiParamTypeClasses      #-}
+{-# LANGUAGE UndecidableInstances       #-}
+{-# LANGUAGE DeriveTraversable          #-}
+{-# LANGUAGE CPP                        #-}
+{-# LANGUAGE Trustworthy                #-}
 
 #if __GLASGOW_HASKELL__ >= 806
 {-# LANGUAGE QuantifiedConstraints #-}
@@ -25,6 +27,7 @@
 import Control.Monad (MonadPlus(mzero, mplus), liftM)
 import Control.Monad.Cont.Class (MonadCont(callCC))
 import Control.Monad.Error.Class (MonadError(throwError, catchError))
+import Control.Monad.Fail (MonadFail(..))
 import Control.Monad.Morph (MFunctor(hoist))
 import Control.Monad.RWS.Class (MonadRWS)
 import Control.Monad.Reader.Class (MonadReader(ask, local, reader))
@@ -36,10 +39,6 @@
 import Data.Traversable (Traversable(traverse, sequenceA, mapM, sequence))
 import Prelude hiding (foldr, foldl, foldr1, foldl1, mapM, sequence)
 
-#if !MIN_VERSION_base(4,11,0)
-import Control.Monad.Fail (MonadFail(..))
-#endif
-
 infixr 9 `ComposeT`
 
 -- | Composition of monad transformers.
@@ -54,6 +53,7 @@
     , Ord
     , Read
     , Show
+    , Traversable
     , Monad
     , MonadCont
     , MonadError e
