diff --git a/Changelog.md b/Changelog.md
new file mode 100644
--- /dev/null
+++ b/Changelog.md
@@ -0,0 +1,3 @@
+# 0.3.1
+
+- Support `servant-0.14`
diff --git a/servant-swagger-ui-core.cabal b/servant-swagger-ui-core.cabal
--- a/servant-swagger-ui-core.cabal
+++ b/servant-swagger-ui-core.cabal
@@ -1,6 +1,6 @@
 cabal-version:  1.12
 name:           servant-swagger-ui-core
-version:        0.3
+version:        0.3.1
 
 synopsis:       Servant swagger ui core components
 category:       Web, Servant, Swagger
@@ -10,18 +10,20 @@
    See servant-swagger-ui, servant-swagger-ui-jensoleg or
    servant-swagger-ui-redoc for "concrete" implementations.
 
-homepage:       https://github.com/phadej/servant-swagger-ui
-bug-reports:    https://github.com/phadej/servant-swagger-ui/issues
+homepage:       https://github.com/haskell-servant/servant-swagger-ui
+bug-reports:    https://github.com/haskell-servant/servant-swagger-ui/issues
 author:         Oleg Grenrus <oleg.grenrus@iki.fi>
-maintainer:     Oleg Grenrus <oleg.grenrus@iki.fi>
+maintainer:     haskell-servant-maintainers@googlegroups.com
 license:        BSD3
 license-file:   LICENSE
 build-type:     Simple
-tested-with:    GHC ==7.8.4 || ==7.10.3 || ==8.0.2 ||  ==8.2.2 || ==8.4.2
+tested-with:    GHC ==7.8.4 || ==7.10.3 || ==8.0.2 ||  ==8.2.2 || ==8.4.3
+extra-source-files:
+  Changelog.md
 
 source-repository head
   type: git
-  location: https://github.com/phadej/servant-swagger-ui
+  location: https://github.com/haskell-servant/servant-swagger-ui
 
 flag servant-0-5
   description: Whether use servant >= 0.5
@@ -38,9 +40,9 @@
     , blaze-markup      >=0.7.0.2  && <0.9
     , bytestring        >=0.10.4.0 && <0.11
     , http-media        >=0.6.2    && <0.8
-    , servant           >=0.4.4.5  && <0.14
+    , servant           >=0.4.4.5  && <0.15
     , servant-blaze     >=0.4.4.5  && <0.9
-    , servant-server    >=0.4.4.5  && <0.14
+    , servant-server    >=0.4.4.5  && <0.15
     , swagger2          >=2.0.1    && <2.3
     , text              >=1.2.0.6  && <1.3
     , wai-app-static    >=3.0.1.1  && <3.2
@@ -48,7 +50,7 @@
     build-depends:
         servant              >=0.5
       , transformers         >=0.3 && <0.6
-      , transformers-compat  >=0.3 && <0.6
+      , transformers-compat  >=0.3 && <0.7
   else
     build-depends:
         servant                       <0.5
diff --git a/src/Servant/Swagger/UI/Core.hs b/src/Servant/Swagger/UI/Core.hs
--- a/src/Servant/Swagger/UI/Core.hs
+++ b/src/Servant/Swagger/UI/Core.hs
@@ -100,15 +100,18 @@
 -- to find schema file automatically.
 data SwaggerUiHtml (dir :: Symbol) (api :: *) = SwaggerUiHtml T.Text
 
-#if MIN_VERSION_servant(0,10,0)
-#define LINK Link
+#if MIN_VERSION_servant(0,14,0)
+#define LINK Link ~ MkLink api Link
 #define LINKPATH uriPath . linkURI
+#elif MIN_VERSION_servant(0,10,0)
+#define LINK Link ~ MkLink api
+#define LINKPATH uriPath . linkURI
 #else
-#define LINK URI
+#define LINK URI ~ MkLink api
 #define LINKPATH uriPath
 #endif
 
-instance (KnownSymbol dir, HasLink api, LINK ~ MkLink api, IsElem api api)
+instance (KnownSymbol dir, HasLink api, LINK, IsElem api api)
     => ToMarkup (SwaggerUiHtml dir api)
   where
     toMarkup (SwaggerUiHtml template) = preEscapedToMarkup
