Mari 8.0v1 Release Notes

New Features

Artist-focused Tools

Your creativity drives our development. For this release, we’ve stepped back from standard "big feature" updates to focus entirely on your day-to-day experience. Driven by your feedback, we've packed this version with targeted quality-of-life improvements designed to make your artistic workflow smoother, faster, and far more intuitive.

In addition to Node Graph enhancements like Compare, Hex Tile, Color Remap, and 49 brand-new math nodes, this release introduces powerful procedural toolsets such as Color Masking, versatile Transformation Nodes, and Tri-Planar Tiled projections. You’ll also find enhanced asset organization with Image Manager updates, easier tracking of archived projects, and fluid canvas navigation with Trackball Rotation.

For full details on each specific update, please refer to the Feature Enhancements section.

USD

Mari now has read-only support for USD Cameras. Furthermore, the USD version is now updated to 25.08.

Feature Enhancements

API/SDK Changes

  • 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 617861 - Mari’s Python API now uses PySide6-style enums. Class enums are no longer exposed in the parent class and should be accessed through their class.

  • 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.

  • ID 623487 - The Custom Shader API include paths for custom cube map and image map shader files have been updated.

    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-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.

  • MARIDEV-4260 - The verbosity of the MariLog has been reduced. Debug level messages will now only be printed if Mari is launched with a --logall command-line argument.

    mari.app.log() now takes optional arguments for MessageType (with QtDebugMsg level messages suppressed by default), FileName and Line (which can be used to override the source filename and/or line number that the message originated from)

API/SDK Documentation

  • ID 605450 - The ProjectManager class documentation has been updated with the supported USD Loader options.

  • ID 618420 - The Mari Developer Guide is now published along with the installers.

  • MARIDEV-4081 - A warning has been added to the Python API documentation clarifying that clean should not be run on parent folders of backup or project directories to prevent accidental data loss.

Color

  • ID 560647 - Mari now uses OpenColorIO's ver2 pipeline instead of the legacy pipeline that emulates ver1 pipeline.

  • ID 616738 - Mari no longer has a preference for colorspace transforms LUT size. With the legacy color pipeline, Mari had to load all LUTs using a uniform size, set by the user via the preference. This is no longer the case: Mari simply uses the size of the LUT as is, which is read from the OCIO config.

Configuration

  • ID 80631 - Mari supports a MARI_CONFIG_HOME environment variable on Windows for users to override where Mari stores its user-specific data.

Controls

  • ID 621844 - Addressing the limitations of the standard Orbit tool, Trackball Rotation offers intuitive and highly flexible canvas navigation. This mode allows rotation of the canvas camera via a virtual trackball to access complex angles for painting.

    To configure this navigation mode, go to Edit > Shortcuts and use the Search Actions field to locate the Trackball setting. From there, bind a preferred key combination. Note: A mouse button input is strictly required for the shortcut to register successfully.

Image Manager

  • 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.

Layers Palette

  • 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.

    The Layer Stack will be deprecated in a future release, with forward development of new features and bugfixes focusing primarily on Node Graph workflow.

Mari Texture Library

  • MARIDEV-4180 - A new menu item has been added to open the online Mari Texture Library under Help > Mari Texture Library (online)

Miscellaneous

  • ID 607173 - Crash Report 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.

  • ID 616697 - A new splash screen has been introduced for this release.

    Mari comes with an alternative splash screen for those who would like to change the image from the spider model. To achieve this, go into the Mari program folder and navigate to Media > Logos. Rename mari_splashscreen_alt.png to mari_splashscreen.png. You can remove or rename the original spider splash screen image.

Modo Render

  • ID 605993 - Modo is no longer bundled with Mari.

Multi-Paint

  • 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.

