diff --git a/CHANGELOG.markdown b/CHANGELOG.markdown
deleted file mode 100644
--- a/CHANGELOG.markdown
+++ /dev/null
@@ -1,4 +0,0 @@
-# Change log
-
-Flow follows the [Package Versioning Policy](https://pvp.haskell.org).
-You can find release notes [on GitHub](https://github.com/tfausak/flow/releases).
diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,4 @@
+# Change log
+
+Flow follows the [Package Versioning Policy](https://pvp.haskell.org).
+You can find release notes [on GitHub](https://github.com/tfausak/flow/releases).
diff --git a/LICENSE.markdown b/LICENSE.markdown
deleted file mode 100644
--- a/LICENSE.markdown
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2023 Taylor Fausak
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/LICENSE.txt b/LICENSE.txt
new file mode 100644
--- /dev/null
+++ b/LICENSE.txt
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2023 Taylor Fausak
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/README.markdown b/README.markdown
deleted file mode 100644
--- a/README.markdown
+++ /dev/null
@@ -1,80 +0,0 @@
-# [Flow][]
-
-[![Workflow](https://github.com/tfausak/flow/actions/workflows/workflow.yaml/badge.svg)](https://github.com/tfausak/flow/actions/workflows/workflow.yaml)
-[![Hackage](https://img.shields.io/hackage/v/flow)](https://hackage.haskell.org/package/flow)
-[![Stackage](https://www.stackage.org/package/flow/badge/nightly?label=stackage)](https://www.stackage.org/package/flow)
-
-Write more understandable Haskell.
-
-Flow is a package that provides functions and operators for writing more
-understandable Haskell. It is an alternative to some common idioms like
-[`($)`][] for function application and [`(.)`][] for function composition.
-
--   [Requirements](#requirements)
--   [Installation](#installation)
--   [Usage](#usage)
-    -   [Cheat sheet](#cheat-sheet)
-
-## Requirements
-
-Flow requires a Haskell compiler. It is tested with recent versions of GHC, but
-older or different compilers should be acceptable. For installation with Cabal,
-Flow requires at least Cabal 2.2.
-
-## Installation
-
-To add Flow as a dependency to your package, add it to your Cabal file.
-
-```
-build-depends: flow ==2.0.*
-```
-
-## Usage
-
-Flow is designed to be imported unqualified. It does not export anything that
-conflicts with [the base package][].
-
-``` hs
-import Flow
-```
-
-### Cheat sheet
-
-Flow            | Base
---------------- | -------------
-<code>x &#124;> f</code> | `x & f`
-<code>f <&#124; x</code> | `f $ x`
-`apply x f`     | `f x`
-`f .> g`        | `f >>> g`
-`g <. f`        | `g . f`
-`compose f g x` | `g (f x)`
-`x !> f`        | -
-`f <! x`        | `f $! x`
-`apply' x f`    | `seq x (f x)`
-
-### Converting existing code
-
-If you want to uniformly use flow operators you can use [HLint] with the
-`hlint-flow.yaml` file. For easy use, it is best to extract the
-`hlint-flow.yaml` to your project directory and do
-
-``` sh
-> hlint -h hlint-flow.yaml <source file>
-```
-
-or
-
-``` sh
-> hlint --git -h hlint-flow.yaml
-```
-
-to check all Haskell source tracked by git.
-
-For more information about Flow, please read [the Haddock documentation][].
-
-[HLint]: https://github.com/ndmitchell/hlint
-[Flow]: http://taylor.fausak.me/flow/
-[`($)`]: http://hackage.haskell.org/package/base-4.8.0.0/docs/Prelude.html#v:-36-
-[`(.)`]: http://hackage.haskell.org/package/base-4.8.0.0/docs/Prelude.html#v:.
-[the base package]: http://hackage.haskell.org/package/base
-[the haddock documentation]: https://hackage.haskell.org/package/flow/docs/Flow.html
diff --git a/README.md b/README.md
new file mode 100644
--- /dev/null
+++ b/README.md
@@ -0,0 +1,79 @@
+# [Flow][]
+
+[![CI](https://github.com/tfausak/flow/actions/workflows/ci.yml/badge.svg)](https://github.com/tfausak/flow/actions/workflows/ci.yml)
+[![Hackage](https://badgen.net/hackage/v/flow)](https://hackage.haskell.org/package/flow)
+
+Write more understandable Haskell.
+
+Flow is a package that provides functions and operators for writing more
+understandable Haskell. It is an alternative to some common idioms like
+[`($)`][] for function application and [`(.)`][] for function composition.
+
+-   [Requirements](#requirements)
+-   [Installation](#installation)
+-   [Usage](#usage)
+    -   [Cheat sheet](#cheat-sheet)
+
+## Requirements
+
+Flow requires a Haskell compiler. It is tested with recent versions of GHC, but
+older or different compilers should be acceptable. For installation with Cabal,
+Flow requires at least Cabal 2.2.
+
+## Installation
+
+To add Flow as a dependency to your package, add it to your Cabal file.
+
+```
+build-depends: flow ==2.0.*
+```
+
+## Usage
+
+Flow is designed to be imported unqualified. It does not export anything that
+conflicts with [the base package][].
+
+``` hs
+import Flow
+```
+
+### Cheat sheet
+
+Flow            | Base
+--------------- | -------------
+<code>x &#124;> f</code> | `x & f`
+<code>f <&#124; x</code> | `f $ x`
+`apply x f`     | `f x`
+`f .> g`        | `f >>> g`
+`g <. f`        | `g . f`
+`compose f g x` | `g (f x)`
+`x !> f`        | -
+`f <! x`        | `f $! x`
+`apply' x f`    | `seq x (f x)`
+
+### Converting existing code
+
+If you want to uniformly use flow operators you can use [HLint] with the
+`hlint-flow.yaml` file. For easy use, it is best to extract the
+`hlint-flow.yaml` to your project directory and do
+
+``` sh
+> hlint -h hlint-flow.yaml <source file>
+```
+
+or
+
+``` sh
+> hlint --git -h hlint-flow.yaml
+```
+
+to check all Haskell source tracked by git.
+
+For more information about Flow, please read [the Haddock documentation][].
+
+[HLint]: https://github.com/ndmitchell/hlint
+[Flow]: http://taylor.fausak.me/flow/
+[`($)`]: http://hackage.haskell.org/package/base-4.8.0.0/docs/Prelude.html#v:-36-
+[`(.)`]: http://hackage.haskell.org/package/base-4.8.0.0/docs/Prelude.html#v:.
+[the base package]: http://hackage.haskell.org/package/base
+[the haddock documentation]: https://hackage.haskell.org/package/flow/docs/Flow.html
diff --git a/flow.cabal b/flow.cabal
--- a/flow.cabal
+++ b/flow.cabal
@@ -1,15 +1,15 @@
 cabal-version: 2.2
-
 name: flow
-version: 2.0.0.4
-
+version: 2.0.0.5
 synopsis: Write more understandable Haskell.
 description: Flow provides operators for writing more understandable Haskell.
-
 build-type: Simple
 category: Combinators, Functions, Utility
-extra-source-files: CHANGELOG.markdown README.markdown
-license-file: LICENSE.markdown
+extra-doc-files:
+  CHANGELOG.md
+  README.md
+
+license-file: LICENSE.txt
 license: MIT
 maintainer: Taylor Fausak
 
@@ -23,8 +23,7 @@
   manual: True
 
 common library
-  build-depends:
-    , base >= 4.16.0 && < 4.20
+  build-depends: base ^>=4.18.0.0 || ^>=4.19.0.0 || ^>=4.20.0.0
   default-language: Haskell2010
   ghc-options:
     -Weverything
@@ -40,24 +39,21 @@
 
 common executable
   import: library
-
   build-depends: flow
   ghc-options:
     -rtsopts
     -threaded
-    -Wno-unused-packages
 
 library
   import: library
-
   exposed-modules: Flow
   hs-source-dirs: source/library
 
 test-suite flow-test-suite
   import: executable
-
   build-depends:
-    , HUnit >= 1.6.1 && < 1.7
+    HUnit ^>=1.6.2.0
+
   hs-source-dirs: source/test-suite
   main-is: Main.hs
   type: exitcode-stdio-1.0
