diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,6 +1,13 @@
 # Revision history for haskell-lsp
 
-## 0.5.0.0  -- 2018-xx-xx
+## 0.6.0.0 -- 2018-08-06
+
+* Add new DocumentSymbol type and heirarchal support
+* Rename CommandOrCodeAction to CAResult
+* Add handler for 'textDocument/implementation' request from client
+* Bump stack resolvers for lts 11 and lts 12
+
+## 0.5.0.0  -- 2018-08-03
 
 * Update Command.arguments to match specification
 * Update ClientCapabilities to v3.10
diff --git a/example/Main.hs b/example/Main.hs
--- a/example/Main.hs
+++ b/example/Main.hs
@@ -265,7 +265,7 @@
                       ]
               cmdparams = Just args
           makeCommand (J.Diagnostic _r _s _c _source _m _l) = []
-        let body = J.List $ map J.CommandOrCodeActionCommand $ concatMap makeCommand diags
+        let body = J.List $ map J.CACommand $ concatMap makeCommand diags
             rsp = Core.makeResponseMessage req body
         reactorSend $ RspCodeAction rsp
 
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.5.0.0
+version:             0.6.0.0
 synopsis:            Haskell library for the Microsoft Language Server Protocol
 
 description:         An implementation of the types, and basic message server to
@@ -44,7 +44,7 @@
                      , filepath
                      , hslogger
                      , hashable
-                     , haskell-lsp-types >= 0.5
+                     , haskell-lsp-types >= 0.6
                      , lens >= 4.15.2
                      , mtl
                      , network-uri
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
@@ -144,7 +144,8 @@
     , completionHandler              :: !(Maybe (Handler J.CompletionRequest))
     , completionResolveHandler       :: !(Maybe (Handler J.CompletionItemResolveRequest))
     , signatureHelpHandler           :: !(Maybe (Handler J.SignatureHelpRequest))
-    , definitionHandler              :: !(Maybe (Handler J.DefinitionRequest))
+    , definitionHandler              :: !(Maybe (Handler J.ImplementationRequest))
+    , implementationHandler          :: !(Maybe (Handler J.ImplementationRequest))
     , referencesHandler              :: !(Maybe (Handler J.ReferencesRequest))
     , documentHighlightHandler       :: !(Maybe (Handler J.DocumentHighlightRequest))
     , documentSymbolHandler          :: !(Maybe (Handler J.DocumentSymbolRequest))
@@ -194,7 +195,7 @@
   def = Handlers 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
-                 Nothing Nothing Nothing Nothing Nothing
+                 Nothing Nothing Nothing Nothing Nothing Nothing
 
 -- ---------------------------------------------------------------------
 nop :: a -> b -> IO a
@@ -257,6 +258,7 @@
 handlerMap _ h J.TextDocumentRangeFormatting     = hh nop ReqDocumentRangeFormatting $ documentRangeFormattingHandler h
 handlerMap _ h J.TextDocumentOnTypeFormatting    = hh nop ReqDocumentOnTypeFormatting $ documentTypeFormattingHandler h
 handlerMap _ h J.TextDocumentDefinition          = hh nop ReqDefinition $ definitionHandler h
+handlerMap _ h J.TextDocumentImplementation      = hh nop ReqDefinition $ implementationHandler h
 handlerMap _ h J.TextDocumentCodeAction          = hh nop ReqCodeAction $ codeActionHandler h
 handlerMap _ h J.TextDocumentCodeLens            = hh nop ReqCodeLens $ codeLensHandler h
 handlerMap _ h J.CodeLensResolve                 = hh nop ReqCodeLensResolve $ codeLensResolveHandler h
diff --git a/src/Language/Haskell/LSP/Types/Capabilities.hs b/src/Language/Haskell/LSP/Types/Capabilities.hs
--- a/src/Language/Haskell/LSP/Types/Capabilities.hs
+++ b/src/Language/Haskell/LSP/Types/Capabilities.hs
@@ -188,6 +188,7 @@
     documentSymbol = DocumentSymbolClientCapabilities
       dynamicReg
       (since 3 4 documentSymbolKind)
+      (since 3 10 True)
 
     documentSymbolKind =
       DocumentSymbolKindClientCapabilities
