Search Tips

Search is based on keyword.

`Ex: "Procedures"`

Do not search with natural language

`Ex: "How do I write a new procedure?"`

Give Feedback Support Portal

# Release Notes for Nuke and Hiero 16.1v2

# Release Date

16 April 2026

Note: As part of addressing a security issue, we have back-ported a fix that is unfortunately not compatible with the legacy OFX versions of Denoise and OFlow. As a result, these plugins have been removed from Nuke 16.1 and 17.0 on all platforms and will no longer be available.
Customers should switch to using the newer GPU accelerated versions of Denoise and OFlow (already available in the Nodes Toolbar and Node Graph Tab menu).

# Feature Enhancements

## Timeline

- ID 586854 - Added the ability to Pythonically differentiate between user selected track items and auto selected track items. To determine within the TimelineEditor if the current selection came from Auto-selection or not.

# Bug Fixes

## 3D

- ID 154775 - Setting USD/FBX/ABC paths within Camera and Axis Nodes with Python now updates the knobs before the GUI is opened.

- ID 525607 - Camera3 node renders incorrectly when changing the frame rate for alembic/abc files and using read from file

- ID 612782 - Textures now update correctly if an Expression node is being driven by an expression involving a user created knob.

- ID 613656 - The Authoring icons are no longer blurry on high resolution displays.

- ID 615889 - Camera3/Camera4 "Translate v" knob value is not preserved after exporting and reimporting as USD or Alembic

- ID 616522 - USD Asset Resolvers work in 3D node path knobs

## Annotations

- ID 611592 - Annotations panel background colors, that can be set with python scripting, has a new, less intrusive, design.

- ID 614098 - Ctrl/Cmd+Enter to close comment/note editing works when drawing is on

- ID 616567 - Text Annotation scale handles adjust correctly when the text box has been rotated.

## Camera

- ID 616671 - Nuke no longer crashes when connecting Camera4 to a Unreal Reader node

## Colorspace

- ID 541715 - Fixed Nuke not loading the saved view transform for some display devices - ACES 1.3

- ID 585204 - The OCIO Display node's "view" and "display" knobs can reset when the OCIO config is reloaded

- ID 606354 - Write/OCIODisplay nodes fail to load its ocioview knob if the view does not exist in the first display space's view options

## Documentation

- ID 607425 - Renamed 'nuke.removeValidateFilename' function to 'nuke.removeFilenameValidate' in the docs, reflecting the function's real name

## Exporting

- ID 614234 - Fixed issue where exporting a sequence with a custom start frame could lead to incorrect results when there are linked track items or effects.

## File Export

- ID 613236 - Instability when exporting high-resolution Notch Files

## File Formats

- ID 612859 - Nuke now no longer loads FFMPEG versions installed for other applications on windows, it will only load the version of FFMPEG installed in the build or shipped with FileIO

## Filters

- ID 613830 - The Bokeh node crash Nuke when the Focus Region Size is above 200 and the depth channel has higher contrast

## Graph Scope Variables

- ID 602745 - If inherited variable type is a list it can't be changed to a string

- ID 612232 - The OCIO config file does not update when using Graph Scope Variables and changing the GSV filepaths in Nuke.

- ID 613958 - Changing gsv name causes new inherited variables to be created

## Knobs

- ID 597820 - Nuke crashes when performance heavy calls are running and dynamic knobs are used

- ID 614737 - Knob Expressions no longer display in the tooltips.

## Miscellaneous

- ID 614813 - Tracker nodes return "Reading keyframe previews…" messages when rendering via Terminal mode

## Monitor Out

- ID 614220 - When monitor out is on, undoing annotation brush strokes is now possible.

## Node

- ID 615900 - Decimal place positions are not preserved when incrementing/decrementing knob values

## Node Graph

- ID 616405 - Cancelling the 'Save As' popup will not clear the Nuke script.

## Python

- ID 533081 - Nuke crashes when setValue() is used on a Shuffle node's mappings knob from a custom Python panel

- ID 610998 - Nuke crashes when calling execute on a Curve Tool from a Tab menu custom action.

