diff --git a/CHANGES.md b/CHANGES.md
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -9,6 +9,10 @@
 User-visible changes in hledger-web.
 See also the hledger changelog.
 
+# 1.29.1 2023-03-16
+
+- Allow building with GHC 9.6.1 (#2011)
+
 # 1.29 2023-03-11
 
 - The add form's typeahead now shows non-ascii text correctly.
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" "March 2023" "hledger-web-1.29 " "hledger User Manuals"
+.TH "HLEDGER-WEB" "1" "March 2023" "hledger-web-1.29.1 " "hledger User Manuals"
 
 
 
@@ -23,7 +23,7 @@
 \f[V]hledger web -- [OPTIONS] [QUERYARGS]\f[R] # start from hledger
 .SH DESCRIPTION
 .PP
-This manual is for hledger\[aq]s web interface, version 1.29.
+This manual is for hledger\[aq]s web interface, version 1.29.1.
 See also the hledger manual for common concepts and file formats.
 .PP
 hledger is a robust, user-friendly, cross-platform set of programs for
diff --git a/hledger-web.cabal b/hledger-web.cabal
--- a/hledger-web.cabal
+++ b/hledger-web.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           hledger-web
-version:        1.29
+version:        1.29.1
 synopsis:       Web-based user interface for the hledger accounting system
 description:    A simple web-based user interface for the hledger accounting system,
                 providing a more modern UI than the command-line or terminal interfaces.
@@ -151,11 +151,11 @@
   hs-source-dirs:
       ./
   ghc-options: -Wall -Wredundant-constraints -Wincomplete-record-updates -Wincomplete-uni-patterns
-  cpp-options: -DVERSION="1.29"
+  cpp-options: -DVERSION="1.29.1"
   build-depends:
       Decimal >=0.5.1
     , aeson >=1
-    , base >=4.14 && <4.18
+    , base >=4.14 && <4.19
     , base64
     , blaze-html
     , blaze-markup
@@ -171,8 +171,8 @@
     , extra >=1.6.3
     , filepath
     , hjsmin
-    , hledger ==1.29.*
-    , hledger-lib ==1.29.*
+    , hledger >=1.29.1 && <1.30
+    , hledger-lib >=1.29.1 && <1.30
     , hspec
     , http-client
     , http-conduit
@@ -212,9 +212,9 @@
   hs-source-dirs:
       app
   ghc-options: -Wall -Wredundant-constraints -Wincomplete-record-updates -Wincomplete-uni-patterns
-  cpp-options: -DVERSION="1.29"
+  cpp-options: -DVERSION="1.29.1"
   build-depends:
-      base >=4.14 && <4.18
+      base >=4.14 && <4.19
     , hledger-web
   default-language: Haskell2010
   if (flag(dev)) || (flag(library-only))
@@ -232,9 +232,9 @@
   hs-source-dirs:
       test
   ghc-options: -Wall -Wredundant-constraints -Wincomplete-record-updates -Wincomplete-uni-patterns
-  cpp-options: -DVERSION="1.29"
+  cpp-options: -DVERSION="1.29.1"
   build-depends:
-      base >=4.14 && <4.18
+      base >=4.14 && <4.19
     , hledger
     , hledger-lib
     , hledger-web
diff --git a/hledger-web.info b/hledger-web.info
--- a/hledger-web.info
+++ b/hledger-web.info
@@ -18,7 +18,7 @@
 ‘hledger-web --serve-api [OPTIONS] # run JSON server only’
 ‘hledger web -- [OPTIONS] [QUERYARGS]’ # start from hledger
 
-   This manual is for hledger’s web interface, version 1.29.  See also
+   This manual is for hledger’s web interface, version 1.29.1.  See also
 the hledger manual for common concepts and file formats.
 
    hledger is a robust, user-friendly, cross-platform set of programs
@@ -664,26 +664,26 @@
 
 Tag Table:
 Node: Top225
-Node: OPTIONS2724
-Ref: #options2829
-Node: PERMISSIONS10623
-Ref: #permissions10762
-Node: EDITING UPLOADING DOWNLOADING12020
-Ref: #editing-uploading-downloading12201
-Node: RELOADING13043
-Ref: #reloading13177
-Node: JSON API13610
-Ref: #json-api13725
-Node: DEBUG OUTPUT19257
-Ref: #debug-output19382
-Node: Debug output19409
-Ref: #debug-output-119510
-Node: ENVIRONMENT19935
-Ref: #environment20055
-Node: FILES21404
-Ref: #files21504
-Node: BUGS21764
-Ref: #bugs21842
+Node: OPTIONS2726
+Ref: #options2831
+Node: PERMISSIONS10625
+Ref: #permissions10764
+Node: EDITING UPLOADING DOWNLOADING12022
+Ref: #editing-uploading-downloading12203
+Node: RELOADING13045
+Ref: #reloading13179
+Node: JSON API13612
+Ref: #json-api13727
+Node: DEBUG OUTPUT19259
+Ref: #debug-output19384
+Node: Debug output19411
+Ref: #debug-output-119512
+Node: ENVIRONMENT19937
+Ref: #environment20057
+Node: FILES21406
+Ref: #files21506
+Node: BUGS21766
+Ref: #bugs21844
 
 End Tag Table
 
diff --git a/hledger-web.txt b/hledger-web.txt
--- a/hledger-web.txt
+++ b/hledger-web.txt
@@ -13,8 +13,8 @@
        hledger web -- [OPTIONS] [QUERYARGS] # start from hledger
 
 DESCRIPTION
-       This manual is for hledger's web interface, version 1.29.  See also the
-       hledger manual for common concepts and file formats.
+       This  manual  is for hledger's web interface, version 1.29.1.  See also
+       the hledger manual for common concepts and file formats.
 
        hledger is a robust, user-friendly, cross-platform set of programs  for
        tracking  money,  time,  or  any  other  commodity,  using double-entry
@@ -608,4 +608,4 @@
 
 
 
-hledger-web-1.29                  March 2023                    HLEDGER-WEB(1)
+hledger-web-1.29.1                March 2023                    HLEDGER-WEB(1)
