Release Notes for Nuke and Hiero 17.0v5

Warning:  Unfortunately a serious bug was found, shortly after this maintenance build was released, that means external plugins will not work. We apologise for any inconvenience caused and we are currently working on getting a new build released with this issue fixed as soon as possible.

Release Date

06 October 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

LiveGroups

  • ID 610349 - Added the --all modifier to the -x command line flag. Running -x --all now renders all Write nodes across all LiveGroups and Precomps, including those nested within each other.

Timeline

  • ID 349094 - It is now possible to copy and paste offline items.

Bug Fixes

3D

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

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

  • ID 620119 - Live read Camera doesn't reload data after scrubbing outside of frame range

  • ID 620244 - GeoCamera nodes inside LiveGroups load without any errors

  • ID 620487 - GeoImport doesnt always update when changing file

  • ID 621744 - Lights with ShadowAPI attributes do not display correctly in the 3D viewport

Annotations

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

  • ID 618443 - Shapes and paint strokes flicker while scrubbing in a Sync Review session

BlinkScript

  • ID 618775 - An error appears in the Error Console when loading a Blinkscript library file in Nuke.

  • ID 624068 - The BlinkScript find function and user selection highlights are the same colour

Camera Tracker

  • ID 624724 - Animation keyframes are missing when importing Tracker node tracks using the CameraTracker in Nuke

Colorspace

  • ID 532365 - Custom OCIO configs give errors when using environment variables or relative paths

  • ID 605403 - Nuke crashes when rendering a flipbook, if you have an invalid OCIO config set in your Project Settings

  • ID 620185 - With some OCIO configs, knobs on the OCIODisplay node can change unexpectedly when rendering multiple Write nodes.

Documentation

  • ID 606546 - Various links are broken when viewing the Nuke Development Kit reference page online

Node Graph

  • ID 562473 - Branched Time nodes evaluate even while disabled, making the UI slow or hang when opening the Properties of certain upstream nodes

  • ID 599285 - The nodes move to the top of the Node Graph when expanding/maximizing the panel

  • ID 624170 - Nuke crashes when clearing the script after adding layers with "add_layer" in the Node Graph.

  • ID 624960 - Nuke crashes when .nk scripts containing Primatte nodes are cleared or closed

  • NUKE-20744 - Nuke scripts with Primatte nodes can crash after rendering on Linux

OpenTimelineIO

  • ID 624549 - Asset file paths relative to the OTIO file location are now resolved during conform.

  • ID 624551 - Soft Effects relating to OCIO imported via OTIO are now resolved on import, rather than requiring a project reload.

Performance

  • RES-3003 - VRAM usage with Inference nodes increases/leaks with no way to clear it.

Python

  • ID 158083 - BackdropNode.selectNodes() and BackdropNode.getNodes() don't work in Terminal mode

  • ID 617159 - ocionuke.config.getOCIOConfig() does not account for Path Substitutions or Filename Filters

  • ID 618635 - Adding knobs via Python (node.addKnob) cannot be added to the undo stack

  • ID 618777 - A crash occurs when clearing or reopening a script with a Viewer connected to a GeoPython node in Nuke.

  • ID 619647 - When the Write node 'channels' knob is changed, the Writer does not get a knob_changed() callback.

Soft Effects / Transitions

  • ID 360646 - The TimeWarp Soft Effect does not render all necessary frames when Exporting if Retimes are not applied

Timeline

  • NUKE-20865 - Nuke Studio 10-second interface freezes during timeline playback in some remote Linux setups.

  • NUKE-21125 - Incorrect OFlow retime values in comps exported from retimed shots with handles, when Collate Shot Timings is enabled

Known Issues