Node Graph

  • 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 617858 - Add Mask to Node - Adding specialized mask ports to any node in the graph is now faster and more intuitive. After right-clicking nodes and selecting Edit > Add Mask to Node, Mari automatically wraps the selected node in a group node with a dedicated Mask input, maintaining workspace organization while enabling effortless, non-destructive refinements.

  • ID 617866 - To streamline Node Graph management, Mari now features a customizable hitbox for node insertion. Users requiring a larger target area for dropping nodes into streams can easily adjust the Auto Insert Width and Auto Insert Height parameters. These settings are located under the Node Graph tab via Edit > Preferences, providing enhanced control over workflow layout and overall precision.

  • ID 617868 - Mari’s Node Graph now includes a comprehensive suite of 49 dedicated math nodes designed to optimize procedural texturing and shading workflows. Ranging from basic arithmetic and trigonometry to advanced randomization and conditional logic, this toolkit facilitates precise, pixel-level adjustments. These nodes enable the rapid construction of sophisticated, non-destructive effects like gradient shaping and anti-aliasing management.

  • ID 617869 - The Color Remap node centralizes color grading directly within the workflow, eliminating the need to chain multiple nodes. From a single interface, users can match colors using hue and saturation, balance complex lighting with exposure and gamma, and generate depth utilizing advanced contrast controls. Additionally, a built-in clamp can be enabled to ensure final colors remain safely within screen-ready ranges.

  • 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:

    • Coordinate Transform - This node drives any node with a Position input. It includes dedicated Scale, Translate, and Rotate inputs, allowing external drivers to override internal controls for procedural, non-destructive coordinate manipulation.
    • Locator Transform Node - This node allows you to anchor or manipulate transformations using Locator transform handles.

    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 617879 - Eliminate visible patterning with the new Hex Tile node. This node randomly distributes textures across the UV plane, producing a seamless, organic appearance that effectively breaks up tiling repetition.

    • Non-tiling Support: Provides robust support for non-tiling assets, transforming single images into infinite, natural surfaces without visible seams.
    • Visual Variety: Fine-tune the sampling area and apply randomized rotations to ensure highly unique results.
    • Seamless Transitions: Specialized Blend Width and Blend Contrast settings offer complete control over how samples merge.
    • Normal Maps: Includes tailored controls optimized specifically for normal map integration.
  • ID 618142 - The Compare node allows users to input two different visual node streams and evaluate them side-by-side using a customizable wipe effect. Built to provide complete control over visual review, it features three distinct wiping modes:

    • Screen space: Maintains a fixed separation line directly across the viewport.
    • Object space: Links the wipe securely to the 3D model's local axis.
    • Object bound screen space: Sweeps across the viewport axis while scaling accurately to the specific dimensions of the object.

    Whether evaluating subtle texture updates or major color shifts, this node provides an efficient, precise method for reviewing changes and finalizing a project's look.

  • ID 623177 - The Gamma and Contrast nodes now use Vector4f sliders for their main attributes.

Performance

  • ID 613626 - Mari’s startup time has been improved, with reductions of ~50% observed during testing. Improvements will vary by configuration.

Projects

  • ID 617876 - To improve library organization, Mari displays a clear visual indicator on thumbnails to instantly identify archived projects. Hovering over a project reveals its complete history, including the exact timestamp of its last backup and its current directory path on the system.

  • 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.

    Please note thatany custom data added to project folders will not be preserved when the project is archived or duplicated unless it is contained in theUserDatafolder.

Selection Groups

  • 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.

Shelf

  • MARIDEV-4221 - Support for logical operands has been added to the Shelf search box, making it easier to filter results:

    • Enter required terms separated by spaces
    • Terms separated by | will match any of them
    • Prefix terms with - to exclude them
    • For exact matches, enclose terms in quotes

    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.

Third Party Libraries

  • ID 617320 - NumPy has been removed from Mari.

  • MARIDEV-4238 - Mari’s version of OpenSSL has been updated from 3.5.5 to 3.5.7

UI

  • ID 618149 - Canvas rendering can now be paused from the UI without needing to assign a specific shortcut to the action.

USD

  • ID 607761 - The following attributes of a UsdGeomCamera can be imported into Mari to create a Projector:

    • Name
    • Projection
    • Transforms
    • Clipping Range
    • Horizonal Aperture / Vertical Aperture / Focal Length used to compute the Field of View.
  • ID 608539 - Alembic payloads on custom prims can be loaded into Mari. For example:

    #usda 1.0
    def "Teapot" ( 
        assetInfo = { 
            asset identifier = @Teapot/Teapot.abc@
            string name = "Teapot" 
        } 
        prepend payload = @Teapot/Teapot.abc@)
    {
    }

