• Screengrab (#1793, #1559)

    • Added arguments for Viewer and NodeGraph framing

    • Added arguments for Viewer and SceneHiearchy expansion and selection

    • Added argument for grabbing a single plug from the NodeEditor


  • Fixed SubTree to error when an invalid root is entered (#1786, #1790).

  • Added filter input to Set, to define additional paths to add/remove.


  • Added ArnoldMeshLight node (#1787)

  • Added ArnoldDisplacement node (#1776)

  • Added subdivision attributes to ArnoldAttributes (#1776)

  • ArnoldOptions (#1788)

    • Added total depth and transparency depth/threshold plugs

  • Fixed warnings about unhandled light parameters

  • Fixed crashes/errors caused by multiple cameras and a threading bug (#1785)

  • Fixed bogus warning about “ai:log:filename” option.


  • Expression (#1791, #1789)

    • Fixed string comparison bug

    • Fixed bugs when plug names share a common prefix

    • Fixed mistaken assignments

  • Added support for spline parameters in shaders (#1782)

  • Fixed reload button on shader UI


  • Added basic lighting and rendering tutorial (#1793).


  • Fixed debug builds (#1781)

  • Added debug builds to Travis tests (#1781)

  • Fixed clang compilation error in Serialisation.cpp


  • Made FilteredSceneProcessor subclassable in Python.

Breaking Changes

  • Rederived Set from FilteredSceneProcessor.

  • Changed LightVisualiser API

    • Added attributeName argument to visualise() virtual method.

    • Added attributeName argument to registerLightVisualiser() factory method.

  • Changed StandardLightVisualiser metadata prefix convention from “light:renderer:shaderName” to “renderer:light:shaderName”, to match the ordering of the data as it appears in the scene module (attributeName:shaderName).

  • Light nodes now output IECore::Shader objects rather than IECore::Lights