diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,12 +1,18 @@
-## Version 2.2.1
+## Version 2.1.2
 
+* Using data-default instead of data-default-class.
+
+## Version 2.1.1
+
 * `bye` directly calls `timeout recvHS13`, not spawning a thread for
   `timeout recvHS13`. So, `bye` can receive an exception if thrown.
 
 ## Version 2.1.0
 
 * Breaking change: stop exporting constructors to maintain future
-  compatibilities. Use `def` and `noSessionManager` instead.
+  compatibilities. Field names are still exported, and values can be updated
+  with them using record syntax. Use `def` and `noSessionManager` as initial
+  values.
 * `onServerFinished` is added to `ClientHooks`.
 * `clientWantSessionResumeList` is added to `ClientParams` to support
   multiple tickets for TLS 1.3.
diff --git a/Network/TLS/Hooks.hs b/Network/TLS/Hooks.hs
--- a/Network/TLS/Hooks.hs
+++ b/Network/TLS/Hooks.hs
@@ -5,7 +5,7 @@
 ) where
 
 import qualified Data.ByteString as B
-import Data.Default.Class
+import Data.Default
 import Network.TLS.Struct (Handshake, Header)
 import Network.TLS.Struct13 (Handshake13)
 import Network.TLS.X509 (CertificateChain)
diff --git a/Network/TLS/Parameters.hs b/Network/TLS/Parameters.hs
--- a/Network/TLS/Parameters.hs
+++ b/Network/TLS/Parameters.hs
@@ -23,7 +23,7 @@
 ) where
 
 import qualified Data.ByteString as B
-import Data.Default.Class
+import Data.Default
 import Network.TLS.Cipher
 import Network.TLS.Compression
 import Network.TLS.Credentials
diff --git a/Network/TLS/QUIC.hs b/Network/TLS/QUIC.hs
--- a/Network/TLS/QUIC.hs
+++ b/Network/TLS/QUIC.hs
@@ -87,7 +87,7 @@
 import Network.TLS.Struct
 import Network.TLS.Types
 
-import Data.Default.Class
+import Data.Default
 
 nullBackend :: Backend
 nullBackend =
diff --git a/test/Arbitrary.hs b/test/Arbitrary.hs
--- a/test/Arbitrary.hs
+++ b/test/Arbitrary.hs
@@ -5,7 +5,7 @@
 
 import Control.Monad
 import qualified Data.ByteString as B
-import Data.Default.Class
+import Data.Default
 import Data.List
 import Data.Word
 import Data.X509 (
diff --git a/test/HandshakeSpec.hs b/test/HandshakeSpec.hs
--- a/test/HandshakeSpec.hs
+++ b/test/HandshakeSpec.hs
@@ -5,7 +5,7 @@
 import Control.Monad
 import qualified Data.ByteString as B
 import qualified Data.ByteString.Lazy as L
-import Data.Default.Class
+import Data.Default
 import Data.IORef
 import Data.List
 import Data.Maybe
diff --git a/test/Run.hs b/test/Run.hs
--- a/test/Run.hs
+++ b/test/Run.hs
@@ -21,7 +21,7 @@
 import Data.ByteString (ByteString)
 import qualified Data.ByteString as B
 import qualified Data.ByteString.Lazy as L
-import Data.Default.Class
+import Data.Default
 import Data.IORef
 import Network.TLS
 import System.Timeout
diff --git a/tls.cabal b/tls.cabal
--- a/tls.cabal
+++ b/tls.cabal
@@ -1,6 +1,6 @@
 cabal-version:      >=1.10
 name:               tls
-version:            2.1.1
+version:            2.1.2
 license:            BSD3
 license-file:       LICENSE
 copyright:          Vincent Hanquez <vincent@snarc.org>
@@ -122,7 +122,7 @@
         crypton-x509 >= 1.7 && < 1.8,
         crypton-x509-store >= 1.6 && < 1.7,
         crypton-x509-validation >= 1.6.5 && < 1.7,
-        data-default-class >= 0.1 && < 0.2,
+        data-default >= 0.8 && < 0.9,
         memory >= 0.18 && < 0.19,
         mtl >= 2.2 && < 2.4,
         network >= 3.1,
@@ -160,7 +160,7 @@
         crypton,
         crypton-x509,
         crypton-x509-validation,
-        data-default-class,
+        data-default,
         hourglass,
         hspec,
         serialise,
@@ -185,7 +185,7 @@
         crypton,
         crypton-x509-store,
         crypton-x509-system,
-        data-default-class,
+        data-default,
         network,
         network-run,
         tls
@@ -213,7 +213,7 @@
         crypton,
         crypton-x509-store,
         crypton-x509-system,
-        data-default-class,
+        data-default,
         network,
         network-run,
         tls
diff --git a/util/tls-client.hs b/util/tls-client.hs
--- a/util/tls-client.hs
+++ b/util/tls-client.hs
@@ -7,7 +7,7 @@
 import Control.Concurrent
 import qualified Data.ByteString.Base16 as BS16
 import qualified Data.ByteString.Char8 as C8
-import Data.Default.Class (def)
+import Data.Default (def)
 import Data.IORef
 import Data.X509.CertificateStore
 import Network.Run.TCP
diff --git a/util/tls-server.hs b/util/tls-server.hs
--- a/util/tls-server.hs
+++ b/util/tls-server.hs
@@ -7,7 +7,7 @@
 
 import qualified Data.ByteString.Base16 as BS16
 import qualified Data.ByteString.Char8 as C8
-import Data.Default.Class (def)
+import Data.Default (def)
 import Data.IORef
 import qualified Data.Map.Strict as M
 import Network.Run.TCP
