Optimised CompoundDataPlug::hash() to ignore disabled members. This reduces globals hashing time by 20% for a complex production scene.
Optimised ValuePlug hash caching. It now caches more aggressively, keeping cache entries alive across multiple computations. This reduces scene traversal time for a complex production scene by 70%.
Improved dirty propagation mechanism.
Batched propagation for UndoContexts, so dirtiness is signalled only once for operations batched within a single undo action.
Fixed bugs which meant dirtiness was signalled when child/parent plug connections were in an inconsistent state.
Addition and removal of dynamic plugs now triggers dirty propagation.
The values of environment variables used for string plug substitutions are now frozen at startup.
Fixed PathMatcher wildcard matching bug (#1252).
Added Parameters node. This can be used for tweaking the parameters of lights, cameras and external procedurals (#1259).
Added PointsType node (#476).
Fixes Seeds node to take into account the bounding box of the generated points.
Fixed dirty propagation bugs in CoordinateSystem and ClippingPlane nodes.
Improved InteractiveRenderer pausing during edits.
Added DeleteSets node.
Fixed CustomOptions dirty propagation (#1039).
Fixed ContextVariables dirty propagation.
Optimised Filter mechanism, giving a 7-20% improvement in performance across a range of production scenes.
Added support for interactive renderering with shader and light edits.
Added support for image metadata
ImagePlug has a new metadata child plug.
ImageReader reads metadata from file.
ImageWriter writes metadata to file.
ImagePrimitiveSource loads metadata from
Merge copies metadata from the first input.
ImageMetadata node creates/sets metadata.
DeleteImageMetadata node removed metadata.
CopyImageMetadata transfers metadata from one image to another.
Optimised many nodes with direct internal pass-though connections.
Removed flawed MatchPatternLess (#1252).
isSetToUserDefault( plug )function.
compute*()methods are no longer pure virtual. This allows subclasses to make direct internal connections to pass through input plugs unchanged.
Added support for
functools.partial( WeakMethod )in menu commands.
Simplified and improved Merge node implementation.
Added MetadataProcessor base class to GafferImage.
Added Plug::dirty() virtual method. This is used to inform a Plug that it has been dirtied by Plug::propagateDirtiness().
Fixed DependencyNodeWrapper to translate python exceptions to C++.
Fixed compilation without NDEBUG=1 with gcc 4.1.2.
Removed MatchPatternLess from StringAlgo.h.
Added/removed virtual overrides in GafferImage.
Added virtual function to Plug.