diff --git a/CHANGES b/CHANGES
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,7 @@
+1.0.1
+
+- Update dependencies in tests and benchmarks.
+
 1.0.0
 
 - Initial split from "uuid-1.3.8"
diff --git a/tests/BenchByteString.hs b/tests/BenchByteString.hs
deleted file mode 100644
--- a/tests/BenchByteString.hs
+++ /dev/null
@@ -1,82 +0,0 @@
-import           Control.Applicative                ((<*>))
-import           Data.Functor ((<$>))
-
-import           Data.ByteString (ByteString)
-import qualified Data.ByteString.Char8 as BC8
-import           System.Random
-import           Test.QuickCheck
-
-import           Criterion
-import           Criterion.Main
-
-import           Data.UUID.Types
-
-instance Arbitrary UUID where
-    arbitrary =
-        fromWords <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary
-
--- Testing what we do in the codebase
-fromASCIIBytes_naive :: ByteString -> Maybe UUID
-fromASCIIBytes_naive = fromString . BC8.unpack
-
-toASCIIBytes_naive :: UUID -> ByteString
-toASCIIBytes_naive = BC8.pack . toString
-
-randomUUIDs :: IO [UUID]
-randomUUIDs = sample' arbitrary
-
-randomCorrect :: IO [String]
-randomCorrect = map toString <$> randomUUIDs
-
-randomSlightlyWrong :: IO [String]
-randomSlightlyWrong = mapM screw =<< randomCorrect
-  where
-    screw s = do
-        ix <- randomRIO (0, length s - 1)
-        return (take ix s ++ "x" ++ drop (ix + 1) s)
-
-randomVeryWrong :: IO [String]
-randomVeryWrong = sample' arbitrary
-
-main :: IO ()
-main = do
-    uuids <- randomUUIDs
-    correct <- randomCorrect
-    let correctBytes = map BC8.pack correct
-    slightlyWrong <- randomSlightlyWrong
-    let slightlyWrongBytes = map BC8.pack slightlyWrong
-    veryWrong <- randomVeryWrong
-    let veryWrongBytes = map BC8.pack veryWrong
-
-    defaultMain
-        [ bgroup "decoding"
-          [ bcompare
-            [ bgroup "correct"
-              [ bench "fromASCIIBytes"       (nf (map fromASCIIBytes) correctBytes)
-              , bench "fromString"           (nf (map fromString) correct)
-              , bench "fromASCIIBytes_naive" (nf (map fromASCIIBytes_naive) correctBytes)
-              ]
-            ]
-          , bcompare
-            [ bgroup "slightly wrong"
-              [ bench "fromASCIIBytes"       (nf (map fromASCIIBytes) slightlyWrongBytes)
-              , bench "fromString"           (nf (map fromString) slightlyWrong)
-              , bench "fromASCIIBytes_naive" (nf (map fromASCIIBytes_naive) slightlyWrongBytes)
-              ]
-            ]
-          , bcompare
-            [ bgroup "very wrong"
-              [ bench "fromASCIIBytes"       (nf (map fromASCIIBytes) veryWrongBytes)
-              , bench "fromString"           (nf (map fromString) veryWrong)
-              , bench "fromASCIIBytes_naive" (nf (map fromASCIIBytes_naive) veryWrongBytes)
-              ]
-            ]
-          ]
-        , bcompare
-          [ bgroup "encoding"
-            [ bench "toASCIIBytes"       (nf (map toASCIIBytes) uuids)
-            , bench "toString"           (nf (map toString) uuids)
-            , bench "toASCIIBytes_naive" (nf (map toASCIIBytes_naive) uuids)
-            ]
-          ]
-        ]
diff --git a/tests/BenchUUID.hs b/tests/BenchUUID.hs
--- a/tests/BenchUUID.hs
+++ b/tests/BenchUUID.hs
@@ -55,7 +55,7 @@
 
             bgroup "storable" [
                 bench "peek" $ nfIO (peek uuidPtr),
-                bench "poke" $ poke uuidPtr u1
+                bench "poke" $ whnfIO $ poke uuidPtr u1
                 ]
             ]
 
diff --git a/tests/TestUUID.hs b/tests/TestUUID.hs
--- a/tests/TestUUID.hs
+++ b/tests/TestUUID.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE ViewPatterns #-}
+
 import qualified Data.ByteString.Lazy as BL
 import qualified Data.ByteString.Lazy.Char8 as BL8
 import qualified Data.ByteString.Char8 as BC8
@@ -8,51 +9,52 @@
 import qualified Data.UUID.Types as U
 import Foreign (alloca, peek, poke)
 import System.IO.Unsafe (unsafePerformIO)
-import qualified Test.HUnit as H
-import Test.HUnit hiding (Test)
-import Test.QuickCheck hiding ((.&.))
-import Test.Framework (defaultMain, Test)
-import Test.Framework.Providers.HUnit (hUnitTestToTests)
-import Test.Framework.Providers.QuickCheck2 (testProperty)
 