- ID 612843 - Adding an empty TrackItem to a VideoTrack using the Python command addTrackItem no longer crashes Nuke Studio/Hiero

## Timeline

- ID 607979 - The Viewer Info Bar timecode stopped updating when modifying a TimeWarp soft effect. This has been fixed.

- ID 611674 - Create Special Comp export no longer errors when handles are used with Collate Shot Timings enabled in Nuke Studio.

- ID 614344 - The animation for transition curves is now preserved when copying them on the timeline.

## Viewer

- ID 614783 - Resolved an issue where the Viewer Overlay warning would only trigger once per session.

## Windows

- ID 598448 - Nuke window icon/taskbar icon doesn't appear until selecting node graph - Windows

# Known Issues

## 3D

- ID 582327 - The order of errors displayed in the viewer does not match the order of nodes erroring in the Node Graph

- ID 599250 - Overlapping items in the 3D viewer can display incorrectly when scrubbing through the timeline, ocassionally appearing slightly displaced

- ID 601196 - Materials are not appearing in the 3D viewer after deactivating and re-activating its materials parent scope using a GeoActivate node. To workaround, deactivate the material path directly or use the {isa:Material} mask pattern used in the "All Materials" mask option.

- ID 601279 - Snapping the GeoTransform's pivot to a bounding box sets the handles into the wrong place depending on the prim transform order knob setting

- ID 602910 - Separate EXR AOV files will not work with GeoPoints

- ID 602975 - GeoPoints mat input does not use texture coordinates

- ID 603091 - GeoImport frame range knob doesn't affect animated alembic files

- ID 603322 - GeoPointsToMesh materials are loading incorrectly

- ID 603629 - Cone softness and angle handles can be pushed past their intended value limits with expressions causing them to become unresponsive

- ID 603658 - 3D Viewer renders incorrectly when using RGB channels

- ID 604478 - GeoActivate's preset mask path options currently does not re-activate de-activated prims

- ID 604715 - Resetting deactivated payloads in the GeoImport node generates a lot of Console error messages

- ID 604885 - Projections can disappear from the 3D viewer when a FillShader is connected to another part of the scene

- ID 605111 - GeoImport scene graph options can be slightly delayed when toggling

- ID 605314 - Creating a Scene+ only connects the Camera to the ScanlineRender2 node and connects the GeoScene node to the Cameras 'scene' pipe

- ID 605741 - GeoEditCamera's 'Horizontal/Vertical Offset' knobs produce different results than the Camera nodes 'Window: Translate (u, v)' knobs

- ID 606346 - WireframeShader render results can be incorrectly affected by lights in the scene

- ID 606537 - When texture wrap mode is set to repeat it is not rendered by ScanlineRender2

- ID 606740 - The PreviewSurface node is not reflecting material colours

- ID 606741 - GeoTransform 3D hotkey handles do not take precedence over an open text node

- ID 607127 - Node graph navigation performance slows down when GeoBindMaterial is connected to a second viewer on MacOS

- ID 607218 - Popup scene graph for mask inputs can show prims that only exist further down the node graph

- ID 607366 - GeoImport can display an incorrectly scaled camera locator with certain scenes

- ID 608104 - GeoMerge isn't updating material binding paths

- ID 608232 - Geo nodes that generate meshes have authoring knobs

- ID 608460 - Nuke may slow down briefly when creating or deleting nodes with masks set to All Prims on large stages

- ID 608549 - Adjusting the GeoCameraTracker point size knob can cause small delays if the viewer is connected to ScanlineRender2

- ID 608700 - Hydra Viewer premults textures without a premult node

- ID 608924 - PointsGenerator removing connected Camera from dropdown menu

- ID 609164 - Swapping the A and B pipes of a GeoMerge with two GeoImport attached doesn't swap around their load rules, causing payload update issues.

- ID 609223 - GeoImport gives unimformative errors when importing an obj file

- ID 609316 - Materials stay deactivated in 3D viewer after reactivating materials scope in Viewer scene graph

- ID 609428 - Meshes have added xform parents after exporting to alembic

