diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,10 @@
-## [*Unreleased*](https://github.com/freckle/aws-xray-client/tree/aws-xray-client-v0.1.0.0...main)
+## [*Unreleased*](https://github.com/freckle/aws-xray-client/compare/aws-xray-client-v0.1.0.1...main)
 
 None
+
+## [v0.1.0.1](https://github.com/freckle/aws-xray-client/compare/aws-xray-client-v0.1.0.0...aws-xray-client-v0.1.0.1)
+
+- Build on GHC 8.10
 
 ## [v0.1.0.0](https://github.com/freckle/aws-xray-client/tree/aws-xray-client-v0.1.0.0)
 
diff --git a/aws-xray-client.cabal b/aws-xray-client.cabal
--- a/aws-xray-client.cabal
+++ b/aws-xray-client.cabal
@@ -1,6 +1,6 @@
 cabal-version:      1.12
 name:               aws-xray-client
-version:            0.1.0.0
+version:            0.1.0.1
 license:            MIT
 copyright:          2021 Renaissance Learning Inc
 maintainer:         engineering@freckle.com
@@ -45,16 +45,16 @@
         TypeApplications TypeFamilies
 
     build-depends:
-        aeson >=1.4.2.0,
-        base >=4.12.0.0 && <5,
-        bytestring >=0.10.8.2,
+        aeson >=1.5.6.0,
+        base >=4.14.1.0 && <5,
+        bytestring >=0.10.12.0,
         deepseq >=1.4.4.0,
         http-types >=0.12.3,
-        lens >=4.17.1,
-        network >=2.8.0.1,
-        random >=1.1,
-        text >=1.2.3.1,
-        time >=1.8.0.2
+        lens >=4.19.2,
+        network >=3.1.1.1,
+        random >=1.2.0,
+        text >=1.2.4.1,
+        time >=1.9.3
 
 test-suite spec
     type:               exitcode-stdio-1.0
@@ -77,16 +77,16 @@
 
     ghc-options:        -threaded -rtsopts -O0 -with-rtsopts=-N
     build-depends:
-        QuickCheck >=2.12.6.1,
-        aeson >=1.4.2.0,
-        aeson-qq >=0.8.2,
+        QuickCheck >=2.14.2,
+        aeson >=1.5.6.0,
+        aeson-qq >=0.8.3,
         aws-xray-client -any,
-        base >=4.12.0.0 && <5,
+        base >=4.14.1.0 && <5,
         generic-arbitrary >=0.1.0,
-        hspec >=2.6.1,
-        lens >=4.17.1,
-        random >=1.1,
-        text >=1.2.3.1
+        hspec >=2.7.10,
+        lens >=4.19.2,
+        random >=1.2.0,
+        text >=1.2.4.1
 
 benchmark bench
     type:               exitcode-stdio-1.0
@@ -105,9 +105,9 @@
 
     ghc-options:        -threaded -O2 -with-rtsopts=-N
     build-depends:
-        async >=2.2.2,
+        async >=2.2.3,
         aws-xray-client -any,
-        base >=4.12.0.0 && <5,
-        criterion >=1.5.5.0,
-        random >=1.1,
-        time >=1.8.0.2
+        base >=4.14.1.0 && <5,
+        criterion >=1.5.9.0,
+        random >=1.2.0,
+        time >=1.9.3
diff --git a/library/Network/AWS/XRayClient/SendSegments.hs b/library/Network/AWS/XRayClient/SendSegments.hs
--- a/library/Network/AWS/XRayClient/SendSegments.hs
+++ b/library/Network/AWS/XRayClient/SendSegments.hs
@@ -12,7 +12,6 @@
 import Data.ByteString (ByteString)
 import qualified Data.ByteString.Lazy as BSL
 import Data.Foldable (traverse_)
-import Data.Monoid ((<>))
 import Data.Text (Text)
 import qualified Data.Text as T
 import Data.Typeable
diff --git a/library/Network/AWS/XRayClient/TraceId.hs b/library/Network/AWS/XRayClient/TraceId.hs
--- a/library/Network/AWS/XRayClient/TraceId.hs
+++ b/library/Network/AWS/XRayClient/TraceId.hs
@@ -24,7 +24,6 @@
 import qualified Data.ByteString.Char8 as BS8
 import Data.Char (intToDigit)
 import Data.IORef
-import Data.Monoid ((<>))
 import Data.Text (Text)
 import qualified Data.Text as T
 import qualified Data.Text.Encoding as T
@@ -83,14 +82,16 @@
 generateXRaySegmentId :: StdGen -> (XRaySegmentId, StdGen)
 generateXRaySegmentId = first (XRaySegmentId . T.pack) . randomHexString 16
 
--- | This holds the data from the X-Amzn-Trace-Id header. See
--- http://docs.aws.amazon.com/xray/latest/devguide/xray-concepts.html#xray-concepts-tracingheader
-data XRayTraceIdHeaderData
-  = XRayTraceIdHeaderData
+-- | This holds the data from the @X-Amzn-Trace-Id@ header
+--
+-- See <http://docs.aws.amazon.com/xray/latest/devguide/xray-concepts.html#xray-concepts-tracingheader>
+--
+data XRayTraceIdHeaderData = XRayTraceIdHeaderData
   { xrayTraceIdHeaderDataRootTraceId :: !XRayTraceId
   , xrayTraceIdHeaderDataParentId :: !(Maybe XRaySegmentId)
   , xrayTraceIdHeaderDataSampled :: !(Maybe Bool)
-  } deriving (Show, Eq, Generic)
+  }
+  deriving (Show, Eq, Generic)
 
 -- | Constructor for 'XRayTraceIdHeaderData'.
 xrayTraceIdHeaderData :: XRayTraceId -> XRayTraceIdHeaderData
@@ -108,9 +109,8 @@
   traceId <- lookup "Root" components
   pure XRayTraceIdHeaderData
     { xrayTraceIdHeaderDataRootTraceId = XRayTraceId (T.decodeUtf8 traceId)
-    , xrayTraceIdHeaderDataParentId = XRaySegmentId
-      . T.decodeUtf8
-      <$> lookup "Parent" components
+    , xrayTraceIdHeaderDataParentId =
+      XRaySegmentId . T.decodeUtf8 <$> lookup "Parent" components
     , xrayTraceIdHeaderDataSampled = lookup "Sampled" components >>= readSampled
     }
  where
