diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,24 @@
 # ChangeLog for crypton-x509-system
 
+## 1.10.0
+
+* Follow the breaking change in `crypton-x509` 1.10.0
+  [#35](https://github.com/kazu-yamamoto/crypton-certificate/pull/35)
+
+## 1.9.0
+
+* Using "ram" instead of "memory"
+  [#29](https://github.com/kazu-yamamoto/crypton-certificate/pull/29)
+
+## 1.8.0
+
+* Depend indirectly on package `time-hourglass`, rather than `hourglass`. Date
+  and time-related types and classes are now those from the former package.
+  [#18](https://github.com/kazu-yamamoto/crypton-certificate/pull/18)
+* Depend indirectly on package `crypton-asn1-types >= 0.4.1` rather
+  than `asn1-types`. ASN.1-related types and classes are now those from the
+  former package.
+
 ## 1.6.8
 
 * Prefer OpenSSL env vars: SSL_CERT_FILE and SSL_CERT_DIR
diff --git a/System/X509/Common.hs b/System/X509/Common.hs
--- a/System/X509/Common.hs
+++ b/System/X509/Common.hs
@@ -4,8 +4,7 @@
 where
 
 import Data.Foldable (asum)
-import Data.Maybe (catMaybes, fromMaybe)
-import Data.Monoid (mconcat)
+import Data.Maybe (fromMaybe)
 import Data.X509.CertificateStore
 import System.Environment (lookupEnv)
 
diff --git a/System/X509/MacOS.hs b/System/X509/MacOS.hs
--- a/System/X509/MacOS.hs
+++ b/System/X509/MacOS.hs
@@ -2,7 +2,6 @@
     getSystemCertificateStore,
 ) where
 
-import Control.Applicative
 import qualified Data.ByteString.Lazy as LBS
 import Data.Either
 import Data.PEM (PEM (..), pemParseLBS)
diff --git a/System/X509/Unix.hs b/System/X509/Unix.hs
--- a/System/X509/Unix.hs
+++ b/System/X509/Unix.hs
@@ -19,11 +19,10 @@
 import System.Environment (getEnv)
 import System.X509.Common (maybeSSLCertEnvOr)
 
-import Control.Applicative ((<$>))
 import qualified Control.Exception as E
+import qualified System.IO.Error as E
 
 import Data.Maybe (catMaybes)
-import Data.Monoid (mconcat)
 
 defaultSystemPaths :: [FilePath]
 defaultSystemPaths =
@@ -43,7 +42,7 @@
         (mconcat . catMaybes <$> (getSystemPaths >>= mapM readCertificateStore))
 
 getSystemPaths :: IO [FilePath]
-getSystemPaths = E.catch ((: []) <$> getEnv envPathOverride) inDefault
+getSystemPaths = E.catchIOError ((: []) <$> getEnv envPathOverride) inDefault
   where
     inDefault :: E.IOException -> IO [FilePath]
     inDefault _ = return defaultSystemPaths
diff --git a/System/X509/Win32.hs b/System/X509/Win32.hs
--- a/System/X509/Win32.hs
+++ b/System/X509/Win32.hs
@@ -10,8 +10,7 @@
 import Foreign.Ptr
 import Foreign.Storable
 
-import Control.Applicative
-import Control.Exception (catch)
+import qualified Control.Exception as E
 import Control.Monad (when)
 
 import qualified Data.ByteString.Internal as B
@@ -72,4 +71,4 @@
                     case ecert of
                         Left _ -> loop st r
                         Right cert -> (cert :) <$> (loop st r)
-                    `catch` \(_ :: ASN1Error) -> loop st r
+                    `E.catch` \(_ :: ASN1Error) -> loop st r
diff --git a/crypton-x509-system.cabal b/crypton-x509-system.cabal
--- a/crypton-x509-system.cabal
+++ b/crypton-x509-system.cabal
@@ -1,6 +1,6 @@
 cabal-version:      >=1.10
 name:               crypton-x509-system
-version:            1.6.8
+version:            1.10.0
 license:            BSD3
 license-file:       LICENSE
 copyright:          Vincent Hanquez <vincent@snarc.org>
@@ -38,9 +38,9 @@
         directory,
         filepath,
         process,
-        pem >=0.1 && <0.3,
-        crypton-x509 >=1.6,
-        crypton-x509-store >=1.6.2
+        crypton-pem >=0.2.4 && <0.4,
+        crypton-x509 >=1.10 && <1.11,
+        crypton-x509-store >=1.10 && <1.11
 
     if os(windows)
         exposed-modules: System.X509.Win32
@@ -48,7 +48,7 @@
         extra-libraries: Crypt32
         build-depends:
             Win32,
-            asn1-encoding
+            crypton-asn1-encoding
 
     if os(osx)
         cpp-options: -DMACOSX
