• UVSampler : Added a new node sampling primitive variables from specific UV positions on a source object.
  • Saturation : Added a new node to adjust image saturation. This could previously be done using the CDL node, but using a specific node is sometimes clearer.


  • Render : In addition to the compute cache, the hash cache is now cleared prior to rendering.
  • Spreadsheet : Added interim support for adding a Spreadsheet::RowsPlug to a custom node. The previous doubling up of columns on reload can now be avoided by registering False for the new spreadsheet:columnsNeedSerialisation metadata item.


  • Viewer : Fixed bug which prevented the “Expand Selection Fully” operation from working.
  • Timeline : Fixed errors when the end frame is the same as the start frame (#4294).
  • GafferUI : Fixed edge artifacts when rendering transparent icons.
  • Render : Added workaround for hangs caused by specific chains of Expressions being evaluated after completion of the render.
  • NodeEditor : Fixed Internal C++ object already deleted errors in Python 3 builds.
  • Merge : Fixed failure to update when only the dataWindow of an input changed.


  • Cortex : Updated to version