diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,2 +1,5 @@
+0.1.0.1
+* Support megaparsec 7
+
 0.1.0.0
 * Initial release
diff --git a/Setup.hs b/Setup.hs
deleted file mode 100644
--- a/Setup.hs
+++ /dev/null
@@ -1,2 +0,0 @@
-import Distribution.Simple
-main = defaultMain
diff --git a/parsers-megaparsec.cabal b/parsers-megaparsec.cabal
--- a/parsers-megaparsec.cabal
+++ b/parsers-megaparsec.cabal
@@ -2,7 +2,7 @@
 -- see http://haskell.org/cabal/users-guide/
 
 name:                parsers-megaparsec
-version:             0.1.0.0
+version:             0.1.0.1
 synopsis:            `parsers` instances for Megaparsec
 description:         A newtype around ParsecT with instances for Parsing,
                      CharParsing, LookAheadParsing, and TokenParsing
@@ -19,7 +19,7 @@
 build-type:          Simple
 extra-source-files:  ChangeLog.md
 cabal-version:       >=1.10
-tested-with:         GHC == 7.8.4, GHC == 7.10.3, GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.3, GHC == 8.6.1
+tested-with:         GHC == 7.8.4, GHC == 7.10.3, GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.4, GHC == 8.6.1
 
 source-repository    head
   type:              git
@@ -29,7 +29,7 @@
   exposed-modules:     Text.Megaparsec.Parsers
   build-depends:       base >=4.7 && <5
                      , fail >=4.7 && <5
-                     , megaparsec ==6.*
+                     , megaparsec >= 6 && < 7.1
                      , parsers ==0.12.*
                      , mtl >=2.2 && <2.3
                      , semigroups >=0.9 && <0.19
diff --git a/src/Text/Megaparsec/Parsers.hs b/src/Text/Megaparsec/Parsers.hs
--- a/src/Text/Megaparsec/Parsers.hs
+++ b/src/Text/Megaparsec/Parsers.hs
@@ -7,6 +7,7 @@
 -- 'CharParsing' and 'TokenParsing' only have instances for 'String', strict 'Text.Text',
 -- and lazy 'Lazy.Text', because those type classes expect the 'Token' type to be 'Char'
 
+{-# language CPP #-}
 {-# language GeneralizedNewtypeDeriving #-}
 {-# language FlexibleInstances #-}
 module Text.Megaparsec.Parsers
@@ -73,14 +74,19 @@
   satisfy = Parsec.satisfy
   {-# inline char #-}
   char = Parsec.char
-  {-# inline notChar #-}
-  notChar = Parsec.notChar
-  {-# inline anyChar #-}
-  anyChar = Parsec.anyChar
   {-# inline string #-}
   string = Parsec.string
   {-# inline text #-}
   text t = t <$ string (Text.unpack t)
+  {-# inline notChar #-}
+  {-# inline anyChar #-}
+#if !MIN_VERSION_megaparsec(7,0,0)
+  notChar = Parsec.notChar
+  anyChar = Parsec.anyChar
+#else
+  notChar = Parsec.anySingleBut
+  anyChar = Parsec.anySingle
+#endif
 
 -- | Lazy 'Lazy.Text'
 instance Ord e => CharParsing (ParsecT e Lazy.Text m) where
@@ -88,14 +94,19 @@
   satisfy = Parsec.satisfy
   {-# inline char #-}
   char = Parsec.char
-  {-# inline notChar #-}
-  notChar = Parsec.notChar
-  {-# inline anyChar #-}
-  anyChar = Parsec.anyChar
   {-# inline string #-}
   string t = t <$ Parsec.string (Lazy.pack t)
   {-# inline text #-}
   text t = t <$ Parsec.string (Lazy.fromStrict t)
+  {-# inline notChar #-}
+  {-# inline anyChar #-}
+#if !MIN_VERSION_megaparsec(7,0,0)
+  notChar = Parsec.notChar
+  anyChar = Parsec.anyChar
+#else
+  notChar = Parsec.anySingleBut
+  anyChar = Parsec.anySingle
+#endif
 
 -- | Strict 'Text.Text'
 instance Ord e => CharParsing (ParsecT e Text.Text m) where
@@ -103,14 +114,19 @@
   satisfy = Parsec.satisfy
   {-# inline char #-}
   char = Parsec.char
-  {-# inline notChar #-}
-  notChar = Parsec.notChar
-  {-# inline anyChar #-}
-  anyChar = Parsec.anyChar
   {-# inline string #-}
   string t = t <$ Parsec.string (Text.pack t)
   {-# inline text #-}
   text = Parsec.string
+  {-# inline notChar #-}
+  {-# inline anyChar #-}
+#if !MIN_VERSION_megaparsec(7,0,0)
+  notChar = Parsec.notChar
+  anyChar = Parsec.anyChar
+#else
+  notChar = Parsec.anySingleBut
+  anyChar = Parsec.anySingle
+#endif
 
 instance (Ord e, Stream s) => LookAheadParsing (ParsecT e s m) where
   {-# inline lookAhead #-}
