0.99.0
Apps
Fixed potential startup error in gui viewer.py configuration file.
Core
Added background execution mode to the LocalDispatcher.
UI
Added a gnomon to the 3d viewer (#41).
Improved SceneInspector
Implemented error tolerant loading for file menu operations. Errors are reported via a dialogue, and will no longer prevent loading of a script (#746).
Fixed ScriptEditor to execute code in the right context. Prior to this, any queries performed in the script editor were always evaluated at frame 1.
Dispatcher UI no longer forces background execution - this is now controlled by per-dispatcher settings.
Scene
Improved IPR
Fixed hang during shutdown with active IPR render (#855).
Implemented camera edits for IPR rendering (#190).
Prevented errors in other nodes from causing incomplete edits.
Fixed UI errors caused by deleting camera during IPR (#898).
Optimised updates by pruning invisible hierarchies.
Fixed bug in shader edits at non-leaf locations.
Optimised Instancer, especially the computation of the bounding box for all the instances. This particular operation is now 18x faster on a 6 core machine, 7x faster on a 2 core machine.
Added an automatically created set for tracking all cameras in the scene.
Improved reporting of invalid cameras (#371).
Fixed FilteredSceneProcessor::acceptsInput() crash when inputPlug is null.
API
Registered automatic from-python conversions for ScenePlug::ScenePath. This replaces the need to manually wrap any functions taking a ScenePath, making the bindings simpler.
Added exists() method to SceneAlgo. This can be used to query whether or not a particular location exists within a scene.
Replaced boost_intrusive_ptr with raw pointer where appropriate, to follow the convention laid out in Cortex.
Removed deprecated Box metadata methods. The standard Metadata API should be used instead.
Added missing wrapper for NodeGadget::nodule() overload.
Added OpDialogue preExecuteSignal() and postExecuteSignal().
Added OpDialogue parameterisedHolder() method.
Added a flags argument to ParameterHandler::setupPlug(). This allows clients to choose the default flags for their plugs, rather than being forced to have (Default | Dynamic) plugs.
Added ViewDescription constructor for 3 argument registerView.
Added Style::renderTranslateHandle() method.
Added GafferUI::Handle gadget.
Moved translatePythonException() to a new ExceptionAlgo.h header.
Added formatPythonException() function to ExceptionAlgo.h.
Added continueOnError argument to ScriptNode execution methods.
Added error return value to ScriptNode execution methods.
Improved EventLoop.executeOnUIThread() to execute immediately when used on main thread.
Build
Requires Cortex-9.0.0a2
Updated default build to use PySide 1.2.2.
Stopped using python-config for build configuration. It was unreliable on Mac, and the hardcoded paths it returns prevented us from building with prebuilt binary dependencies.