diff --git a/ChangeLog.md b/ChangeLog.md
new file mode 100644
--- /dev/null
+++ b/ChangeLog.md
@@ -0,0 +1,11 @@
+# Release history for fudgets
+
+## 0.18.3.1 -- 2022-03-14
+
+* Renamed `doRequest.hs` to `doRequestCmd.hs` to avoid a name clash
+  with `DoRequest.hs` on systems with case-insensitive file names.
+
+## 0.18.3 -- 2022-03-13
+
+* Although Fudgets dates back to the early 1990s, this is the first
+  release on Hackage.
diff --git a/fudgets.cabal b/fudgets.cabal
--- a/fudgets.cabal
+++ b/fudgets.cabal
@@ -1,6 +1,6 @@
 Name: fudgets
 -- The version number also appears in hsrc/utils/FudVersion.hs
-Version: 0.18.3
+Version: 0.18.3.1
 Cabal-Version: >=1.10
 Synopsis: The Fudgets Library
 Homepage: https://www.altocumulus.org/Fudgets/
@@ -17,7 +17,7 @@
              This package includes the Fudgets library and a few small
              examples and demo applications.
 
-Author: Thomas Hallgren and Magnus Carlsson
+Author: Thomas Hallgren and Magnus Carlsson and others
 Maintainer: Thomas Hallgren
 Build-Type: Simple
 License: OtherLicense
@@ -25,6 +25,7 @@
 Tested-With: GHC==7.4.1, GHC==7.6.3, GHC==7.10.3, GHC==8.0.2, GHC==8.2.2, GHC==8.4.4, GHC==8.6.3, GHC==8.8.2, GHC==8.10.2, GHC==8.10.7, GHC==9.0.2, GHC==9.2.2
 
 Extra-Source-Files: README.md
+                    ChangeLog.md
                     hsrc/exists.h
                     hsrc/defaults/defaults.h
                     hsrc/ghc-dialogue/asyncinput.h
@@ -530,7 +531,7 @@
     ghc-options: -rtsopts
 
 Executable doRequest
-  main-is: hsrc/doRequest.hs
+  main-is: hsrc/doRequestCmd.hs
   Default-language: Haskell98
   build-depends: base, fudgets
 
diff --git a/hsrc/doRequest.hs b/hsrc/doRequest.hs
deleted file mode 100644
--- a/hsrc/doRequest.hs
+++ /dev/null
@@ -1,17 +0,0 @@
-import Control.Monad(forever)
-import System.IO
-import DoRequest
-
-main =
-  do state <- initXCall
-     forever (print' =<< doRequest state =<< readLn')
-
-print' x = do --hPutStr stderr "OR: "
-            --hPrint stderr x
-              print x
-              hFlush stdout
-
-readLn' = do r <- readLn
-           --hPutStr stderr "IR: "
-           --hPrint stderr r
-             return r
diff --git a/hsrc/doRequestCmd.hs b/hsrc/doRequestCmd.hs
new file mode 100644
--- /dev/null
+++ b/hsrc/doRequestCmd.hs
@@ -0,0 +1,17 @@
+import Control.Monad(forever)
+import System.IO
+import DoRequest
+
+main =
+  do state <- initXCall
+     forever (print' =<< doRequest state =<< readLn')
+
+print' x = do --hPutStr stderr "OR: "
+            --hPrint stderr x
+              print x
+              hFlush stdout
+
+readLn' = do r <- readLn
+           --hPutStr stderr "IR: "
+           --hPrint stderr r
+             return r
diff --git a/hsrc/fudgets/Editor.hs b/hsrc/fudgets/Editor.hs
--- a/hsrc/fudgets/Editor.hs
+++ b/hsrc/fudgets/Editor.hs
@@ -134,7 +134,7 @@
                  High (Left (Right (Left (Left (SelNotify t))))) -> Just t
                  _ -> Nothing)
 
-replace' s = putK (toEdF $EditReplace s)
+replace' s = putK (toEdF $ EditReplace s)
 clearSel = replace' ""
 copySel k = getEdSel $ (\s -> putK (toSelF (Sel s)) k)
 click issel p = putK (toEdF $ EditMove (EditPoint p) issel)
diff --git a/hsrc/utils/FudVersion.hs b/hsrc/utils/FudVersion.hs
--- a/hsrc/utils/FudVersion.hs
+++ b/hsrc/utils/FudVersion.hs
@@ -1,7 +1,7 @@
 module FudVersion where
 
-version = version_0_18_3
+version = version_0_18_3_1
 
-version_0_18_3 = "version 0.18.3" -- only for documentation, use "version" instead
+version_0_18_3_1 = "version 0.18.3.1" -- only for documentation, use "version" instead
 
 -- The version number should be increased immediately after a public release.
