diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,11 @@
 [The latest version of this document is on GitHub.](https://github.com/haskell-servant/servant/blob/master/servant-foreign/CHANGELOG.md)
 [Changelog for `servant` package contains significant entries for all core packages.](https://github.com/haskell-servant/servant/blob/master/servant/CHANGELOG.md)
 
+0.11.1
+------
+
+- Add missing `Semigroup` instances
+
 0.11
 ----
 
diff --git a/servant-foreign.cabal b/servant-foreign.cabal
--- a/servant-foreign.cabal
+++ b/servant-foreign.cabal
@@ -1,5 +1,5 @@
 name:                servant-foreign
-version:             0.11
+version:             0.11.1
 synopsis:            Helpers for generating clients for servant APIs in any programming language
 description:
   Helper types and functions for generating client functions for servant APIs in any programming language
@@ -23,10 +23,11 @@
   README.md
 bug-reports:         http://github.com/haskell-servant/servant/issues
 tested-with:
-  GHC==7.8.4
-  GHC==7.10.3
-  GHC==8.0.2
-  GHC==8.2.2
+  GHC==7.8.4,
+  GHC==7.10.3,
+  GHC==8.0.2,
+  GHC==8.2.2,
+  GHC==8.4.1
 
 source-repository head
   type: git
@@ -42,9 +43,13 @@
   --
   -- note: mtl lower bound is so low because of GHC-7.8
   build-depends:
-      base        >= 4.7     && <4.11
+      base        >= 4.7     && <4.12
     , text        >= 1.2.3.0 && < 1.3
 
+  if !impl(ghc >= 8.0)
+    build-depends:
+        semigroups          >=0.18.3 && <0.19
+
   -- Servant dependencies
   build-depends:
       servant            == 0.13.*
@@ -79,8 +84,8 @@
 
   -- Additonal dependencies
   build-depends:
-    hspec >= 2.4.4 && <2.5
+    hspec >= 2.4.4 && <2.6
 
   build-tool-depends:
-    hspec-discover:hspec-discover >=2.4.4 && <2.5
+    hspec-discover:hspec-discover >=2.4.4 && <2.6
   default-language:  Haskell2010
diff --git a/src/Servant/Foreign/Internal.hs b/src/Servant/Foreign/Internal.hs
--- a/src/Servant/Foreign/Internal.hs
+++ b/src/Servant/Foreign/Internal.hs
@@ -27,6 +27,7 @@
                                (.~))
 import           Data.Data (Data)
 import           Data.Proxy
+import           Data.Semigroup (Semigroup)
 import           Data.String
 import           Data.Text
 import           Data.Typeable (Typeable)
@@ -38,12 +39,12 @@
 import           Servant.API.Modifiers (RequiredArgument)
 
 newtype FunctionName = FunctionName { unFunctionName :: [Text] }
-  deriving (Data, Show, Eq, Monoid, Typeable)
+  deriving (Data, Show, Eq, Semigroup, Monoid, Typeable)
 
 makePrisms ''FunctionName
 
 newtype PathSegment = PathSegment { unPathSegment :: Text }
-  deriving (Data, Show, Eq, IsString, Monoid, Typeable)
+  deriving (Data, Show, Eq, IsString, Semigroup, Monoid, Typeable)
 
 makePrisms ''PathSegment
 
