diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,6 @@
-- 0.1.5.1. (2018-09-24)
+- 0.1.5.2 (2019-05-10)
+    - generics-sop-0.5
+- 0.1.5.1 (2018-09-24)
     - GHC-8.6.1
 - 0.1.5 (2018-05-20)
     - GHC-8.4.2
diff --git a/binary-tagged.cabal b/binary-tagged.cabal
--- a/binary-tagged.cabal
+++ b/binary-tagged.cabal
@@ -1,6 +1,6 @@
 cabal-version:  >= 1.10
 name:           binary-tagged
-version:        0.1.5.1
+version:        0.1.5.2
 
 synopsis:       Tagged binary serialisation.
 category:       Data
@@ -19,8 +19,8 @@
    || ==7.10.3
    || ==8.0.2
    || ==8.2.2
-   || ==8.4.3
-   || ==8.6.1
+   || ==8.4.4
+   || ==8.6.5
 
 extra-source-files:
     CHANGELOG.md
@@ -49,8 +49,8 @@
   build-depends:
       aeson                    >=0.8     && <1.5
     , base16-bytestring        >=0.1.1.6 && <0.2
-    , generics-sop             >=0.3.2.0 && <0.4
-    , hashable                 >=1.2     && <1.3
+    , generics-sop             >=0.3.2.0 && <0.6
+    , hashable                 >=1.2     && <1.4
     , scientific               >=0.3     && <0.4
     , SHA                      >=1.6     && <1.7
     , tagged                   >=0.7     && <0.9
@@ -63,7 +63,7 @@
 
   if !impl(ghc >= 8.0)
     build-depends:
-      semigroups >=0.18.5 && <0.19
+      semigroups >=0.18.5 && <0.20
   if !impl(ghc >= 7.10)
     build-depends:
       nats      >=1.1.2   && <1.2
diff --git a/src/Data/Binary/Tagged.hs b/src/Data/Binary/Tagged.hs
--- a/src/Data/Binary/Tagged.hs
+++ b/src/Data/Binary/Tagged.hs
@@ -103,10 +103,7 @@
 import           Data.Proxy
 import           Generics.SOP as SOP
 import           Generics.SOP.GGP as SOP
-
-#if MIN_VERSION_generics_sop(0,2,0)
 import           Generics.SOP.Constraint as SOP
-#endif
 
 #if !MIN_VERSION_base(4,8,0)
 import           Data.Foldable (Foldable)
@@ -263,11 +260,7 @@
   default structuralInfo :: ( GHC.Generic a
                             , All2 HasStructuralInfo (GCode a)
                             , GDatatypeInfo a
-#if MIN_VERSION_generics_sop(0,2,0)
                             , SListI2 (GCode a)
-#else
-                            , SingI (GCode a)
-#endif
                             ) => Proxy a -> StructuralInfo
   structuralInfo = ghcStructuralInfo
 
@@ -294,11 +287,7 @@
 ghcStructuralInfo :: ( GHC.Generic a
                      , All2 HasStructuralInfo (GCode a)
                      , GDatatypeInfo a
-#if MIN_VERSION_generics_sop(0,2,0)
                      , SListI2 (GCode a)
-#else
-                     , SingI (GCode a)
-#endif
                      )
                   => Proxy a
                   -> StructuralInfo
@@ -316,16 +305,12 @@
 sopStructuralInfo proxy = sopStructuralInfoS (datatypeInfo proxy)
 
 sopStructuralInfoS :: forall xss. ( All2 HasStructuralInfo xss
-#if MIN_VERSION_generics_sop(0,2,0)
                                   , SListI2 xss
-#else
-                                  , SingI xss
-#endif
                                   )
                    => DatatypeInfo xss
                    -> StructuralInfo
 sopStructuralInfoS di@(Newtype _ _ ci)  = NominalNewtype (datatypeName di) (sopNominalNewtype ci)
-sopStructuralInfoS di@(ADT _ _ _)       = StructuralInfo (datatypeName di) (sopNominalAdtPOP (hpure Proxy :: POP Proxy xss))
+sopStructuralInfoS di@ADT {}            = StructuralInfo (datatypeName di) (sopNominalAdtPOP (hpure Proxy :: POP Proxy xss))
 
 sopNominalNewtype :: forall x. HasStructuralInfo x => ConstructorInfo '[x] -> StructuralInfo
 sopNominalNewtype _ = structuralInfo (Proxy :: Proxy x)
@@ -356,12 +341,6 @@
 -------------------------------------------------------------------------------
 -- SOP helpers
 -------------------------------------------------------------------------------
-
-#if !MIN_VERSION_generics_sop(0,2,3)
-datatypeName :: DatatypeInfo xss -> DatatypeName
-datatypeName (Newtype _ d _)  = d
-datatypeName (ADT _ d _)      = d
-#endif
 
 -- | Interleaving
 --