- ID 609561 - Camera Randomly Draws in Different Location While Manipulating Z-Far Knob on DeepCrop Node

- ID 609604 - The 3D viewer now retains the selected and active camera throughout timeline playback, regardless of Deep Node activity.

- ID 609832 - Scene graph override indicators did not sync between multiple Viewers

- ID 609993 - ScanlineRender2 doesn't apply subdivision when set on the mesh prim

- ID 610038 - Geo vertex/face selection persists after node is deleted

- ID 610149 - The emissive output of the PreviewShader was inconsistent between Hydra and SLR2

- ID 610265 - Points input label of GeoPoints node sometimes moves away from input when the changing zoom level of the node graph

- ID 610766 - MtlXStandardSurface node causes Nuke to briefly hang when updating

- ID 610817 - Activating and Deactivating prims in GeoImport can lag and increases RAM usage

- ID 610818 - Activating and Deactivating prims in GeoImport can cause GL errors and crash Nuke if the asset being loaded exceeds the RAM available on a machine

- ID 611614 - The Wireframe shaders operations for over and modulate display the same

- ID 611771 - Clearing cache frame holds ScanlineRender2 output if it has specific animated texture (animated Roto or GridWarp)

- ID 612087 - DirectLight is not illuminating an asset with BasicSurface material applied in the Hydra Viewer

- ID 612134 - Basic surface effects grid and light locator colours.

- ID 612191 - Camera position jumping around when changing Knob on Deep Nodes

- ID 612583 - Viewer performance improvements while manipulating Gaussian Splats and other 3D nodes.

- ID 612633 - When the default GeoPoints node is given the src input of a GeoSphere the node will error

- ID 612791 - Unloading a payload does not remove the unloaded items from GeoImport scene graph

- ID 612804 - The "Select all search items" option in the GeoImport Scene Graph doesn't update graph depth

- ID 612805 - Decreasing Graph Depth expands branches that were collapsed

- ID 612857 - Cyclical USD import error disappears when nodes are created below the GeoImport or GeoReference nodes

- ID 613082 - Whilst selecting prims on lights, they may not update in the viewer.

- ID 613152 - Geometry created with Nukes 3D geometry nodes are not automatically selected in the viewer or scenegraph on creation

- ID 613214 - 3D Errors don't show in 2D viewer with Scanline Render on script load

- ID 613263 - Scenegraph controls can become unresponsive after switching viewers

- ID 613471 - GeoImport error disappears after frame change

- ID 613472 - Deleting GeoImport node doesn't clear memory immediately.

- ID 613514 - PreviewSurface will error when a texture input is connected

- ID 613586 - Expression links can break when updating knobs on expression linked nodes

- ID 613661 - Adjusting mesh topology doesn't update the selection outline in 3D viewer

- ID 613909 - When you have a frame held/time offset Camera connected to GeoScene in the new 3d system, the time node now correctly effects the camera injected into the USD scene.

- ID 613932 - Automatic keyframes no longer added on the Error Per Frame knob unless explicitly requested by the user

- ID 613987 - Animated camera locators in the 3D viewer will break when connected to a enabled Framehold node inside a disabled group

- ID 614085 - Animated projection using Project3DShader will break when a disabled Framehold node is removed. As a workaround, disconnect and reconnect the camera.

- ID 614219 - EnvironmentLight node errors when added to the Group

- ID 614388 - GeoActivation Scenegraph 'collapse all' cannot be undone

- ID 614497 - 3D Viewer selection works only for B input of GeoMerge node set to duplicate prims

- ID 614511 - SLR2 may inconsistently display/render the currently selected texture from a Switch node

- ID 614624 - Deviating from the Camera position and reselecting the 3D camera will not reframe the shot

- ID 614669 - Playback Hangs After Disabling and Removing 2D Node Downstream of TimeOffset

- ID 614678 - When shift selecting any geo modify node when having other nodes selected, Nuke selects all geo create nodes upstream of the Viewer

- ID 614914 - Materials don't display if they are de/reactivated in Scene Graph

- ID 614916 - GeoBindMaterial can't be deselected via nodegraph if material selected in scenegraph

