diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,10 @@
 # Changelog
 
+## v2.3.0 (2020-03-05)
+
+- Allow server-0.17 in executables
+- Bump stack LTS to 14.25
+
 ## v2.2.2 (2019-02-28)
 
 - (oversight) Allow server-0.16 in executables
diff --git a/servant-pagination.cabal b/servant-pagination.cabal
--- a/servant-pagination.cabal
+++ b/servant-pagination.cabal
@@ -10,7 +10,7 @@
     different fashions (pagination with offset / limit, endless scroll using
     last referenced resources, ascending and descending ordering, etc.)
 version:
-    2.2.2
+    2.3.0
 homepage:
     https://github.com/chordify/haskell-servant-pagination
 bug-reports:
@@ -25,7 +25,7 @@
     Chordify <haskelldevelopers@chordify.net>
     Matthias Benkort <matthias.benkort@gmail.com>
 copyright:
-    (c) 2018 Chordify
+    (c) 2018-2020 Chordify
 category:
     Web
 build-type:
@@ -75,10 +75,8 @@
     , MultiParamTypeClasses
     , OverloadedStrings
     , ParallelListComp
-    , RecordWildCards
     , ScopedTypeVariables
     , TupleSections
-    , TypeApplications
     , TypeFamilies
     , TypeOperators
     , UndecidableInstances
@@ -86,8 +84,8 @@
   build-depends:
       base >= 4 && < 5
     , text >= 1.2 && < 2
-    , servant >= 0.11 && < 0.17
-    , servant-server >= 0.11 && < 0.17
+    , servant >= 0.11 && < 0.18
+    , servant-server >= 0.11 && < 0.18
     , safe >= 0.3 && < 1
     , uri-encode >= 1.5 && < 1.6
 
@@ -124,19 +122,17 @@
     , MultiParamTypeClasses
     , OverloadedStrings
     , ParallelListComp
-    , RecordWildCards
     , ScopedTypeVariables
     , TupleSections
-    , TypeApplications
     , TypeFamilies
     , TypeOperators
 
   build-depends:
       base >= 4 && < 5
     , aeson >= 1.2 && < 2
-    , servant >= 0.11 && < 0.17
+    , servant >= 0.11 && < 0.18
     , servant-pagination
-    , servant-server >= 0.11 && < 0.17
+    , servant-server >= 0.11 && < 0.18
     , warp >= 3.2 && < 4
 
   hs-source-dirs:
@@ -174,19 +170,17 @@
     , MultiParamTypeClasses
     , OverloadedStrings
     , ParallelListComp
-    , RecordWildCards
     , ScopedTypeVariables
     , TupleSections
-    , TypeApplications
     , TypeFamilies
     , TypeOperators
 
   build-depends:
       base >= 4 && < 5
     , aeson >= 1.2 && < 2
-    , servant >= 0.11 && < 0.17
+    , servant >= 0.11 && < 0.18
     , servant-pagination
-    , servant-server >= 0.11 && < 0.17
+    , servant-server >= 0.11 && < 0.18
     , warp >= 3.2 && < 4
 
   hs-source-dirs:
@@ -220,10 +214,8 @@
     , MultiParamTypeClasses
     , OverloadedStrings
     , ParallelListComp
-    , RecordWildCards
     , ScopedTypeVariables
     , TupleSections
-    , TypeApplications
     , TypeFamilies
     , TypeOperators
 
diff --git a/src/Servant/Pagination.hs b/src/Servant/Pagination.hs
--- a/src/Servant/Pagination.hs
+++ b/src/Servant/Pagination.hs
@@ -1,3 +1,6 @@
+{-# LANGUAGE RecordWildCards  #-}
+{-# LANGUAGE TypeApplications #-}
+
 -- | Opinionated Pagination Helpers for Servant APIs
 --
 --
@@ -112,18 +115,18 @@
   , applyRange
   ) where
 
-import           Data.List      (filter, find, intercalate)
-import           Data.Maybe     (listToMaybe)
-import           Data.Proxy     (Proxy (..))
-import           Data.Semigroup ((<>))
-import           Data.Text      (Text)
-import           Network.URI.Encode (encodeText,decodeText)
-import           GHC.Generics   (Generic)
-import           GHC.TypeLits   (KnownSymbol, Symbol, symbolVal)
+import           Data.List          (filter, find, intercalate)
+import           Data.Maybe         (listToMaybe)
+import           Data.Proxy         (Proxy (..))
+import           Data.Semigroup     ((<>))
+import           Data.Text          (Text)
+import           GHC.Generics       (Generic)
+import           GHC.TypeLits       (KnownSymbol, Symbol, symbolVal)
+import           Network.URI.Encode (decodeText, encodeText)
 import           Servant
 
-import qualified Data.List      as List
-import qualified Data.Text      as Text
+import qualified Data.List          as List
+import qualified Data.Text          as Text
 import qualified Safe
 
 
@@ -285,7 +288,7 @@
             traverse parseOpt rest
 
           range <- Range
-            <$> sequence (fmap (parseUrlPiece . decodeText) (listToMaybe value))
+            <$> mapM (parseUrlPiece . decodeText) (listToMaybe value)
             <*> ifOpt "limit"  defaultRangeLimit opts
             <*> ifOpt "offset" defaultRangeOffset opts
             <*> ifOpt "order"  defaultRangeOrder opts
diff --git a/stack.yaml b/stack.yaml
--- a/stack.yaml
+++ b/stack.yaml
@@ -1,1 +1,5 @@
-resolver: lts-10.3
+resolver: lts-14.25
+
+# Generate files required by Weeder.
+# See https://github.com/ndmitchell/weeder/issues/53
+ghc-options: {"$locals": -ddump-to-file -ddump-hi}
diff --git a/test/Servant/PaginationSpec.hs b/test/Servant/PaginationSpec.hs
--- a/test/Servant/PaginationSpec.hs
+++ b/test/Servant/PaginationSpec.hs
@@ -1,3 +1,5 @@
+{-# LANGUAGE TypeApplications #-}
+
 {-# OPTIONS_GHC -fno-warn-orphans #-}
 
 module Servant.PaginationSpec
