diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,6 @@
+## 0.1.2 [2017.06.23]
+* Fix the benchmark suite with `criterion-1.2`
+
 ## 0.1.1 [2017.01.22]
 * Expose `Data.TLS.PThread.Internal`. Note that there are no API guarantees
   whatsoever with this module, so use it with caution.
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -3,6 +3,7 @@
 [![Hackage Dependencies](https://img.shields.io/hackage-deps/v/thread-local-storage.svg)](http://packdeps.haskellers.com/reverse/thread-local-storage)
 [![Haskell Programming Language](https://img.shields.io/badge/language-Haskell-blue.svg)][Haskell.org]
 [![BSD3 License](http://img.shields.io/badge/license-BSD3-brightgreen.svg)][tl;dr Legal: BSD3]
+[![Build](https://img.shields.io/travis/rrnewton/thread-local-storage.svg)](https://travis-ci.org/rrnewton/thread-local-storage)
 
 [Hackage: thread-local-storage]:
   http://hackage.haskell.org/package/thread-local-storage
diff --git a/bench/Main.hs b/bench/Main.hs
--- a/bench/Main.hs
+++ b/bench/Main.hs
@@ -10,7 +10,6 @@
 -- import qualified Data.TLS.GCC as GCC
 
 import Criterion
-import Criterion.Types
 import Criterion.Main
 import Data.Atomics.Counter
 
@@ -78,7 +77,7 @@
 ----------------------------------------------------------------------------------------------------
 
 benchPar0 :: Int -> IO a -> (a -> IO ()) -> (a -> IO ()) -> Benchmarkable
-benchPar0 numT new fn shutd = Benchmarkable $ \ iters -> do
+benchPar0 numT new fn shutd = toBenchmarkable $ \ iters -> do
   x <- new
   numCap  <- getNumCapabilities
   -- We compute the number of iterations such that the time would be
@@ -101,7 +100,7 @@
 -- | Benchmarking the same action on ALL of N threads.
 --   This version uses MVar synchronization.
 benchPar1 :: Int -> IO () -> Benchmarkable
-benchPar1 num act = Benchmarkable $ \ iters -> do
+benchPar1 num act = toBenchmarkable $ \ iters -> do
   mvs <- forM [0..num-1] $ \ n -> do
     v <- newEmptyMVar
     _ <- forkOn n $ do rep (fromIntegral iters) act
@@ -112,7 +111,7 @@
 
 -- | This version never blocks on an MVar.
 benchPar2 :: Int -> IO () -> Benchmarkable
-benchPar2 num act = Benchmarkable $ \ iters -> do
+benchPar2 num act = toBenchmarkable $ \ iters -> do
   done <- newCounter 0
   let waitCounter = do x <- readCounter done
                        unless (num == x) waitCounter
diff --git a/thread-local-storage.cabal b/thread-local-storage.cabal
--- a/thread-local-storage.cabal
+++ b/thread-local-storage.cabal
@@ -1,5 +1,5 @@
 name:                thread-local-storage
-version:             0.1.1
+version:             0.1.2
 synopsis:            Several options for thread-local-storage (TLS) in Haskell.
 description:
    .
@@ -53,7 +53,7 @@
   type: exitcode-stdio-1.0
   build-depends: thread-local-storage
   build-depends: base >= 4.6 && < 5.0,
-                 criterion >= 1.0,
+                 criterion >= 1.2.1,
                  atomic-primops >= 0.6.0.6
   default-language:    Haskell2010
   ghc-options: -Wall -rtsopts -O2 -threaded -with-rtsopts=-T