- ID 614930 - Whilst using GSV's in conjunction with lights, some sliders may not update.

- ID 615013 - GeoActivation affects Camera branched out upstream in the node graph

- ID 615032 - Animations on 2D nodes may behave incorrectly when connected to AppendClip.

## Annotations

- ID 605024 - Annotation UI panel can lose it's structure

- ID 606420 - Brush strokes do not build up on self-overlap. You must apply multiple strokes to achieve a buildup effect

- ID 606536 - Horizontal toolbar doesn't scale down well when reducing the horizontal space available for it

- ID 606589 - Python API allows creating annotations with a negative duration

- ID 606901 - Colour Picker sample region cannot be moved when annotations are active

- ID 607584 - Modifying annotation properties using Python API does not update the viewer instantly

- ID 607590 - Undo functionality is currently not supported for modifications to annotation drawings properties.

- ID 607946 - Sync Session can crash when Force Update is pushed to different OS's than host

- ID 607967 - Duplicating a clip creates duplicate annotations in the timeline and panel, causing inconsistent functionality

- ID 608354 - Strokes generated via Python render one pixel thicker on Windows and Linux

- ID 608613 - Timeline markers do not update to reflect Annotations panel filter changes until the mouse hovers over the timeline

- ID 608873 - Annotations drawn on the B buffer remain associated with that buffer after disabling compare modes, making them inaccessible

- ID 609499 - Annotation filter stays on "Current Clip" when returning to sequence

- ID 609500 - The "Current Clip" filter in the Annotations panel is inconsistent and may not display all markers

- ID 609534 - Annotation export renders all tracks despite 'Tracks for Export' selection

- ID 609541 - Annotation export ignores cut length settings

- ID 610225 - Creating a new annotation generates two undo steps (one for the item, one for the stroke), requiring the user to undo twice to revert the action.

- ID 610322 - Shift+drag to scale the brush tool only goes as small as 2 pixels and as large as 2000. You can type in the tool bar to get lower or higher values.

- ID 610385 - Exporting a Nuke Annotation File takes as long as rendering the annotation's defined duration, even if you drew nothing on the screen.

- ID 610392 - All Annotation Comments have the 'Edited' label, even if they're fresh

- ID 610719 - Vanishing Brush over Sync Review degrades in client-side responsiveness as stroke length increases

- ID 610845 - Annotations created while viewing the B buffer are not visible during the drawing process; switch to the A buffer to view the strokes.

- ID 610969 - Creating an annotation via Python does not carry over to the client in a sync session. You can workaround this by forcing an update using `hiero.syncreview.connectionManagerInstance.pushSession()`.

- ID 611248 - It is possible to change brush settings using python for locked annotations (also possible through python).

- ID 611255 - It is possible to lock or unlock annotations using python. However, this behaviour doesn't sync over sync review sessions.

- ID 611297 - Using Python you can add other metadata such as usernames to comment and notes, however they don't sync over Sync Review without refreshing.

- ID 611302 - Metadata can be set using Python on any comments or note on a clip. However, once metadata is set, it cannot be unset.

- ID 611335 - (Windows) Text Annotation can shift above its background

- ID 611591 - Viewer Annotations markers are slow to update when moving the playhead

- ID 611605 - Clicking out of a Text Annotation no longer leaves you with a broken Select Tool.

- ID 611730 - When making a selection in a comment or note, the panel won't automatically scroll to accommodate text that's off screen

- ID 612964 - Comments/Notes can trigger viewer playback shortcuts when aggressively typing (J,K,L))

- ID 613243 - No clip level annotation markers are visible for single frame footage

- ID 613349 - Annotation Markers do not update correctly for clips that have been cut into different shots when the Current Clip filter is applied

- ID 613354 - Single frame annotation markers can be dragged outside the Sequence time making it impossible to get back if it reaches negative values

- ID 613355 - Focus does not stay in Annotations panel after editing comment or note text

- ID 613601 - Editing an annotation with the PythonAPI, when the Panel is hidden, causes a panel layout issue

- ID 613613 - Playback will not show annotations if they're too slow to cache

