diff --git a/CHANGES.txt b/CHANGES.txt
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,5 +1,8 @@
 Changelog for Hoogle
 
+5.0.17, released 2018-01-17
+    Add lower bounds for time and bytestring
+    #234, allow http-conduit-0.15
 5.0.16, released 2018-01-03
     #232, allow haskell-src-exts-1.18-1.20
 5.0.15, released 2017-12-12
diff --git a/hoogle.cabal b/hoogle.cabal
--- a/hoogle.cabal
+++ b/hoogle.cabal
@@ -1,7 +1,7 @@
 cabal-version:      >= 1.18
 build-type:         Simple
 name:               hoogle
-version:            5.0.16
+version:            5.0.17
 license:            BSD3
 license-file:       LICENSE
 category:           Development
@@ -56,7 +56,7 @@
         aeson,
         base > 4 && < 5,
         binary,
-        bytestring,
+        bytestring >= 0.10.2.0,
         cmdargs,
         conduit,
         conduit-extra,
@@ -68,7 +68,7 @@
         filepath,
         old-locale,
         haskell-src-exts >= 1.18 && < 1.21,
-        http-conduit,
+        http-conduit >= 2.3,
         http-types,
         js-flot,
         js-jquery,
@@ -79,7 +79,7 @@
         tar,
         template-haskell,
         text,
-        time,
+        time >= 1.5,
         transformers,
         uniplate,
         utf8-string,
diff --git a/html/hoogle.js b/html/hoogle.js
--- a/html/hoogle.js
+++ b/html/hoogle.js
@@ -251,7 +251,9 @@
 function searchPlugin()
 {
     var url = $("link[rel=search]").attr("href");
-    if (url.indexOf('://') === -1 || url.indexOf('//') !== 0 )
+    //  If neither scheme(http(s)://) nor DSN prefix(//) is in URL then we
+    //  should add prefix.
+    if (url.indexOf('://') === -1 && url.indexOf('//') !== 0)
         url = prefixUrl + url;
     window.external.AddSearchProvider(url);
 }
diff --git a/src/General/Conduit.hs b/src/General/Conduit.hs
--- a/src/General/Conduit.hs
+++ b/src/General/Conduit.hs
@@ -12,6 +12,7 @@
 
 import Data.Conduit
 import Data.Conduit.List as C
+import Data.Conduit.Binary as C
 import Data.Maybe
 import Control.Applicative
 import Control.Monad.Extra
@@ -52,23 +53,8 @@
                 f k2 v2
 
 
--- | I use this version as in older versions of Conduit the equivalent is O(n^2).
---   https://github.com/snoyberg/conduit/pull/209
-linesC :: Monad m => Conduit Str m Str
-linesC = loop []
-    where
-        loop acc = await >>= maybe (finish acc) (go acc)
-
-        finish acc = unless (BS.null final) (yield final)
-            where final = BS.concat $ reverse acc
-
-        go acc more = case BS.uncons second of
-            Just (_, second') -> yield (BS.concat $ reverse $ first:acc) >> go [] second'
-            Nothing -> loop $ more:acc
-            where (first, second) = BS.break (== '\n') more
-
 linesCR :: Monad m => Conduit Str m Str
-linesCR = linesC =$= mapC f
+linesCR = C.lines =$= mapC f
     where f x | Just (x, '\r') <- BS.unsnoc x = x
               | otherwise = x
 
diff --git a/src/Input/Download.hs b/src/Input/Download.hs
--- a/src/Input/Download.hs
+++ b/src/Input/Download.hs
@@ -35,4 +35,4 @@
     manager <- C.newManager $ C.mkManagerSettings (TLSSettingsSimple insecure False False) Nothing
     runResourceT $ do
         response <- C.http request manager
-        C.responseBody response C.$$+- sinkFile file
+        C.responseBody response C.$$ sinkFile file
