diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,9 @@
 # Revision history for haskell-lsp
 
+## 0.15.0.1 -- 2019-09-07
+
+* Relax base constraints for GHC 8.8
+
 ## 0.15.0.0 -- 2019-07-01
 
 * Fix decoding of `ResponseMessage` to account for `null` messages (@cocreature)
diff --git a/haskell-lsp.cabal b/haskell-lsp.cabal
--- a/haskell-lsp.cabal
+++ b/haskell-lsp.cabal
@@ -1,5 +1,5 @@
 name:                haskell-lsp
-version:             0.15.0.0
+version:             0.15.0.1
 synopsis:            Haskell library for the Microsoft Language Server Protocol
 
 description:         An implementation of the types, and basic message server to
@@ -35,7 +35,7 @@
   -- other-modules:
  -- other-extensions:
   ghc-options:         -Wall
-  build-depends:       base >=4.9 && <4.13
+  build-depends:       base >= 4.9 && < 4.14
                      , async
                      , aeson >=1.0.0.0
                      , attoparsec
@@ -67,7 +67,7 @@
   default-language:    Haskell2010
   ghc-options:         -Wall
 
-  build-depends:       base >=4.9 && <4.13
+  build-depends:       base >= 4.9 && < 4.14
                      , aeson
                      , bytestring
                      , containers
diff --git a/src/Language/Haskell/LSP/Core.hs b/src/Language/Haskell/LSP/Core.hs
--- a/src/Language/Haskell/LSP/Core.hs
+++ b/src/Language/Haskell/LSP/Core.hs
@@ -105,8 +105,10 @@
     , signatureHelpProvider            :: Maybe J.SignatureHelpOptions
     , typeDefinitionProvider           :: Maybe J.GotoOptions
     , implementationProvider           :: Maybe J.GotoOptions
+    , codeActionProvider               :: Maybe J.CodeActionOptions
     , codeLensProvider                 :: Maybe J.CodeLensOptions
     , documentOnTypeFormattingProvider :: Maybe J.DocumentOnTypeFormattingOptions
+    , renameProvider                   :: Maybe J.RenameOptions
     , documentLinkProvider             :: Maybe J.DocumentLinkOptions
     , colorProvider                    :: Maybe J.ColorOptions
     , foldingRangeProvider             :: Maybe J.FoldingRangeOptions
@@ -116,7 +118,7 @@
 instance Default Options where
   def = Options Nothing Nothing Nothing Nothing Nothing
                 Nothing Nothing Nothing Nothing Nothing
-                Nothing
+                Nothing Nothing Nothing
 
 -- | A function to publish diagnostics. It aggregates all diagnostics pertaining
 -- to a particular version of a document, by source, and sends a
@@ -236,6 +238,7 @@
     , documentRangeFormattingHandler :: !(Maybe (Handler J.DocumentRangeFormattingRequest))
     , documentTypeFormattingHandler  :: !(Maybe (Handler J.DocumentOnTypeFormattingRequest))
     , renameHandler                  :: !(Maybe (Handler J.RenameRequest))
+    , prepareRenameHandler           :: !(Maybe (Handler J.PrepareRenameRequest))
     , foldingRangeHandler            :: !(Maybe (Handler J.FoldingRangeRequest))
     -- new in 3.0
     , documentLinkHandler            :: !(Maybe (Handler J.DocumentLinkRequest))
@@ -291,7 +294,7 @@
                               Nothing Nothing Nothing Nothing Nothing Nothing
                               Nothing Nothing Nothing Nothing Nothing Nothing
                               Nothing Nothing Nothing Nothing Nothing Nothing
-                              Nothing Nothing Nothing Nothing
+                              Nothing Nothing Nothing Nothing Nothing
 
 -- ---------------------------------------------------------------------
 nop :: a -> b -> IO a
@@ -365,6 +368,7 @@
 handlerMap _ h J.TextDocumentDocumentLink        = hh nop ReqDocumentLink $ documentLinkHandler h
 handlerMap _ h J.DocumentLinkResolve             = hh nop ReqDocumentLinkResolve $ documentLinkResolveHandler h
 handlerMap _ h J.TextDocumentRename              = hh nop ReqRename $ renameHandler h
+handlerMap _ h J.TextDocumentPrepareRename       = hh nop ReqPrepareRename $ prepareRenameHandler h
 handlerMap _ h J.TextDocumentFoldingRange        = hh nop ReqFoldingRange $ foldingRangeHandler h
 handlerMap _ _ J.WindowProgressCancel            = helper progressCancelHandler
 handlerMap _ h (J.CustomClientMethod _)          = \ctxData val ->
@@ -846,12 +850,12 @@
               , J._documentHighlightProvider        = supported (documentHighlightHandler h)
               , J._documentSymbolProvider           = supported (documentSymbolHandler h)
               , J._workspaceSymbolProvider          = supported (workspaceSymbolHandler h)
-              , J._codeActionProvider               = supported (codeActionHandler h)
+              , J._codeActionProvider               = codeActionProvider o
               , J._codeLensProvider                 = codeLensProvider o
               , J._documentFormattingProvider       = supported (documentFormattingHandler h)
               , J._documentRangeFormattingProvider  = supported (documentRangeFormattingHandler h)
               , J._documentOnTypeFormattingProvider = documentOnTypeFormattingProvider o
-              , J._renameProvider                   = supported (renameHandler h)
+              , J._renameProvider                   = renameProvider o
               , J._documentLinkProvider             = documentLinkProvider o
               , J._colorProvider                    = colorProvider o
               , J._foldingRangeProvider             = foldingRangeProvider o
@@ -879,7 +883,7 @@
 shutdownRequestHandler :: TVar (LanguageContextData config) -> J.ShutdownRequest -> IO ()
 shutdownRequestHandler tvarCtx req@(J.RequestMessage _ origId _ _) =
   flip E.catches (defaultErrorHandlers tvarCtx (J.responseId origId) req) $ do
-  let res  = makeResponseMessage req "ok"
+  let res  = makeResponseMessage req Nothing
 
   sendResponse tvarCtx $ RspShutdown res
 
diff --git a/src/Language/Haskell/LSP/Messages.hs b/src/Language/Haskell/LSP/Messages.hs
--- a/src/Language/Haskell/LSP/Messages.hs
+++ b/src/Language/Haskell/LSP/Messages.hs
@@ -39,6 +39,7 @@
                        | ReqDocumentRangeFormatting  DocumentRangeFormattingRequest
                        | ReqDocumentOnTypeFormatting DocumentOnTypeFormattingRequest
                        | ReqRename                   RenameRequest
+                       | ReqPrepareRename            PrepareRenameRequest
                        | ReqFoldingRange             FoldingRangeRequest
                        | ReqExecuteCommand           ExecuteCommandRequest
                        | ReqWillSaveWaitUntil        WillSaveWaitUntilTextDocumentRequest
diff --git a/test/MethodSpec.hs b/test/MethodSpec.hs
--- a/test/MethodSpec.hs
+++ b/test/MethodSpec.hs
@@ -55,6 +55,7 @@
   ,"textDocument/documentLink"
   ,"documentLink/resolve"
   ,"textDocument/rename"
+  ,"textDocument/prepareRename"
   ]
 
 serverMethods :: [T.Text]
