diff --git a/CHANGES.markdown b/CHANGES.markdown
--- a/CHANGES.markdown
+++ b/CHANGES.markdown
@@ -1,3 +1,9 @@
+0.5.2 (24 June 2020)
+--------------------
+
+- Support for `random-1.2`.
+- Drop support for GHC 7.4, test with GHC 8.10.
+
 0.5.1.2 (18 Jan 2020)
 ---------------------
 
diff --git a/Control/Monad/Random/Class.hs b/Control/Monad/Random/Class.hs
--- a/Control/Monad/Random/Class.hs
+++ b/Control/Monad/Random/Class.hs
@@ -66,7 +66,7 @@
 import qualified Control.Monad.Trans.State.Strict  as StrictState
 import qualified Control.Monad.Trans.Writer.Lazy   as LazyWriter
 import qualified Control.Monad.Trans.Writer.Strict as StrictWriter
-import           System.Random
+import qualified System.Random                     as Random
 
 import qualified Data.Foldable                     as F
 
@@ -91,7 +91,7 @@
   -- interval.
   --
   -- See 'System.Random.randomR' for details.
-  getRandomR :: (Random a) => (a, a) -> m a
+  getRandomR :: (Random.Random a) => (a, a) -> m a
 
   -- | The same as 'getRandomR', but using a default range determined by the type:
   --
@@ -104,25 +104,25 @@
   -- * For 'Integer', the range is (arbitrarily) the range of 'Int'.
   --
   -- See 'System.Random.random' for details.
-  getRandom :: (Random a) => m a
+  getRandom :: (Random.Random a) => m a
 
   -- | Plural variant of 'getRandomR', producing an infinite list of
   -- random values instead of returning a new generator.
   --
   -- See 'System.Random.randomRs' for details.
-  getRandomRs :: (Random a) => (a, a) -> m [a]
+  getRandomRs :: (Random.Random a) => (a, a) -> m [a]
 
   -- | Plural variant of 'getRandom', producing an infinite list of
   -- random values instead of returning a new generator.
   --
   -- See 'System.Random.randoms' for details.
-  getRandoms :: (Random a) => m [a]
+  getRandoms :: (Random.Random a) => m [a]
 
 instance MonadRandom IO where
-  getRandomR       = randomRIO
-  getRandom        = randomIO
-  getRandomRs lohi = liftM (randomRs lohi) newStdGen
-  getRandoms       = liftM randoms newStdGen
+  getRandomR       = Random.randomRIO
+  getRandom        = Random.randomIO
+  getRandomRs lohi = liftM (Random.randomRs lohi) Random.newStdGen
+  getRandoms       = liftM Random.randoms Random.newStdGen
 
 instance (MonadRandom m) => MonadRandom (ContT r m) where
   getRandomR  = lift . getRandomR
@@ -221,8 +221,8 @@
   -- See 'System.Random.split' for details.
   getSplit :: m g
 
-instance MonadSplit StdGen IO where
-  getSplit = newStdGen
+instance MonadSplit Random.StdGen IO where
+  getSplit = Random.newStdGen
 
 instance (MonadSplit g m) => MonadSplit g (ContT r m) where
   getSplit = lift getSplit
diff --git a/Control/Monad/Random/Lazy.hs b/Control/Monad/Random/Lazy.hs
--- a/Control/Monad/Random/Lazy.hs
+++ b/Control/Monad/Random/Lazy.hs
@@ -44,7 +44,7 @@
       module Control.Monad.Trans,
     ) where
 
-import           System.Random
+import           System.Random hiding (uniform, uniformR)
 
 import           Control.Monad.Random.Class
 
diff --git a/Control/Monad/Random/Strict.hs b/Control/Monad/Random/Strict.hs
--- a/Control/Monad/Random/Strict.hs
+++ b/Control/Monad/Random/Strict.hs
@@ -42,7 +42,7 @@
       module Control.Monad.Trans,
     ) where
 
-import           System.Random
+import           System.Random hiding (uniform, uniformR)
 
 import           Control.Monad.Random.Class
 
diff --git a/MonadRandom.cabal b/MonadRandom.cabal
--- a/MonadRandom.cabal
+++ b/MonadRandom.cabal
@@ -1,5 +1,5 @@
 name:                MonadRandom
-version:             0.5.1.2
+version:             0.5.2
 synopsis:            Random-number generation monad.
 description:         Support for computations which consume random values.
 license:             BSD3
@@ -11,7 +11,7 @@
 build-type:          Simple
 cabal-version:       >=1.10
 extra-source-files:  CHANGES.markdown
-tested-with:         GHC ==7.4.2 || ==7.6.3 || ==7.8.4 || ==7.10.3 || ==8.0.2 || ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.1
+tested-with:         GHC ==7.6.3 || ==7.8.4 || ==7.10.3 || ==8.0.2 || ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.3 || ==8.10.1
 
 source-repository head
   type:     git
@@ -32,7 +32,7 @@
     transformers-compat >=0.4 && <0.7,
     mtl                 >=2.1 && <2.3,
     primitive           >=0.6 && <0.8,
-    random              >=1.0 && <1.2
+    random              >=1.0 && <1.3
   ghc-options:         -Wall
   default-language:    Haskell2010
 
