diff --git a/slack-web.cabal b/slack-web.cabal
--- a/slack-web.cabal
+++ b/slack-web.cabal
@@ -1,5 +1,5 @@
 name: slack-web
-version: 0.2.0.7
+version: 0.2.0.8
 
 build-type: Simple
 cabal-version: 1.21
@@ -58,7 +58,7 @@
     , mtl
     , time
     , errors
-    , megaparsec
+    , megaparsec >= 5.0 && < 7.1
   default-language:
       Haskell2010
   ghc-options:
@@ -87,7 +87,7 @@
     , http-api-data
     , text
     , time
-    , megaparsec
+    , megaparsec >= 5.0 && < 7.1
   default-language:
     Haskell2010
   ghc-options:
diff --git a/src/Web/Slack/MessageParser.hs b/src/Web/Slack/MessageParser.hs
--- a/src/Web/Slack/MessageParser.hs
+++ b/src/Web/Slack/MessageParser.hs
@@ -16,7 +16,6 @@
 import Control.Monad
 import Data.List
 import Data.Maybe
-import Data.Monoid
 import Data.Void
 
 -- megaparsec
@@ -55,6 +54,11 @@
 type MegaparsecError = Dec
 #endif
 
+#if MIN_VERSION_megaparsec(7,0,0)
+#else
+anySingle = anyChar
+#endif
+
 type SlackParser a = ParsecT MegaparsecError T.Text Identity a
 
 parseMessage :: Text -> [SlackMsgItem]
@@ -138,7 +142,7 @@
 
 parseCode :: SlackParser SlackMsgItem
 parseCode = SlackMsgItemCodeSection . T.pack <$>
-  (string "```" >> manyTill anyChar (string "```"))
+  (string "```" >> manyTill anySingle (string "```"))
 
 parseInlineCode :: SlackParser SlackMsgItem
 parseInlineCode = SlackMsgItemInlineCodeSection . T.pack <$>
diff --git a/src/Web/Slack/Types.hs b/src/Web/Slack/Types.hs
--- a/src/Web/Slack/Types.hs
+++ b/src/Web/Slack/Types.hs
@@ -25,7 +25,6 @@
 import Data.Aeson
 
 -- base
-import Data.Monoid
 import GHC.Generics (Generic)
 
 -- errors
diff --git a/tests/Web/Slack/MessageParserSpec.hs b/tests/Web/Slack/MessageParserSpec.hs
--- a/tests/Web/Slack/MessageParserSpec.hs
+++ b/tests/Web/Slack/MessageParserSpec.hs
@@ -2,9 +2,6 @@
 
 module Web.Slack.MessageParserSpec (spec) where
 
--- base
-import Data.Monoid
-
 -- hspec
 import Test.Hspec
 
