diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,9 +2,13 @@
 
 See full history at: <https://github.com/faylang/fay/commits>
 
+#### 0.20.1.4 (2014-09-04)
+
+* Update to `optparse-applicative == 0.10.*`
+
 #### 0.20.1.3 (2014-08-29)
 
-* `fay-tests` is no longer built by default. Pass `-ftest` to build it.
+* Test suite is no longer built by default, cabal install with `-ftest` to enable.
 
 #### 0.20.1.2 (2014-08-18)
 
diff --git a/fay.cabal b/fay.cabal
--- a/fay.cabal
+++ b/fay.cabal
@@ -1,5 +1,5 @@
 name:                fay
-version:             0.20.1.3
+version:             0.20.1.4
 synopsis:            A compiler for Fay, a Haskell subset that compiles to JavaScript.
 description:         Fay is a proper subset of Haskell which is type-checked
                      with GHC, and compiled to JavaScript. It is lazy, pure, has a Fay monad,
@@ -148,7 +148,7 @@
   build-depends:
       base
     , fay
-    , optparse-applicative >= 0.6 && < 0.10
+    , optparse-applicative == 0.10.*
     , split
 
 executable fay-tests
@@ -173,7 +173,7 @@
       , filepath
       , groom == 0.1.*
       , haskell-src-exts
-      , tasty == 0.8.*
+      , tasty == 0.9.*
       , tasty-hunit >= 0.8 && < 0.10
       , tasty-th == 0.1.*
       , text
diff --git a/src/main/Main.hs b/src/main/Main.hs
--- a/src/main/Main.hs
+++ b/src/main/Main.hs
@@ -3,15 +3,15 @@
 module Main where
 
 import           Fay
-import           Paths_fay                 (version)
+import           Paths_fay (version)
 
-import qualified Control.Exception         as E
 import           Control.Monad
-import           Data.List.Split           (wordsBy)
+import           Data.List.Split (wordsBy)
 import           Data.Maybe
-import           Data.Version              (showVersion)
+import           Data.Version (showVersion)
 import           Options.Applicative
 import           Options.Applicative.Types
+import qualified Control.Exception as E
 
 -- | Options and help.
 data FayCompilerOptions = FayCompilerOptions
@@ -117,7 +117,9 @@
   <*> optional (strOption $ long "runtime-path" <> help "Custom path to the runtime so you don't have to reinstall fay when modifying it")
   <*> switch (long "sourcemap" <> help "Produce a source map in <outfile>.map")
   <*> many (argument Just (metavar "<hs-file>..."))
-  where strsOption m = nullOption (m <> reader (ReadM . Right . wordsBy (== ',')) <> value [])
+  where
+    strsOption :: Mod OptionFields [String] -> Parser [String]
+    strsOption m = option (ReadM . Right . wordsBy (== ',')) (m <> value [])
 
 -- | Make incompatible options.
 incompatible :: Monad m
