diff --git a/scrape-changes.cabal b/scrape-changes.cabal
--- a/scrape-changes.cabal
+++ b/scrape-changes.cabal
@@ -1,5 +1,5 @@
 name:                scrape-changes
-version:             0.1.0.4
+version:             0.1.0.5
 synopsis:            Scrape websites for changes
 description:         This library scrapes websites and invokes callbacks when there are changes, similar to a RSS reader.
                      Sending an email by invoking sendmail is a built-in callback mechanism. Of course, users can provide
@@ -23,16 +23,16 @@
   other-modules:
   other-extensions:
   build-depends:       base >=4.8 && <5.0
-                     , validation >=0.5.1 && < 0.6
-                     , lens >=4.12 && <4.20
-                     , mime-mail >= 0.4 && < 0.5
-                     , network-uri >=2.6.1.0 && < 2.7
-                     , email-validate >= 2.0 && < 3.0
+                     , validation >=0.5.1
+                     , lens >=4.12
+                     , mime-mail >= 0.4
+                     , network-uri >=2.6.1.0
+                     , email-validate >= 2.0
                      , semigroups >= 0.16
                      , cron >= 0.3.2
                      , attoparsec >= 0.13.0
                      , wreq >= 0.4.0.0
-                     , http-client >= 0.4 && < 1.0
+                     , http-client >= 0.4
                      , hashable >= 1.2.3.3
                      , directory >= 1.2.2.0
                      , filepath >= 1.4.0.0
@@ -40,7 +40,7 @@
                      , bytestring >= 0.10
                      , hslogger >= 1.2.9
                      , strict >= 0.3.2
-                     , text >= 1.2.1.0 && < 1.2.3.0
+                     , text >= 1.2.1.0
   hs-source-dirs:      src
   default-language:    Haskell2010
   ghc-options:         -Wall
@@ -56,15 +56,15 @@
                    , test-framework-quickcheck2 >=0.3.0.3
                    , test-framework-hunit >= 0.3.0.2
                    , HUnit >= 1.2.5.2
-                   , validation >=0.5.1 && < 0.6
-                   , lens >=4.12 && <4.20
-                   , email-validate >= 2.0 && < 3.0
+                   , validation >=0.5.1
+                   , lens >=4.12
+                   , email-validate >= 2.0
                    , cron >= 0.3.2
                    , semigroups >= 0.16
                    , hashable >= 1.2.3.3
                    , scrape-changes
-                   , text >= 1.2.1.0 && < 1.2.3.0
-                   , shakespeare >= 2.0.0 && < 2.1.0
+                   , text >= 1.2.1.0
+                   , shakespeare >= 2.0.0
   default-language:  Haskell2010
 
 source-repository head
diff --git a/test/Network/ScrapeChanges/Internal/Test.hs b/test/Network/ScrapeChanges/Internal/Test.hs
--- a/test/Network/ScrapeChanges/Internal/Test.hs
+++ b/test/Network/ScrapeChanges/Internal/Test.hs
@@ -24,18 +24,18 @@
 newtype NCronScheduleString = NCronScheduleString { nCronScheduleStringRun :: String } deriving Show
 
 instance Show ScrapeConfig where