3D

  • ID 595605 - The GeoConstrain node and Lookat pipe can have odd handle behaviour when moving constrained objects

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

  • 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 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 606289 - WireframeShader's line widths are not legible by default on larger geometry meshes

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

  • 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 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 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 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 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 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 613214 - 3D Errors don't show in 2D viewer with Scanline Render on script load

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

  • ID 613548 - A primvar can be incorrectly transformed across spaces

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

  • ID 613667 - GeoImport Node Added from 3D Toolbar to Scene Branch Causes Corrupted Render

  • 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 614261 - 3D Viewer Displays Incorrect RGB Values (Low RGB Produces Bright Output)

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

  • ID 614439 - Using box selections or lasso selections sometimes misses the Geo from the selection

  • 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 614696 - The Classic and new camera nodes, matrix field now turn blue to indicate it is expression-driven (consistent with previous versions ).

  • ID 614786 - 3D Nodes like GeoInstance and GeoConstrain will bind together when selected in the DAG

  • ID 614896 - Project3DShader fails to compile GLSL Shaders

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

  • ID 615326 - GeoMerge duplicate in place still duplicates whole heirarchy

  • ID 615776 - GeomOp using Op::Description (rather than GeomOp::Description) crashes in non-obvious way

  • ID 616042 - ScanlineRender2 doesn't take into account alpha when rendering data passes like depth and sample

  • ID 618107 - Materials are not bound to the entire asset in some circumstances.

  • ID 618173 - When using a DeepMerge node to combine outputs from a SplatRender and ScanlineRender2, the geometry rendered by ScanlineRender2 appears in the incorrect location

  • ID 620290 - In some cases the lighting in the 3D viewport can appear significantly overexposed when compared to the output of ScanlineRender2

  • ID 622295 - Transforming large USD asset can cause Nuke to crash when playing back

  • ID 622380 - Importing a USD file which contains a proxy object results in a lot of errors in command line

  • ID 623626 - Dragging expressions to individual elements of the positional attributes in the camera properties with authoring enabled causes other elements lose their expression

  • ID 624379 - Camera extents can become exaggerated when using pan/zoom/tilt of the default camera in the 3D Viewer

Annotations

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

  • 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 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 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 610392 - All Annotation Comments have the 'Edited' label, even if they're fresh

  • 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 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 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 613855 - Undoing annotations during sync review can have a build-up of unwanted annotations for client side

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

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

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

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

  • ID 618360 - Text annotations on Locked annotations can be edited

  • ID 618489 - Notes on Locked Annotations can be deleted in the UI, but reappear after the Annotation is unlocked

  • ID 624702 - Annotation Panel selection does not work as expected when there duplicate shots with clip-level annotations in a sequence

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.

File Formats

  • ID 619032 - Missing YCBCr matrix knob in quick export

  • ID 622850 - Reading EXRs from Networked locations can take substantially longer than previously

  • NUKE-25121 - An "Unable to run decoder" error occurs when reading some EXRs

  • NUKE-25234 - Nuke 17 reads EXR files slower than previous releases on Windows

Gaussian Splats

  • ID 610189 - The 3D Grid in the Nuke 3D viewport is always drawn over the top of the Gaussian Splats.

  • ID 611495 - SplatRender output may appear blurry in some circumstances when compared to the 3D viewport rendering.

  • ID 611708 - Splats and transparent geometry don't blend correctly in the viewer. The geometry will hold the splats out.

  • ID 611885 - No error is displayed when attempting to modify a non-existent Attribute with the GeoFieldSet node.

  • ID 612505 - The viewer overlay for Vector Fields doesn't pan when the Viewport Camera pans

  • ID 612563 - Motion blur is incorrect when the Deep Alpha Threshold knob is set to greater than 0

  • ID 612709 - Warnings about OrthogonalizeBasis can appear in the Terminal when importing splats.

  • ID 612954 - Error: Failed verification: ' primInfo ' is printed to the Terminal

  • ID 613216 - High memory usage while changing frames with very large splats that have been transformed.

  • ID 613290 - The value knob in the FieldConstant node will sometimes default to uninitialised variables

  • ID 613627 - Executing FieldVolumeWrite [LABS] crashes Nuke when Voxel size is set to 0.1.

  • ID 614898 - FieldTransform uses the old snapping knob

  • ID 616420 - Default prim causes only that prim to export

  • ID 620177 - High memory usage while using GeoGrade

  • ID 622771 - Loading very large splats may cause Nuke to lockup and crash depending on the amount of memory available in your system

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

Live Groups

  • ID 624884 - Pythonically created LiveGroups with more than two nodes breaks the Node Graph when the user drags and drops said LiveGroup.nk file on to the Node Graph

  • NUKE-20993 - The Input order of Group/LiveGroup nodes is not consistent when Undoing a deletion

Node Graph

  • ID 624543 - "A PythonObject is not attached" error occurs when deleting a custom gizmo, undoing the deletion, then clearing/closing the script

Performance

  • ID 617000 - Nuke is slower to read/write exr files to the network on Windows than Linux on the same hardware

  • ID 625094 - Playback of cached frames is worse when viewed from a ModifyMetadata node

Quick Export

  • ID 595516 - Crash after In and Out points range set on empty frames

  • ID 598153 - Error messages when rendering h264 with a high framerate are unclear

  • 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 within a group node 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 617107 - The Viewer in Nuke Studio/Hiero can become non-functional after waking from sleep

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

Nuke 16.1 requires an NVIDIA GPU with graphics drivers capable of running CUDA 11.8 or above

Nuke 17.0 requires an NVIDIA GPU with graphics drivers capable of running CUDA 12.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.

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

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")