diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,3 +1,8 @@
+0.6.0.0
+=======
+* Drop ListT instance due to deprecations.
+* Loosen dependencies.
+
 0.5.5.1
 =======
 * Decrease default timer resolution from 1s to 1ms.
diff --git a/katip.cabal b/katip.cabal
--- a/katip.cabal
+++ b/katip.cabal
@@ -1,5 +1,5 @@
 name:                katip
-version:             0.5.5.1
+version:             0.6.0.0
 synopsis:            A structured logging framework.
 description:
   Katip is a structured logging framework. See README.md for more details.
@@ -54,7 +54,7 @@
     OverloadedStrings
 
   build-depends: base >=4.5 && <5
-               , aeson >=0.6 && <1.4
+               , aeson >=0.6
                , async < 3.0.0.0
                , auto-update >= 0.1 && < 0.2
                , bytestring >= 0.9 && < 0.11
diff --git a/src/Katip/Core.hs b/src/Katip/Core.hs
--- a/src/Katip/Core.hs
+++ b/src/Katip/Core.hs
@@ -56,7 +56,7 @@
 import qualified Data.HashMap.Strict          as HM
 import           Data.List
 import qualified Data.Map.Strict                       as M
-import           Data.Semigroup
+import           Data.Semigroup as SG
 import           Data.String
 import           Data.String.Conv
 import           Data.Text                             (Text)
@@ -98,7 +98,7 @@
 -- IsString/OverloadedStrings, so "foo" will result in Namespace
 -- ["foo"].
 newtype Namespace = Namespace { unNamespace :: [Text] }
-  deriving (Eq,Show,Read,Ord,Generic,ToJSON,FromJSON,Semigroup,Monoid)
+  deriving (Eq,Show,Read,Ord,Generic,ToJSON,FromJSON,SG.Semigroup,Monoid)
 
 instance IsString Namespace where
     fromString s = Namespace [fromString s]
diff --git a/src/Katip/Monadic.hs b/src/Katip/Monadic.hs
--- a/src/Katip/Monadic.hs
+++ b/src/Katip/Monadic.hs
@@ -54,7 +54,6 @@
 #endif
 import           Control.Monad.Trans.Except        (ExceptT, mapExceptT)
 import           Control.Monad.Trans.Identity      (IdentityT, mapIdentityT)
-import           Control.Monad.Trans.List          (ListT, mapListT)
 import           Control.Monad.Trans.Maybe         (MaybeT, mapMaybeT)
 import           Control.Monad.Trans.Resource      (ResourceT, transResourceT)
 import           Control.Monad.Trans.RWS           (RWST, mapRWST)
@@ -164,13 +163,6 @@
   getKatipNamespace = lift getKatipNamespace
   localKatipNamespace = mapEitherT . localKatipNamespace
 #endif
-
-
-instance (KatipContext m, Katip (ListT m)) => KatipContext (ListT m) where
-  getKatipContext = lift getKatipContext
-  localKatipContext = mapListT . localKatipContext
-  getKatipNamespace = lift getKatipNamespace
-  localKatipNamespace = mapListT . localKatipNamespace
 
 
 instance (KatipContext m, Katip (ReaderT r m)) => KatipContext (ReaderT r m) where
diff --git a/src/Katip/Scribes/Handle.hs b/src/Katip/Scribes/Handle.hs
--- a/src/Katip/Scribes/Handle.hs
+++ b/src/Katip/Scribes/Handle.hs
@@ -9,7 +9,7 @@
 import           Control.Monad
 import           Data.Aeson
 import qualified Data.HashMap.Strict    as HM
-import           Data.Monoid
+import           Data.Monoid            as M
 import           Data.Scientific        as S
 import           Data.Text              (Text)
 import           Data.Text.Lazy.Builder
@@ -23,7 +23,7 @@
 
 -------------------------------------------------------------------------------
 brackets :: Builder -> Builder
-brackets m = fromText "[" <> m <> fromText "]"
+brackets m = fromText "[" M.<> m <> fromText "]"
 
 
 -------------------------------------------------------------------------------
diff --git a/test/Katip/Tests.hs b/test/Katip/Tests.hs
--- a/test/Katip/Tests.hs
+++ b/test/Katip/Tests.hs
@@ -19,7 +19,7 @@
 import           Data.Aeson
 import qualified Data.HashMap.Strict       as HM
 import qualified Data.Map.Strict           as M
-import           Data.Monoid
+import           Data.Monoid               as Monoid
 import           Data.Text                 (Text)
 import qualified Data.Text.Lazy.Builder    as B
 import           Data.Time
@@ -128,7 +128,7 @@
   where
     recordingEnv :: IO (LogEnv, TVar [Item Object])
     recordingEnv = do
-      items <- newTVarIO mempty
+      items <- newTVarIO Monoid.mempty
       let scribe = Scribe
             { liPush = \i -> atomically (modifyTVar' items (<> [toObject <$> i]))
             , scribeFinalizer = return ()
diff --git a/test/Katip/Tests/Scribes/Handle.hs b/test/Katip/Tests/Scribes/Handle.hs
--- a/test/Katip/Tests/Scribes/Handle.hs
+++ b/test/Katip/Tests/Scribes/Handle.hs
@@ -6,9 +6,9 @@
 -------------------------------------------------------------------------------
 import           Control.Monad
 import           Data.Aeson
-import qualified Data.ByteString.Lazy       as BL
 import qualified Data.ByteString.Char8      as B
-import           Data.Monoid
+import qualified Data.ByteString.Lazy       as BL
+import           Data.Monoid                as M
 import           Data.Text                  (Text)
 import qualified Data.Text                  as T
 import qualified Data.Text.Encoding         as T
@@ -41,7 +41,7 @@
        res <- readFile path
        let pat = "\\[[[:digit:]]{4}-[[:digit:]]{2}-[[:digit:]]{2} [[:digit:]]{2}:[[:digit:]]{2}:[[:digit:]]{2}\\]\\[katip-test.test\\]\\[Info\\]\\[.+\\]\\[[[:digit:]]+\\]\\[ThreadId [[:digit:]]+\\]\\[note.deep:some note\\] test message" :: String
        let matches = res =~ pat
-       assertBool (show res <> " did not match") matches
+       assertBool (show res M.<> " did not match") matches
   , withResource setupFile (const (return ())) $ \setupScribe -> testCase "logs correct data to a file" $ do
       (path, fin, le) <- setupScribe
       runKatipT le $ logItem dummyLogItem "test" Nothing InfoS "test message"