+import Test.QuickCheck ( Arbitrary(arbitrary), choose )
 
+import Test.Tasty ( defaultMain, TestTree, testGroup )
+import Test.Tasty.HUnit ( assertBool, (@?=), (@=?), testCase )
+import Test.Tasty.QuickCheck ( testProperty )
+
+
 instance Arbitrary U.UUID where
     -- the UUID random instance ignores bounds
     arbitrary = choose (U.nil, U.nil)
 
+type Test = TestTree
 
-test_null :: H.Test
-test_null = H.TestList [
-    "nil is null"              ~: assertBool "" (U.null U.nil)
-    ]
+test_null :: Test
+test_null =
+  testCase "nil is null" $
+  assertBool "" (U.null U.nil)
 
-test_nil :: H.Test
-test_nil = H.TestList [
-    "nil string" ~: U.toString U.nil @?= "00000000-0000-0000-0000-000000000000",
-    "nil bytes"  ~: U.toByteString U.nil @?= BL.pack (replicate 16 0)
+test_nil :: Test
+test_nil = testGroup "nil" [
+    testCase "nil string" $ U.toString U.nil @?= "00000000-0000-0000-0000-000000000000",
+    testCase "nil bytes"  $ U.toByteString U.nil @?= BL.pack (replicate 16 0)
     ]
 
-test_conv :: H.Test
-test_conv = H.TestList [
-    "conv bytes to string" ~:
+test_conv :: Test
+test_conv = testGroup "conversions" [
+    testCase "conv bytes to string" $
         maybe "" (U.toString) (U.fromByteString b16) @?= s16,
-    "conv string to bytes" ~:
+    testCase "conv string to bytes" $
         maybe BL.empty (U.toByteString) (U.fromString s16) @?= b16
     ]
     where b16 = BL.pack [1..16]
           s16 = "01020304-0506-0708-090a-0b0c0d0e0f10"
 
 -- | Test fromByteString with a fixed-input.
-test_fromByteString :: H.Test
+test_fromByteString :: Test
 test_fromByteString =
-    "UUID fromByteString" ~:
+    testCase "UUID fromByteString" $
         Just inputUUID @=?
              U.fromByteString (BL8.pack "\165\202\133f\217\197H5\153\200\225\241>s\181\226")
 
 -- | Test fromWords with a fixed-input
-test_fromWords :: H.Test
+test_fromWords :: Test
 test_fromWords =
-    "UUID fromWords" ~:
+    testCase "UUID fromWords" $
         inputUUID @=? U.fromWords 2781513062 3653584949 2580079089 1047770594
 
 inputUUID :: U.UUID
@@ -144,8 +146,9 @@
 main :: IO ()
 main = do
     defaultMain $
+     testGroup "tests" $
      concat $
-     [ hUnitTestToTests $ H.TestList [
+     [ [
         test_null,
         test_nil,
         test_conv,
diff --git a/uuid-types.cabal b/uuid-types.cabal
--- a/uuid-types.cabal
+++ b/uuid-types.cabal
@@ -1,5 +1,5 @@
 Name: uuid-types
-Version: 1.0.0
+Version: 1.0.1
 Copyright: (c) 2008-2014 Antoine Latter
 Author: Antoine Latter
 Maintainer: aslatter@gmail.com
@@ -57,10 +57,10 @@
                        uuid-types,
                        bytestring >= 0.9 && < 0.11,
                        HUnit >=1.2 && < 1.3,
-                       QuickCheck >=2.4 && < 2.8,
-                       test-framework == 0.8.*,
-                       test-framework-hunit == 0.3.*,
-                       test-framework-quickcheck2 == 0.3.*
+                       QuickCheck >=2.4 && < 2.9,
+                       tasty == 0.10.*,
+                       tasty-hunit == 0.9.*,
+                       tasty-quickcheck == 0.8.*
 
 benchmark benchmark
     Type:              exitcode-stdio-1.0
@@ -72,18 +72,6 @@
                        uuid-types,
                        bytestring >= 0.9 && < 0.11,
                        containers >= 0.4 && < 0.6,
-                       criterion >= 0.4 && < 0.9,
-                       deepseq >= 1.1 && < 1.4,
+                       criterion >= 0.4 && < 1.2,
+                       deepseq >= 1.1 && < 1.5,
                        random >= 1.0.1 && < 1.2
-
-benchmark benchbytestring
-  Type:              exitcode-stdio-1.0
-  Hs-Source-Dirs:    tests
-  Main-Is:           BenchByteString.hs
-  Ghc-Options:       -threaded -rtsopts -Wall -O2 -fno-warn-orphans
-  Build-Depends:     base                 >= 4       && < 5
-                   , uuid-types
-                   , bytestring           >= 0.10
-                   , criterion            >= 0.8
-                   , random               >= 1.0
-                   , QuickCheck           >= 2
