diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,6 @@
+### 3.6.5 [2018.07.03]
+* Fix the tests on GHC 8.6.
+
 ### 3.6.4 [2018.04.07]
 * Use `base-compat-batteries`.
 
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -3,7 +3,8 @@
 [![Hackage Dependencies](https://img.shields.io/hackage-deps/v/text-show-instances.svg)](http://packdeps.haskellers.com/reverse/text-show-instances)
 [![Haskell Programming Language](https://img.shields.io/badge/language-Haskell-blue.svg)][Haskell.org]
 [![BSD3 License](http://img.shields.io/badge/license-BSD3-brightgreen.svg)][tl;dr Legal: BSD3]
-[![Build](https://img.shields.io/travis/RyanGlScott/text-show-instances.svg)](https://travis-ci.org/RyanGlScott/text-show-instances)
+[![Linux build](https://img.shields.io/travis/RyanGlScott/text-show-instances.svg)](https://travis-ci.org/RyanGlScott/text-show-instances)
+[![Windows build](https://ci.appveyor.com/api/projects/status/ykkc085q8mvpij9d?svg=true)](https://ci.appveyor.com/project/RyanGlScott/text-show-instances)
 
 [Hackage: text-show-instances]:
   http://hackage.haskell.org/package/text-show-instances
diff --git a/src/TextShow/Data/Binary.hs b/src/TextShow/Data/Binary.hs
--- a/src/TextShow/Data/Binary.hs
+++ b/src/TextShow/Data/Binary.hs
@@ -1,5 +1,8 @@
+{-# LANGUAGE CPP               #-}
+#if MIN_VERSION_binary(0,6,0)
 {-# LANGUAGE OverloadedStrings #-}
 {-# OPTIONS_GHC -fno-warn-orphans #-}
+#endif
 
 {-|
 Module:      TextShow.Data.Binary
@@ -15,6 +18,7 @@
 -}
 module TextShow.Data.Binary () where
 
+#if MIN_VERSION_binary(0,6,0)
 import Data.Binary.Get.Internal (Decoder(..))
 
 import Prelude ()
@@ -37,3 +41,4 @@
         go sp (Done _ a)      = "Done: " <> sp a
         go _  (BytesRead _ _) = "BytesRead"
     {-# INLINE liftShowbPrec #-}
+#endif
diff --git a/tests/Instances/Data/Binary.hs b/tests/Instances/Data/Binary.hs
--- a/tests/Instances/Data/Binary.hs
+++ b/tests/Instances/Data/Binary.hs
@@ -1,9 +1,11 @@
 {-# LANGUAGE CPP                #-}
+#if MIN_VERSION_binary(0,6,0)
 {-# LANGUAGE DeriveGeneric      #-}
 {-# LANGUAGE StandaloneDeriving #-}
 {-# LANGUAGE TemplateHaskell    #-}
 {-# LANGUAGE TypeFamilies       #-}
 {-# OPTIONS_GHC -fno-warn-orphans #-}
+#endif
 {-|
 Module:      Instances.Data.Binary
 Copyright:   (C) 2014-2017 Ryan Scott
@@ -16,13 +18,14 @@
 -}
 module Instances.Data.Binary () where
 
+#if MIN_VERSION_binary(0,6,0)
 import           Data.Binary.Get.Internal (Decoder(..))
 
-#if __GLASGOW_HASKELL__ >= 706
+# if __GLASGOW_HASKELL__ >= 706
 import           GHC.Generics (Generic)
-#else
+# else
 import qualified Generics.Deriving.TH as Generics (deriveAll0)
-#endif
+# endif
 
 import           Instances.Utils.GenericArbitrary (genericArbitrary)
 
@@ -32,8 +35,9 @@
 instance Arbitrary a => Arbitrary (Decoder a) where
     arbitrary = genericArbitrary
 
-#if __GLASGOW_HASKELL__ >= 706
+# if __GLASGOW_HASKELL__ >= 706
 deriving instance Generic (Decoder a)
-#else
+# else
 $(Generics.deriveAll0 ''Decoder)
+# endif
 #endif
diff --git a/tests/Instances/Language/Haskell/TH.hs b/tests/Instances/Language/Haskell/TH.hs
--- a/tests/Instances/Language/Haskell/TH.hs
+++ b/tests/Instances/Language/Haskell/TH.hs
@@ -578,10 +578,8 @@
 instance Arbitrary DerivClause where
     arbitrary = genericArbitrary
 
-deriving instance Bounded DerivStrategy
-deriving instance Enum DerivStrategy
 instance Arbitrary DerivStrategy where
-    arbitrary = arbitraryBoundedEnum
+    arbitrary = genericArbitrary
 
 instance Arbitrary PatSynArgs where
     arbitrary = oneof $ map pure [ PrefixPatSyn [fName]
diff --git a/tests/Spec/Data/BinarySpec.hs b/tests/Spec/Data/BinarySpec.hs
--- a/tests/Spec/Data/BinarySpec.hs
+++ b/tests/Spec/Data/BinarySpec.hs
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 {-|
 Module:      Spec.Data.BinarySpec
 Copyright:   (C) 2014-2017 Ryan Scott
@@ -10,6 +12,12 @@
 -}
 module Spec.Data.BinarySpec (main, spec) where
 
+import Prelude ()
+import Prelude.Compat
+
+import Test.Hspec (Spec, hspec, parallel)
+
+#if MIN_VERSION_binary(0,6,0)
 import Data.Binary.Get.Internal (Decoder)
 import Data.Proxy (Proxy(..))
 
@@ -17,13 +25,19 @@
 
 import Spec.Utils (matchesTextShowSpec)
 
-import Test.Hspec (Spec, describe, hspec, parallel)
+import Test.Hspec (describe)
 
 import TextShow.Data.Binary ()
+#endif
 
 main :: IO ()
 main = hspec spec
 
 spec :: Spec
-spec = parallel . describe "Decoder Int" $
-    matchesTextShowSpec (Proxy :: Proxy (Decoder Int))
+spec = parallel $ do
+#if MIN_VERSION_binary(0,6,0)
+    describe "Decoder Int" $
+        matchesTextShowSpec (Proxy :: Proxy (Decoder Int))
+#else
+    pure ()
+#endif
diff --git a/text-show-instances.cabal b/text-show-instances.cabal
--- a/text-show-instances.cabal
+++ b/text-show-instances.cabal
@@ -1,5 +1,5 @@
 name:                text-show-instances
-version:             3.6.4
+version:             3.6.5
 synopsis:            Additional instances for text-show
 description:         @text-show-instances@ is a supplemental library to @text-show@
                      that provides additional @Show@ instances for data types in
@@ -71,7 +71,8 @@
                    , GHC == 7.10.3
                    , GHC == 8.0.2
                    , GHC == 8.2.2
-                   , GHC == 8.4.1
+                   , GHC == 8.4.3
+                   , GHC == 8.6.1
 extra-source-files:  CHANGELOG.md, README.md
 cabal-version:       >=1.10
 
@@ -79,11 +80,6 @@
   type:                git
   location:            https://github.com/RyanGlScott/text-show-instances
 
-flag developer
-  description:         Operate in developer mode (allows for faster recompilation of tests)
-  default:             False
-  manual:              True
-
 flag base-4-9
   description:         Use base-4.9 or later.
   default:             True
@@ -138,9 +134,8 @@
   other-modules:       TextShow.Utils
   build-depends:       base-compat-batteries >= 0.10   && < 1
                      , bifunctors            >= 5.2    && < 6
-                     , binary                >= 0.6    && < 0.9
-                     , bytestring            >= 0.9    && < 0.11
-                     , containers            >= 0.1    && < 0.6
+                     , binary                >= 0.5    && < 0.9
+                     , containers            >= 0.1    && < 0.7
                      , directory             >= 1      && < 1.4
                      , haskeline             >= 0.7    && < 0.8
                      , hoopl                 >= 3.8.7  && < 3.11
@@ -148,13 +143,12 @@
                      , old-locale            >= 1      && < 1.1
                      , old-time              >= 1      && < 1.2
                      , pretty                >= 1      && < 1.2
-                     , process               >= 1      && < 1.7
                      , random                >= 1.0.1  && < 1.2
                      , semigroups            >= 0.16.2 && < 1
                      , tagged                >= 0.4.4  && < 1
                      , text                  >= 0.11.1 && < 1.3
                      , text-show             >= 3.4    && < 4
-                     , time                  >= 0.1    && < 1.9
+                     , time                  >= 0.1    && < 1.10
                      , unordered-containers  >= 0.2    && < 0.3
                      , vector                >= 0.9    && < 0.13
                      , xhtml                 >= 3000.2 && < 3000.3
@@ -163,29 +157,29 @@
   ghc-options:         -Wall
 
   if flag(base-4-9)
-    build-depends:     base                >= 4.9 && < 5
+    build-depends:     base                  >= 4.9 && < 4.13
     cpp-options:       "-DNEW_FUNCTOR_CLASSES"
   else
-    build-depends:     base                >= 4.5 && < 4.9
+    build-depends:     base                  >= 4.5 && < 4.9
 
   if flag(template-haskell-2-11)
-    build-depends:     template-haskell    >= 2.11 && < 2.15
-                     , ghc-boot-th         >= 8.0  && < 8.5
+    build-depends:     template-haskell      >= 2.11 && < 2.15
+                     , ghc-boot-th           >= 8.0  && < 8.7
   else
-    build-depends:     template-haskell    >= 2.7  && < 2.11
+    build-depends:     template-haskell      >= 2.7  && < 2.11
 
   if flag(new-functor-classes)
-    build-depends:     transformers        (>= 0.2.1 && < 0.4) || (>= 0.5 && < 0.6)
-                     , transformers-compat >= 0.5 && < 1
+    build-depends:     transformers          (>= 0.2.1 && < 0.4) || (>= 0.5 && < 0.6)
+                     , transformers-compat   >= 0.5 && < 1
     cpp-options:       "-DNEW_FUNCTOR_CLASSES"
   else
-    build-depends:     transformers == 0.4.*
+    build-depends:     transformers          == 0.4.*
 
   if os(windows)
-    build-depends:     Win32                >= 2.1    && < 2.6
+    build-depends:     Win32                 >= 2.1    && < 2.9
   else
-    build-depends:     terminfo             >= 0.3.2  && < 0.5
-                     , unix                 >= 2      && < 2.8
+    build-depends:     terminfo              >= 0.3.2  && < 0.5
+                     , unix                  >= 2      && < 2.9
 
 test-suite spec
   type:                exitcode-stdio-1.0
@@ -262,9 +256,8 @@
                        Spec.System.PosixSpec
   build-depends:       base-compat-batteries >= 0.10   && < 1
                      , bifunctors            >= 5.2    && < 6
-                     , binary                >= 0.6    && < 0.9
-                     , bytestring            >= 0.9    && < 0.11
-                     , containers            >= 0.1    && < 0.6
+                     , binary                >= 0.5    && < 0.9
+                     , containers            >= 0.1    && < 0.7
                      , directory             >= 1      && < 1.4
                      , generic-deriving      >= 1.9    && < 2
                      , ghc-prim
@@ -275,51 +268,44 @@
                      , old-locale            >= 1      && < 1.1
                      , old-time              >= 1      && < 1.2
                      , pretty                >= 1      && < 1.2
-                     , process               >= 1      && < 1.7
                      , QuickCheck            >= 2.10   && < 2.12
                      , quickcheck-instances  >= 0.3.16 && < 0.4
                      , random                >= 1.0.1  && < 1.2
-                     , semigroups            >= 0.17   && < 1
                      , tagged                >= 0.4.4  && < 1
-                     , text                  >= 0.11.1 && < 1.3
                      , text-show             >= 3.4    && < 4
+                     , text-show-instances
                      , th-orphans            >= 0.13.3 && < 1
-                     , time                  >= 0.1    && < 1.9
+                     , time                  >= 0.1    && < 1.10
                      , unordered-containers  >= 0.2    && < 0.3
                      , vector                >= 0.9    && < 0.13
                      , xhtml                 >= 3000.2 && < 3000.3
   build-tool-depends:  hspec-discover:hspec-discover
 
   if flag(base-4-9)
-    build-depends:     base                >= 4.9 && < 5
+    build-depends:     base                  >= 4.9 && < 4.13
     cpp-options:       "-DNEW_FUNCTOR_CLASSES"
   else
-    build-depends:     base                >= 4.5 && < 4.9
+    build-depends:     base                  >= 4.5 && < 4.9
 
   if flag(template-haskell-2-11)
-    build-depends:     template-haskell    >= 2.11 && < 2.15
-                     , ghc-boot-th         >= 8.0  && < 8.5
+    build-depends:     template-haskell      >= 2.11 && < 2.15
+                     , ghc-boot-th           >= 8.0  && < 8.7
   else
-    build-depends:     template-haskell    >= 2.7  && < 2.11
+    build-depends:     template-haskell      >= 2.7  && < 2.11
 
   if flag(new-functor-classes)
-    build-depends:     transformers        (>= 0.2.1 && < 0.4) || (>= 0.5 && < 0.6)
-                     , transformers-compat >= 0.5 && < 1
+    build-depends:     transformers          (>= 0.2.1 && < 0.4) || (>= 0.5 && < 0.6)
+                     , transformers-compat   >= 0.5 && < 1
     cpp-options:       "-DNEW_FUNCTOR_CLASSES"
   else
-    build-depends:     transformers        == 0.4.*
-
-  if flag(developer)
-    hs-source-dirs:    src
-  else
-    build-depends:     text-show-instances
+    build-depends:     transformers          == 0.4.*
 
   hs-source-dirs:      tests
   default-language:    Haskell2010
   ghc-options:         -Wall -threaded -rtsopts
 
   if os(windows)
-    build-depends:     Win32                >= 2.1    && < 2.6
+    build-depends:     Win32                 >= 2.1    && < 2.9
   else
-    build-depends:     terminfo             >= 0.3.2  && < 0.5
-                     , unix                 >= 2      && < 2.8
+    build-depends:     terminfo              >= 0.3.2  && < 0.5
+                     , unix                  >= 2      && < 2.9
