diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,7 @@
+## 0.1.0.6
+
+* Fixed compatibility with `http-client>=0.4.30`.
+
 ## 0.1.0.5
 
 * Running `stackage-upload` by itself is same as `stackage-upload .` [#4](https://github.com/fpco/stackage-upload/issues/4)
diff --git a/Stackage/Upload.hs b/Stackage/Upload.hs
--- a/Stackage/Upload.hs
+++ b/Stackage/Upload.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP                 #-}
 {-# LANGUAGE DeriveDataTypeable  #-}
 {-# LANGUAGE OverloadedStrings   #-}
 {-# LANGUAGE ScopedTypeVariables #-}
@@ -45,8 +46,17 @@
 import           Network.HTTP.Client                   (BodyReader, Manager,
                                                         Response,
                                                         applyBasicAuth, brRead,
-                                                        checkStatus, newManager,
+#if MIN_VERSION_http_client(0,5,0)
+                                                        checkResponse,
+#else
+                                                        checkStatus,
+#endif
+                                                        newManager,
+#if MIN_VERSION_http_client(0,4,30)
+                                                        parseUrlThrow,
+#else
                                                         parseUrl,
+#endif
                                                         requestHeaders,
                                                         responseBody,
                                                         responseStatus,
@@ -200,10 +210,18 @@
     manager <- usGetManager us
     (creds, fromFile) <- loadCreds $ usCredsSource us
     when (not fromFile && usSaveCreds us) $ saveCreds creds
+#if MIN_VERSION_http_client(0,4,30)
+    req0 <- parseUrlThrow $ usUploadUrl us
+#else
     req0 <- parseUrl $ usUploadUrl us
+#endif
     let req1 = req0
             { requestHeaders = [("Accept", "text/plain")]
+#if MIN_VERSION_http_client(0,5,0)
+            , checkResponse = \_ _ -> return ()
+#else
             , checkStatus = \_ _ _ -> Nothing
+#endif
             }
     return Uploader
         { upload_ = \fp0 -> withTarball fp0 $ \fp -> do
diff --git a/stackage-upload.cabal b/stackage-upload.cabal
--- a/stackage-upload.cabal
+++ b/stackage-upload.cabal
@@ -1,5 +1,5 @@
 name:                stackage-upload
-version:             0.1.0.5
+version:             0.1.0.6
 synopsis:            A more secure version of cabal upload which uses HTTPS
 description:         For more information, see <https://www.stackage.org/package/stackage-upload>
 homepage:            https://github.com/fpco/stackage-upload
