• ContactSheet : Added new node for creating contact sheets from multiple input images.

  • LightPositionTool : Added Diffuse mode for placing lights along the normal of the target position.


  • TweakPlug : ListAppend, ListPrepend and ListRemove modes are now supported for string values. In this case, the string is treated as a space-separated list.

  • Cycles :

    • Changed default value for principled_bsdf.specular_ior_level to 0.5, matching Blender.

    • Added support for uv.tangent and uv.tangent_sign primitive variables to assist in rendering with normal maps (#5269).

  • AttributeQuery, PrimitiveVariableQuery, ContextQuery, OptionQuery, ShaderQuery : Added support for querying arrays of length 1 as their equivalent scalar types.

  • CodeWidget : Added Ctrl+L shortcut for selecting all text on the current line.

  • AttributeTweaks, CameraTweaks, ShaderTweaks, OptionTweaks, PrimitiveVariableTweaks :

    • Added support for a {source} token which is substituted with the original value when tweaking a string in Replace mode.

    • Added tooltips documenting the tweak modes.

  • 3Delight : Added automatic render-time translation of UsdPreviewSurface shaders to 3Delight.

  • USDLight :

    • Added Arnold-specific extension parameters.

    • Added parameter tooltips.

  • LightEditor : Added columns for Arnold-specific parameters on USD lights.

  • Switch : Added deleteContextVariables plug.


  • Viewer : Fixed Cycles shader balls.

  • TweakPlug : Fixed incorrect results and potential crashes in list modes.

  • USD : Fixed Unsupported value type "StringData" for parameter "input" warning when converting UsdTransform2d shaders with no in connections to Arnold.

  • File Browser : Windows only : Fixed bug in HiddenFilePathFilter that caused sequences to be treated as though they are hidden files (#5810).


  • PlugAlgo : setValueFromData() and canSetValueFromData() now support conversion of arrays of length 1 to their equivalent scalar types.

  • BoxPlug : Added Python bindings for ValueType, PointType and ChildType type aliases.

  • RenderPassEditor : Added deregisterColumn() method.

  • DocumentationAlgo : Added table and strikethrough support to markdownToHTML().

  • LightEditor : Added columnName parameter to registerParameter() method, matching the behaviour of RenderPassEditor.registerOption().

  • USDShader : Added support for loading from the UsdSchemaRegistry as well as from the SdrRegistry. This is now used when loading UsdLuxLights.

  • PlugLayout : Added support for activators in Boxes and extension nodes by allowing layout:activator:activatorName metadata to contain a Python string to be executed. Execution is performed in an environment where a parent variable refers to node or plug represented by the layout, and from which plug values can be obtained.

  • ContactSheetCore : Added a new node to do provide the basis for networks that create contact sheets from multiple input images.


  • MacOS : Fixed issue where Python.framework may not be found when building with a prebuilt dependencies package.