• Added node reference documentation menu item to NodeEditor tool menus.
  • GafferUI.Collapsible supports Widget.reveal().
  • ScriptWindow no longer stops the EventLoop if it’s already stopped.
  • Fixed PathWidget WeakMethod error at shutdown.


  • Improved error messages emitted by Group node.


  • Fixed UVWarp crash triggered by negative data window origins (#1707).


  • Fixed crash when deleting connections to an OSL expression (#1695).
  • Added support for BoolPlugs in OSL expressions (#1697).


  • Stopped SystemCommand swallowing the stdout of launched processes (#1712).
  • Disabled automatic substitutions for command (#1692). This was broken by #1671.
  • Added LocalDispatcher environmentCommand plug.


  • Added ArnoldVDB node (#1711).
  • Added volume step size to ArnoldAttributes node (#1694).
  • Fixed metadata for ArnoldLight UIs (#1696).
  • Added “ai:threads” option
    • Exposed via ArnoldOptions under the Performance section.
    • ArnoldRender uses ai:threads option to drive kick -t command line arg.


  • Removed procedural app
  • Screengrab app
    • Added -editor argument
    • Added -selection argument
    • Added -nodeEditor.reveal argument
    • Fix crashes at shutdown


  • Introduced HTML documentation which is shipped with every Gaffer release (#1702, #1708, #1710).
  • Mentioned PerformanceMonitor.


  • Simplified packaging. Use the gafferDependencies project if the dependencies are needed for your build.
  • Convert BUILD_DIR to an absolute path.


  • View (#1713)
    • Removed View3D and ObjectView derived classes.
    • Removed update() and updateRequestSignal() methods.
  • Added DocumentationAlgo namespace with functions to assist in auto-generating documentation.
  • Removed CompoundPlug usage from Shader nodes (#1701).
  • Added **kw arguments to all Widget constructors.
  • Removed deprecated Widget keyword arguments(#655, #1704).
  • Removed all use of deprecated IECorePython::Wrapper (#1116, #1703).
  • Removed deprecated ValuePlug::inCompute() method. Use Process::current() instead.
  • Removed deprecated Filter::matchPlug() method. Use Filter::outPlug() instead.
  • Removed deprecated SignalBinder class. Use SignalClass instead.
  • Removed deprecated iterator methods. Use Iterator::done() instead.