diff --git a/CMark.hsc b/CMark.hsc
--- a/CMark.hsc
+++ b/CMark.hsc
@@ -6,6 +6,9 @@
   , commonmarkToXml
   , commonmarkToMan
   , commonmarkToNode
+  , nodeToHtml
+  , nodeToXml
+  , nodeToMan
   , nodeToCommonmark
   , optSourcePos
   , optNormalize
@@ -63,12 +66,31 @@
   fptr <- newForeignPtr c_cmark_node_free nptr
   withForeignPtr fptr toNode
 
+nodeToHtml :: [CMarkOption] -> Node -> Text
+nodeToHtml = nodeToX c_cmark_render_html
+
+nodeToXml :: [CMarkOption] -> Node -> Text
+nodeToXml = nodeToX c_cmark_render_xml
+
+nodeToMan :: [CMarkOption] -> Node -> Text
+nodeToMan = nodeToX c_cmark_render_man
+
 nodeToCommonmark :: [CMarkOption] -> Int -> Node -> Text
 nodeToCommonmark opts width node = Unsafe.unsafePerformIO $ do
   nptr <- fromNode node
   fptr <- newForeignPtr c_cmark_node_free nptr
   withForeignPtr fptr $ \ptr -> do
     cstr <- c_cmark_render_commonmark ptr (combineOptions opts) width
+    TF.peekCStringLen (cstr, c_strlen cstr)
+
+type Renderer = NodePtr -> CInt -> IO CString
+
+nodeToX :: Renderer -> [CMarkOption] -> Node -> Text
+nodeToX renderer opts node = Unsafe.unsafePerformIO $ do
+  nptr <- fromNode node
+  fptr <- newForeignPtr c_cmark_node_free nptr
+  withForeignPtr fptr $ \ptr -> do
+    cstr <- renderer ptr (combineOptions opts)
     TF.peekCStringLen (cstr, c_strlen cstr)
 
 commonmarkToX :: (NodePtr -> CInt -> IO CString)
diff --git a/changelog b/changelog
--- a/changelog
+++ b/changelog
@@ -1,3 +1,8 @@
+cmark 0.3.3 (26 May 2015)
+
+  * Added `nodeToHtml`, `nodeToMan`, `nodeToXml`.
+  * Added version bounds for text (Albert Krewinkel).
+
 cmark 0.3.2 (28 Apr 2015)
 
   * Updated libcmark C sources to 0.19.0.
diff --git a/cmark.cabal b/cmark.cabal
--- a/cmark.cabal
+++ b/cmark.cabal
@@ -1,5 +1,5 @@
 name:                cmark
-version:             0.3.2
+version:             0.3.3
 synopsis:            Fast, accurate CommonMark (Markdown) parser and renderer
 description:
   This package provides Haskell bindings for
@@ -117,7 +117,9 @@
 
 library
   exposed-modules:     CMark
-  build-depends:       base >=4.5 && < 4.9, text, bytestring
+  build-depends:       base >=4.5 && < 4.9,
+                       text >= 1.0 && < 1.3,
+                       bytestring
   if impl(ghc < 7.6)
     build-depends:     ghc-prim >= 0.2
   default-language:    Haskell2010
