diff --git a/LICENSE b/LICENSE
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2013-2019, Renzo Carbonara <renλren.zone>
+Copyright (c) 2013, Renzo Carbonara <renλren.zone>
 
 All rights reserved.
 
diff --git a/Setup.hs b/Setup.hs
deleted file mode 100644
--- a/Setup.hs
+++ /dev/null
@@ -1,4 +0,0 @@
-#! /usr/bin/env nix-shell
-#! nix-shell ./shell.nix -i runghc
-import Distribution.Simple
-main = defaultMain
diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,3 +1,8 @@
+# Version 0.4.1
+
+* Fix compiler warnings.
+
+
 # Version 0.4
 
 * COMPILER ASSISTED BREAKING CHANGE: `ClientSettings` and `ServerSettings` are
diff --git a/network-simple-tls.cabal b/network-simple-tls.cabal
--- a/network-simple-tls.cabal
+++ b/network-simple-tls.cabal
@@ -1,24 +1,26 @@
+cabal-version:       2.4
 name:                network-simple-tls
-version:             0.4
+version:             0.4.1
 synopsis:            Simple interface to TLS secured network sockets.
 description:         Simple interface to TLS secured network sockets.
-homepage:            https://github.com/k0001/network-simple-tls
-bug-reports:         https://github.com/k0001/network-simple-tls/issues
-license:             BSD3
+homepage:            https://hackage.haskell.org/package/network-simple-tls
+bug-reports:         https://github.com/k0001/network-simple/issues
+license:             BSD-3-Clause
 license-file:        LICENSE
 author:              Renzo Carbonara
 maintainer:          renλren.zone
-copyright:           Copyright (c) Renzo Carbonara 2013-2019
+copyright:           Copyright (c) Renzo Carbonara 2013
 category:            Network
 build-type:          Simple
-cabal-version:       >=1.8
 extra-source-files:  README.md PEOPLE changelog.md
 
 source-repository head
     type: git
-    location: git://github.com/k0001/network-simple-tls.git
+    location: https://github.com/k0001/network-simple
+    subdir: network-simple-tls
 
 library
+  default-language:  Haskell2010
   hs-source-dirs:    src
   exposed-modules:   Network.Simple.TCP.TLS
   build-depends:     base >=4.5 && <5.0
diff --git a/src/Network/Simple/TCP/TLS.hs b/src/Network/Simple/TCP/TLS.hs
--- a/src/Network/Simple/TCP/TLS.hs
+++ b/src/Network/Simple/TCP/TLS.hs
@@ -560,7 +560,8 @@
 -- Up to @16384@ decrypted bytes will be received at once.
 recv :: MonadIO m => T.Context -> m (Maybe B.ByteString)
 recv ctx = liftIO $ do
-    E.handle (\T.Error_EOF -> return Nothing)
+    E.handle (\case T.Error_EOF -> return Nothing
+                    e -> E.throwM e)
              (do bs <- T.recvData ctx
                  if B.null bs
                     then return Nothing -- I think this never happens
