0.10.0.0
Core
Reimplemented paths framework in C++ (#1190). This gives much improved performance - 10x or more speed improvements in the SceneHierarchy panel.
Fixed subprocess hangs seen when dispatching renders inside Maya.
Restored compatibility with references from prior to version 0.8.0.0.
UI
Added bookmarks system for NodeGraph (#849).
Bookmark nodes using the right-click node context menu
Connect plugs to bookmarked nodes using the right-click plug context menu.
Added NodeGraph Ctrl+Click to select all downstream nodes (#941).
Added additional “Edit/Select Connected” menu items
Fixed “Edit/SelectConnected” menu items to ignore invisible nodes.
Fixed “Edit/SelectAll” menu item to ignore invisible nodes (#1207).
Highlighted plugs at non-default values in the NodeEditor (#1216).
SceneInspector
Significant performance improvements.
Added name based filtering for options and attributes (#1159).
Added query caching.
Fixed bug whereby Widget.setVisible( notABool ) could cause problems.
Fixed clearing of StandardNodeGadget errors for non-DependencyNodes.
Scene
Added “mode” plug to Set node. This allows paths to be added to or removed from existing sets, in addition to the old behaviour of creating a new set (or replacing an existing one of the same name).
Added ClippingPlane node.
Added “enabled” plug to Filter nodes (#1196).
Added FilterSwitch node (#1197).
Added “name” plug to Duplicate node, to provide control over the names given to the duplicates (#1200).
Appleseed
Added photon target attribute.
Added sampler option.
Synced default options with new Appleseed defaults.
Cortex
Added UI hint to control the visibility of the header in the ParameterisedHolder node UI.
API
GraphGadget
Added degreesOfSeparation argument to upstreamNodeGadgets() method.
Added downstreamNodeGadgets() and connectedNodeGadgets() methods.
EditMenu
Added scope() method. This should be used by custom edit menu commands to ensure they operate on the right portion of the node graph.
CompoundVectorParameterValueWidget
Added support for “showIndices” parameter user data.
PathMatcher
Added addPaths() and removePaths() methods, each taking a second PathMatcher to provide the paths.
Serialisation
Made classPath() and modulePath() methods compatible with passing a class as well as an instance.
PathListingWidget
Added setSortable() and getSortable() methods.
Added MatchPatternPathFilter
Added bindings for SceneAlgo camera() and shutter() functions.
Metadata
Added control over persistence of instance values.
Added preprocessor macros for gaffer version numbers.
Incompatibilities
Path
The info API has been replaced with a property API. Emulation for the old API exists, but it has been deprecated.
Properties must derive from RunTimeTyped, whereas info could contain any python type.
Subclasses now must implement the copy() method.
PathListingWidget
Column python class has been replaced with several specialised C++ subclasses. It is no longer possible to derive from Column in python.
GraphGadget
Added argument to upstreamNodeGadgets() method.
GafferScene::Filter
Renamed “match” plug to “out”. Backwards compatibility is provided by a getattr alias in Python.
Build
Updated public build to use Cortex 9.0.0-b4.
libGafferUI now links with Qt. This must be considered when building Gaffer to be hosted inside other applications.
Requires subprocess32 python module.
Added subprocess32 to dependencies build process.