diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # Changelog
 
+## 0.1.3.2 - 2016-06-09
+
+ * Added GHC 8.0.x support
+
 ## 0.1.3.1 - 2016-05-13
 
  * Added support for new Cabal versions
diff --git a/hdevtools.cabal b/hdevtools.cabal
--- a/hdevtools.cabal
+++ b/hdevtools.cabal
@@ -1,5 +1,5 @@
 name:                hdevtools
-version:             0.1.3.1
+version:             0.1.3.2
 synopsis:            Persistent GHC powered background server for FAST haskell development tools
 license:             MIT
 license-file:        LICENSE
@@ -83,6 +83,10 @@
   if impl(ghc >= 7.7)
     build-depends:     Cabal >= 1.18
 
-  if impl(ghc >= 7.9)
+  if impl(ghc >= 7.9 && < 8.0)
     build-depends:     Cabal >= 1.22,
                        bin-package-db
+
+  if impl(ghc >= 8.0)
+    build-depends:     Cabal >= 1.24,
+                       ghc-boot >= 8.0
diff --git a/src/CommandLoop.hs b/src/CommandLoop.hs
--- a/src/CommandLoop.hs
+++ b/src/CommandLoop.hs
@@ -20,6 +20,9 @@
 import System.FilePath (takeDirectory)
 import qualified ErrUtils
 import qualified Exception (ExceptionMonad)
+#if __GLASGOW_HASKELL__ >= 800
+import qualified DynFlags
+#endif
 import qualified GHC
 import qualified GHC.Paths
 import qualified Outputable
@@ -255,7 +258,14 @@
 
 
 
-#if __GLASGOW_HASKELL__ >= 706
+#if __GLASGOW_HASKELL__ >= 800
+logAction :: IORef State -> ClientSend -> GHC.DynFlags -> DynFlags.WarnReason -> GHC.Severity -> GHC.SrcSpan -> Outputable.PprStyle -> ErrUtils.MsgDoc -> IO ()
+logAction state clientSend dflags _ severity srcspan style msg =
+    let out = Outputable.renderWithStyle dflags fullMsg style
+        _ = severity
+    in logActionSend state clientSend severity out
+    where fullMsg = ErrUtils.mkLocMessage severity srcspan msg
+#elif __GLASGOW_HASKELL__ >= 706
 logAction :: IORef State -> ClientSend -> GHC.DynFlags -> GHC.Severity -> GHC.SrcSpan -> Outputable.PprStyle -> ErrUtils.MsgDoc -> IO ()
 logAction state clientSend dflags severity srcspan style msg =
     let out = Outputable.renderWithStyle dflags fullMsg style
diff --git a/src/FindSymbol.hs b/src/FindSymbol.hs
--- a/src/FindSymbol.hs
+++ b/src/FindSymbol.hs
@@ -30,7 +30,12 @@
    -- or errors to stdout for the loaded source files, we're only
    -- interested in the module graph of the loaded targets
    dynFlags <- GHC.getSessionDynFlags
-   _        <- GHC.setSessionDynFlags dynFlags { GHC.log_action = \_ _ _ _ _ -> return () }
+   _        <- GHC.setSessionDynFlags dynFlags { GHC.log_action = \_ _ _ _ _ ->
+#if __GLASGOW_HASKELL__ >= 800
+                                                 return . return $ () }
+#else
+                                                 return () }
+#endif
 
    fileMods <- concat <$> mapM (findSymbolInFile symbol) files
 
@@ -74,6 +79,12 @@
 		   . PKG.pkgIdMap
 		   . GHC.pkgState
 		   <$> GHC.getSessionDynFlags
+#elif __GLASGOW_HASKELL__ >= 800
+      exposedModuleNames = do
+        dynFlags <- GHC.getSessionDynFlags
+        pkgConfigs <- liftIO $ fmap concat
+          . (fmap . fmap) snd . PKG.readPackageConfigs $ dynFlags
+        return $ map exposedName (concatMap exposedModules pkgConfigs)
 #else
       exposedModuleNames = do
         dynFlags <- GHC.getSessionDynFlags
diff --git a/src/Info.hs b/src/Info.hs
--- a/src/Info.hs
+++ b/src/Info.hs
@@ -176,7 +176,10 @@
 pretty :: GHC.Type -> String
 pretty =
 #endif
-#if __GLASGOW_HASKELL__ >= 708
+#if __GLASGOW_HASKELL__ >= 800
+    Pretty.renderStyle
+      Pretty.style{ Pretty.lineLength = 0, Pretty.mode = Pretty.OneLineMode }
+#elif __GLASGOW_HASKELL__ >= 708
     Pretty.showDoc Pretty.OneLineMode 0
 #else
     Pretty.showDocWith Pretty.OneLineMode
