Added support for framing nodes and plugs dragged to the NodeGraph.
Added custom formatters and name depth control to NameLabel.

The formatters can be used to control the conversion from the name of the GraphComponent to the label text. The number of components controls how much of the GraphComponent's ancestry to display in the name. When displaying more than one level of name, the NameLabel copes properly with renaming of parents and even reparenting.
Added Widget.isAncestorOf() method.

This behaves identically to GraphComponent::isAncestorOf().
Added ButtonEvent.button field.

Previously we had only a buttons field, which held the state of the buttons at the time the event was generated. This meant that we had no way of knowing which button had actually triggered the event, which in particular meant that it was impossible to know what button was released in a buttonReleaseSignal() - because the buttons field now shows no buttons. The new button field simply holds the button that triggered the event.
Fixed overzealous pinning of nodes dragged to editors.

Specifically, a node dragged from within an editor would be accepted as a pinning-drag into that very same editor. Now a drag must originate from outside the editor to be considered for pinning.
Stopped GafferUI.Frame from expanding beyond the min/max of its contents.

It now behaves like the other containers in this respect. Frames can still expand, but now only when their contents want to. Updated ErrorDialogue for this fix by adding some appropriate Spacers, and updated it to use the newer "with" syntax for building UIs at the same time.
Added highlighted rendering for frames.
Added ConnectionPlugValueWidget.

This is a fallback widget for plugs that otherwise have no value to display. It shows the input connection to the plug, and provides means of navigation to that input.

Fixes #130.
Added post-execution behaviours to OpDialogue.

These allow the UI writer, the Op writer or the user to choose whether or not the dialogue should be closed after the Op has executed.

Fixes #560.
Improved path matching to provide more complete information.

Previously, PathMatcher::match() returned either Match or DescendantMatch, despite the fact that it was perfectly possible for both to be true at the same time. It now returns a bitmask communicating the full information, and also adds a new AncestorMatch value for cases where an ancestor matches.

This will make it possible to fix existing problems in the Prune and SceneElementProcessor nodes, and then to subsequently write an Isolate node.
Fixed Prune node's forward declarations.

Previously it would not correctly remove the forward declaration for an object whose ancestor had been pruned.
Added todo to fix problem in SceneElementProcessor.

I thought this would be fixable now (and technically it is) but we don't currently have the nodes we need to demonstrate the problem in a test case - we need some nice deformers for that. Perhaps when the OSL module is merged and provides a deformer.
Added a ScenePath todo.

The new suggestion is much better than the old one.
Added an Isolate node to GafferScene.

This removes all paths which are not directly above or below the chosen location - particularly useful for singling out certain assets from a large scene.

Fixes #564.
adds ability to specify the widget to be grabbed.

useful for capturing pop-up dialogues.
example:
cc = GafferUI.ColorChooserDialogue()
cc.setVisible(True)
application.setGrabWidget(cc)
Merge pull request #567 from johnhaddon/isolate

Added an Isolate node to GafferScene
Merge pull request #562 from johnhaddon/connectionPlugValueWidget

Connection plug widget
unnecessarily verbose
Fixed PathListingWidget errors when "/" path is invalid.

Invalid root paths occur quite frequently in the SceneHierarchy editor when an invalid filename has been entered in a SceneReader or AlembicReader. Those nodes will still display an error, but the SceneHierarchy now won't output a confusing stacktrace which distracts people from the root cause.

Fixes #528.
Merge pull request #563 from johnhaddon/opDialogueCloseBehaviour

Added post-execution behaviours to OpDialogue.