diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,11 @@
 # Revision history for lifted-async
 
+## v0.10.1.3 - 2021-02-26
+
+* Support GHC 9.0.1 ([#33](https://github.com/maoe/lifted-async/pull/33))
+* Switch from Travis CI to GitHub Actions
+* Switch from criterion to tasty-bench
+
 ## v0.10.1.2 - 2020-07-23
 
 * Relax upper version bound for tasty-expected-failure
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -2,17 +2,11 @@
 ==========
 [![Hackage](https://img.shields.io/hackage/v/lifted-async.svg)](https://hackage.haskell.org/package/lifted-async)
 [![Hackage-Deps](https://img.shields.io/hackage-deps/v/lifted-async.svg)](http://packdeps.haskellers.com/feed?needle=lifted-async)
-[![lifted-async on Stackage LTS 3](http://stackage.org/package/lifted-async/badge/lts)](http://stackage.org/lts/package/lifted-async)
-[![Build Status](https://travis-ci.org/maoe/lifted-async.svg?branch=develop)](https://travis-ci.org/maoe/lifted-async)
+[![lifted-async on Stackage LTS](https://stackage.org/package/lifted-async/badge/lts)](http://stackage.org/lts/package/lifted-async)
+[![Haskell-CI](https://github.com/maoe/lifted-async/actions/workflows/haskell-ci.yml/badge.svg?branch=master)](https://github.com/maoe/lifted-async/actions/workflows/haskell-ci.yml)
 [![Gitter](https://badges.gitter.im/maoe/lifted-async.svg)](https://gitter.im/maoe/lifted-async?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
 
 This package provides IO operations from [async](http://hackage.haskell.org/package/async) package lifted to any instance of `MonadBase` or `MonadBaseControl` from [monad-control](http://hackage.haskell.org/package/monad-control) package.
-
-You can install this library using cabal:
-
-```
-cabal install lifted-async
-```
 
 Contact information
 ==========
diff --git a/benchmarks/Benchmarks.hs b/benchmarks/Benchmarks.hs
--- a/benchmarks/Benchmarks.hs
+++ b/benchmarks/Benchmarks.hs
@@ -1,7 +1,7 @@
 module Main where
 import Control.Exception (SomeException(..))
 
-import Criterion.Main
+import Test.Tasty.Bench (bench, bgroup, defaultMain, nfIO, whnfIO)
 import qualified Control.Concurrent.Async as A
 import qualified Control.Concurrent.Async.Lifted as L
 import qualified Control.Concurrent.Async.Lifted.Safe as LS
@@ -13,11 +13,11 @@
       , bench "lifted-async" $ whnfIO asyncWait_liftedAsync
       , bench "lifted-async-safe" $ whnfIO asyncWait_liftedAsyncSafe
       ]
-  , bgroup "async-cancel-waitCatch"
-      [ bench "async" $ whnfIO asyncCancelWaitCatch_async
-      , bench "lifted-async" $ whnfIO asyncCancelWaitCatch_liftedAsync
-      , bench "lifted-async-safe" $ whnfIO asyncCancelWaitCatch_liftedAsyncSafe
-      ]
+  -- , bgroup "async-cancel-waitCatch"
+  --     [ bench "async" $ whnfIO asyncCancelWaitCatch_async
+  --     , bench "lifted-async" $ whnfIO asyncCancelWaitCatch_liftedAsync
+  --     , bench "lifted-async-safe" $ whnfIO asyncCancelWaitCatch_liftedAsyncSafe
+  --     ]
   , bgroup "waitAny"
       [ bench "async" $ whnfIO waitAny_async
       , bench "lifted-async" $ whnfIO waitAny_liftedAsync
diff --git a/lifted-async.cabal b/lifted-async.cabal
--- a/lifted-async.cabal
+++ b/lifted-async.cabal
@@ -1,6 +1,6 @@
 cabal-version:       1.24
 name:                lifted-async
-version:             0.10.1.2
+version:             0.10.1.3
 synopsis:            Run lifted IO operations asynchronously and wait for their results
 homepage:            https://github.com/maoe/lifted-async
 bug-reports:         https://github.com/maoe/lifted-async/issues
@@ -8,11 +8,12 @@
 license-file:        LICENSE
 author:              Mitsutoshi Aoe
 maintainer:          Mitsutoshi Aoe <me@maoe.name>
-copyright:           Copyright (C) 2012-2020 Mitsutoshi Aoe
+copyright:           Copyright (C) 2012-2021 Mitsutoshi Aoe
 category:            Concurrency
 build-type:          Simple
 tested-with:
-  GHC == 8.10.1
+  GHC == 9.0.1
+  GHC == 8.10.3
   GHC == 8.8.3
   GHC == 8.6.5
   GHC == 8.4.4
@@ -33,13 +34,13 @@
     Control.Concurrent.Async.Lifted
     Control.Concurrent.Async.Lifted.Safe
   build-depends:
-      base >= 4.5 && < 4.15
+      base >= 4.5 && < 4.16
     , async >= 2.2 && < 2.3
     , lifted-base >= 0.2 && < 0.3
     , transformers-base >= 0.4 && < 0.5
     , monad-control == 1.0.*
   if impl(ghc >= 7.8)
-    build-depends: constraints >= 0.2 && < 0.13
+    build-depends: constraints >= 0.2 && < 0.14
   else
     build-depends: constraints >= 0.2 && < 0.6
   ghc-options: -Wall
@@ -91,7 +92,7 @@
   build-depends:
       base
     , async
-    , criterion
+    , tasty-bench < 0.3
     , deepseq
     , lifted-async
   default-language: Haskell2010
@@ -104,7 +105,7 @@
   build-depends:
       base
     , async
-    , criterion
+    , tasty-bench < 0.3
     , deepseq
     , lifted-async
   default-language: Haskell2010
diff --git a/src/Control/Concurrent/Async/Lifted.hs b/src/Control/Concurrent/Async/Lifted.hs
--- a/src/Control/Concurrent/Async/Lifted.hs
+++ b/src/Control/Concurrent/Async/Lifted.hs
@@ -92,7 +92,7 @@
 #endif
 #if !MIN_VERSION_base(4, 8, 0)
 import Data.Monoid (Monoid(mappend, mempty))
-#elif MIN_VERSION_base(4, 9, 0)
+#elif MIN_VERSION_base(4, 9, 0) && !MIN_VERSION_base(4, 13, 0)
 import Data.Semigroup (Semigroup((<>)))
 #endif
 
diff --git a/src/Control/Concurrent/Async/Lifted/Safe.hs b/src/Control/Concurrent/Async/Lifted/Safe.hs
--- a/src/Control/Concurrent/Async/Lifted/Safe.hs
+++ b/src/Control/Concurrent/Async/Lifted/Safe.hs
@@ -98,7 +98,7 @@
 #endif
 #if !MIN_VERSION_base(4, 8, 0)
 import Data.Monoid (Monoid(mappend, mempty))
-#elif MIN_VERSION_base(4, 9, 0)
+#elif MIN_VERSION_base(4, 9, 0) && !MIN_VERSION_base(4, 13, 0)
 import Data.Semigroup (Semigroup((<>)))
 #endif
 
