diff --git a/LICENSE b/LICENSE
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2012-2013 David Lazar <lazar6@illinois.edu>
+Copyright (c) 2012-2016 David Lazar <lazard@csail.mit.edu>
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,5 +1,8 @@
-**hpygments** is a Haskell library for highlighting source code using [Pygments](http://pygments.org).
+hpygments
+=========
+[![Build Status](https://travis-ci.org/davidlazar/hpygments.svg)](https://travis-ci.org/davidlazar/hpygments)
+- - -
 
-See the [Hackage page](http://hackage.haskell.org/package/hpygments) for documentation and examples.
+hpygments is a Haskell library for highlighting source code using [Pygments](http://pygments.org).
 
-Please report bugs and feature requests using the [GitHub issue tracker](https://github.com/davidlazar/hpygments/issues).
+See the [Hackage page](http://hackage.haskell.org/package/hpygments) for documentation and examples.
diff --git a/hpygments.cabal b/hpygments.cabal
--- a/hpygments.cabal
+++ b/hpygments.cabal
@@ -1,45 +1,40 @@
-Name:               hpygments
-Version:            0.1.3
-Synopsis:           Highlight source code using Pygments
-Description:
+name: hpygments
+version: 0.2.0
+cabal-version: >=1.6
+build-type: Simple
+license: MIT
+license-file: LICENSE
+maintainer: David Lazar <lazard@csail.mit.edu>
+homepage: https://github.com/davidlazar/hpygments
+synopsis: Highlight source code using Pygments
+description:
     Highlight source code using Pygments <http://pygments.org>. This package
     depends on Pygments and its accompanying @pygmentize@ script.
-Homepage:           https://github.com/davidlazar/hpygments
-License:            MIT
-License-file:       LICENSE
-Author:             David Lazar
-Maintainer:         David Lazar <lazar6@illinois.edu>
-Category:           Text
-Build-type:         Simple
-Cabal-version:      >=1.6
-
-Extra-source-files:
-    README.md
-
-Data-files:
+category: Text
+author: David Lazar
+tested-with: GHC >=7.6.3
+data-files:
     pygments_dump_json.py
+extra-source-files:
+    README.md
 
 source-repository head
-  Type:             git
-  Location:         https://github.com/davidlazar/hpygments
-
-Library
-  ghc-options:      -Wall
-
-  Hs-source-dirs:   src
-
-  Exposed-modules:
-    Text.Highlighting.Pygments
-    Text.Highlighting.Pygments.Lexers
-    Text.Highlighting.Pygments.Formatters
-
-  Other-modules:
-    Text.Highlighting.Pygments.JSON
-    Paths_hpygments
+    type: git
+    location: https://github.com/davidlazar/hpygments
 
-  Build-depends:
-    base >= 4 && < 5,
-    bytestring,
-    process,
-    process-extras == 0.2.*,
-    aeson == 0.6.1.*
+library
+    exposed-modules:
+        Text.Highlighting.Pygments
+        Text.Highlighting.Pygments.Lexers
+        Text.Highlighting.Pygments.Formatters
+    build-depends:
+        base >=4 && <5,
+        bytestring -any,
+        process >=1.2 && <1.3,
+        process-extras >=0.3 && <0.4,
+        aeson >=0.8 && <0.9
+    hs-source-dirs: src
+    other-modules:
+        Text.Highlighting.Pygments.JSON
+        Paths_hpygments
+    ghc-options: -Wall
diff --git a/src/Text/Highlighting/Pygments.hs b/src/Text/Highlighting/Pygments.hs
--- a/src/Text/Highlighting/Pygments.hs
+++ b/src/Text/Highlighting/Pygments.hs
@@ -37,7 +37,7 @@
 import Text.Highlighting.Pygments.Formatters
 
 -- | Highlight code robustly. This function is more robust than the
--- lower-level 'pygmentize' function since this library forbids the 
+-- lower-level 'pygmentize' function since this library forbids the
 -- construction of invalid 'Lexer' and 'Formatter' values. Invalid
 -- 'Options' may still cause this function to raise an exception.
 highlight :: Lexer -> Formatter -> Options -> String -> IO String
@@ -56,7 +56,7 @@
     case exitCode of
         ExitSuccess -> return stdout
         -- TODO throw a custom exception?
-        e -> error $ "hpygments: `pygmentize " ++ unwords args ++ "` failed: " 
+        e -> error $ "hpygments: `pygmentize " ++ unwords args ++ "` failed: "
                    ++ show e ++ if stderr /= "" then ": " ++ stderr else ""
 
 -- | The lexer/formatter option @(key, value)@ is passed to the @pygmentize@ 
diff --git a/src/Text/Highlighting/Pygments/Formatters.hs b/src/Text/Highlighting/Pygments/Formatters.hs
--- a/src/Text/Highlighting/Pygments/Formatters.hs
+++ b/src/Text/Highlighting/Pygments/Formatters.hs
@@ -15,10 +15,9 @@
     , terminalFormatter
     ) where
 
-import Data.Aeson.TH (deriveJSON)
-import Data.Maybe (listToMaybe)
-
-import Text.Highlighting.Pygments.JSON
+import           Data.Aeson.TH                   (defaultOptions, deriveJSON)
+import           Data.Maybe                      (listToMaybe)
+import           Text.Highlighting.Pygments.JSON
 
 type FormatterAlias = String
 
@@ -27,7 +26,7 @@
     , _formatterAliases :: [FormatterAlias]
     } deriving (Eq, Ord, Show)
 
-$(deriveJSON id ''Formatter)
+$(deriveJSON defaultOptions ''Formatter)
 
 getAllFormatters :: IO [Formatter]
 getAllFormatters = getPygmentsJSON "formatters"
diff --git a/src/Text/Highlighting/Pygments/JSON.hs b/src/Text/Highlighting/Pygments/JSON.hs
--- a/src/Text/Highlighting/Pygments/JSON.hs
+++ b/src/Text/Highlighting/Pygments/JSON.hs
@@ -1,5 +1,5 @@
 {-# LANGUAGE OverloadedStrings #-}
-module Text.Highlighting.Pygments.JSON 
+module Text.Highlighting.Pygments.JSON
     (
       getPygmentsJSON
     ) where
diff --git a/src/Text/Highlighting/Pygments/Lexers.hs b/src/Text/Highlighting/Pygments/Lexers.hs
--- a/src/Text/Highlighting/Pygments/Lexers.hs
+++ b/src/Text/Highlighting/Pygments/Lexers.hs
@@ -18,10 +18,10 @@
     , textLexer
     ) where
 
-import Data.Aeson.TH (deriveJSON)
-import Data.Maybe (listToMaybe)
+import           Data.Aeson.TH                   (defaultOptions, deriveJSON)
+import           Data.Maybe                      (listToMaybe)
 
-import Text.Highlighting.Pygments.JSON
+import           Text.Highlighting.Pygments.JSON
 
 type LexerAlias = String
 
@@ -32,7 +32,7 @@
     , _lexerMimeTypes :: [String]
     } deriving (Eq, Ord, Show)
 
-$(deriveJSON id ''Lexer)
+$(deriveJSON defaultOptions ''Lexer)
 
 getAllLexers :: IO [Lexer]
 getAllLexers = getPygmentsJSON "lexers"
@@ -65,7 +65,7 @@
     }
 
 literateHaskellLexer :: Lexer
-literateHaskellLexer = Lexer 
+literateHaskellLexer = Lexer
     { _lexerName = "Literate Haskell"
     , _lexerAliases = ["lhs","literate-haskell"]
     , _lexerFileTypes = ["*.lhs"]
