23 September 2026
Mari now has read-only support for USD Cameras. Furthermore, the USD version is now updated to 25.08.
ID 424027 - Mari now bundles Qtās QML dependencies for custom UI development. The qml_palette.py example script demonstrates how to build a custom palette with QML.
ID 550112 - Mariās Python API now has a ScriptManager class. This emits an errorOccurred(errorMessage) signal when errors are raised by Python during script evaluation.
Example usage:
def on_error(message): print('Script error:', message) script_manager = mari.ScriptManager() script_manager.errorOccurred.connect(on_error)
ID 623180 - Custom nodes can now be registered as hidden by passing a Hidden=True parameter to mari.gl_render.registerCustomNodeFromXMLFile. These nodes will not appear in the UI, but can still be created using the Python API.
ID 623181 - Custom nodes can now be registered with an icon by passing an IconPath parameter to mari.gl_render.registerCustomNodeFromXMLFile. The icon will be displayed in node creation menus.
MARIDEV-4223 - Mari now features Node Actions - interactive buttons on nodes that trigger custom callback functions - supported by a new mari.NodeActionCallback Python API interface for action registration.
ID 605450 - The ProjectManager class documentation has been updated with the supported USD Loader options.
MARIDEV-4081 - A warning to the Python API documentation is added, clarifying that clean should not be run on parent folders of backup or project directories to prevent accidental data loss.
ID 617877 - Mari now ships with a Remove Unused Images context menu action to the Image Manager to clear images not referenced by Nodes, Brushes, Multi-Paint Palette, Environment Light, Image Color Picker, Canvas background, or Image Write nodes in 2D Paint mode.
Additionally, a Toggle Unused Removal action can be used to prevent selected images from being removed even if unreferenced.
ID 617878 - Selecting the Image to Node context menu action on an image in the Image Manager will now reveal and highlight all nodes using that image within the current Node Graph.
MARIDEV-3986 - The Layers Palette is now hidden by default.
It can be enabled/disabled by toggling the Misc. > Legacy > Show Layerstack preference.
It can also be enabled by defining MARI_LAYERSTACK_ENABLE as an environment variable.
MARIDEV-4180 - A new menu item has been added to open the online Mari Texture Library under Help > Mari Texture Library (online)
ID 607173 - Logs sent to sentry now only censor sensitive information instead of the full content.
ID 615775 - The Windows longPathAware fragment has been added to the application manifest.
MARIDEV-4238 - Mariās version of OpenSSL has been updated from 3.5.5 to 3.5.7
ID 603922 - Images can now be dragged and dropped anywhere on a row in the Multi-Paint palette to assign that image to the stream.
Color swatches can be dropped anywhere on a row to assign that color to the foreground color.
ID 597079 - An Image Input node has been introduced for passing the token of an Image attribute to other nodes that have an Image token input. The Image Input node acts as a centralized hub for your textures, allowing you to load an image once and route it to multiple places across your graph.Ā
ID 617870 - Mari now ships with a Tri-Planar Tiled node, projecting an image along three orthogonal axes with controls for blending and projection adjustments.
ID 617871 - Mari now features the following transformation nodes, enabling direct control over the transformations of 3D procedural nodes with a Position input:
Individual Scale, Rotation and Transformation nodes are also available for isolated transformation control.
Additionally, the UV Radial Transform Node has been introduced. This node allows you to spin, scale, and warp UV coordinates radially through connection to a UV input, facilitating the creation of circular patterns and rotational effects.
ID 617875 - Mari now ships with a Color Mask node to generate greyscale output based on input color similarity, alongside a Multi-Color Mask node that combines multiple mask calculations into a single output.
ID 623177 - The Gamma and Contrast nodes now use Vector4f sliders for their main attributes.
ID 613626 - Mariās startup time has been improved, with reductions of ~50% observed during testing. Improvements will vary by configuration.
ID 623115 - The project archive icon is now removed when the archive is not up-to-date.
MARIDEV-4134 - When archiving a project, Mari now also archives the project's root-level UserData directory. Use this folder to store custom data associated with the project for scripts.
ID 617854 - The new Create ID Masks from Selection Groups action automates the generation of Color ID maps by converting existing selection groups into color-filled ID maps, eliminating the need for manual polygon painting or baking.
This action is found under Selection > Mask, Canvas right-click > Mask, and Node Graph right-click > Selection > Mask menus.
ID 618170 - Mari now includes a Create Mask from Selection action, allowing you to create a black-and-white mask directly from your current selection or from a pre-defined selection group. This action is found under Selection > Mask, Canvas right-click > Mask, and Node Graph right-click > Selection > Mask menus.
Additionally, a Create Mask from Selection Group action is also available by right-clicking specific selection groups in the Selection Groups palette for baking the selected group to a mask.
MARIDEV-4221 - Support for logical operands has been added to the Shelf search box, making it easier to filter results:
For example, searching for "bricks | plaster -cracked" matches any item with "bricks" OR "plaster" in the name, but excludes any with "cracked" in the name.
ID 622926 - Accessing Python example scripts from the menu would cause Mari to display them in a single unstructured list rather than organizing them into submenus.
MARIDEV-3992 - exportImages() and exportImagesFlattened were scoped to only accept Image.SaveOptions objects. SaveOptions are now flags so that they can be combined in Python.
ID 553121 - Many Python objects were prefixed with ":obj:" in the Python documentation.
ID 622929 - The Help menu would incorrectly omit the C API Docs and Examples actions when viewing available documentation links.
ID 623487 - The Custom Shader API documentation listed incorrect include paths for custom cube map and image map generators.
Custom cube map shader files now require:
//! include | CubeRender_Main.glslh //! include | CubeRender_Utils.glslh
And custom image map shader files require:
//! include | ImageRender.frag
Omitting parent directories previously required.
MARIDEV-2118 - Range type attributes were missing from the Custom Shader API documentation.
ID 552263 - Autosaved project backups did not save a thumbnail of the project.
ID 620301 - Changing the enable state of a node would not update the canvas to reflect the change.
Connecting a disabled Teleport Receiver node to the input of a Group node would cause a render error.
MARIDEV-3876 - Changing the active input of a Switch node was not updating the Canvas to reflect the change.
ID 617319 - Registering the Python Example Custom OCIO Filter caused an error.
ID 618314 - Mari crashed when making a marquee selection in an Image Preview window.
ID 618686 - Mari failed to load default Geo-Channel textures when generating Material or Smart Mask thumbnails.
ID 623159 - The MriBin symlink was missing on Linux.
ID 589199 - Grouping the Viewer node on its own would crash Mari.
ID 618632 - Mari would incorrectly reconnect nodes when swapping inputs on nodes that had multiple connections from the same node.
ID 618713 - Mari crashed upon project close if all nodes in a shader network were deleted.
ID 618747 - Deleting a Multi-Channel Bake Point in stream-collapsed mode left a non-interactable āghostā node.
ID 622904 - Undoing the creation of an Input node and its parent Group node caused non-interactable nodes to be displayed and crashes upon further Node Graph interaction.
ID 623065 - Tooltips containing newline characters failed to display them as line breaks.
ID 623081 - Pressing keyboard shortcuts in the Node Graph intermittently failed to have an effect on Linux.
ID 623087 - Setting large sample sizes in the Hex Tile node would cause Mari to encounter oversampling issues.
ID 623123 - Add Mask to Node would generate reordered and renamed node properties.
ID 623127 - Adding Mask on Group nodes would not respect the structure in the parent Group Node.
ID 623164 - Add Mask to Node would incorrectly wire the nodes
ID 623438 - Editing node curve parameters resulted in black output.
MARIDEV-3872 - Node states were incorrectly serialized and deserialized.
MARIDEV-3934 - The Hex Tile node was incorrectly displaying its image mirrored horizontally.
MARIDEV-4163 - Projects saved in Mari 8.0, opened in an earlier version and re-opened in 8.0 would fail to load object transforms.
MARIDEV-4164 - Node states would not correctly be remembered on project reopen.
MARIDEV-4165 - Nodes saved in versions of Mari prior to 8.0 would not load their collapsed state properly in 8.0, leading to a crash.
ID 518177 - Loading the properties of Merge nodes took longer with larger Paint Buffer sizes.
ID 607992 - Importing large Node Graphs containing Paint or Bake Point nodes encountered significant load times.
Import speed for image set nodes has been improved - between 2x and 7x faster in testing, depending on UDIM count and image set node count.
ID 614076 - Merging Objects from files with many meshes resulted in reduced viewport performance and slow import times.
ID 623220 - Selecting āMerge Modelsā as the merge option when loading USD files did not fully merge the geometries, causing performance issues on imported USD files with a large number of objects.
MARIDEV-2115 - Mari intermittently crashed when running a macro that steals focus from the currently focused widget.
MARIDEV-4162 - Mari could crash during DLL unload due to third-party Python bindings (PySide/Shiboken) being torn down before Mari finished destroying its own Qt objects.
ID 593271 - Deleting multiple projects caused duplicates of other projects to be displayed.
ID 618733 - Mari could crash when using "Selection Group" Smart face selection mode and repeatedly clicking on the same polygon.
MARIDEV-3878 - Face Selection Groups displayed as disabled when re-opening a project.
ID 612726 - Replacing thumbnails on Python Script Shelf Items caused data loss when the script text contained a substring matching a supported thumbnail format.
ID 623317 - The Texture Sets palette raised a Python error parsing Megascans repositories.
ID 614794 - Closing the New Project dialog using keyboard shortcuts crashed Mari.
ID 616523 - Mariās UI distorted and flickered with specific Nvidia graphics card drivers. This issue appears resolved in R595 U4 (596.36) released April 28 2026, and Mari will warn the user on launch if a known affected driver is in use.
ID 593353 - Project Backups display creation hostname when saved on the current machine.
ID 592052 - In new projects, the 2D Paint mode āImage Layer Stackā channel is selected by default, resulting in unexpected channel behavior. Select a channel on the current 3D Object before running channel operations.
ID 622701 - Color Picker slider ranges are clamped for certain OCIO configs and picking colorspaces.
ID 623165 - Add Mask to Node does not work with Multi-Channel nodes.
ID 623263 - Running Mari on a virtual machine may crash on launch when Bindless Textures are enabled. Bindless Textures can be disabled prior to launch using an environment variable: MARI_OPENGL_BINDLESSTEXTURESALLOWED=0
MARIDEV-4188 - Connecting standard node output ports to image input ports on image nodes intermittently results in graphics card driver crashes.
Mari's third party libraries have now been upgraded to the versions specified by the VFX Reference Platform. The following table shows a comparison of the specific versions used in Mari 8.0 and Mari 7.5:
| Library | Mari 8.0 | Mari 7.5 |
|---|---|---|
| Alembic | 1.8.8 | 1.8.3 |
| Boost | 1.85.0 | 1.80.0 |
| imath | 3.1.12 | 3.1.4 |
| OpenColorIO | 2.4.2 | 2.2.1 |
| OpenEXR | 3.3.2 | 3.1.13 |
| OpenImageIO | 2.5.7.0 | 2.3.21 |
| OpenSubdiv | 3.6.0 | 3.5.0 |
| OpenVDB | 12.0.0 | 10.0.1 |
| PySide | 6.5.3 | 5.15.2 |
| Python | 3.11.11 | 3.10.10 |
| QT | 6.5.3 | 5.15.2 |
| oneTBB | 2021.13.0 | 2020U3 |
Linux Desktop Managers
Mari is officially tested on GNOME. While it generally performs well on other desktop managers, most of our bug fixes will target this. We would be interested to know if there are any other preferred desktop managers to consider in the future so feel free to share your specifications with our Support Team at support@foundry.com
*Displacement preview is currently only available on the cards and drivers that support OpenGL 4.0 or newer.
*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.
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.
| HP | Dell | Lenovo |
|---|---|---|
|
HP XW6600 HP Z600 HP Z620 HP Z640 HP Z8 G4 Workstation |
Dell Precision 7820 | Lenovo P620 |
| Vendor | Tested GPUs |
|---|---|
| AMD Prosumer Graphics Cards |
Radeon Pro 560 Radeon Pro 5500M Radeon Pro W6700 Radeon Pro W6800 |
| NVIDIA Prosumer Graphics Cards |
NVIDIA Geforce GTX 1070 NVIDIA Geforce GTX 1080 NVIDIA Geforce GTX 1080 Ti NVIDIA Geforce RTX A2000 NVIDIA Geforce RTX A3000 Mobile NVIDIA Geforce RTX A4000 NVIDIA Geforce RTX 3080 NVIDIA Geforce RTX 3080 Ti Mobile NVIDIA Geforce RTX 3090 NVIDIA Geforce RTX 4090 |
| NVIDIA Enterprise Graphics Cards |
NVIDIA Quadro P2000 NVIDIA Quadro P3200 NVIDIA Quadro P4000 NVIDIA Quadro P5000 NVIDIA Quadro RTX 8000 |
Copyright © 2026 The Foundry Visionmongers Ltd.