diff --git a/crockford.cabal b/crockford.cabal
--- a/crockford.cabal
+++ b/crockford.cabal
@@ -1,20 +1,38 @@
-Build-Type: Custom
+Build-Type: Simple
 Name: crockford
 Category: Codec
-Version: 0.2
-Cabal-Version: >= 1.2
+Version: 0.2.1
+Cabal-Version: >= 1.10
 Synopsis: An implementation of Douglas Crockford's base32 encoding.
 Description:
-    An implementation of Douglas Crockford's base32 encoding.
+    An implementation of Douglas Crockford's base32 encoding, a textual 32-symbol notation for
+    expressing numbers in a form that can be conveniently and accurately transmitted between humans
+    and computer systems. It uses a set of 32 symbols (0-9 and A-Z, excluding I, L, O, and U) to
+    represent numbers in a compact and human-friendly way.
+
 License: BSD3
 License-File: LICENSE
-Copyright: (c) 2009 Henry Bucklow
+Copyright: (c) 2009-2026 Henry Bucklow
 Author: Henry Bucklow
 Maintainer: Henry Bucklow <henry@elsie.org.uk>
-Tested-With: GHC==6.12
-Build-Depends: base>=4 && < 5, digits, safe, QuickCheck
-Exposed-Modules: Codec.Crockford
-Hs-Source-Dirs: src
-Extra-Source-Files: src/Tests.hs
-GHC-Options: -Wall
+Tested-With: GHC==9.12.2
 
+Source-Repository head
+  Type: git
+  Location: https://github.com/sffubs/crockford.git
+
+library
+  Build-Depends: base>=4 && < 5, digits < 0.4, safe < 0.4, QuickCheck < 3
+  Exposed-Modules: Codec.Crockford
+  Hs-Source-Dirs: src
+  GHC-Options: -Wall
+  Default-Language: Haskell2010
+
+test-suite tests
+  Build-Depends: base>=4 && < 5, digits < 0.4, safe < 0.4, QuickCheck < 3
+  Type: exitcode-stdio-1.0
+  Main-Is: Tests.hs
+  Hs-Source-Dirs: src
+  GHC-Options: -Wall
+  Default-Language: Haskell2010
+  Other-Modules: Codec.Crockford
