diff --git a/CHANGES b/CHANGES
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,11 @@
 User-visible changes in hledger-web. See also hledger, hledger-lib.
 
 
+# 1.11 (2018/9/30)
+
+* use hledger 1.11
+
+
 # 1.10 (2018/6/30)
 
 * multiple -f options, and --auto, work again
diff --git a/Hledger/Web.hs b/Hledger/Web.hs
--- a/Hledger/Web.hs
+++ b/Hledger/Web.hs
@@ -5,17 +5,7 @@
 module Hledger.Web
   ( module Hledger.Web.WebOptions
   , module Hledger.Web.Main
-  , tests_Hledger_Web
   ) where
 
-import Test.HUnit
-
 import Hledger.Web.WebOptions
 import Hledger.Web.Main
-
-tests_Hledger_Web :: Test
-tests_Hledger_Web = TestList
- [
- --  tests_Hledger_Web_WebOptions
- -- ,tests_Hledger_Web_Main
- ]
diff --git a/Hledger/Web/Application.hs b/Hledger/Web/Application.hs
--- a/Hledger/Web/Application.hs
+++ b/Hledger/Web/Application.hs
@@ -1,5 +1,4 @@
 {-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# LANGUAGE CPP #-}
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE TemplateHaskell #-}
 {-# LANGUAGE ViewPatterns #-}
diff --git a/Hledger/Web/Main.hs b/Hledger/Web/Main.hs
--- a/Hledger/Web/Main.hs
+++ b/Hledger/Web/Main.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE CPP #-}
 {-# LANGUAGE OverloadedStrings #-}
 {-|
 
diff --git a/hledger-web.1 b/hledger-web.1
--- a/hledger-web.1
+++ b/hledger-web.1
@@ -1,5 +1,5 @@
 
-.TH "hledger\-web" "1" "June 2018" "hledger\-web 1.9.99" "hledger User Manuals"
+.TH "hledger\-web" "1" "September 2018" "hledger\-web 1.10.99" "hledger User Manuals"
 
 
 
@@ -130,6 +130,11 @@
 .TP
 .B \f[C]\-\-rules\-file=RULESFILE\f[]
 Conversion rules file to use when reading CSV (default: FILE.rules)
+.RS
+.RE
+.TP
+.B \f[C]\-\-separator=CHAR\f[]
+Field separator to expect when reading CSV (default: `,')
 .RS
 .RE
 .TP
diff --git a/hledger-web.cabal b/hledger-web.cabal
--- a/hledger-web.cabal
+++ b/hledger-web.cabal
@@ -2,10 +2,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 819abf18972b92028b9ccb3e8b1c5404368f8ca74e855c6fa226884dd01995a8
+-- hash: a990f6fed36d14942e007240e0b37a9ff1147902b74cadc426403828ce3950a6
 
 name:           hledger-web
-version:        1.10
+version:        1.11
 synopsis:       Web interface for the hledger accounting tool
 description:    This is hledger's web interface.
                 It provides a more user-friendly and collaborative UI than the
@@ -25,7 +25,7 @@
 maintainer:     Simon Michael <simon@joyful.com>
 license:        GPL-3
 license-file:   LICENSE
-tested-with:    GHC==7.10.3, GHC==8.0.2, GHC==8.2.2, GHC==8.4.1
+tested-with:    GHC==7.10.3, GHC==8.0.2, GHC==8.2.2, GHC==8.4.3
 build-type:     Simple
 cabal-version:  >= 1.10
 extra-source-files:
@@ -149,10 +149,9 @@
   other-modules:
       Paths_hledger_web
   ghc-options: -Wall -fwarn-tabs
-  cpp-options: -DVERSION="1.10"
+  cpp-options: -DVERSION="1.11"
   build-depends:
-      HUnit
-    , base >=4.8 && <4.12
+      base >=4.8 && <4.12
     , blaze-html
     , blaze-markup
     , bytestring
@@ -165,12 +164,12 @@
     , directory
     , filepath
     , hjsmin
-    , hledger >=1.10 && <1.11
-    , hledger-lib >=1.10 && <1.11
+    , hledger >=1.11 && <1.12
+    , hledger-lib >=1.11 && <1.12
     , http-client
     , http-conduit
     , json
-    , megaparsec >=6.4.1
+    , megaparsec >=6.4.1 && <7
     , mtl
     , semigroups
     , shakespeare >=2.0.2.2
@@ -183,12 +182,16 @@
     , wai-handler-launch >=1.3
     , warp
     , yaml
-    , yesod >=1.4 && <1.7
-    , yesod-core >=1.4 && <1.7
-    , yesod-form >=1.4 && <1.7
-    , yesod-static >=1.4 && <1.7
   if impl(ghc >=8)
     ghc-options: -Wcompat -Wincomplete-uni-patterns -Wincomplete-record-updates -Wredundant-constraints
+  if os(darwin) && impl(ghc < 8.0)
+    buildable: False
+  else
+    build-depends:
+        yesod >=1.4 && <1.7
+      , yesod-core >=1.4 && <1.7
+      , yesod-form >=1.4 && <1.7
+      , yesod-static >=1.4 && <1.7
   default-language: Haskell2010
 
 executable hledger-web
@@ -198,14 +201,12 @@
   hs-source-dirs:
       app
   ghc-options: -Wall -fwarn-tabs
-  cpp-options: -DVERSION="1.10"
+  cpp-options: -DVERSION="1.11"
   build-depends:
       base
     , hledger-web
   if impl(ghc >=8)
     ghc-options: -Wcompat -Wincomplete-uni-patterns -Wincomplete-record-updates -Wredundant-constraints
-  if flag(library-only)
+  if os(darwin) && impl(ghc < 8.0)
     buildable: False
-  if flag(threaded)
-    ghc-options: -threaded
   default-language: Haskell2010
diff --git a/hledger-web.info b/hledger-web.info
--- a/hledger-web.info
+++ b/hledger-web.info
@@ -3,8 +3,8 @@
 
 File: hledger-web.info,  Node: Top,  Next: OPTIONS,  Up: (dir)
 
-hledger-web(1) hledger-web 1.9.99
-*********************************
+hledger-web(1) hledger-web 1.10.99
+**********************************
 
 hledger-web is hledger's web interface.  It starts a simple web
 application for browsing and adding transactions, and optionally opens
@@ -106,6 +106,9 @@
 '--rules-file=RULESFILE'
 
      Conversion rules file to use when reading CSV (default: FILE.rules)
+'--separator=CHAR'
+
+     Field separator to expect when reading CSV (default: ',')
 '--alias=OLD=NEW'
 
      rename accounts named OLD to NEW
@@ -209,7 +212,7 @@
 
 Tag Table:
 Node: Top72
-Node: OPTIONS3158
-Ref: #options3243
+Node: OPTIONS3160
+Ref: #options3245
 
 End Tag Table
diff --git a/hledger-web.txt b/hledger-web.txt
--- a/hledger-web.txt
+++ b/hledger-web.txt
@@ -105,6 +105,9 @@
               Conversion   rules  file  to  use  when  reading  CSV  (default:
               FILE.rules)
 
+       --separator=CHAR
+              Field separator to expect when reading CSV (default: `,')
+
        --alias=OLD=NEW
               rename accounts named OLD to NEW
 
@@ -248,4 +251,4 @@
 
 
 
-hledger-web 1.9.99                 June 2018                    hledger-web(1)
+hledger-web 1.10.99             September 2018                  hledger-web(1)
