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 SwitchTraits to control context for index evaluation.

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() and matchingPaths() (#1649).
  • MultiLineTextWidget
    • Added setErrored()/getErrored() methods to (#1650).
  • 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