diff --git a/BlogLiterately.cabal b/BlogLiterately.cabal
--- a/BlogLiterately.cabal
+++ b/BlogLiterately.cabal
@@ -1,5 +1,5 @@
 Name:           BlogLiterately
-Version:        0.7.1.7
+Version:        0.7.1.8
 Synopsis:       A tool for posting Haskelly articles to blogs
 Description:    Write blog posts in Markdown format, then use BlogLiterately
                 to do syntax highlighting, format ghci sessions, and upload
@@ -39,7 +39,7 @@
   location: git://github.com/byorgey/BlogLiterately.git
 
 Library
-  Build-Depends:   base >= 4.0 && < 4.8,
+  Build-Depends:   base >= 4.0 && < 4.9,
                    process,
                    filepath,
                    directory,
@@ -50,20 +50,19 @@
                    temporary >= 1.1 && < 1.3,
                    strict >= 0.3 && < 0.4,
                    split >= 0.1.4 && < 0.3,
-                   utf8-string >= 0.3 && < 0.4,
-                   transformers >= 0.3 && < 0.4,
+                   transformers >= 0.3 && < 0.5,
                    parsec >= 3 && < 3.2,
-                   HaXml >= 1.22 && < 1.25,
-                   hscolour >= 1.20 && < 1.21,
-                   blaze-html >= 0.5 && < 0.8,
+                   HaXml >= 1.22 && < 1.26,
+                   hscolour >= 1.20 && < 1.23,
+                   blaze-html >= 0.5 && < 0.9,
                    cmdargs >= 0.9.5 && < 0.11,
                    haxr >= 3000.9 && < 3000.11,
-                   pandoc >= 1.12 && < 1.13,
+                   pandoc >= 1.12 && < 1.14,
                    pandoc-types >= 1.12 && < 1.13,
-                   pandoc-citeproc >= 0.1.2 && < 0.4,
+                   pandoc-citeproc >= 0.1.2 && < 0.7,
                    highlighting-kate >= 0.5 && < 0.6,
                    data-default >= 0.5 && < 0.6,
-                   lens >= 3.8 && < 4.3
+                   lens >= 3.8 && < 4.10
   Exposed-modules: Text.BlogLiterately
                    Text.BlogLiterately.Block
                    Text.BlogLiterately.Ghci
@@ -88,9 +87,8 @@
 Executable BlogLiterately
   Build-Depends:   base,
                    BlogLiterately,
-                   cmdargs >= 0.9.5 && < 0.11,
-                   utf8-string >= 0.3 && < 0.4
+                   cmdargs >= 0.9.5 && < 0.11
   Main-Is:        BlogLiterately.hs
   hs-source-dirs: main
-  Ghc-Options:    -fwarn-unused-imports
+  Ghc-Options:    -fwarn-unused-imports -threaded
   Default-language: Haskell2010
diff --git a/CHANGES.md b/CHANGES.md
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,3 +1,18 @@
+0.7.1.8 (4 May 2015)
+--------------------
+
+  * Bump upper bounds.  Now allows:
+      - `base-4.8`
+      - `transformers-0.4`
+      - `lens-4.9`
+      - `hscolour-1.22`
+      - `blaze-html-0.8`
+      - `HaXml-1.25`
+      - `pandoc-1.13`
+      - `pandoc-citeproc-0.6`
+  * Get rid of `utf8-string` dependency
+  * Drop leading spaces while parsing BLOpts block
+
 0.7.1.7 (5 June 2014)
 ---------------------
 
diff --git a/src/Text/BlogLiterately/Highlight.hs b/src/Text/BlogLiterately/Highlight.hs
--- a/src/Text/BlogLiterately/Highlight.hs
+++ b/src/Text/BlogLiterately/Highlight.hs
@@ -31,7 +31,6 @@
 import           Data.Char                           (toLower)
 import           Data.List                           (find)
 import           Data.Maybe                          (fromMaybe)
-import qualified System.IO.UTF8                      as U (readFile)
 
 import           Language.Haskell.HsColour           (Output (..), hscolour)
 import           Language.Haskell.HsColour.Colourise (defaultColourPrefs)
@@ -203,7 +202,7 @@
 --   empty.
 getStylePrefs :: Maybe FilePath -> IO StylePrefs
 getStylePrefs Nothing      = return defaultStylePrefs
-getStylePrefs (Just fname) = liftM read (U.readFile fname)
+getStylePrefs (Just fname) = liftM read (readFile fname)
 
 -- | Take a @String@ of HTML produced by hscolour, and \"bake\" styles
 --   into it by replacing class attributes with appropriate style
diff --git a/src/Text/BlogLiterately/Options/Parse.hs b/src/Text/BlogLiterately/Options/Parse.hs
--- a/src/Text/BlogLiterately/Options/Parse.hs
+++ b/src/Text/BlogLiterately/Options/Parse.hs
@@ -40,7 +40,7 @@
 readBLOptions :: String -> ([ParseError], BlogLiterately)
 readBLOptions = second mconcat
               . partitionEithers
-              . map readBLOption
+              . map (readBLOption . dropWhile isSpace)
               . filter (not . all isSpace)
               . lines
 
diff --git a/src/Text/BlogLiterately/Run.hs b/src/Text/BlogLiterately/Run.hs
--- a/src/Text/BlogLiterately/Run.hs
+++ b/src/Text/BlogLiterately/Run.hs
@@ -36,7 +36,6 @@
     ) where
 
 import           System.Console.CmdArgs        (cmdArgs)
-import qualified System.IO.UTF8                as U (readFile)
 
 import           Text.BlogLiterately.Options   (blOpts, file')
 import           Text.BlogLiterately.Post      (postIt)
@@ -59,6 +58,6 @@
 blogLiteratelyCustom :: [Transform] -> IO ()
 blogLiteratelyCustom ts =
       cmdArgs blOpts
-  >>= \bl -> U.readFile (file' bl)
+  >>= \bl -> readFile (file' bl)
   >>= xformDoc bl ts
   >>= uncurry postIt
