diff --git a/src/TipToiYaml.hs b/src/TipToiYaml.hs
--- a/src/TipToiYaml.hs
+++ b/src/TipToiYaml.hs
@@ -107,19 +107,25 @@
 instance ToJSON SpeakSpecs where
     toJSON (SpeakSpecs [x]) = toJSON x
     toJSON (SpeakSpecs l)   = Array $ V.fromList $ map toJSON $ l
-    
+
 options = defaultOptions { fieldLabelModifier = map fix . map toLower . drop 3 }
        where fix '_' = '-'
              fix c   = c
 
 instance FromJSON TipToiYAML where
-     parseJSON = genericParseJSON $ options
+    parseJSON = genericParseJSON $ options
 instance ToJSON TipToiYAML where
-     toJSON = genericToJSON $ options
+    toJSON = genericToJSON options
+#if MIN_VERSION_aeson(0,10,0)
+    toEncoding = genericToEncoding options
+#endif
 instance FromJSON TipToiCodesYAML where
-     parseJSON = genericParseJSON $ options
+    parseJSON = genericParseJSON $ options
 instance ToJSON TipToiCodesYAML where
-     toJSON = genericToJSON $ options
+    toJSON = genericToJSON options
+#if MIN_VERSION_aeson(0,10,0)
+    toEncoding = genericToEncoding options
+#endif
 
 
 tt2ttYaml :: String -> TipToiFile -> TipToiYAML
diff --git a/tttool.cabal b/tttool.cabal
--- a/tttool.cabal
+++ b/tttool.cabal
@@ -1,5 +1,5 @@
 name:                tttool
-version:             1.4.0.4
+version:             1.4.0.5
 synopsis:            Working with files for the Tiptoi® pen
 description:         The Ravensburger Tiptoi® pen is programmed via special
                      files. Their file format has been reverse engineered; this
@@ -57,7 +57,7 @@
     template-haskell >= 2.7 && < 2.11,
 
     JuicyPixels == 3.1.*   ||  == 3.2.*,
-    aeson       == 0.7.*   ||  == 0.8.*  || == 0.9.*,
+    aeson       >= 0.7     &&   < 0.11,
     hashable    == 1.2.*,
     haskeline   == 0.7.*,
     mtl         == 2.1.*   ||  == 2.2.*,
