0.94.0¶
Apps¶
UI¶
- Fixed PySide incompatibility in VectorDataWidget.
- Improved VectorDataWidget numeric editing (#637).
- Simplified OpDialogue exception reporting (#806).
- Fixed “Open Recent…” crash bug in PySide builds (#548).
- Used OpDialogue to improve progress/error reports in OpPathPreview (#792).
- Enabled background mode for OpDialogue launched from BrowserEditor.
- Fixed OpPathPreview UI glitch.
- Fixed “KeyError: ‘currentTab’” error when loading custom layouts.
- Added more sensible initial widget sizes to BrowserEditor. The sizes are also saved and restored when modes are switched.
- Improved Bookmarks
- Identifies recent items by full paths, so multiple recent items with the same basename may coexist.
- Prevents heavy usage of one bookmarks category from removing the recent items for the general (no category) bookmarks.
- Improves bookmarks UI in PathChooserWidget to display full paths of recent items.
- Most recent items are now displayed at the top.
- Added creation of bookmarks by dragging on to bookmarks icon.
- Fixed cursor bug in StringPlugValueWidget continuous update mode (#796).
- Fixed bug in non-editable MultiLineStringPlugValueWidgets.
- Fixed upside down nodule labels.
- Fixed overzealous Viewport drag tracking (#550).
- Improved SceneHierarchy to view any output ScenePlug, regardless of name. This improves compatibility with Boxes, where the user can make an output plug with any name they want.
- Added right click menu for Box plugs in NodeGraph. This allows the renaming and deletion of promoted nodules.
- Added dropdown menu for Displays node quantize parameters.
- Improved Displays node UI (#15).
- Added command-line representation of Op values in the UI (#793).
- Added workaround for squash/stretch in viewport camera look-through (#826).
- Added custom editor to PathVectorDataWidget. This enables tab completion, nice dropdown menus and a browser for PathVectorDataParameters.
- Added indexing methods to VectorDataWidget.
- Added presetsOnly dropdown menus to CompoundVectorParameterValueWidget (#470).
- Added an auto-load preset for ops (#804).
- Added filtering by image type for ImageReader and ImageWriter file dialogues.
Core¶
- Combined setValue() serialisation for CompoundNumericPlugs (#761).
- Fixed Box plug promotion to support ImagePlugs and ScenePlugs.
Scene¶
- Renamed GLSL shaders to UpperCamelCase. This matches the naming convention we use for OSL shaders.
- Added a Grid node.
- Fixed FilteredSceneProcessor to allow Box promotion of Filter plug.
Image¶
- Fixed a bug in ImageTransform that could result in corrupted output.
API¶
- Added GraphComponentClass and GadgetClass to improve bindings.
- Added NodeGadgetClass to improve bindings of NodeGadgets.
- Added immediate execution mode to OpDialogue.
- Fixed NodeGadget::noduleTangent() binding.
- Fixed potential bug in NodeGadget::create().
- Fixed LRUCache getter cost calculations.
- Fixed Metadata test hang.
- Improved Window.resizeToFitChild() behaviour. If called on an as-yet unshown window, it would move the window to the top left corner of the screen. Now the window will still be opened in a sensible place. Added additional shrink and expand arguments to further control the resize behaviour.
- Added support for fixed size CompoundVectorParameterValueWidget. The [“UI”][“sizeEditable”] user data entry can be given a BoolData value of False, which will cause the +/- buttons to be hidden in the UI, enforcing a fixed length on the data in the vector parameters.
- Added per-column editability to CompoundVectorParameterValueWidget. This uses a [“UI”][“editable”] user data entry in each child parameter, where a BoolData value of False will make the column for that parameter read-only (#766).
- Made Bookmarks.acquire() support passing Widgets and GraphComponents.
- Added support for callable dialogue keywords in PathPlugValueWidget.
- Fixed drag/drop to allow modal dialogue creation in dropSignal().
- Added public Serialisation::acquireSerialiser() method.
- Added ValuePlugSerialiser::valueNeedsSerialisation() method. This can be reimplemented by derived classes to provide more control over the serialisation of values.
- Privatised numeric and string PlugValueWidget implementations.
- Added ViewportGadget viewportChangedSignal() and cameraChangedSignal().
- Added SpacerGadget size accessors.
- Added iterator typedefs for all GafferUI::Gadget subclasses.
- Improved Box plug promotion API.
- Made BlockedConnection and UndoContext non-copyable.
- Added useNameAsPlugName argument to CompoundDataPlug::addMembers(). Also added python bindings for CompoundDataPlug::fillCompoundData() and CompoundDataPlug::fillCompoundObject().
- Gave Displays node parameter plugs more useful names.
- Added VectorDataWidget.editSignal(). This allows custom Widgets to be provided to edit the values held in the table cells.
- Added Widget.focusChangedSignal().
- Added VectorDataWidget setColumnEditable/getColumnEditable methods.
- Added right click preset menu for CompoundVectorParameterValueWidget. This also adds the ability for any custom parameter menu to operate with CompoundVectorParameters, whereas before they couldn’t.
Build¶
- Now using Coverity static analysis - this resulted in a number of bugs being found and fixed in this version.