diff --git a/yesod-form/ChangeLog.md b/yesod-form/ChangeLog.md
index 3fa52a16..f1370845 100644
--- a/yesod-form/ChangeLog.md
+++ b/yesod-form/ChangeLog.md
@@ -1,3 +1,7 @@
+## 1.4.13
+
+* Fixed `textareaField` `writeHtmlEscapedChar` trim "\r"
+
## 1.4.12
* Password field does not remember its previous value
diff --git a/yesod-form/Yesod/Form/Fields.hs b/yesod-form/Yesod/Form/Fields.hs
index 8833b2fc..a8a537f0 100644
--- a/yesod-form/Yesod/Form/Fields.hs
+++ b/yesod-form/Yesod/Form/Fields.hs
@@ -106,6 +106,10 @@ import Data.Attoparsec.Text (Parser, char, string, digit, skipSpace, endOfInput,
import Yesod.Persist.Core
+#if !MIN_VERSION_base(4,8,0)
+import Data.Monoid
+#endif
+
defaultFormMessage :: FormMessage -> Text
defaultFormMessage = englishFormMessage
@@ -226,6 +230,7 @@ instance ToHtml Textarea where
. unTextarea
where
-- Taken from blaze-builder and modified with newline handling.
+ writeHtmlEscapedChar '\r' = mempty
writeHtmlEscapedChar '\n' = writeByteString "
"
writeHtmlEscapedChar c = B.writeHtmlEscapedChar c
diff --git a/yesod-form/yesod-form.cabal b/yesod-form/yesod-form.cabal
index 617ada59..177653d9 100644
--- a/yesod-form/yesod-form.cabal
+++ b/yesod-form/yesod-form.cabal
@@ -1,5 +1,5 @@
name: yesod-form
-version: 1.4.12
+version: 1.4.13
license: MIT
license-file: LICENSE
author: Michael Snoyman