diff --git a/CHANGELOG.markdown b/CHANGELOG.markdown
--- a/CHANGELOG.markdown
+++ b/CHANGELOG.markdown
@@ -1,3 +1,7 @@
+0.8.3 [2021.02.21]
+------------------
+* Fix the build with `safecopy-0.10.4` or later.
+
 0.8.2 [2021.02.17]
 ------------------
 * Allow building with `lens-5.*`.
diff --git a/compensated.cabal b/compensated.cabal
--- a/compensated.cabal
+++ b/compensated.cabal
@@ -1,6 +1,6 @@
 name:          compensated
 category:      Numeric
-version:       0.8.2
+version:       0.8.3
 license:       BSD3
 cabal-version: >= 1.10
 license-file:  LICENSE
diff --git a/src/Numeric/Compensated.hs b/src/Numeric/Compensated.hs
--- a/src/Numeric/Compensated.hs
+++ b/src/Numeric/Compensated.hs
@@ -509,7 +509,7 @@
     Bytes.serialize b
 
 -- ಠ_ಠ this unnecessarily expects that the format won't change, because I can't derive a better instance.
-instance (Compensable a, Serialize a) => SafeCopy (Compensated a) where
+instance (Compensable a, Serialize a, Typeable a) => SafeCopy (Compensated a) where
   -- safecopy-0.10.0 changed its default implementations for these methods.
   -- The implementations below are copied from the pre-0.10.0 defaults.
   errorTypeName _ = "<unknown type>"
