diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 #Change Log
 
+##0.5.3.1
+###bug fixes
+* fixed compilation error with aeson 0.7 and greater
+
 ##0.5.3
 
 ###new features
diff --git a/src/Test/WebDriver/Chrome/Extension.hs b/src/Test/WebDriver/Chrome/Extension.hs
--- a/src/Test/WebDriver/Chrome/Extension.hs
+++ b/src/Test/WebDriver/Chrome/Extension.hs
@@ -7,13 +7,15 @@
        ) where
 import Data.ByteString.Lazy as LBS
 import Data.ByteString.Base64.Lazy as B64
+import Data.Text.Lazy
+import Data.Text.Lazy.Encoding (decodeLatin1)
 import Data.Aeson
 import Control.Applicative
 import Control.Monad.Base
 
 -- |An opaque type representing a Google Chrome extension. Values of this type
 -- are passed to the 'Test.Webdriver.chromeExtensions' field.
-newtype ChromeExtension = ChromeExtension ByteString
+newtype ChromeExtension = ChromeExtension Text
                         deriving (Eq, Show, Read, ToJSON, FromJSON)
 
 -- |Load a .crx file as a 'ChromeExtension'.
@@ -22,4 +24,4 @@
 
 -- |Load raw .crx data as a 'ChromeExtension'.
 loadRawExtension :: ByteString -> ChromeExtension
-loadRawExtension = ChromeExtension . B64.encode
+loadRawExtension = ChromeExtension . decodeLatin1 . B64.encode
diff --git a/webdriver.cabal b/webdriver.cabal
--- a/webdriver.cabal
+++ b/webdriver.cabal
@@ -1,5 +1,5 @@
 Name: webdriver
-Version: 0.5.3
+Version: 0.5.3.1
 Cabal-Version: >= 1.8
 License: BSD3
 License-File: LICENSE
@@ -35,7 +35,7 @@
                  , mtl >= 2.0 && < 2.2
                  , network == 2.4.*
                  , bytestring >= 0.9 && < 0.11
-                 , text >= 0.7 && < 0.12
+                 , text >= 0.11.3 && < 0.12
                  , time == 1.*
                  , transformers >= 0.2 && < 0.5
                  , zip-archive >= 0.1.1.8 && < 0.3
