diff --git a/Network/HTTP2/TLS/IO.hs b/Network/HTTP2/TLS/IO.hs
--- a/Network/HTTP2/TLS/IO.hs
+++ b/Network/HTTP2/TLS/IO.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE RecordWildCards #-}
 
@@ -89,7 +90,11 @@
 recvTLS ctx = E.handle onEOF $ recvData ctx
   where
     onEOF e
+#if MIN_VERSION_tls(1,8,0)
+        | Just (PostHandshake Error_EOF) <- E.fromException e = return ""
+#else
         | Just Error_EOF <- E.fromException e = return ""
+#endif
         | Just ioe <- E.fromException e, isEOFError ioe = return ""
         | otherwise = E.throwIO e
 
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.0.0
+version:            0.0.1
 license:            BSD3
 license-file:       LICENSE
 maintainer:         Kazu Yamamoto <kazu@iij.ad.jp>
@@ -41,5 +41,5 @@
         network-run >=0.2.6,
         recv,
         time-manager,
-        tls,
+        tls >=1.7.0,
         unliftio
