diff --git a/Changes b/Changes
--- a/Changes
+++ b/Changes
@@ -1,5 +1,14 @@
 Newest at the top.
 
+2.4.16
+
+- PR #93. Fix up a534ea to support older base16-bytestring again, via CPP
+
+2.4.15
+
+- PR #92. Allow newer haskell-src-exts and test for GHC-8.10.2
+- PR #90. Use base16-bytestring >= 1.0.0.0 after 'decode' API change
+
 2.4.14
 
 - Issue #89 defaultUserHooks in Setup.hs is deprecated
diff --git a/Text/ProtocolBuffers/ProtoJSON.hs b/Text/ProtocolBuffers/ProtoJSON.hs
--- a/Text/ProtocolBuffers/ProtoJSON.hs
+++ b/Text/ProtocolBuffers/ProtoJSON.hs
@@ -41,5 +41,10 @@
 parseJSONByteString = withObject "bytes" $ \o -> do
     t <- o .: "payload"
     case B16.decode (T.encodeUtf8 t) of
+#    if MIN_VERSION_base16_bytestring(1,0,0)
+      Right bs -> return (BL.fromStrict bs)
+      Left err -> fail $ "Failed to parse base16: " <> err
+#    else
       (bs, "") -> return (BL.fromStrict bs)
       _ -> fail "Failed to parse base16."
+#    endif
diff --git a/protocol-buffers.cabal b/protocol-buffers.cabal
--- a/protocol-buffers.cabal
+++ b/protocol-buffers.cabal
@@ -1,5 +1,5 @@
 name:           protocol-buffers
-version:        2.4.14
+version:        2.4.16
 cabal-version:  >= 1.10
 build-type:     Simple
 license:        BSD3
