diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # Revision history for tasty-wai
 
+## 0.1.1.1 -- 2020-09-24
+
+* Support wai-extra 3.1
+
 ## 0.1.1.0 -- 2019-01-09
 
 * Add `buildRequestWithHeaders` function.
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-<img src="https://turnipbox.netlify.com/img/d61.svg" width="300px"/>
+![CSIRO's Data61 Logo](https://raw.githubusercontent.com/qfpl/assets/master/data61-transparent-bg.png)
 
 [![Build Status](https://travis-ci.org/qfpl/tasty-wai.svg?branch=master)](https://travis-ci.org/qfpl/tasty-wai)
 
diff --git a/src/Test/Tasty/Wai.hs b/src/Test/Tasty/Wai.hs
--- a/src/Test/Tasty/Wai.hs
+++ b/src/Test/Tasty/Wai.hs
@@ -31,6 +31,8 @@
 import           Network.HTTP.Types   (RequestHeaders, StdMethod)
 import qualified Network.HTTP.Types   as HTTP
 
+import           Test.HUnit.Lang      (HUnitFailure (HUnitFailure), formatFailureReason)
+
 import           Test.Tasty.Providers (IsTest (..), Progress (..), TestName,
                                        TestTree, singleTest, testFailed,
                                        testPassed)
@@ -58,7 +60,7 @@
     -- 'Session a' isn't important for the test?
     E.try (runSession sess app) >>= either toFailure toPass
     where
-      toFailure (WaiTestFailure s) = testFailed <$> (formatMessage s)
+      toFailure (HUnitFailure _ s) = testFailed <$> (formatMessage (formatFailureReason s))
       toPass     _                 = pure (testPassed mempty)
 
 -- | Create an empty 'Request' using the given HTTP Method and route.
diff --git a/tasty-wai.cabal b/tasty-wai.cabal
--- a/tasty-wai.cabal
+++ b/tasty-wai.cabal
@@ -2,7 +2,7 @@
 -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                tasty-wai
-version:             0.1.1.0
+version:             0.1.1.1
 synopsis:            Test 'wai' endpoints via Test.Tasty
 description:         Helper functions and runners for testing wai endpoints using the Tasty testing infrastructure.
 license:             BSD3
@@ -23,8 +23,10 @@
 tested-with:         GHC == 7.10.3
                    , GHC == 8.0.2
                    , GHC == 8.2.2
-                   , GHC == 8.4.1
-                   , GHC == 8.6.1
+                   , GHC == 8.4.4
+                   , GHC == 8.6.5
+                   , GHC == 8.8.3
+                   , GHC == 8.10.1
 
 source-repository head
     type: git
@@ -36,12 +38,13 @@
   -- other-modules:
   -- other-extensions:
 
-  build-depends:       base >=4.8 && <4.13
-                     , tasty >= 0.8 && < 1.3
-                     , bytestring == 0.10.*
+  build-depends:       base >= 4.8 && < 4.15
+                     , tasty >= 0.8 && < 1.4
+                     , bytestring >= 0.10 && < 0.12
                      , wai == 3.2.*
-                     , wai-extra == 3.0.*
+                     , wai-extra >= 3 && < 3.2
                      , http-types >= 0.9 && < 0.13
+                     , HUnit >= 1.6 && < 1.7
 
   hs-source-dirs:      src
   default-language:    Haskell2010
@@ -57,8 +60,8 @@
   hs-source-dirs:      test
   main-is:             Test.hs
 
-  build-depends:       base >=4.8 && <4.13
-                     , tasty >= 0.8 && < 1.3
+  build-depends:       base >= 4.8 && < 4.15
+                     , tasty >= 0.8 && < 1.4
                      , wai == 3.2.*
                      , http-types >= 0.9 && < 0.13
                      , tasty-wai
