0.34.0.0

Breaking Changes

  • ImageReader/ImageWriter : Replaced hardcoded colourspace management with configurable system. The default colourspace for several file formats has changed. (#2121)
  • ImagePlug : Changed type of metadataPlug() (#2087)
  • ImageWriter : Changed default exr compression to “zips” (#2092)
  • Shader : Added loadShader() and reloadShader() virtual methods (#2098, #2088)
  • ScriptNode : Added argument to ScriptNode::paste(). Default behaviour is unchanged. (#2117)
  • ConnectionGadget : Added virtual method (#2102)

Features

  • Added configurable colourspace management to ImageReader and ImageWriter nodes (#2121)
  • Added ResamplePrimitiveVariables node (#2105)
  • Added DeleteFaces node (#2118)
  • Added DeletePoints node (#2120
  • Added DeleteCurves node (#2120)
  • Added CollectImages node (#2116)
  • Added CollectScenes node (#2127)
  • Added DeleteSceneContextVariables node (#2111)
  • Added DeleteImageContextVariables node (#2111)
  • Added Erode and Dilate filters (#2134)
  • Added support for Qt5 (#2132)

Improvements

  • Image : Improved performance for complex graphs (#2111)
  • OSLShader : Improved shader reloading (#2088)
  • OSLObject : Added interpolation plug. This allows shading to be performed per-face or per-face-vertex in addition to the previous vertex shading. (#2113)
  • DirtyPropagationScope : Added python bindings (#2104)
  • NodeGraph :
    • Improved drawing of connections (#2102)
    • Added Control+Click to insert Dots into connections (#2072)
  • ImageReader : Added fileFormat and dataType items to metadata (#2121)
  • Catalogue : (#2106)
    • Improved performance
    • Moved saving/snapshotting to the background, so the UI remains responsive while they occur
  • ContextVariables : Added extraVariables plug to facilitate use with expressions (#2131).

Fixes

  • Catalogue : Fixed bug where shader view images leaked into the catalogue (#2106)
  • EditMenu : Fixed error handling for paste action (#2117)
  • Wrapper :
    • Fixed SIP-related problems with Arnold setup on OSX (#2107)
    • Defaulted to using lldb for debugging on OSX (#2110)
  • MessageWidget : Fixed widget parenting bug (#2117)
  • BoxIO : Disabled removal of promoted plugs when a BoxIO is deleted from a parent with childNodesAreReadOnly metadata (#2122)
  • ImagePlug : Fixed GIL management bugs in imageHash() and channelDataHash() bindings (#2106)
  • Shape/Text : Fixed bug where disabling the node still modified the image (#2106)
  • ImageProcessor : Fixed bug which prevented some nodes from using expressions based on channel name. The bug was introduced in version 0.30.0.0 (#2124).
  • Box : Fixed bug which could prevent the boxing of nodes containing internal connections (#2126).
  • TransformTool : Fixed interaction with Transform node (#2136).

API

  • Added AtomicCompoundDataPlug (#2087)
  • ImagePlug/ImageNode : Changed metadataPlug() to AtomicCompoundDataPlug (#2087)
  • ScriptNode : Added continueOnError argument to paste() method. (#2117)
  • ShadingEngine : Added needsAttribute() method (#2114)
  • Shader : Added reloadShader() method (#2088)
  • ConnectionGadget : Added `closestPoint() method (#2102)
  • Display : Added copy argument to setDriver() method (#2106)
  • Catalogue : Added Image::copyFrom() method (#2106)
  • Context : Added removeMatching() method (#2111)
  • DependencyNodeClass : Added constructor taking no_init, for when a DependencyNode has no public constructor (#2134)

Build

  • Fixed compilation with GCC 4.1.2 (#2103)
  • Updated dependencies : (#2109)
    • OIIO 1.7.15
    • OSL 1.8.9
    • Cortex 9.21.1
    • Qt 5