diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+# 0.1.0.2
+
+- Support `aeson-2.0.x`.
+
 # 0.1.0.1
 
 - Fixed bug where old feature flags would still be shown in the UI.
diff --git a/LICENSE b/LICENSE
--- a/LICENSE
+++ b/LICENSE
@@ -1,6 +1,6 @@
 BSD 3-Clause License
 
-Copyright (c) 2020, Jasper Woudenberg
+Copyright (c) 2021, Jasper Woudenberg
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
diff --git a/src/Network/FeatureFlags.hs b/src/Network/FeatureFlags.hs
--- a/src/Network/FeatureFlags.hs
+++ b/src/Network/FeatureFlags.hs
@@ -80,7 +80,7 @@
 import GHC.TypeLits (ErrorMessage (..), KnownSymbol, TypeError, symbolVal)
 import qualified Network.Wai as Wai
 import qualified Paths_wai_feature_flags as Paths
-import System.Random (StdGen, getStdRandom, randomR)
+import System.Random.SplitMix (SMGen, newSMGen, nextWord32)
 
 -- FRONTEND
 
@@ -179,13 +179,14 @@
 fetch store = do
   let keys = flags (Proxy :: Proxy flags)
   configs <- readFlagConfigs keys store
-  getStdRandom (generate configs)
+  smgen <- newSMGen
+  pure . fst $ generate configs smgen
 
 -- PERCENT
 
-newtype Percent = Percent Word.Word deriving (Aeson.ToJSON, Aeson.FromJSON)
+newtype Percent = Percent Word.Word32 deriving (Aeson.ToJSON, Aeson.FromJSON)
 
-percent :: Word.Word -> Percent
+percent :: Word.Word32 -> Percent
 percent = Percent . min 100
 
 -- FLAGS
@@ -203,18 +204,18 @@
 -- >
 -- > instance Flags Features
 class Flags flags where
-  generate :: Map.HashMap T.Text Percent -> StdGen -> (flags, StdGen)
+  generate :: Map.HashMap T.Text Percent -> SMGen -> (flags, SMGen)
 
   flags :: proxy flags -> [T.Text]
 
-  default generate :: (Generic flags, GFlags (Rep flags)) => Map.HashMap T.Text Percent -> StdGen -> (flags, StdGen)
+  default generate :: (Generic flags, GFlags (Rep flags)) => Map.HashMap T.Text Percent -> SMGen -> (flags, SMGen)
   generate configs gen = first GHC.Generics.to $ ggenerate configs gen
 
   default flags :: (Generic flags, GFlags (Rep flags)) => proxy flags -> [T.Text]
   flags _ = gflags (Proxy :: Proxy (Rep flags))
 
 class GFlags flags where
-  ggenerate :: Map.HashMap T.Text Percent -> StdGen -> (flags g, StdGen)
+  ggenerate :: Map.HashMap T.Text Percent -> SMGen -> (flags g, SMGen)
 
   gflags :: proxy flags -> [T.Text]
 
@@ -273,7 +274,8 @@
     :$$: 'Text "     Flags { showErrorPage    :: Bool"
     :$$: 'Text "           , throttleRequests :: Bool }"
 
-roll :: StdGen -> Percent -> (Bool, StdGen)
+roll :: SMGen -> Percent -> (Bool, SMGen)
 roll gen (Percent trueChance) =
-  let (randomPercentage, gen') = randomR (1, 100) gen
-   in (trueChance >= randomPercentage, gen')
+  let (randomWord32, gen') = nextWord32 gen
+      between1And100 = 1 + (randomWord32 `mod` 100)
+   in (trueChance >= between1And100, gen')
diff --git a/wai-feature-flags.cabal b/wai-feature-flags.cabal
--- a/wai-feature-flags.cabal
+++ b/wai-feature-flags.cabal
@@ -4,10 +4,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 5f636ade04903a879e49301a8a893bccfcc1c21f5b4c225839e027930b4d2e4c
+-- hash: 32da1a36f9e6919162db72cf827de32c1168aab52710b63e650c9ef04571daf3
 
 name:           wai-feature-flags
-version:        0.1.0.1
+version:        0.1.0.2
 synopsis:       Feature flag support for WAI applications.
 description:    Please see the README at <https://github.com/jwoudenberg/wai-feature-flags>.
 category:       Web
@@ -15,7 +15,7 @@
 bug-reports:    https://github.com/jwoudenberg/wai-feature-flags/issues
 author:         Jasper Woudenberg
 maintainer:     mail@jasperwoudenberg.com
-copyright:      2020 Jasper Woudenberg
+copyright:      2021 Jasper Woudenberg
 license:        BSD3
 license-file:   LICENSE
 build-type:     Simple
@@ -37,10 +37,10 @@
   hs-source-dirs:
       src
   build-depends:
-      aeson >=1.2.4.0 && <1.6
+      aeson >=1.2.4.0 && <2.1
     , base >=4.10.1.0 && <5
     , bytestring >=0.10.8.2 && <0.12
-    , random >=1.1 && <1.3
+    , splitmix >=0.0.3 && <0.2
     , text >=1.2.3.0 && <1.3
     , unordered-containers >=0.2.9.0 && <0.3
     , wai >=3.2.2.1 && <3.3
