diff --git a/json-sop.cabal b/json-sop.cabal
--- a/json-sop.cabal
+++ b/json-sop.cabal
@@ -1,5 +1,5 @@
 name:                json-sop
-version:             0.2.0.0
+version:             0.2.0.1
 synopsis:            Generics JSON (de)serialization using generics-sop
 description:
   This library contains generic serialization and deserialization functions
@@ -13,7 +13,7 @@
 category:            Generics
 build-type:          Simple
 cabal-version:       >=1.10
-tested-with:         GHC == 7.6.3, GHC == 7.8.4, GHC == 7.10.2
+tested-with:         GHC == 7.6.3, GHC == 7.8.4, GHC == 7.10.3, GHC == 8.0.1
 
 source-repository head
   type:                git
@@ -27,12 +27,12 @@
                        generics-sop         >= 0.2  && < 0.3,
                        lens-sop             >= 0.2  && < 0.3,
                        tagged               >= 0.7  && < 0.9,
-                       aeson                >= 0.7  && < 0.11,
+                       aeson                >= 0.7  && < 0.12,
                        vector               >= 0.10 && < 0.12,
                        text                 >= 1.1  && < 1.3,
                        unordered-containers >= 0.2  && < 0.3,
-                       time                 >= 1.4  && < 1.6,
-                       transformers         >= 0.3  && < 0.5
+                       time                 >= 1.4  && < 1.7,
+                       transformers         >= 0.3  && < 0.6
   hs-source-dirs:      src
   default-language:    Haskell2010
   ghc-options:         -Wall
diff --git a/src/Generics/SOP/JSON.hs b/src/Generics/SOP/JSON.hs
--- a/src/Generics/SOP/JSON.hs
+++ b/src/Generics/SOP/JSON.hs
@@ -158,7 +158,9 @@
   . HashMap.fromList
   . hcollapse
   $ hcliftA2 pt (\(K field) (I a) -> K (Text.pack field, toJSON a)) fields cs
-gtoJSON' _ _ = error "unreachable"
+#if __GLASGOW_HASKELL__ < 800
+gtoJSON' _ _ = error "inaccessible"
+#endif
 
 {-------------------------------------------------------------------------------
   Decoder
@@ -310,7 +312,9 @@
   case jsonInfo (Proxy :: Proxy a) opts of
     JsonRecord _ fields :* Nil -> gupdateRecord fields glenses v
     _ :* Nil -> error "cannot update non-record type"
+#if __GLASGOW_HASKELL__ < 800
     _        -> error "inaccessible"
+#endif
 
 gupdateRecord :: forall (xs :: [*]) (a :: *). All UpdateFromJSON xs
               => NP (K String) xs -> NP (GLens (->) (->) a) xs -> Value -> Parser (a -> a)
