• Orientation : Added new node for converting between different orientation representations (eulers, quaternions, matrices etc). This is particularly useful when preparing points for instancing (#3328).


  • ShaderAssignment : Added support for assigning OSL shaders with an alternative prefix. This can be useful when mixing OSL shader assignments with renderer-specific shader assignments (#3334).


  • HierarchyView : Fixed bug which could cause a hang when Shift+clicking to expand (#3335).

  • ScriptNode (#3340) :

    • Fixed GIL management bug which could cause crashes when serialising a script.

    • Fixed bug that could cause string substitutions to be baked into serialisations.


  • Improved support for iterating over nodes and plugs (#3341) :

    • Added FilteredChildRange and FilteredRecursiveChildRange classes. These can be used with C++11’s range-for.

    • Added Iterator, RecursiveIterator, Range and RecursiveRange type aliases to all nodes and plugs.

    • Added InputIterator, OutputIterator, RecursiveInputIterator, RecursiveOutputIterator, InputRange, OutputRange, RecursiveInputRange and RecursiveOutputRange type aliases to all plugs.

    • Exposed Range classes to Python.


  • Fixed problems with screenshots for MacOS builds (#3321).

  • Made miscellaneous improvements to the examples available from the Help menu (#3314).