- ID 613697 - Clip Annotations are no longer duplicated in the Panel when a clip is split

- ID 613855 - Undoing annotations during sync review can have a build-up of unwanted annotations for client side

- ID 613884 - Create Comp no longer puts Annotations on the wrong frame in the Node Graph if the clip is the moved

- ID 613988 - Sequence Level annotations are not exported if a Clip Level annotation is in the frame

- ID 614072 - Overwriting a CreateComp re-renders the annotated frames

- ID 614339 - Annotation markers won't necessarily appear where you'd expect them if there is more than one copy of that clip on the timeline.

- ID 614341 - Cancelling a comp that has annotations will lead annotation node to an error'd state

- ID 614380 - Zooming in and out quickly no longer leaves ghost images of the viewer when annotations are enabled

- ID 614934 - Focus no longer switches away from Annotations panel after closing a comment/note text box

- ID 616771 - Annotations Toolbar buttons doesn't much behavior with other Toolbars like the Roto

- ID 616773 - Scaling multiple annotations in the viewer is not intuitive

## BlinkScript

- ID 606124 - OpenCL GPU on Windows outputs grey instead of black on CPU/CUDA

## Colorspace

- ID 613757 - 8-bit and 16-bit default LUT settings are swapped/incorrect with 2.x.x ACES OCIO configs.To workaround this you can manually swap these defaults to their previous values. This can be done via the Preferences or as knob defaults.

## Contact Sheet

- ID 602881 - Creating a Contact sheet and adding all clips can give the error 'Bad value for view' in the terminal

## File Formats

- ID 610833 - NotchLC sometimes exports files with artefacts

- ID 615898 - The alpha channel is always solid white when a MOV is exported using ProRes 4:4:4:4 codecs

## Gaussian Splats

- ID 615111 - Changing value of FieldConstant connected as mask to GeoDeletePoints crashes Nuke

## Graph Scope Variables

- ID 608572 - Renaming a Regular Group nested in a VariableGroup, won't update in the Variables tab

- ID 612465 - The 3D System does not work with VariableGroups with multiple differing variable values in the same node graph

## Node

- ID 616767 - Camera4 doesn't automatically evaluate expressions on its file knob

- ID 617341 - ModelBuilder geometry and other UI elements are not displayed in the Viewer when there is a src input, and 'Show Source Image' is enabled

## Quick Export

- ID 605191 - There can be color differences between Quick and Custom export

- ID 605194 - Exporting to Apple Prores 444 XQ with default value in Quick Export can produce a cropped output

## Shortcuts

- ID 607974 - Backdrops can not be created in a group with the shortcut key

## Timeline

- ID 608402 - Although the "New Track(s) from EDL/XML/AAF" dialog accepts OTIO files, the specific "New Track from OTIO" option should be used for this format.

- ID 617697 - Dissolve transition does not carry over animation to comp node

# Qualified Operating Systems

- macOS Sequoia (15.x), or macOS Tahoe (26.x)

- Note: Nuke 15.0 and later support Apple's silicon hardware.

  For more information on Foundry products and supported macOS versions, see Foundry Knowledge Base article
  Q100592.

- Windows 11 (64-bit)

- Linux Rocky 9.0 (64-bit)

  Nuke requires libnuma to run under Linux distributions, the library is required by the Nablet H264 Codec SDK.

  The currently supported version of VFX Reference Platform includes library versions that are only compatible with Rocky 9.0.

Other operating systems may work, but have not been fully tested.

## Requirements for Nuke's GPU Acceleration

If you want to enable Nuke to calculate certain nodes using the GPU, there are some additional requirements. See the Release notes for full details of requirements for GPU acceleration based on your Nuke version.

### NVIDIA

An NVIDIA GPU with graphics drivers capable of running CUDA 11.8, or above. A list of the compute capabilities of NVIDIA GPUs is available at https://developer.nvidia.com/cuda-gpus

The compute capability is a property of the GPU hardware and can't be altered by a software update.

