diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,8 @@
+0.4.2 (2020-01-25)
+==================
+
+* GHC 8.8 support.
+
 0.4.1 (2019-05-10)
 ==================
 
diff --git a/configuration-tools.cabal b/configuration-tools.cabal
--- a/configuration-tools.cabal
+++ b/configuration-tools.cabal
@@ -1,7 +1,7 @@
 cabal-version: 1.24
 
 name: configuration-tools
-version: 0.4.1
+version: 0.4.2
 synopsis: Tools for specifying and parsing configurations
 description:
     Tools for specifying and parsing configurations
@@ -38,7 +38,8 @@
 category: Configuration, Console
 build-type: Custom
 tested-with:
-      GHC==8.6.5
+      GHC==8.8.2
+    , GHC==8.6.5
     , GHC==8.4.3
     , GHC==8.2.2
     , GHC==8.0.2
@@ -177,4 +178,5 @@
     build-depends:
         base >= 4.8 && < 5
       , base-unicode-symbols >= 0.2.2.4
+      , Cabal >= 1.24
       , configuration-tools
diff --git a/examples/Example.hs b/examples/Example.hs
--- a/examples/Example.hs
+++ b/examples/Example.hs
@@ -4,9 +4,9 @@
 
 {-# LANGUAGE CPP #-}
 {-# LANGUAGE FlexibleContexts #-}
-{-# LANGUAGE UnicodeSyntax #-}
-{-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE UnicodeSyntax #-}
 
 module Example
 (
@@ -40,7 +40,11 @@
 
 import Data.Monoid.Unicode
 
+#if MIN_VERSION_base(4,13,0)
+import Prelude.Unicode hiding ((×))
+#else
 import Prelude.Unicode
+#endif
 
 -- This assumes usage of cabal with custom Setup.hs
 --
diff --git a/examples/Trivial.hs b/examples/Trivial.hs
--- a/examples/Trivial.hs
+++ b/examples/Trivial.hs
@@ -2,6 +2,7 @@
 -- Copyright © 2014 AlephCloud Systems, Inc.
 -- ------------------------------------------------------ --
 
+{-# LANGUAGE CPP #-}
 {-# LANGUAGE FlexibleInstances #-}
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE UnicodeSyntax #-}
@@ -11,7 +12,12 @@
 module Main ( main ) where
 
 import Configuration.Utils
+
+#if MIN_VERSION_Cabal(2,0,0)
+import PkgInfo
+#else
 import PkgInfo_trivial
+#endif
 
 instance FromJSON (() → ()) where
     parseJSON _ = pure id
diff --git a/src/Configuration/Utils.hs b/src/Configuration/Utils.hs
--- a/src/Configuration/Utils.hs
+++ b/src/Configuration/Utils.hs
@@ -148,7 +148,11 @@
 import qualified Options.Applicative as O
 
 import Prelude hiding (any, concatMap, mapM_)
+#if MIN_VERSION_base(4,13,0)
+import Prelude.Unicode hiding ((×))
+#else
 import Prelude.Unicode
+#endif
 
 import System.IO
 
diff --git a/src/Configuration/Utils/CommandLine.hs b/src/Configuration/Utils/CommandLine.hs
--- a/src/Configuration/Utils/CommandLine.hs
+++ b/src/Configuration/Utils/CommandLine.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE RankNTypes #-}
 {-# LANGUAGE ScopedTypeVariables #-}
@@ -71,7 +72,12 @@
 
 import qualified Text.ParserCombinators.ReadP as P hiding (string)
 
+#if MIN_VERSION_base(4,13,0)
+import Prelude.Unicode hiding ((×))
+#else
 import Prelude.Unicode
+#endif
+
 
 -- -------------------------------------------------------------------------- --
 -- Applicative Option Parsing with Default Values
diff --git a/src/Configuration/Utils/Http.hs b/src/Configuration/Utils/Http.hs
--- a/src/Configuration/Utils/Http.hs
+++ b/src/Configuration/Utils/Http.hs
@@ -59,7 +59,11 @@
 import Data.Maybe (isJust)
 import Data.Monoid.Unicode
 
+#if MIN_VERSION_base(4,13,0)
+import Prelude.Unicode hiding ((×))
+#else
 import Prelude.Unicode
+#endif
 
 -- -------------------------------------------------------------------------- --
 -- Http Service TLS Configuration
@@ -279,4 +283,3 @@
     , _hccPort = _hscPort
     , _hccUseTLS = isJust _hscUseTLS
     }
-
diff --git a/src/Configuration/Utils/Internal/HttpsCertPolicy.hs b/src/Configuration/Utils/Internal/HttpsCertPolicy.hs
--- a/src/Configuration/Utils/Internal/HttpsCertPolicy.hs
+++ b/src/Configuration/Utils/Internal/HttpsCertPolicy.hs
@@ -64,7 +64,11 @@
 import qualified Options.Applicative as O
 
 import Prelude hiding (any, concatMap, mapM_)
+#if MIN_VERSION_base(4,13,0)
+import Prelude.Unicode hiding ((×))
+#else
 import Prelude.Unicode
+#endif
 
 import qualified Network.Connection as HTTP
 import qualified Network.HTTP.Client as HTTP
diff --git a/test/TestExample.hs b/test/TestExample.hs
--- a/test/TestExample.hs
+++ b/test/TestExample.hs
@@ -18,9 +18,9 @@
 ( main
 ) where
 
-import TestTools
 import Tests.BoolOption
 import Tests.MonoidConfig
+import TestTools
 
 import Configuration.Utils
 import Configuration.Utils.Internal
@@ -35,7 +35,11 @@
 
 import Example hiding (main)
 
+#if MIN_VERSION_base(4,13,0)
+import Prelude.Unicode hiding ((×))
+#else
 import Prelude.Unicode
+#endif
 
 #if MIN_VERSION_Cabal(2,0,0)
 import PkgInfo
@@ -386,4 +390,3 @@
 
 t4 ∷ ConfAssertion HttpURL
 t4 = ConfAssertion ["--pwd=c_pwd"] (auth ∘ pwd) "c_pwd"
-
diff --git a/test/TestTools.hs b/test/TestTools.hs
--- a/test/TestTools.hs
+++ b/test/TestTools.hs
@@ -61,7 +61,11 @@
 
 import Distribution.Simple.Utils (withTempFile)
 
+#if MIN_VERSION_base(4,13,0)
+import Prelude.Unicode hiding ((×))
+#else
 import Prelude.Unicode
+#endif
 
 import System.Environment
 import System.IO
@@ -359,5 +363,3 @@
     , "-----END RSA PRIVATE KEY-----"
     ]
 #endif
-
-
diff --git a/test/Tests/MonoidConfig.hs b/test/Tests/MonoidConfig.hs
--- a/test/Tests/MonoidConfig.hs
+++ b/test/Tests/MonoidConfig.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
 {-# LANGUAGE FlexibleInstances #-}
 {-# LANGUAGE LambdaCase #-}
 {-# LANGUAGE OverloadedStrings #-}
@@ -29,7 +30,11 @@
 import Data.String
 import qualified Data.Text as T
 
+#if MIN_VERSION_base(4,13,0)
+import Prelude.Unicode hiding ((×))
+#else
 import Prelude.Unicode
+#endif
 
 -- -------------------------------------------------------------------------- --
 -- Test cases
@@ -253,4 +258,3 @@
 
     mi files = set piConfigurationFiles (map ConfigFileRequired files) $
       programInfoValidate "Text left append with file" pStringConfigL defaultStringConfigL (const $ return ())
-
