• Spreadsheet (#3222) : Added a new node to simplify workflows where different settings are needed in different contexts. A common expected use is to collapse the “many identical branches per shot” pattern into a single branch and a Spreadsheet. Spreadsheets also integrate well with the PathFilter and CollectScenes nodes to provide values on a per-location basis.


  • Stats app : Added -postLoadScript command line argument. This can be used to perform post-processing of the loaded script before stats are gathered.

  • Appleseed : Added the ability to hide Appleseed nodes and other presets from the UI by setting the GAFFERAPPLESEED_HIDE_UI environment variable to 1. Appleseed will still be available for OSL shader previews and example scenes.

  • StringPlug : Added support for the ${scene:path} variable in string substitutions.


  • CollectScenes : Fixed bug in set computations. This first appeared as a failure to display lights in the viewer in certain circumstances (#3497).

  • Viewer : Fixed X-Ray shading mode on MacOS (#3473).

  • Caching : Changed the cache used in various sub-systems to avoid potential compute failures (#3476).

  • LRUCache : Fixed handling of cases where value computation for a cache-miss was cancelled in-flight, which then prevented the value ever being successfully retrieved (#3469).

  • Menu : Fixed spacing issue in menus when the first item was a labelled divider.

  • ShaderTweaks : Fixed missing preset for Arnold Blockers.

  • Arnold : Fixed crash when disconnecting shader networks from lights (#3484).

  • VectorDataWidget : Fixed styling update bug for non-editable widgets.


  • NameValuePlugValueWidget : Added set/getNameVisible() methods.

  • PresetsPlugValueWidget : Added a menu() accessor method.