diff --git a/Network/HTTP2/TLS/Client.hs b/Network/HTTP2/TLS/Client.hs
--- a/Network/HTTP2/TLS/Client.hs
+++ b/Network/HTTP2/TLS/Client.hs
@@ -50,7 +50,6 @@
 import qualified Control.Exception as E
 import Data.ByteString (ByteString)
 import qualified Data.ByteString.Char8 as BS.C8
-import Data.Default.Class (def)
 import Data.Maybe (fromMaybe)
 import Data.X509.Validation (validateDefault)
 import Network.HTTP2.Client (Authority, Client, ClientConfig)
@@ -246,20 +245,20 @@
         }
   where
     shared =
-        def
+        defaultShared
             { sharedValidationCache = validateCache
             , sharedCAStore = settingsCAStore
             , sharedSessionManager = settingsSessionManager
             }
     supported = strongSupported
     hooks =
-        def
+        defaultClientHooks
             { onSuggestALPN = return $ Just [alpn]
             , onServerCertificate = validateCert
             , onServerFinished = settingsOnServerFinished
             }
     validateCache
-        | settingsValidateCert = def
+        | settingsValidateCert = defaultValidationCache
         | otherwise =
             ValidationCache
                 (\_ _ _ -> return ValidationCachePass)
@@ -268,6 +267,6 @@
         | settingsValidateCert = validateDefault
         | otherwise = \_ _ _ _ -> return []
     debug =
-        def
+        defaultDebugParams
             { debugKeyLogger = settingsKeyLogger
             }
diff --git a/Network/HTTP2/TLS/Server.hs b/Network/HTTP2/TLS/Server.hs
--- a/Network/HTTP2/TLS/Server.hs
+++ b/Network/HTTP2/TLS/Server.hs
@@ -53,7 +53,6 @@
 
 import qualified Control.Exception as E
 import Data.ByteString (ByteString)
-import Data.Default.Class (def)
 import Network.HTTP2.Server (
     Server,
     connectionWindowSize,
@@ -244,7 +243,7 @@
     -> ByteString
     -> ServerParams
 getServerParams Settings{..} creds alpn =
-    def
+    defaultParamsServer
         { serverSupported = supported
         , serverShared = shared
         , serverHooks = hooks
@@ -253,17 +252,17 @@
         }
   where
     shared =
-        def
+        defaultShared
             { sharedCredentials = creds
             , sharedSessionManager = settingsSessionManager
             }
     supported = strongSupported
     hooks =
-        def
+        defaultServerHooks
             { onALPNClientSuggest = Just $ selectALPN alpn
             }
     debug =
-        def
+        defaultDebugParams
             { debugKeyLogger = settingsKeyLogger
             }
 
diff --git a/Network/HTTP2/TLS/Supported.hs b/Network/HTTP2/TLS/Supported.hs
--- a/Network/HTTP2/TLS/Supported.hs
+++ b/Network/HTTP2/TLS/Supported.hs
@@ -1,12 +1,11 @@
 module Network.HTTP2.TLS.Supported where
 
-import Data.Default.Class (def)
 import Network.TLS hiding (HostName)
 import Network.TLS.Extra
 
 strongSupported :: Supported
 strongSupported =
-    def -- TLS.Supported
+    defaultSupported -- TLS.Supported
         { supportedVersions = [TLS13, TLS12]
         , supportedCiphers = ciphersuite_strong
         , supportedCompressions = [nullCompression]
diff --git a/http2-tls.cabal b/http2-tls.cabal
--- a/http2-tls.cabal
+++ b/http2-tls.cabal
@@ -1,6 +1,6 @@
 cabal-version: >=1.10
 name:          http2-tls
-version:       0.4.3
+version:       0.4.4
 license:       BSD3
 license-file:  LICENSE
 maintainer:    Kazu Yamamoto <kazu@iij.ad.jp>
@@ -40,14 +40,13 @@
         bytestring >=0.10,
         crypton-x509-store >=1.6 && <1.7,
         crypton-x509-validation >=1.6 && <1.7,
-        data-default-class >=0.1 && <0.2,
         http2 >=5.3.2 && <5.4,
         network >=3.1.4,
         network-control >=0.1 && <0.2,
         network-run >=0.4 && <0.5,
         recv >=0.1.0 && <0.2,
         time-manager >=0.0.1 && <0.2,
-        tls >=2.1 && <2.2,
+        tls >=2.1.4 && <2.2,
         utf8-string >=1.0 && <1.1
 
 executable h2-client
