diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,9 @@
 # ChangeLog for warp
 
+## 3.3.24
+
+* Switching the version of the "recv" package from 0.0.x to 0.1.x.
+
 ## 3.3.23
 
 * Add `setAccept` for hooking the socket `accept` call.
diff --git a/Network/Wai/Handler/Warp/HTTP2.hs b/Network/Wai/Handler/Warp/HTTP2.hs
--- a/Network/Wai/Handler/Warp/HTTP2.hs
+++ b/Network/Wai/Handler/Warp/HTTP2.hs
@@ -34,7 +34,7 @@
 http2 :: S.Settings -> InternalInfo -> Connection -> Transport -> Application -> SockAddr -> T.Handle -> ByteString -> IO ()
 http2 settings ii conn transport app origAddr th bs = do
     istatus <- newIORef False
-    rawRecvN <- makeReceiveN bs (connRecv conn) (connRecvBuf conn)
+    rawRecvN <- makeRecvN bs $ connRecv conn
     writeBuffer <- readIORef $ connWriteBuffer conn
     -- This thread becomes the sender in http2 library.
     -- In the case of event source, one request comes and one
diff --git a/Network/Wai/Handler/Warp/Internal.hs b/Network/Wai/Handler/Warp/Internal.hs
--- a/Network/Wai/Handler/Warp/Internal.hs
+++ b/Network/Wai/Handler/Warp/Internal.hs
@@ -15,7 +15,6 @@
     -- ** Receive
   , Recv
   , RecvBuf
-  , makePlainReceiveN
     -- ** Buffer
   , Buffer
   , BufSize
diff --git a/Network/Wai/Handler/Warp/Run.hs b/Network/Wai/Handler/Warp/Run.hs
--- a/Network/Wai/Handler/Warp/Run.hs
+++ b/Network/Wai/Handler/Warp/Run.hs
@@ -77,7 +77,7 @@
       , connClose = close s
 #endif
       , connRecv = receive' s bufferPool
-      , connRecvBuf = receiveBuf s
+      , connRecvBuf = \_ _ -> return True -- obsoleted
       , connWriteBuffer = writeBufferRef
       , connHTTP2 = isH2
       }
diff --git a/Network/Wai/Handler/Warp/Types.hs b/Network/Wai/Handler/Warp/Types.hs
--- a/Network/Wai/Handler/Warp/Types.hs
+++ b/Network/Wai/Handler/Warp/Types.hs
@@ -99,6 +99,8 @@
     , bufFree :: IO ()
     }
 
+type RecvBuf = Buffer -> BufSize -> IO Bool
+
 -- | Data type to manipulate IO actions for connections.
 --   This is used to abstract IO actions for plain HTTP and HTTP over TLS.
 data Connection = Connection {
@@ -114,8 +116,7 @@
     , connClose       :: IO ()
     -- | The connection receiving function. This returns "" for EOF or exceptions.
     , connRecv        :: Recv
-    -- | The connection receiving function. This tries to fill the buffer.
-    --   This returns when the buffer is filled or reaches EOF.
+    -- | Obsoleted.
     , connRecvBuf     :: RecvBuf
     -- | Reference to a write buffer. When during sending of a 'Builder'
     -- response it's detected the current 'WriteBuffer' is too small it will be
diff --git a/warp.cabal b/warp.cabal
--- a/warp.cabal
+++ b/warp.cabal
@@ -1,5 +1,5 @@
 Name:                warp
-Version:             3.3.23
+Version:             3.3.24
 Synopsis:            A fast, light-weight web server for WAI applications.
 License:             MIT
 License-file:        LICENSE
@@ -50,7 +50,7 @@
                    , http-types                >= 0.12
                    , http2                     >= 3.0      && < 5
                    , iproute                   >= 1.3.1
-                   , recv
+                   , recv                      >= 0.1.0    && < 0.2.0
                    , simple-sendfile           >= 0.2.7    && < 0.3
                    , stm                       >= 2.3
                    , streaming-commons         >= 0.1.10
@@ -205,7 +205,7 @@
                    , iproute                   >= 1.3.1
                    , network
                    , process
-                   , recv
+                   , recv                      >= 0.1.0    && < 0.2.0
                    , simple-sendfile           >= 0.2.4    && < 0.3
                    , stm                       >= 2.3
                    , streaming-commons         >= 0.1.10
