diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,11 @@
 # Revision history for tree-diff
 
+## 0.0.1
+
+- Use `BS.readFile` and `BS.writeFile` in `ediffGolden`.
+  This makes files read and written in UTF8 independently of locale.
+  Fixes builds on appveyor.
+
 ## 0.0.0.1
 
 - Move to `build-type: Simple`
diff --git a/src/Data/TreeDiff/Golden.hs b/src/Data/TreeDiff/Golden.hs
--- a/src/Data/TreeDiff/Golden.hs
+++ b/src/Data/TreeDiff/Golden.hs
@@ -10,8 +10,9 @@
 import Text.Parsec         (eof, parse)
 import Text.Parsec.Text ()
 
-import qualified Data.Text    as T
-import qualified Data.Text.IO as T
+import qualified Data.ByteString    as BS
+import qualified Data.Text          as T
+import qualified Data.Text.Encoding as T
 
 -- | Make a golden tests.
 --
@@ -45,12 +46,12 @@
   where
     actual = fmap toExpr x
     expect = do
-        contents <- T.readFile fp
-        case parse (exprParser <* eof) fp contents of
+        contents <- BS.readFile fp
+        case parse (exprParser <* eof) fp $ T.decodeUtf8 contents of
             Left err -> print err >> fail "parse error"
             Right r  -> return r
     cmp a b
-        | a == b    = return $ Nothing
+        | a == b    = return Nothing
         | otherwise = return $ Just $
             setSGRCode [Reset] ++ show (ansiWlEditExpr $ ediff a b)
-    wrt expr = T.writeFile fp $ T.pack $ show (prettyExpr expr) ++ "\n"
+    wrt expr = BS.writeFile fp $ T.encodeUtf8 $ T.pack $ show (prettyExpr expr) ++ "\n"
diff --git a/tree-diff.cabal b/tree-diff.cabal
--- a/tree-diff.cabal
+++ b/tree-diff.cabal
@@ -1,5 +1,5 @@
 name:                tree-diff
-version:             0.0.0.1
+version:             0.0.1
 synopsis:            Diffing of (expression) trees.
 description:
   Common diff algorithm works on list structures:
@@ -66,7 +66,7 @@
     base                 >=4.7      && <4.11,
     aeson                >=1.2.1.0  && <1.3,
     ansi-wl-pprint       >=0.6.8.1  && <0.7,
-    ansi-terminal        >=0.6.3.1  && <0.8,
+    ansi-terminal        >=0.6.3.1  && <0.9,
     base-compat          >=0.9.3    && <0.10,
     bytestring           >=0.10.4.0 && <0.11,
     containers           >=0.5.5.1  && <0.6,
@@ -120,6 +120,6 @@
     ansi-wl-pprint,
     parsec,
     trifecta             >=1.7.1.1  && <1.8,
-    tasty                >=0.11.2.5 && <0.13,
+    tasty                >=0.11.2.5 && <1.1,
     tasty-golden         >=2.3.1.1  && <2.4,
     tasty-quickcheck     >=0.9.1    && <0.10
