diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,8 @@
 # Revision history for granite
 
+## 0.2.0.1 -- 2025-08-26
+* Loosen bounds for text
+
 ## 0.2.0.0 -- 2025-08-26
 * Plot title is now part of the configuration options.
 * API now uses Text instead of String.
diff --git a/granite.cabal b/granite.cabal
--- a/granite.cabal
+++ b/granite.cabal
@@ -1,6 +1,6 @@
 cabal-version:      3.0
 name:               granite
-version:            0.2.0.0
+version:            0.2.0.1
 synopsis:           Easy terminal plotting.
 description:        A terminal plotting library for quick and easy visualisation.
 license:            MIT
@@ -38,7 +38,7 @@
     exposed-modules:  Granite
     build-depends:
         base >=4 && <5,
-        text >= 2.1
+        text >= 1 && < 3
     hs-source-dirs:   src
     default-language: GHC2021
 
@@ -49,7 +49,7 @@
         base >=4 && <5,
         granite ^>= 0.2,
         random >= 1.2 && <= 1.3,
-        text >= 2.1,
+        text >= 1 && < 3
     hs-source-dirs:   app
     default-language: GHC2021
 
@@ -60,6 +60,5 @@
     hs-source-dirs:   test
     main-is:          Main.hs
     build-depends:
-        base >=4,
-        granite ^>= 0.2
+        base >=4 && <5
 
diff --git a/src/Granite.hs b/src/Granite.hs
--- a/src/Granite.hs
+++ b/src/Granite.hs
@@ -614,7 +614,7 @@
 ansiCode Default       = 39
 
 ansiOn :: Color -> Text
-ansiOn c = "\ESC[" <> Text.show (ansiCode c) <> "m"
+ansiOn c = "\ESC[" <> Text.pack (show (ansiCode c)) <> "m"
 
 ansiOff :: Text
 ansiOff = "\ESC[0m"
