diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,10 @@
+0.1.2.1
+=======
+
+- GHC 8.2 compatibility
+
+0.1.2.0
+=======
+
+- GHC 7.8 backwards-compatibility
+- Started changelog
diff --git a/config-ini.cabal b/config-ini.cabal
--- a/config-ini.cabal
+++ b/config-ini.cabal
@@ -1,5 +1,5 @@
 name:             config-ini
-version:          0.1.2.0
+version:          0.1.2.1
 synopsis:         A library for simple INI-based configuration files.
 homepage:         https://github.com/aisamanra/config-ini
 bug-reports:      https://github.com/aisamanra/config-ini/issues
@@ -22,6 +22,7 @@
 category:         Configuration
 build-type:       Simple
 cabal-version:    >= 1.10
+extra-source-files: CHANGELOG.md
 
 source-repository head
   type: git
@@ -36,7 +37,7 @@
   exposed-modules:     Data.Ini.Config
                      , Data.Ini.Config.Raw
   ghc-options:         -Wall
-  build-depends:       base                  >=4.7 && <4.10
+  build-depends:       base                  >=4.7 && <5
                      , text                  >=1.2.2 && <1.3
                      , unordered-containers  >=0.2.7 && <0.3
                      , transformers          >=0.4.1 && <0.6
@@ -49,7 +50,7 @@
   hs-source-dirs:   examples/basic-example
   main-is:          Main.hs
   ghc-options:      -Wall
-  build-depends:    base >=4.7 && <4.10
+  build-depends:    base >=4.7 && <5
                   , text
                   , config-ini
   default-language: Haskell2010
@@ -60,7 +61,7 @@
   hs-source-dirs:   examples/config-example
   main-is:          Main.hs
   ghc-options:      -Wall
-  build-depends:    base >=4.7 && <4.10
+  build-depends:    base >=4.7 && <5
                   , text
                   , config-ini
   default-language: Haskell2010
diff --git a/test/ini-compat/Main.hs b/test/ini-compat/Main.hs
--- a/test/ini-compat/Main.hs
+++ b/test/ini-compat/Main.hs
@@ -1,10 +1,13 @@
+{-# LANGUAGE TypeSynonymInstances #-}
+{-# OPTIONS_GHC -fno-warn-orphans #-}
+
 module Main where
 
-import           Data.Char
 import           Data.HashMap.Strict (HashMap)
 import qualified Data.HashMap.Strict as HM
 import qualified Data.Ini as I1
 import qualified Data.Ini.Config.Raw as I2
+import           Data.Monoid
 import           Data.Text (Text)
 import qualified Data.Text as T
 
@@ -28,21 +31,23 @@
 toMaps :: I2.Ini -> HashMap Text (HashMap Text Text)
 toMaps (I2.Ini m) = fmap (fmap I2.vValue . I2.isVals) m
 
+type AlphaNumText = T.Text
+instance Arbitrary AlphaNumText where
+    arbitrary = T.pack <$> (listOf1 $ elements $
+                            ['a'..'z'] <> ['A'..'Z'] <> ['0'..'9'] <> [' '])
+
 newtype ArbIni = ArbIni I1.Ini deriving (Show)
 
 instance Arbitrary ArbIni where
   arbitrary = (ArbIni . I1.Ini . HM.fromList) `fmap` listOf sections
     where sections = do
-            name <- str
+            name <- arbitrary :: Gen AlphaNumText
             sec  <- section
             return (name, sec)
-          str = (T.pack `fmap` arbitrary) `suchThat` (\ t ->
-                   T.all (\ c -> isAlphaNum c || c == ' ')
-                   t && not (T.null t))
           section = HM.fromList `fmap` listOf kv
           kv = do
-            name <- str
-            val  <- str
+            name <- arbitrary :: Gen AlphaNumText
+            val  <- arbitrary :: Gen AlphaNumText
             return (name, val)
 
 main :: IO ()