With graphics drivers capable of running CUDA 11.8, or above. On Windows and Linux, CUDA graphics drivers are bundled with the regular drivers for your NVIDIA GPU. Driver versions 522.06 (Windows) and 520.61.05 (Linux), or above are required. See https://www.nvidia.com/Download/Find.aspx for more information on compatible drivers.

We recommend using the latest graphics drivers, where possible, regardless of operating system.

### AMD

Bitwise equality between GPU and CPU holds in most cases, but for some operations there are limitations to the accuracy possible with this configuration.

- On Windows and Linux, an AMD GPU from the following list:

  Other AMD GPUs may work, but have not been fully tested.

  - AMD Radeon PRO W7900

  - AMD Radeon PRO W6600

  - AMD Radeon PRO W6800

  - AMD Radeon Pro W5700

  - AMD Radeon RX 6800 XT

  For information on the recommended driver for each GPU, see https://www.amd.com/en/support

- On Mac, integrated AMD GPUs are supported on the following Intel CPU Macs:

  - Any late 2013 Mac Pro onward (including 2019 Mac Pro),
  - Mid-2015 MacBook Pros onward, and
  - Late 2017 iMac Pros onward.

  All supported Mac Pros include a multi-GPU support option, where applicable. Bitwise equality between GPU and CPU holds in most cases, but for some operations, there are limitations to the accuracy possible with this configuration.

  Although AMD GPUs are enabled on other Mac models, they are not officially supported and used at your own risk.

### Multi-GPU Processing

Nuke's GPU support includes an Enable multi-GPU support option. When enabled in the preferences, GPU processing is shared between the available GPUs for extra processing speed.

Multi-GPU processing is only available for identical GPUs in the same machine. For example, two NVIDIA GeForce GTX 1080s or two AMD Radeon™ Pro WX 9100s.

## GPU Requirements for the Machine Learning Toolset

Training using the CopyCat node requires an NVIDIA GPU, with compute capability 3.5 or above; or MacOS Apple silicon integrated GPUs.

If an appropriate GPU is not available, Inference and other machine learning plug-ins can run on the CPU with significantly degraded performance.

## Apple M Series

Native support for Apple silicon hardware began with Nuke 15.0 and later versions. The following machines has been tested.

- Mac Pro
- Mac Studio
- Mac Mini
- MacBook Pro

WARNING: Although AMD GPUs are enabled on other Mac models, they are not officially supported and are used at your own risk.

Note: For Nuke 14.1 and earlier, Nuke is supported under Rosetta emulation on Apple silicon hardware. For the latest and most detailed information on GPU acceleration requirements for your specific Nuke version, always refer to the official release notes.

# Developer Notes

As Nuke develops, we sometimes have to make changes to the API and ABI under the hood. We try to keep these changes to a minimum and only for certain releases, but from time to time API and ABI compatibility is not guaranteed. See the following table for the situations when you may have to recompile your plug-ins and/or make changes to the source code.

Release Type | Example | Compatibility | Recompile | Rewrite
--- | --- | --- | --- | ---
Version | 14.0v1 to 14.0v2 | API and ABI |  |
Point | 14.0v1 to 14.1v1 | API | ⬤ |
Major | 14.0v1 to 15.0v1 | - | ⬤ | ⬤

Additionally, node Class() names occasionally change between major releases. While these changes do not affect legacy scripts, you may not get the results you were expecting if a node class has been modified. The toolbars.py file, used to create Nuke's node toolbar, contains all the current node class names and is located in <install_directory>/plugins/nukescripts/ for reference.

As an example, between Nuke 13 and Nuke 14, the Axis node Class() changed from Axis3 to Axis4. In the toolbars.py file for the two releases, the entries for the Axis node appear as follows:

    m3Dclassic.addCommand(
        "Axis",
        "nuke.createNode(\"Axis3\")",
        icon="Axis.png",
        tag=MenuItemTag.Classic,
        node="Axis3",
        tagTarget=MenuItemTagTargetFlag.TabMenu)

    m3D.addCommand(
        "Axis",
        "nuke.createNode(\"Axis4\")",
        icon="Axis_3D.png",
        tag=MenuItemTag.Beta, node="Axis4")