diff --git a/ChangeLog b/ChangeLog
deleted file mode 100644
--- a/ChangeLog
+++ /dev/null
@@ -1,64 +0,0 @@
-2024-01-01  Sergey Vinokurov  <serg.foo@gmail.com>
-
-	* 0.4.5.5: Fix build for 9.6
-
-2019-10-27  Sergey Vinokurov  <serg.foo@gmail.com>
-
-	* 0.4.5.2: Fix build for 8.8.1
-
-2019-01-06  Sergey Vinokurov  <serg.foo@gmail.com>
-
-	* 0.4.5.1: Fix benchmark build when dependency on AttoBencode is switched off
-	* 0.4.5.0: Test against GHC 8.6. Make benchmark dependency on AttoBencode disablable
-
-2018-09-18  Sergey Vinokurov  <serg.foo@gmail.com>
-
-	* 0.4.4.0: Fix build for GHC 8.0-8.4. Derive Generic instances. Add Semigroup instance.
-
-2013-12-19  Sam Truzjan  <pxqr.sta@gmail.com>
-
-	* 0.4.3.0: Add lookAhead and match functions.
-
-2013-12-16  Sam Truzjan  <pxqr.sta@gmail.com>
-
-	* 0.4.2.1: Override default Monad(fail) method so it is possible
-	to catch Get monad failures from pure code.
-
-2013-12-14  Sam Truzjan  <pxqr.sta@gmail.com>
-
-	* 0.4.2.0: Override default fixity for operators: previously it
-	has been impossible to mix bencode Get operators ((<$>!), (<$>?),
-	(<*>!), (<*>?)) with applicative operators ((<$>), (<*>)).
-
-2013-12-08  Sam Truzjan  <pxqr.sta@gmail.com>
-
-	* 0.4.1.0: Expose parser and builder so it is possible to use
-	parser incrementally.
-
-2013-10-01  Sam Truzjan  <pxqr.sta@gmail.com>
-
-	* 0.4.0.2: Minor fixes.
-
-2013-10-01  Sam Truzjan  <pxqr.sta@gmail.com>
-
-	* 0.4.0.1: Nothing changed.
-
-2013-10-01  Sam Truzjan  <pxqr.sta@gmail.com>
-
-	* 0.4.0.0: Faster dictionary conversion.
-
-2013-09-28  Sam Truzjan  <pxqr.sta@gmail.com>
-
-	* 0.3.0.0: Rename BEncode to BValue and BEncodable to BEncode.
-
-2013-09-28  Sam Truzjan  <pxqr.sta@gmail.com>
-
-	* 0.2.2.0: Arbitrary length integers. (by specification)
-
-2013-08-26  Sam Truzjan  <pxqr.sta@gmail.com>
-
-	* 0.2.0.0: Added default decoders/encoders using GHC Generics.
-
-2013-06-09  Sam Truzjan  <pxqr.sta@gmail.com>
-
-	* 0.1.0.0: Initial version.
diff --git a/Changelog.md b/Changelog.md
new file mode 100644
--- /dev/null
+++ b/Changelog.md
@@ -0,0 +1,67 @@
+# 0.4.5.6
+
+- Fix build for GHC 9.10
+
+# 0.4.5.5
+
+- Fix build for GHC 9.6
+
+# 0.4.5.2
+
+- Fix build for GHC 8.8.1
+
+# 0.4.5.1
+
+- Fix benchmark build when dependency on AttoBencode is switched off
+
+# 0.4.5.0
+
+- Test against GHC 8.6. Make benchmark dependency on AttoBencode disableable
+
+# 0.4.4.0
+
+- Fix build for GHC 8.0-8.4. Derive Generic instances. Add Semigroup instance.
+
+# 0.4.3.0
+
+- Add lookAhead and match functions.
+
+# 0.4.2.1
+
+- Override default Monad(fail) method so it is possible to catch Get monad failures from pure code.
+
+# 0.4.2.0
+
+- Override default fixity for operators. Previously it has been impossible to mix bencode Get operators (`(<$>!)`, `(<$>?)`, `(<*>!)`, `(<*>?)`) with applicative operators (`(<$>)`, `(<*>)`).
+
+# 0.4.1.0
+
+- Expose parser and builder so it is possible to use parser incrementally.
+
+# 0.4.0.2
+
+- Minor fixes.
+
+# 0.4.0.1
+
+- Nothing changed.
+
+# 0.4.0.0
+
+- Faster dictionary conversion.
+
+# 0.3.0.0
+
+- Rename `BEncode` to `BValue` and `BEncodable` to `BEncode`.
+
+# 0.2.2.0
+
+- Arbitrary length integers. (by specification)
+
+# 0.2.0.0
+
+- Added default decoders/encoders using GHC Generics.
+
+# 0.1.0.0
+
+- Initial version.
diff --git a/bench/Main.hs b/bench/Main.hs
--- a/bench/Main.hs
+++ b/bench/Main.hs
@@ -19,7 +19,7 @@
 import Control.Exception
 import           Data.ByteString as BS
 import qualified Data.ByteString.Lazy as BL
-import Data.List as L
+import qualified Data.List as L
 import Data.Maybe
 import Data.Typeable
 import System.Environment
diff --git a/bencoding.cabal b/bencoding.cabal
--- a/bencoding.cabal
+++ b/bencoding.cabal
@@ -1,24 +1,38 @@
+cabal-version:         3.0
+
 name:                  bencoding
-version:               0.4.5.5
-license:               BSD3
+version:               0.4.5.6
+license:               BSD-3-Clause
 license-file:          LICENSE
 author:                Sam Truzjan
 maintainer:            Sergey Vinokurov <serg.foo@gmail.com>
 copyright:             (c) 2013-2018, Sam Truzjan
-                       (c) 2018 Sergey Vinokurov
+                       (c) 2018-2024 Sergey Vinokurov
 category:              Data
 build-type:            Simple
 stability:             Experimental
-cabal-version:         >= 1.10
-tested-with:           GHC == 7.8.4, GHC == 7.10.3, GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.4, GHC == 8.6.5, GHC == 8.8.1
 homepage:              https://github.com/sergv/bencoding
 bug-reports:           https://github.com/sergv/bencoding/issues
 synopsis:              A library for encoding and decoding of BEncode data.
 description:
   A library for fast and easy encoding and decoding of BEncode data.
 
+tested-with:
+  GHC == 8.0,
+  GHC == 8.2,
+  GHC == 8.4,
+  GHC == 8.6,
+  GHC == 8.8,
+  GHC == 8.10,
+  GHC == 9.0,
+  GHC == 9.2,
+  GHC == 9.4,
+  GHC == 9.6,
+  GHC == 9.8,
+  GHC == 9.10
+
 extra-source-files:    README.md
-                     , ChangeLog
+                     , Changelog.md
 
 source-repository head
   type:                git
@@ -29,7 +43,7 @@
   type:                git
   location:            https://github.com/sergv/bencoding.git
   branch:              master
-  tag:                 v0.4.5.1
+  tag:                 v0.4.5.6
 
 flag dev
   description:
