0.84.0
UI
Added shift+drag of node to panel to create duplicate editor (#575).
Added HSV readout for pixel below mouse in image viewer (#576).
Improved the UI for Attributes and Options, to distinguish between the boolean used to enable a setting and the boolean used to define the value (#65).
Fixed unwanted scaling of Button images.
Added a toolbar to the viewer, initially with only a single button for specifying the 3D display style (#114).
Improved MenuButton menu positioning.
Fixed bug where searchable menus kept keyboard focus after closing.
Fixed focus stealing problems apparent in Viewer and NodeGraph. They still take focus on mouse enter, but will not steal focus from text entry widgets (#555, #439).
Added per-column visibility for CompoundVectorParameterValueWidget. Visibility is specified using the standard [“UI”][“visible”] userData entries on the child parameters which provide the columns (#526).
Stopped plug controls accepting drags from themselves. This was causing trouble for users who were accidentally dragging and dropping a single line from a PathVectorDataPlugValueWidget onto itself, thus removing all the other lines.
Added drag start threshold, to make it harder to accidentally start a drag (#593).
Disabled “Remove input” menu item for read only plugs and uis.
Disabled Box promotion menus on read only UIs (#604).
Disabled ganging menu items for read only UIs.
Stopped standard graph layout reconnecting invisible nodes.
Scene
Prevented rogue connections being made to Shader “parameters” Plug.
Fixed bugs in computing hashes for transform, object and attributes at the scene root.
OSL
Added support for struct parameters.
Added shaders for doing basic vector arithmetic.
Added support for N global variable in OSLRenderer.
Fixed OSLShader hash bug. Because OSL shaders are the first shader type we’ve supported where a single shader can have multiple outputs, we weren’t taking into account which particular output was connected when computing the hash.
Prevented vector->color connections for OSLShader nodes. OSL itself doesn’t allow such connections so we mustn’t either. Also added a vectorToColor shader to help work around the restriction.
Documentation
Started versioning documentation releases - they follow the app release version.
Changed modifier key styling in documentation content to match that used in interface.
NodeEditor content expanded.
NodeGraph content expanded.
New images.
New screen grab setups.
Simplified example light shader.
API
Renamed CheckBox to BoolWidget and added different display modes. CheckBox remains as an alias to BoolWidget for backwards compatibility.
Added stream insertion operator for GafferScene::ScenePlug::ScenePath.
Fixed RunTimeTyped declaration for SceneView. It was declared as deriving from View rather than View3D.
Fixed bug in Widget.widgetAt().
Added widget overlays to GLWidget. This allows any Widget subclass to be displayed as an overlay on top of the OpenGL contents.
Added setColumnVisible/getColumnVisible methods to VectorDataWidget.
Implemented VectorDataPlugValueWidget.setHighlighted().
Fixed StandardNodeUI.setReadOnly() to properly affect plug labels.
Implemented setPlug on a SectionedCompoundDataPlugValueWidget.
Fixed DependencyNode::enabledPlug() python bindings.
Added python binding for ValuePlug::setFrom().