diff --git a/CHANGELOG b/CHANGELOG
index 64a030d60ab5ce412b0d6f01ffd87cfb35314595..66b01d1cf027d5648cf117b2ecf7950f31815574 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -10,12 +10,18 @@ pyqtgraph-0.9.9  [unreleased]
           commit will result in a more descriptive version string.
     - Speed improvements in functions.makeARGB
     - ImageItem is faster by avoiding makeQImage(transpose=True)
+    - ComboBox will raise error when adding multiple items of the same name
 
   New Features:
     - New HDF5 example for working with very large datasets
     - Added Qt.loadUiType function for PySide
     - Simplified Profilers; can be activated with environmental variables
     - Added Dock.raiseDock() method
+    - ComboBox updates:
+        - Essentially a graphical interface to dict; all items have text and value
+        - Assigns previously-selected text after list is cleared and repopulated
+        - Get, set current value
+    - Added Flowchart.sigChartChanged
 
   Bugfixes:
     - PlotCurveItem now has correct clicking behavior--clicks within a few px
diff --git a/pyqtgraph/flowchart/Flowchart.py b/pyqtgraph/flowchart/Flowchart.py
index 8d1ea4ce8f9c808b4d819612a647f0a2dc411569..27586040e4c6d88fc3f3933bda74bfae4a37249a 100644
--- a/pyqtgraph/flowchart/Flowchart.py
+++ b/pyqtgraph/flowchart/Flowchart.py
@@ -58,14 +58,15 @@ def toposort(deps, nodes=None, seen=None, stack=None, depth=0):
         
 
 class Flowchart(Node):
-    
     sigFileLoaded = QtCore.Signal(object)
     sigFileSaved = QtCore.Signal(object)
     
     
     #sigOutputChanged = QtCore.Signal() ## inherited from Node
     sigChartLoaded = QtCore.Signal()
-    sigStateChanged = QtCore.Signal()
+    sigStateChanged = QtCore.Signal()  # called when output is expected to have changed
+    sigChartChanged = QtCore.Signal(object, object, object) # called when nodes are added, removed, or renamed.
+                                                            # (self, action, node)
     
     def __init__(self, terminals=None, name=None, filePath=None, library=None):
         self.library = library or LIBRARY
@@ -218,6 +219,7 @@ class Flowchart(Node):
         node.sigClosed.connect(self.nodeClosed)
         node.sigRenamed.connect(self.nodeRenamed)
         node.sigOutputChanged.connect(self.nodeOutputChanged)
+        self.sigChartChanged.emit(self, 'add', node)
         
     def removeNode(self, node):
         node.close()
@@ -237,11 +239,13 @@ class Flowchart(Node):
             node.sigOutputChanged.disconnect(self.nodeOutputChanged)
         except TypeError:
             pass
+        self.sigChartChanged.emit(self, 'remove', node)
         
     def nodeRenamed(self, node, oldName):
         del self._nodes[oldName]
         self._nodes[node.name()] = node
         self.widget().nodeRenamed(node, oldName)
+        self.sigChartChanged.emit(self, 'rename', node)
         
     def arrangeNodes(self):
         pass