diff --git a/buffer-builder.cabal b/buffer-builder.cabal
--- a/buffer-builder.cabal
+++ b/buffer-builder.cabal
@@ -1,5 +1,5 @@
 name:                buffer-builder
-version:             0.2.4.7
+version:             0.2.4.8
 synopsis:            Library for efficiently building up buffers, one piece at a time
 description:
 
diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,3 +1,7 @@
+0.2.4.8
+
+* Support text-2.0
+
 0.2.4.7
 
 * Remove any dependencies on C++
diff --git a/src/Data/BufferBuilder.hs b/src/Data/BufferBuilder.hs
--- a/src/Data/BufferBuilder.hs
+++ b/src/Data/BufferBuilder.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE OverloadedStrings, MagicHash, BangPatterns, RecordWildCards, DeriveDataTypeable #-}
+{-# LANGUAGE CPP, OverloadedStrings, MagicHash, BangPatterns, RecordWildCards, DeriveDataTypeable #-}
 
 {-|
 A library for efficiently building up a buffer of data.  When given data
@@ -350,9 +350,15 @@
 
 appendEscapedJsonText :: Text -> BufferBuilder ()
 appendEscapedJsonText !(Text arr ofs len) =
+#if MIN_VERSION_text(2,0,0)
+    let ByteArray byteArray = arr
+    in withHandle $ \h ->
+        bw_append_json_escaped h len (Ptr (byteArrayContents# byteArray) `plusPtr` ofs)
+#else
     let byteArray = aBA arr
     in withHandle $ \h ->
         bw_append_json_escaped_utf16 h len (Ptr (byteArrayContents# byteArray) `plusPtr` (2 * ofs))
+#endif
 {-# INLINE appendEscapedJsonText #-}
 
 -- | Append a percent-encoded ByteString.  All characters except for
