• Python

    • Added support for executing files with arbitrary extensions.

    • Properly handled sys.exit() usage from within a script.

    • Updated sys.argv so gaffer python myScript.py behaves like python myScript.py.


  • Made small optimisations to the computation engine.


  • Added “layout:widgetType” metadata entry.

  • Improved image rendering quality.

  • Added error display in the node graph (#1115).

  • Added menu item for applying Random node to IntPlugs.

  • Fixed Box UI error when connecting external BoolPlug to internal IntPlug.


  • Removed support for attribute caches.

  • Optimised SceneReader hashes.

  • Improved hash computation for many node types. This should improve cache memory usage and speed.

  • Fixed SceneReader for invalid files and paths. Previously it would error on the first attempt, but either silently fail or crash on subsequent attempts.

  • Optimised PathMatcher construction.

  • Multithreaded child procedural instantiation in SceneProcedural.


  • Added support for a “nodeColor” annotation.


  • Optimised ImageReader. Reduced runtime of ImageReader->ImageTransform benchmark by nearly 40%.

  • Fixed thread-safety bug in ImageReader.


  • Added UI support for OSL “help”, “label”, “divider”, “widget” and “options” metadata entries.


  • Added visibility attributes to AppleseedAttributes node.


  • Added outputsToIgnore argument to GafferTest.TestCase.assertHashesValid().

  • Added NodeAlgo support for plug presets specified en masse via arrays.

  • Added Node::errorSignal().

  • Added tokenize() function to StringAlgo.h.

  • Added support for array metadata in OSLShader.

  • Simplified OSLShader::*Metadata() python return types.

  • Added Python bindings exposing the OSL version.

  • Removed Source node.

  • Removed FileSource node.

  • Detemplatized ObjectSource.

  • Added GafferUI.LayoutPlugValueWidget. This is entirely metadata-driven, and will be used to slowly replace legacy CompoundPlugValueWidget UIs.

  • Deprecated CompoundPlugValueWidget.

  • Fixed drawing of ImageGadget children.

  • Added Gadget::executeOnUIThread() method.


  • Updated README with simplified build instructions.

  • Added support for OSL 1.6.

  • Requires Cortex 9.0.0-b2.

  • Added Qt headers to Gaffer packages.

  • Fixed TBB compilation on OS X.


  • Simplified OSLShader::*Metadata() python return types.

  • Removed support for attribute caches.

  • Removed Source node.

  • Removed FileSource node.

  • Detemplatized ObjectSource.