diff --git a/Changelog.md b/Changelog.md
--- a/Changelog.md
+++ b/Changelog.md
@@ -7,6 +7,12 @@
 The following is information about what major changes have gone into
 each release.
 
+Changes in 2999.18.0.2
+----------------------
+
+* Match new behaviour of `dot`, etc. in supporting edge specifications
+  like `a, b -> c, d` (spotted by **Dilawar Singh**).
+
 Changes in 2999.18.0.1
 ----------------------
 
diff --git a/Data/GraphViz/Types/Internal/Common.hs b/Data/GraphViz/Types/Internal/Common.hs
--- a/Data/GraphViz/Types/Internal/Common.hs
+++ b/Data/GraphViz/Types/Internal/Common.hs
@@ -277,12 +277,11 @@
 -- | Takes into account edge statements containing something like
 --   @a -> \{b c\}@.
 parseEdgeNodes :: (ParseDot n) => Parse [EdgeNode n]
-parseEdgeNodes = parseBraced ( wrapWhitespace
-                               -- Should really use sepBy1, but this will do.
-                               $ parseStatements parseEdgeNode
-                             )
-                 `onFail`
-                 fmap (:[]) parseEdgeNode
+parseEdgeNodes = oneOf [ parseBraced (wrapWhitespace
+                                      -- Should really use sepBy1, but this will do.
+                                      $ parseStatements parseEdgeNode)
+                       , wrapWhitespace (sepBy1 parseEdgeNode (wrapWhitespace parseComma))
+                       , (: []) <$> parseEdgeNode ]
 
 parseEdgeNode :: (ParseDot n) => Parse (EdgeNode n)
 parseEdgeNode = liftA2 (,) parse
diff --git a/graphviz.cabal b/graphviz.cabal
--- a/graphviz.cabal
+++ b/graphviz.cabal
@@ -1,5 +1,5 @@
 Name:               graphviz
-Version:            2999.18.0.1
+Version:            2999.18.0.2
 Stability:          Beta
 Synopsis:           Bindings to Graphviz for graph visualisation.
 Description: {
