0.7.0.0
This release brings the exciting addition of support for the open source Appleseed renderer. It also adds the much asked for Dot node, and a tool for editing render crop windows. Plus of course the usual small improvements, optimisations and bug fixes.
UI
- Added resolution gate and crop windows overlays to 3d viewer (#1016). 
- Added tool for manipulating crop window. 
- Added “User Default” item to plug popup menus. 
- Added sneaky hotkey for navigating inside any node in NodeGraph. 
- Fixed Reference node UI to match equivalent Box node UI (#1108). 
- Improved positioning of nodes created by the NodeMenu. 
- Improved table widget (#204). - Remove button disabled when selection empty 
- Newly added rows are selected automatically 
- Newly added row has keyboard focus for immediate editing 
 
- Added customisable presets to plug widgets (#1113). 
- Fixed bugs where image viewer was using incorrect context (#1124). 
- Fixed bug where channel mask UI was using incorrect context. 
- Added a refresh button to ImageReaders. 
- Added support for specifying node, nodule, and connection colours via Metadata (#89). 
- Added support for setting node colour in the UIEditor or from the RMB popup in the graph. 
- Fixed bug in ColorChooserDialogue.waitForColor(). 
- Added basic colour scheme for nodes in the GUI app (#1098, #154). 
Core
Scene
- Added min/max limits to StandardOptions crop window plug. 
- Fixed bugs which prevented ObjectSource nodes from working after create/undo/redo. 
- Fixed UnionFilter to accept inputs from Boxes. 
Image
- ImageWriter now creates the necessary directories before writing images. 
RenderMan
- Added shader Metadata option “shaderTypeOverride” (#pragma annotation “shaderTypeOverride” “ri:shader” will force the Gaffer shader type to “ri:shader”). 
Appleseed
- Added support for the Appleseed renderer, courtesy of Esteban Tovagliari. 
API
- Optimised ScenePlug::stringToPath(). This gives an 88% reduction in runtime for a synthetic test of just that function, and a 7% reduction in total runtime for a scene benchmark using the Instancer. 
- Added hasUserDefault( plug ) and applyUserDefault( plug ) to NodeAlgo. 
- Added Context.contains binding. 
- Simplified numeric plug bindings. 
- Added min/max values to BoxPlug. 
- Added handy CompoundDataPlug::MemberPlug child accessors. 
- Added GafferBindings::NodeClass() overload for suppressing init. 
- Moved shutter() and transform() from RendererAlgo.h to SceneAlgo.h. 
- Added camera() methods to SceneAlgo.h. 
- Removed GLWidget minimum size. 
- Fixed bug where ViewportGadget::setCamera() could forget viewport size. 
- Fixed ViewportGadget::RasterScope to work during selection. 
- Added ViewportGadget::preRenderSignal(). 
- Made View::update() non-pure virtual. 
- Added View::contextChangedSignal(). 
- Added Tool base class. 
- Fixed bugs in ExceptionAlgo formatPythonException(). 
- Fixed StandardStyle border widths to be independent of border radius. 
- Added Menu.popupPosition() method. 
- Improved support for functools.partial() callables in Menu commands. 
- Added metadata to control StandardNodeGadget minimum width, padding, and nodule spacing. 
- Improved StandardNodeGadget drag/drop handling. Previously it would accept drags it wasn’t going to use, preventing other handlers from working. 
- Added Nodule::updateDragEndPoint() virtual method. 
- Fixed ScriptNode::deleteNodes() for nodes without enabled plugs. 
- Added customisable edge gadgets to StandardNodeGadget. 
- Added support for changing nodule position on StandardNodeGadget. 
- Guaranteed order of Metadata::registered*Values(). 
- Added plug presets methods to Gaffer.NodeAlgo. 
- Added GafferUI.PresetsPlugValueWidget. 
- Added PlugValueWidget.childPlugValueWidget(), so derived classes don’t need to implement it if they don’t have such children (#1123). 
- Added Style::renderNodeFrame() to distinguish between frames drawn for nodes and those drawn as normal frames. 
- Updated Style bindings. 
- Added useDisplayTransform argument to ColorSwatch constructor. 
- Added useDisplayTransform argument to ColorChooser and ColorChooserDialogue. 
- Added DataBinding.h header with dataToPython(). 
Build
- Added scripts for automating releases. 
- Updated IE public build script to use MILESTONE_VERSION, and renamed it to publicDependenciesBuild, since it is no longer used for producing the public release builds. 
- Requires Cortex 9.0.0-b1 for Appleseed support. 
Incompatibilities
- Moved shutter() and transform() from RendererAlgo.h to SceneAlgo.h. 
- Made View::update() non-pure virtual. 
- Added virtual method to Nodule. 
- Added and reordered Style virtual methods.