diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # Changelog
 
+## 0.1.6.0
+
+- Support base64-1.0
+
 ## 0.1.5.0
 
 - Convert userDisplayName into a Maybe value [#30](https://github.com/softwarefactory-project/matrix-client-haskell/issues/30)
diff --git a/matrix-client.cabal b/matrix-client.cabal
--- a/matrix-client.cabal
+++ b/matrix-client.cabal
@@ -1,6 +1,6 @@
 cabal-version:       2.4
 name:                matrix-client
-version:             0.1.5.0
+version:             0.1.6.0
 synopsis:            A matrix client library
 description:
     Matrix client is a library to interface with https://matrix.org.
@@ -22,7 +22,7 @@
 build-type:          Simple
 extra-doc-files:     CHANGELOG.md
 extra-source-files:  test/data/*.json
-tested-with:         GHC == 8.10.7, GHC == 9.2.4
+tested-with:         GHC == 9.6.6
 
 source-repository head
   type:                git
@@ -31,7 +31,7 @@
 common common-options
   build-depends:       base                   >= 4.11.0.0 && < 5
                      , aeson-casing           >= 0.2.0.0  && < 0.3.0.0
-                     , aeson                  >= 1.0.0.0  && < 2.1
+                     , aeson                  >= 1.0.0.0  && < 3
   ghc-options:         -Wall
                        -Wcompat
                        -Widentities
@@ -48,20 +48,20 @@
 
 common lib-depends
   build-depends:       SHA                    ^>= 1.6
-                     , base64
-                     , bytestring
-                     , containers
-                     , exceptions
-                     , hashable
+                     , base64                 >= 1.0
+                     , bytestring             >= 0.11.3 && < 0.13
+                     , containers             >= 0.6.5 && < 0.8
+                     , exceptions             >= 0.10.4 && < 0.11
+                     , hashable               >= 1.4.0 && < 1.5
                      , http-client            >= 0.5.0    && < 0.8
                      , http-client-tls        >= 0.2.0    && < 0.4
                      , http-types             >= 0.10.0   && < 0.13
-                     , network-uri
-                     , profunctors
+                     , network-uri            >= 2.6.4 && < 2.7
+                     , profunctors            >= 5.6.2 && < 5.7
                      , retry                  >= 0.8      && < 0.10
-                     , text                   >= 0.11.1.0 && < 1.3
-                     , time
-                     , unordered-containers
+                     , text                   >= 0.11.1.0 && < 3
+                     , time                   >= 1.11.1 && < 1.13
+                     , unordered-containers   >= 0.2.17 && < 0.3
 
 library
   import:              common-options, lib-depends
diff --git a/src/Network/Matrix/Identity.hs b/src/Network/Matrix/Identity.hs
--- a/src/Network/Matrix/Identity.hs
+++ b/src/Network/Matrix/Identity.hs
@@ -38,8 +38,9 @@
 
 import Control.Monad (mzero)
 import Data.Aeson (FromJSON (..), Value (Object, String), encode, object, (.:), (.=))
+import Data.Base64.Types (extractBase64)
 import Data.ByteString.Lazy (fromStrict)
-import Data.ByteString.Lazy.Base64.URL (encodeBase64Unpadded)
+import Data.ByteString.Lazy.Base64.URL (encodeBase64)
 import Data.Digest.Pure.SHA (bytestringDigest, sha256)
 #if MIN_VERSION_aeson(2,0,0)
 import qualified Data.Aeson.KeyMap as KeyMap
@@ -166,7 +167,7 @@
 -- >>> encodeSHA256 "alice@example.com email matrixrocks"
 -- "4kenr7N9drpCJ4AfalmlGQVsOn3o2RHjkADUpXJWZUc"
 encodeSHA256 :: Text -> Text
-encodeSHA256 = toStrict . encodeBase64Unpadded . bytestringDigest . sha256 . fromStrict . encodeUtf8
+encodeSHA256 = toStrict . extractBase64 . encodeBase64 . bytestringDigest . sha256 . fromStrict . encodeUtf8
 
 data Identity = Email Text | Msisdn Text deriving (Show, Eq)
 
