- specify the license (BSD 3-clause)
- prevent creation of duplicate nodes or groups
- allow the creation of edges between groups
- rename `edge_color`/`edge_type`/`edge_width` to `border_color`/`border_type`/`border_width` for nodes and groups
- allow creation of labels at either end of edge, by providing optional `source_label` and `target_label` arguments to `add_edge()`
- allow control of edge label colors using the `label_background_color` and `label_border_color` options to `add_edge()`