• 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.