Mari 4.8v3 Release Notes

Release Date

19 May 2022

Previous Release

Mari 4.8v2 Release Notes

New Features

Python

  • Two new classes, NodeGraphPalette and NodeGraphView, have been implemented which provide API representation for the Node Graph palette functionality and its UI, such as listing the open taps in the current Node Graph and setting the zoom level of the view.

  • Two new functions have been added to the API that allow encrypting and decrypting strings: mari.app.encryptString() and mari.app.decryptString()

  • The Mari::Projector class now allows the masks for the projector to be adjusted via the API;
    projectionMaskNameList - returns the names for masks on the projector
    projectionMaskPropertyList - returns the names for properties of a mask
    projectionMaskProperty - return the value of a property of a mask
    setProjectionMaskProperty - sets the value of a property of a mask

Feature Enhancements

Grid Snapping

  • A new action for toggling the Snap to Grid mode in the Node Graph has been added and bound to the shortcut [Shift+G] by default.

Materials

  • In previous versions, when importing a Material or Custom Procedural node into a Node Graph, the attribute values that the node was saved with would not be remembered and resetting any attribute on imported nodes would restore to the original node's default values. New functionality has been added to allow both node types to now store user picked attributes as the default values after export.

Python

  • Signals are now emitted when layouts are loaded mari.app.layoutLoaded() and saved mari.app.layoutSaved().

  • Two new classes, NodeGraphPalette and NodeGraphView, have been implemented which provide API representation for the Node Graph palette functionality and its UI, such as listing the open taps in the current Node Graph and setting the zoom level of the view.

  • The Mari::NodeGraph::getUpstreamNodes() function now works on nodes inside group node nodegraphs. Note that it will only return upstream nodes that are inside the same Node Graph as the given start node, if all upstream nodes are desired regardless of Node Graph, the function getAllUpstreamNodes() should be used.

  • New Python API function GroupNode.knobList() returns a list of GroupNode knob information

  • Added a nodePath function to Node API class to return the pathkey for the node.

  • Added API functions to MaterialNode and CustomProceduralNode which allow users to retrieve and edit the Material or Custom Procedural tags on the node.

  • Setting node position and size via the Python API is now undoable.

  • Signals are now emitted when layouts are loaded mari.app.layoutLoaded() and saved mari.app.layoutSaved().

  • Added Python API documentation for USD specific project meta options of mari.projects.create()

  • The Mari::NodeGraph::nodeList() and selectedNodeList() functions now have an argument to exclude hidden system nodes from the returned list (Current Layer, Current Paint Target, etc.). The default behavior will still include these nodes.

Bug Fixes

Bake Points

  • ID 501524 - The Bake Point nodes would incorrectly appear as out-of-date when baking duplicated Bake Points using a shortcut.

Performance

  • ID 490877 - Using the [W] shortcut while having a Paint node selected would corrupt the image set. The shortcut would action the Change Current Channel option which would not have any effect. This has now been removed.

  • ID 503984 - Under certain circumstances and desktop environments, Mari could crash when refreshing the Shaders and Layers palettes if they contained widgets for certain attribute types.

  • ID 504438 - The Take Snapshot feature would incorrectly cause Mari's UI and ViewPort to turn black.

  • ID 506429 - Using the OCIO_ACTIVE_DISPLAYS environment variable would cause Mari to crash at launch.

  • ID 507017 - In some versions, Mari would not correct emit the exiting() signal, leaving warnings in the output console.

  • ID 509505 - Projects with large nodegraphs could take an unexpected amount of time to load and process the up-to-date state of Bake Point nodes.

Python

  • ID 497016 - Calling functions with the wrong argument types of static objects in the Python API would cause a crash.

  • ID 497093 - Python API shelf management functions would not prune correctly, resulting in empty groups.

  • ID 505884 - In Mari 4.8 and 5.0, when setting an integer metadata tag via the Python API, it would not be accepted and it would fail instead.

  • ID 506674 - The Python API signal imageSetMadeCurrent would not be fired correctly at expected timings.

  • ID 506689 - Obtaining certain metadata for Material nodes in Python API would cause unexpected failures.

  • ID 507372 - Changing a node and baking downstream Bake Points in a single Python code execution would result in those downstream bake points becoming out of date.

Rendering

  • ID 499446 - Selecting and deleting a Paint node that was not connected to a viewer would result in other Paint nodes showing the wrong paint data.

