This release brings significant optimisations, further additions to the SceneInspector, and the usual collection of miscellaneous enhancements and bug fixes.
Optimised Context::substitute(). This gives a 73% reduction in runtime for a substitutions benchmark.
Added ‘’ as an escape character in Context::substitute() (#997).
Boxes may now be enabled/disabled and define pass-through behaviours (#1015).
Significant optimisations to the computation engine.
Added TaskList node for grouping the dispatch of several input requirements.
Fixed Display node for bucket sizes larger than the native tile size.
Fixed problems when running embedded in Maya.
Added code to clear caches after full procedural expansion in batch renders.
Added scene pass-through to the InteractiveRender node. This allows it to be seen in the Viewer, SceneHierarchy, SceneInspector etc.
Significant optimisations. A benchmark scene can now be generated in 3% of its previous runtime.
Added “command” plug to RenderManRender. This allows the user to customise the command used to render the RIB (#1017).
Fixed OpDialogue bug which caused it to return to the parameters pane when it should have been displaying an error.
Added PlaybackRange to the frames mode menu (#1007).
Renamed ScriptRange to FullRange.
Added custom Diff support to SceneInspector.
Fixed crashes when passing None to PathMatcher python methods.
Added accessors for the buttons on VectorDataWidget (#1003).
Fixed broken SceneInspector.Row.getAlternate() method.
Added Context::remove() method.
SceneInspector API changes.
Box rederived from DependencyNode.
Dispatcher ScriptRange renamed to FullRange.
Improved Travis continuous integration setup
Added running of unit tests
Added GafferRenderMan support
Fixed installation to paths starting with “./”
Fixed RenderManShader compilation in Clang 3.4
GafferOSL compatibility for OSL version 1.5