0.23.1.0¶
Apps¶
- Stats App- Added outputs for scene traversal time and memory usage.
 
Core¶
- Improved performance of the computation cache, particularly when under heavy multithreaded load (#1638).
- Fixed GIL lock issues.- CompoundDataPlug releases when adding child plugs.
- GraphComponent releases when adding/removing children.
- Reference releases in load().
 
- Switch- Add SwitchTraitsto control context for index evaluation. 
 
- Add SwitchTraits
UI¶
- SceneHierarchy
- NodeEditor- Improved error handling for labels and multiline text fields (#1650).
 
- NodeGraph- Fix “Find…” shortcut.
 
- SceneInspector- Fixed labelling of CoordinateSystem sets (#1648).
 
- ExecutableNode- Fixed UI for individually promoted pre/post tasks (#1647).
 
- UIEditor- Add label field to plug section.
 
- GLWidget- Supports use in Maya when using PySide.
 
Scene¶
- ScenePlug- set() and setHash() are friendlier to the hash cache.
 
- SceneSwitch- Removed scene:path from context for index.
 
- FilterProcessor- Implement pass-through when disabled.
 
- PathFilter- Fixed bugs which treated empty paths as “/” rather than ignoring them (#1642)
- Avoid unnecessary hashing of __pathMatcher plug.
 
- Set- Fixed bugs which treated empty paths as “/” rather than ignoring them (#1642)
 
- SetFilter- Remove unnecessary context manipulation..
 
- DeleteSets- Fixed bug which could pass-through a deleted set.
 
- Isolate/Prune- Fixed bugs which caused incorrect results when used with a particular custom filter outside of Gaffer (#1652).
 
- Shader- Fixed crashes caused by cyclic connections in shader networks (#1646).
 
- Fixed GIL lock issues.- Outputs releases in addOutput().
 
Image¶
- Warp- Added Warp base class.
- Added UVWarp node.
 
- BufferAlgo- Added index() function.
 
- ImageSwitch- Removed tile variables from context for index.
 
RenderMan¶
- Fixed GIL lock issues.- RenderManShader releases in loadShader().
 
API¶
- PathMatcher- Fixed bugs which treated empty paths as “/” rather than as empty (#1642).
 
- SceneAlgo- Added PathMatcher overloads for filteredParallelTraverse()andmatchingPaths()(#1649).
 
- Added PathMatcher overloads for 
- MultiLineTextWidget- Added setErrored()/getErrored()methods to (#1650).
 
- Added 
- MultiLineStringPlugValueWidget/LabelPlugValueWidget- Added error handling (#1650).
 
- ExecutableNode- Disabled nodule creation by default for all but TaskPlugs. Nodules can be explicitly reenabled using a ( “nodule:type”, “GafferUI.StandardNodule” ) metadata registration for a particular plug.
 
- DownstreamIterator/RecursiveChildIterators- Fixed API for completion of iteration.
 
- FilteredChildIterator- Added done() method.
 
- TypedObjectPlug bindings : Add _copy argument to defaultValue() method.
Build¶
- GafferUI now links to QtOpenGL