diff --git a/CHANGELOG.markdown b/CHANGELOG.markdown
--- a/CHANGELOG.markdown
+++ b/CHANGELOG.markdown
@@ -1,3 +1,7 @@
+0.10.3.1
+--------
+* Support `safecopy` 0.9
+
 0.10.3
 ------
 * Work around an issue with `safecopy` on GHC 7.10
diff --git a/log-domain.cabal b/log-domain.cabal
--- a/log-domain.cabal
+++ b/log-domain.cabal
@@ -1,6 +1,6 @@
 name:          log-domain
 category:      Numeric
-version:       0.10.3
+version:       0.10.3.1
 license:       BSD3
 cabal-version: >= 1.8
 license-file:  LICENSE
@@ -36,10 +36,6 @@
   default: True
   manual: True
 
-flag lib-Werror
-  default: False
-  manual: True
-
 flag ffi
   default: True
   manual: True
@@ -49,7 +45,7 @@
     base                      >= 4.3      && < 5,
     binary                    >= 0.5      && < 0.8,
     bytes                     >= 0.7      && < 1,
-    cereal                    >= 0.3.5    && < 0.5,
+    cereal                    >= 0.3.5    && < 0.6,
     comonad                   >= 4        && < 5,
     deepseq                   >= 1.3      && < 1.5,
     distributive              >= 0.3      && < 1,
@@ -57,7 +53,7 @@
     hashable-extras           >= 0.2      && < 1,
     semigroupoids             >= 4        && < 6,
     semigroups                >= 0.8.4    && < 1,
-    safecopy                  >= 0.8.1    && < 0.9,
+    safecopy                  >= 0.8.1    && < 0.10,
     vector                    >= 0.9      && < 0.12
 
   exposed-modules:
@@ -66,9 +62,6 @@
   if impl(ghc < 7.6)
     build-depends: generic-deriving >= 1.4 && < 1.9
 
-  if flag(lib-Werror)
-    ghc-options: -Werror
-
   if flag(ffi) && !os(windows)
     cpp-options: -D__USE_FFI__
 
@@ -92,6 +85,3 @@
       generic-deriving,
       semigroups     >= 0.9,
       simple-reflect >= 0.3.1
-
-  if impl(ghc<7.6.1) && flag(lib-Werror)
-    ghc-options: -Werror
diff --git a/src/Numeric/Log.hs b/src/Numeric/Log.hs
--- a/src/Numeric/Log.hs
+++ b/src/Numeric/Log.hs
@@ -189,7 +189,7 @@
   {-# INLINE (>>-) #-}
 
 instance Monad Log where
-  return = Exp
+  return = pure
   {-# INLINE return #-}
   Exp a >>= f = f a
   {-# INLINE (>>=) #-}