Bug Fixes

API/SDK Documentation

  • ID 553121 - Many Python objects were prefixed with ":obj:" in the Python documentation.

  • ID 619448 - Notes about class enums being exposed in the parent class have been removed from the Python API documentation. Enums should now be accessed through their class.

Automatic Project Backups

  • ID 552263 - Autosaved project backups did not save a thumbnail of the project.

Canvas

  • ID 611554 - Framing the view to all contents would include 2D mode objects in the bounds.

Color

  • ID 582834 - Legacy OCIO configs such as ACES 1.1 and ACES 1.0.3 are LUT based. This limitation of OCIO configs can cause some visible banding artifacts in over-exposed areas. Mari now supports registration of custom analytical shader code for View Transforms in the API with mari.ocio.registerAnalyticalViewTransform()

    Mari also provides example implementation of analytical shader code for default views of ACES 1.1 and ACES 1.0.3 for those who prefer to get around the limitation of those configs in the ocio_aces_analytical_view.py example script.

Node Graph

  • ID 589199 - Grouping the Viewer node on its own would crash Mari.

  • ID 612012 - Nodes would jump when modifying the selection while nodes were being moved.

  • ID 618632 - Mari would incorrectly reconnect nodes when swapping inputs on nodes that had multiple connections from the same node.

  • ID 618747 - Deleting a Multi-Channel Bake Point in stream-collapsed mode left a non-interactable ‘ghost’ node.

  • ID 623065 - Node descriptions containing newline characters failed to display them as line breaks.

Performance

  • ID 335005 - Selecting a colour from the Foreground swatch would cause Mari to hang

  • ID 393077 - Mari would crash on exit in Terminal mode.

  • ID 518177 - Loading the properties of Merge nodes took longer with larger Paint Buffer sizes.

  • ID 538966 - The first save after opening a heavy project would take longer than subsequent saves.

  • 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.

Projects

  • ID 216994 - Projects with long names would cause the projects list to incorrectly misalign.

  • ID 593271 - Deleting multiple projects caused duplicates of other projects to be displayed.

Rendering

  • ID 546189 - Shadows would not immediately be available when enabling shadow mapping in GPU Preferences.

Selection Groups

  • ID 612216 - Mari would crash when selecting a face outside of a selection group while using Smart Selection's "Selection Group" mode.

  • ID 618733 - Mari could crash when using "Selection Group" Smart face selection mode and repeatedly clicking on the same polygon.

Shaders

  • ID 520658 - Mari failed to decrypt some encrypted nodes, and some nodes were saved as encrypted when they shouldn't be, resulting in rendering errors.

Shelf

  • ID 612726 - Replacing thumbnails on Python Script Shelf Items caused data loss when the script text contained a substring matching a supported thumbnail format.

UI

  • ID 554602 - Mari would try to launch on a disconnected monitor

  • ID 598005 - Hyperlinks would be too bright and not readable.

  • ID 616523 - Mari’s UI distorted and flickered with specific Nvidia graphics card drivers. While this issue appears resolved in R595 U4 (596.36) released April 28 2026, launching Mari with an affected driver will still cause distortion and flickering of the UI. A warning message will appear during launch if a known affected driver is in use.

Known Issues

Automatic Project Backups

  • ID 593353 - Project Backups display creation hostname when saved on the current machine.

Channels

  • 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.

Color

  • ID 622701 - Color Picker slider ranges are clamped for certain OCIO configs and picking colorspaces.

Node Graph

  • ID 623165 - Add Mask to Node does not work with Multi-Channel nodes.

Performance

  • 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.

Rendering

  • ID 617119 - Canvas and swatches fail to render correctly, displaying as black on systems utilizing AMD Pro GPUs.

VFX Reference Platform CY2025

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.14 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

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 11 64-bit
  • Linux 64-bit operating system (Rocky/RHEL 9)

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

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

HP Dell Lenovo
HP XW6600
HP Z600
HP Z620
HP Z640
HP Z8 G4 Workstation
Dell Precision 7820 Lenovo P620

Tested GPU Hardware

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