Shelf

  • ID 504725 - The Shelf Filter list incorrectly showed the Image Filter icon twice in UI.

UI

  • ID 492163 - Context menus would not display the shortcuts for the menu items in Mari 4.8.

USD

  • ID 505140 - Geo Entity Versions with an invalid or empty source mesh location would throw an error when exporting to USD.

  • ID 507777 - The Example Head project had incorrectly stored paths used by the USD Export Manager.

View Transform

  • ID 496270 - When setting the Gamma slider of the View Transform toolbar to 0.0, Mari would display an error dialog.

Known Issues

Performance

  • ID 500649 - Due to a known issue with OCIO, Mari crashes when using a non-C locale on Linux. By launching Mari with the numeric format set to a locale that uses full-stops for decimal points, such as English, this issue can be circumvented.
    To achieve this, run the following command in the terminal, amending the path to your Mari installation:

    LC\_NUMERIC=en\_EN.UTF-8 /path/to/installation/mari

  • ID 471286 - Mari crashes when a project is created or opened while using NVIDIA GPU driver version 461.92, 462.31 and 462.59.

Painting Engine

  • ID 366737 - Importing .abr Photoshop brushes returns an error if the brush in larger than 2500*2500 pixels.

UI

  • ID 483855 - When Mari is launched with Administrator Privileges, you are unable to Drag and Drop items from Windows Explorer into Mari.

System Requirements

Mari increases its level of performance with newer, more advanced hardware configurations. However, Mari is tested and capable of operating on many older, prior-generation systems. For this reason we are listing below-minimum requirements, which are recommended, and on which tests have been performed. Your particular needs may vary from that of other users.

Officially Supported Operating Systems

  • Windows 7 64-bit or higher
  • Linux 64-bit operating system (CentOS/RHEL 7)
  • macOS Mojave 10.14 or Catalina 10.15

Note:  Linux Desktop Managers
Mari is officially tested on GNOME and MATE. While it generally performs well on other desktop managers like KDE, most of our bug fixes will target those specified above. Some desktop managers like XFCE have not been tested with Mari and therefore will not be supported.

Minimum Hardware Requirements

  • Quad-core processor
  • 10+GB disk space available for caching and temporary files
  • At least 4GB RAM
  • Display with 1680 x 1050 pixel resolution
  • An NVIDIA or AMD* graphics card with the latest drivers
  • 1GB of graphics memory
  • OpenGL 3.2* or higher

*Displacement preview is currently only available on the cards and drivers that support OpenGL 4.0 or newer.

Recommended System Requirements

  • 2.5+Ghz Quad-core processor
  • 250+GB disk space available for caching and temporary files. SSD is preferable.
  • 16GB RAM with additional virtual memory*
  • Display with 1920 x 1080 pixel resolution
  • An NVIDIA or AMD* graphics card with the latest drivers
  • 2+GB of graphics memory
  • OpenGL 4.4 or higher support

*The use of virtual memory improves stability and helps prevent data loss on large projects.

'Recommended' does not guarantee that it meets your particular needs.

Tested Hardware

The configurations listed below are those that Foundry have tested with Mari. Due to the constantly changing nature and wide variety of computer hardware available in the market, Foundry is unable to officially certify hardware. The list below can be used as a recommendation and does not guarantee that it meets your particular needs.

Please download and install the latest graphics driver from the NVIDIA or AMD websites, and ensure that you are using 8.982.1 drivers or higher for AMD cards.

If you encounter any issues, please contact Customer Support directly through the Support Portal at the following address: https://support.foundry.com.

Tested Workstation Hardware

Vendor Tested Workstation
Apple MacBookPro14,3
MacBookPro16,1

Note:  Mari does not support the Apple M1 chipset computers.

Tested GPU Hardware

Vendor Tested GPUs
AMD Prosumer Graphics Cards Radeon Pro 560
Radeon Pro 5500M
NVIDIA Prosumer Graphics Cards NVIDIA Geforce GTX 1080 Ti
NVIDIA Geforce RTX A2000
NVIDIA Geforce RTX 3080
NVIDIA Geforce RTX 3090
NVIDIA Enterprise Graphics Cards NVIDIA Quadro P2000
NVIDIA Quadro P4000
NVIDIA Quadro P5000
NVIDIA Quadro RTX 8000