diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,13 @@
 # Revision history for prettyprinter-graphviz
 
-## 0.1.0.0 -- YYYY-mm-dd
+## 0.1.0.0 -- 2020-01-16
 
 * First version. Released on an unsuspecting world.
+
+## 0.1.1.0 -- 2020-02-10
+
+* Include safe versions of functions.
+
+## 0.1.1.1 -- 2020-02-22
+
+* Fix bug causing graphviz to fall over if an annotation were applied to an empty string. This could easily occur in the case of a non-indented newline.
diff --git a/prettyprinter-graphviz.cabal b/prettyprinter-graphviz.cabal
--- a/prettyprinter-graphviz.cabal
+++ b/prettyprinter-graphviz.cabal
@@ -1,6 +1,6 @@
 cabal-version:       2.4
 name:                prettyprinter-graphviz
-version:             0.1.1.0
+version:             0.1.1.1
 synopsis:            a prettyprinter backend for graphviz
 description:         Contains utility functions for rendering pretty GraphViz labels.
 homepage:            https://github.com/georgefst/prettyprinter-graphviz
diff --git a/src/Data/Text/Prettyprint/Doc/Render/GraphViz.hs b/src/Data/Text/Prettyprint/Doc/Render/GraphViz.hs
--- a/src/Data/Text/Prettyprint/Doc/Render/GraphViz.hs
+++ b/src/Data/Text/Prettyprint/Doc/Render/GraphViz.hs
@@ -1,9 +1,13 @@
+-- | Pretty-print GraphViz labels
 module Data.Text.Prettyprint.Doc.Render.GraphViz (
     -- * Rendering functions
     render,
     render',
 
     -- * Error handling
+    -- The functions in this module can throw errors, given a malformed document stream.
+    -- The average user is very unlikely to run into this,
+    -- but error handling functionality is provided for completeness.
     GraphVizRenderError(..),
     renderSafe,
     renderSafe',
@@ -36,12 +40,11 @@
 render' :: SimpleDocStream H.Attribute -> H.Text
 render' = throwLeft . renderSafe'
 
-
--- | The functions in this module can throw errors, given a malformed document stream.
--- The average user is very unlikely to run into this,
--- but error handling functionality is provided for completeness.
+-- | Errors which indicate a malformed 'SimpleDocStream'.
 data GraphVizRenderError
+    -- | The stream ended with 'SFail'.
     = GVDocStreamFail
+    -- | The stream contained more 'SAnnPop's than 'SAnnPush's.
     | GVEmptyStack
     deriving (Eq, Ord, Read, Show)
 instance Exception GraphVizRenderError where
@@ -54,7 +57,7 @@
 renderSafe :: Doc H.Attribute -> Either GraphVizRenderError Label
 renderSafe = fmap (HtmlLabel . H.Text) . renderSafe' . layoutPretty defaultLayoutOptions
 
--- | A total version of 'render\''.
+-- | A total version of 'render''.
 -- This can be seen as a generalisation of any of the other functions exported by this module.
 renderSafe' :: SimpleDocStream H.Attribute -> Either GraphVizRenderError H.Text
 renderSafe' =
@@ -89,4 +92,7 @@
 
 -- | Helper for rendering an individual 'H.TextItem'.
 renderText :: H.Attributes -> T.Text -> H.TextItem
-renderText cs = H.Font cs . pure . H.Str . TL.fromStrict
+renderText cs t
+    | T.null t   = ti -- graphviz doesn't like an empty string between tags
+    | otherwise  = H.Font cs [ti]
+    where ti = H.Str $ TL.fromStrict t