-  show (ScrapeConfig url (MailConfig mail))= show [lt| 
+  show (ScrapeConfig url (MailConfig mail))= show [lt|
       ScrapeConfig { _scrapeInfoUrl = #{url}
                    , _scrapeInfoCallbackConfig = MailConfig #{show mail}
                    }
     |]
-  show (ScrapeConfig url (OtherConfig _))= show [lt| 
+  show (ScrapeConfig url (OtherConfig _))= show [lt|
       ScrapeConfig { _scrapeInfoUrl = #{url}
                    , _scrapeInfoCallbackConfig = OtherConfig (\x -> return ())
                    }
     |]
 
-instance Arbitrary NCronScheduleString where 
+instance Arbitrary NCronScheduleString where
     arbitrary = NCronScheduleString <$> oneof [pure correctCronScheduleString, arbitrary]
 
 correctCronScheduleString :: String
@@ -60,13 +60,10 @@
 
 instance Arbitrary ScrapeConfig where
   arbitrary = helper <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary
-    where helper scrapeInfoUrl' config' mailFromAddr mailToAddrs = 
+    where helper scrapeInfoUrl' config' mailFromAddr mailToAddrs =
             let setConfig = scrapeInfoCallbackConfig .~ config'
             in setConfig $ SC.mailScrapeConfig scrapeInfoUrl' mailFromAddr mailToAddrs
 
-instance Arbitrary a => Arbitrary (NonEmpty a) where
-    arbitrary = (:|) <$> arbitrary <*> arbitrary
-
 tMailAddr :: MailAddr
 tMailAddr = MailAddr (Just $ TextLazy.pack "Max Mustermann") "max@mustermann.com"
 
@@ -79,20 +76,20 @@
 correctMailScrapeConfig :: ScrapeConfig
 correctMailScrapeConfig = SC.mailScrapeConfig correctUrl tMailAddr (tMailAddr :| [])
 
-correctOtherScrapeConfig :: ScrapeConfig 
+correctOtherScrapeConfig :: ScrapeConfig
 correctOtherScrapeConfig = let setCallbackConfig = scrapeInfoCallbackConfig .~ OtherConfig (const $ return ())
                            in setCallbackConfig correctMailScrapeConfig
 
 validateScrapeConfigWithBadInfoUrlShouldNotValidate :: Assertion
-validateScrapeConfigWithBadInfoUrlShouldNotValidate = 
+validateScrapeConfigWithBadInfoUrlShouldNotValidate =
     let wrongUrl = "httpp://www.google.de"
-        scrapeInfo = scrapeInfoUrl .~ wrongUrl $ correctMailScrapeConfig 
+        scrapeInfo = scrapeInfoUrl .~ wrongUrl $ correctMailScrapeConfig
         result = SUT.validateScrapeConfig scrapeInfo
-    in  Just [UrlProtocolInvalid] @=? result ^? V._Failure 
+    in  Just [UrlProtocolInvalid] @=? result ^? V._Failure
 
 validateScrapeConfigShouldValidateOnValidInput :: Assertion
 validateScrapeConfigShouldValidateOnValidInput =
-    let scrapeInfo = scrapeInfoUrl .~ correctUrl $ correctMailScrapeConfig 
+    let scrapeInfo = scrapeInfoUrl .~ correctUrl $ correctMailScrapeConfig
         result = SUT.validateScrapeConfig scrapeInfo
     in  result @=? V.AccSuccess scrapeInfo
 
@@ -103,7 +100,7 @@
       badUrlErrorsOnly = (null . (L.\\ [UrlNotAbsolute, UrlProtocolInvalid])) <$> (result ^? V._Failure)
       p2 = property $ False `M.fromMaybe` badUrlErrorsOnly
   in p1 .||. p2
-  
+
 validateScrapeConfigWithMailConfigShouldSatisfyAllInvariants :: ScrapeConfig -> Property
 validateScrapeConfigWithMailConfigShouldSatisfyAllInvariants si = M.isJust (si ^? scrapeInfoCallbackConfig . _MailConfig) ==>
   let result = SUT.validateScrapeConfig si
@@ -111,7 +108,7 @@
       mailConfigLens = scrapeInfoCallbackConfig . _MailConfig
       (Just mailConfig) = si ^? mailConfigLens
       invalidMailAddr = not . EmailValidate.isValid . (^. ByteStringLens.packedChars)
-      invalidMailAddrsProp es = let expected = (\errors' -> (`elem` errors') `L.all` es) <$> failure 
+      invalidMailAddrsProp es = let expected = (\errors' -> (`elem` errors') `L.all` es) <$> failure
                                 in True `M.fromMaybe` expected
       mailFromAddr = mailConfig ^. mailFrom . mailAddr
       mailToAddrs = mailConfig ^.. mailTo . traverse . mailAddr
@@ -121,7 +118,7 @@
   in property invalidMailFromAddrsProp .&&. property invalidMailToAddrsProp
 
 validateCronScheduleShouldSatisfyAllInvariants :: NCronScheduleString -> Property
-validateCronScheduleShouldSatisfyAllInvariants c = 
+validateCronScheduleShouldSatisfyAllInvariants c =
   let result = SUT.validateCronSchedule $ nCronScheduleStringRun c
       isCorrect = nCronScheduleStringRun c /= correctCronScheduleString
                     || M.isJust (result ^? V._Success)
@@ -129,22 +126,22 @@
   in property isCorrect .||. property containsExpectedError
 
 differentScrapeConfigsShouldYieldToDifferentHashes :: ScrapeConfig -> ScrapeConfig -> Property
-differentScrapeConfigsShouldYieldToDifferentHashes c1 c2 = 
+differentScrapeConfigsShouldYieldToDifferentHashes c1 c2 =
   let isOtherConfig = M.isJust . (^? scrapeInfoCallbackConfig . _OtherConfig)
-  in not (isOtherConfig c1 && isOtherConfig c2) ==> 
+  in not (isOtherConfig c1 && isOtherConfig c2) ==>
     let hashedC1 = Hashable.hash c1
         hashedC2 = Hashable.hash c2
-        correspondenceBetweenEqualsAndHashable = 
+        correspondenceBetweenEqualsAndHashable =
           label "correspondenceBetweenEqualsAndHashable" $ if c1 == c2 then hashedC1 == hashedC2
                                                                        else hashedC1 /= hashedC2
         differentMailConfigAttribute = let setMailSubject = set $ scrapeInfoCallbackConfig . _MailConfig . mailSubject
                                            c1' = c1 & setMailSubject (TextLazy.pack "sub1")
-                                           c2' = c2 & setMailSubject (TextLazy.pack "sub2") 
+                                           c2' = c2 & setMailSubject (TextLazy.pack "sub2")
                                        in label "differentMailConfigAttribute" $ c1' /= c2'
     in correspondenceBetweenEqualsAndHashable .&&. differentMailConfigAttribute
 
 tests :: [TF.Test]
-tests = 
+tests =
   [
     testGroup "Network.ScrapeChanges.Internal"
     [
