diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,9 @@
+1.1.4
+-----
+
+* Notes:
+    * `servant-0.12` compatible release
+
 1.1.3.1
 ---
 
diff --git a/servant-swagger.cabal b/servant-swagger.cabal
--- a/servant-swagger.cabal
+++ b/servant-swagger.cabal
@@ -1,5 +1,5 @@
 name:                servant-swagger
-version:             1.1.3.1
+version:             1.1.4
 synopsis:            Generate Swagger specification for your servant API.
 description:         Please see README.md
 homepage:            https://github.com/haskell-servant/servant-swagger
@@ -9,9 +9,9 @@
 author:              David Johnson, Nickolay Kudasov
 maintainer:          nickolay.kudasov@gmail.com
 copyright:           (c) 2015-2016, Servant contributors
-category:            Web
+category:            Web, Servant, Swagger
 build-type:          Custom
-cabal-version:       >=1.10
+cabal-version:       >=1.18
 tested-with:
   GHC==7.8.4,
   GHC==7.10.3,
@@ -61,8 +61,8 @@
                      , http-media                >=0.6.3    && <0.8
                      , insert-ordered-containers >=0.1.0.0  && <0.3
                      , lens                      >=4.7.0.1  && <4.16
-                     , servant                   >=0.5      && <0.12
-                     , swagger2                  >=2.1      && <2.2
+                     , servant                   >=0.5      && <0.13
+                     , swagger2                  >=2.1      && <2.3
                      , text                      >=1.2.0.6  && <1.3
                      , unordered-containers      >=0.2.5.1  && <0.3
 
@@ -75,8 +75,8 @@
   build-depends:
     base,
     directory >= 1.0,
-    doctest >= 0.11.1 && <0.12,
-    servant >= 0.10,
+    doctest >= 0.11.1 && <0.14,
+    servant,
     QuickCheck,
     filepath
   default-language: Haskell2010
@@ -95,7 +95,7 @@
                   , hspec
                   , QuickCheck
                   , lens
-                  , servant >= 0.10
+                  , servant
                   , servant-swagger
                   , swagger2
                   , text
diff --git a/src/Servant/Swagger/Internal.hs b/src/Servant/Swagger/Internal.hs
--- a/src/Servant/Swagger/Internal.hs
+++ b/src/Servant/Swagger/Internal.hs
@@ -236,6 +236,16 @@
   toSwagger _ = toSwagger (Proxy :: Proxy (Capture sym a :> sub))
 #endif
 
+#if MIN_VERSION_servant(0,12,0)
+instance (KnownSymbol desc, HasSwagger api) => HasSwagger (Description desc :> api) where
+  toSwagger _ = toSwagger (Proxy :: Proxy api)
+    & allOperations.description %~ (Just (Text.pack (symbolVal (Proxy :: Proxy desc))) <>)
+
+instance (KnownSymbol desc, HasSwagger api) => HasSwagger (Summary desc :> api) where
+  toSwagger _ = toSwagger (Proxy :: Proxy api)
+    & allOperations.summary %~ (Just (Text.pack (symbolVal (Proxy :: Proxy desc))) <>)
+#endif
+
 instance (KnownSymbol sym, ToParamSchema a, HasSwagger sub) => HasSwagger (QueryParam sym a :> sub) where
   toSwagger _ = toSwagger (Proxy :: Proxy sub)
     & addParam param
diff --git a/test/Servant/SwaggerSpec.hs b/test/Servant/SwaggerSpec.hs
--- a/test/Servant/SwaggerSpec.hs
+++ b/test/Servant/SwaggerSpec.hs
@@ -1,13 +1,17 @@
+{-# LANGUAGE CPP #-}
 {-# LANGUAGE DataKinds          #-}
 {-# LANGUAGE DeriveDataTypeable #-}
 {-# LANGUAGE DeriveGeneric      #-}
 {-# LANGUAGE OverloadedStrings  #-}
 {-# LANGUAGE QuasiQuotes        #-}
 {-# LANGUAGE TypeOperators      #-}
+#if __GLASGOW_HASKELL__ == 708
+{-# OPTIONS_GHC -fcontext-stack=31 #-}
+#endif
 module Servant.SwaggerSpec where
 
 import           Control.Lens
-import           Data.Aeson
+import           Data.Aeson       (ToJSON(toJSON), Value, genericToJSON)
 import           Data.Aeson.QQ
 import qualified Data.Aeson.Types as JSON
 import           Data.Char        (toLower)
