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 17.1v1

# Release Date

20 August 2026

# New Features

## 3D

### Hydra 2.0

The update to hydra 2.0 supports a wider range of Hydra delegates directly in Nuke. You can now:

- Assign a delegate of your choice directly in the viewer

- Set the Display AOV which will update the display of the 3D viewer so you can preview channels like depth and position

- Manipulate render settings for your delegate purely in the viewer

A new GeoRender has been added allowing you to:

- Output Delegate passes directly in Nuke

- Apply the Render settings available in your delegate to your rendered output.

- When in Legacy mode, the outputs displayed are given by the hydra defaults.

- When in the new auto apply schema mode, implemented by delegates such as Pixar's Renderman, the default render settings and outputs displayed will be dictated by the config in your USD scene.

We've also introduced a nodal Render settings workflow that allows you to build the settings that will drive the population of your Settings and Outputs in the GeoRender node. These will be applied whether or not you are working with Auto Apply Schema and means that any settings from your Delegate can be manually added in Nuke.

- GeoRenderSettings - Allows users to set renderer-specific settings such as "max bounces". It also specifies which Render Product will be used by the renderer

- GeoRenderProducts - Specifies a collection of RenderVariables the delegate will output

- GeoRenderVariable - Specifies individual renderer outputs, such as a given AOV like depth or beauty

The Nuke 3D Viewer has been refined to better support 3D workflows with more intuitive controls.

- Display menu options give more granular control over your viewer display properties without opening the viewer panel. This includes your USD display purposes, Light setup controls and 3D view options.

- Updates to the 3D Toolbar give quick access to your common view options, like Lights, the viewer headlamp, geometry and the 3D grid options that can be toggled on and off without opening the 3D viewer properties.

- The transform options have been condensed into two toggles that allow you to set your Transform space and transform tools.

### Export only your Nuke changes

Nuke now empowers artists with non-destructive USD export workflows, allowing you to explicitly define sublayers, export specific scene modifications as lightweight "overs", and reliably preserve existing composition arcs from imported stages. This update transforms Nuke into a fully collaborative 3D hub by eliminating the need to destructively flatten scenes, enabling seamless round-tripping with other departments.

### ScanlineRender2 cutout support

ScanlineRender2 now supports new cutout controls available on a number of surface shaders. Cutout turns objects into a formal holdout and also produces a holdout of the alpha and respects surface opacity.

- Surface shaders (BasicSurface, ReflectiveSurface, SurfaceOptions) and co shaders (FillShader, ConstantShader) have cutout controls ‘Cutout Enable’ and ‘Cutout Data Aovs’

- Object opacity affects alpha and coverage channels, but not data aov's like normals and depth as sometimes you need to keep aov's like depth to perform Z merging (enabling ‘Cutout Data Aovs’ will also remove these data channels)

## Gaussian Splats

### Prepare a sequence of Splats

Support for animated Gaussian splats is now available. The new GeoSequencer node allows you to quickly process a sequence of .USD, .USDC, .PLY or .SPLAT files and output them as a time sampled .USDC file to be manipulated by Nuke's existing splat toolset.

Arbitrary animated attributes will be detected in the input sequence and can be optionally passed through to the generated Value Clip. This allows data such as normals or position to be rendered via SplatRender and utilised elsewhere in your comp.

In addition to being able to utilise Nuke’s powerful toolset the benefit of using a USD Value Clip for animated Gaussian splats is it’s more performant than reading .ply files directly. USDC files are faster to read and can be more memory efficient as the attribute data is loaded as required, not all at once.

The GeoSequencer node currently offers the following options:

- Method - This selects the type of source sequence being read and populates the node accordingly.

- Source Files - Contains the path to the sequence being read.

- Sequence Files - The output path for the generated USDC sequence files.

- Conversion Prim Path - The path of the USD Prim for the generated sequence.

- Missing Parent Type - The type of prim to create for any ancestor prims in the path that don’t already exist.

- Clip Prim Path - This will only be enabled in the case of USD sequences, and allows a user to pick an existing USD prim path.

- Animated Data - Displays the animated attributes found in the input sequence. Use the checkboxes to select which animated attributes you would like to maintain in the generated Value Clip.

- Clip Set - The name for the Value Clip’s Clip Set.

- Output File - The output path for the primary USDC file (a manifest and topology file will also be created here).

- Frame Range - The frame range of the source file sequence. It can be edited to provide a different frame range in the generated USDC sequence.

- Create GeoImport after Generation - Check this to automatically create a populated GeoImport node after the USD Value Clip has been generated.

- Generate Clip - Clicking this will generate the USD Value Clip on disk for use in your composite.

### Export .splat files

It is now possible to export .splat files from the GeoExport node in Nuke. This means that you can manipulate your splat sequences and output them in the format required for use in your wider pipeline.

### Relight your splats through SplatRender

The SplatRender node has been updated to support 2D rendering of Direct, Point, and Spot lights placed in the 3D system. Allowing you to do basic relighting of Gaussian splat scenes and elements for better integration into your comps. While not required for relighting, if normals and position data exists in the Gaussian splat it can be rendered via SplatRender for use elsewhere in your comp.
The following knobs are available In SplatRender to control the light contribution.

- Enable Relighting - Apply lighting and shadows from scene lights to the splats.

- Lights - Set which lights in the scene affect the splats. By default this is set to all Direct, Point and Spot lights.

- Ambient Color - Base light color that fills in areas not reached by any light.

- Lighting Blur Radius - Smooths the final lighting result in screen space while keeping object edges sharp

The Shadow knobs can be used for creative control over the shadows cast by your lights. The following controls are available in the DirectLight, PointLight and SpotLight nodes:

- Strength - How strongly shadows darken the image.

- Softness - How much the shadows edges are blurred from lights point of view.

- Depth Range - How much depth variation is tolerated when computing shadows, in world-space units.

- Onset - Controls how deep into a surface shadows begin to take effect.

- Bias - Offsets the shadow away from the surface to prevent self-shadowing artefacts.

- Resolutions - Controls the detail level of shadow calculations.

- Depth Quality - How many layers of transparency are tracked per shadow pixel.

- Cutoff - How dim the remaining light must get before an area is treated as fully in shadow.

## File Formats

### Control channel use with EXR channel filtering

The EXR reader in Nuke now provides controls for creating expression based channel filters. These knobs in a Read node allow you to manage which channels contained in an EXR should be loaded into the Nuke channel system. This is particularly useful in cases where an EXR has many AOV passes that causes the upper channel limit (1024) in Nuke to be exceeded.

- When reading an EXR the existing behaviour will be maintained if the Nuke channel limit is not exceeded i.e. all channels will be loaded into the Nuke channel system automatically. The channel filtering knobs can then be used to control channel loading if desired*.

- If reading an EXR would result in the Nuke channel limit being exceeded the Read node will go into an error state and a message will be displayed in the Viewer to indicate why. No channels will be loaded into the channel system, allowing you to use the channel filtering controls to decide how to proceed e.g. filtering out a number of unneeded channels.

- The “Edit Filter Masks” button will turn on “Disable Extra Channels”. This ensures channels do not attempt to load while writing an expression. A simple UI displaying EXR channel info will also be shown and will update based on the input expression. The “Finished Editing Filters” button will turn off “Disable Extra Channels” and load the resulting channels into the channel system.

* It is important to note that once a channel has been loaded it is not currently possible to dynamically remove it in the session. This means you could filter out channels in a Read node but see no change in the total channel count in the script. However if you save the script, close and reopen, the filtered out channels will no longer be loaded.

### Support for ARRI Image SDK 9.0.1 and ARRI MXF 4.4.10

The ARRICORE codec adds the Decode Quality knob that combines input binning for ARRIRAW and proxy mode for ARRICORE

### BMD Raw 5.1

This update adds support for new metadata controls and all cameras that export BRAW files since the last SDK update, including Blackmagic Cinema cameras and the URSA series.

### Apple ProRes RAW

The flexibility of RAW video with the performance of ProRes in a format designed for HDR content. Whether working with cinema cameras or high quality iPhone content, you can now read and process this footage directly in Nuke.

## Graph Scope Variables

### Work more intuitively with Graph Scope Variables

The Variables tab in the Project Settings has received a series of improvements to make working with Graph Scope Variables faster and more intuitive. New items are automatically selected on creation, and Variables can now be freely reordered and moved within the tab, with full undo/redo support throughout.

Key improvements:

- Reorder and move variables within the panel via drag-and-drop.

- Undo/redo support for all reorder and move operations.

- Newly created items are automatically selected.

- Group and set ordering is preserved across sessions.

## Annotations

### Annotate with Shapes

Shapes brings professional-grade precision to the annotation workflow, specifically optimized for mouse and trackpad users.

Key benefits:

- Native support for Rectangles and Arrows, accessible via the 'E' hotkey.

- Full transform, rotate, and scale capabilities for every shape without quality loss.

- Total control over stroke width, stroke color, fill color, and fill transparency.

- Quick-toggle 50% transparency or custom opacity for fill.

- Comprehensive Python API support for automated annotation shape workflows.

## Contact Sheet

### Per-Sequence Contact Sheet

Each sequence now has its own Contact Sheet, saved with the project.

- Each sequence in a project maintains its own independent Contact Sheet.

- Switching sequences automatically loads the Contact Sheet for that sequence.

- Contact Sheet contents are saved to the project file when you save.

- Reopening a project restores each sequence's Contact Sheet exactly as it was.

### Overlayed Heads Up Display

The Contact Sheet now displays a Heads Up Display (HUD) overlay on each cell, with configurable content, text size, and colour. The HUD can be toggled on or off from the Contact Sheet panel toolbar.

- Four corners display metadata fields. Default assignments: clip name and version (top left), shot name (bottom left), track name (bottom right), top right empty.

- Available fields per corner: clip name (with or without version), shot name, track name, sequence name, project name, timecode, frame, TCL expressions, or empty.

- Overlay is fixed to the corners and remains readable at any zoom level.

- HUD is on by default. Toggle on/off via a button in the Contact Sheet panel toolbar.

- Preferences: sets user-level defaults for corner content, text size, and colour. Applied to all contact sheets where no project-level override exists.

- Contact Sheet settings (gear icon): per-contact-sheet override for corner content, text size, and colour. Saved with the project file.

- Python API: overrides content, text size, and colour at runtime. Takes highest priority over both Preferences and Contact Sheet settings.

### Tracks Mode

The Contact Sheet now includes a Tracks mode. One click loads all visible timeline tracks as cells, ready to compare (e.g., by department, by version, or any other track structure).

- Click the Tracks mode button in the Contact Sheet to load all visible timeline tracks as cells.

- Tracks are displayed in descending order from the topmost track.

- In Tracks mode, the Contact Sheet, sequence, and sequence viewer are fully in sync.

- Moving the playhead updates all cells simultaneously, showing each track's output at that frame.

- Cut marking (U), loop playback, and next/previous cut navigation are all available in Tracks mode, the same as in the standard sequence viewer.

- Track visibility (on/off) in the timeline is reflected immediately in the Contact Sheet. Turning a track off removes its cell. Turning it on restores it.

- If a track is visible but contains no content at the current playhead position, its cell is present but displays black.

- Shift-H cycles the Contact Sheet between its three modes.

- Exiting Tracks mode returns the Contact Sheet to manual select mode, restoring the previous manual selection.

### Stack View

Stack View is a view state toggle for the Contact Sheet. It allows to compare all cells in one location with easy navigation between the cells. It works on top of whatever content is already loaded in the contact sheet.

- Activate Stack View to collapse the grid to a single cell filling the full panel. Each loaded clip becomes one page. All clips occupy the same position on screen, so your eyes stay fixed while hotkeys do the switching.

- A page indicator in the panel chrome shows your current position (e.g., "4 / 12").

- Use the 1-0 keys on the main keyboard to jump directly to pages 1-10.

- Use next (Shift + }) and previous (Shift + {) hotkeys to step through all pages, including beyond page 10.

- Stack View remembers your last page position. Deactivating and reactivating returns you to the same page.

- Deactivating Stack View returns the Contact Sheet to the grid view in its previous state.

## Timeline

### Improved Scaling Fidelity

High-quality Bilinear filtering is now standard across the Viewer, Monitor Out, and Quick Exports. This ensures consistent, high-fidelity image review from the timeline through to final client deliverables, without compromising real-time performance.

- Replaces legacy transformation filtering with modern Bilinear scaling for smoother, more accurate results.

- Ensures visual parity between Custom Exports, the Viewer and Quick Exports.

- Sequence and export reformat as well as transform soft effects are all using new bilinear filtering.

- Optimized for real-time playback with little to no impact on GPU performance.

## Monitor Out

### Monitor Out Interactive Mode (GUI-Independent Resolution)

This update to Monitor Out ensures that workspace layout does not compromise image fidelity.

- Independently calculates native-resolution output for the broadcast monitor, bypassing the pixel limits of the desktop viewer panel.

- Eliminates "layout-induced blur" on the broadcast monitor when the GUI viewer is small or constrained by other panels.

- Broadcast monitor synchronizes with desktop zoom and pan in real-time.

- Supports independent color transforms for each display, allowing for distinct View Transforms (e.g. ACES, Rec.2020, or P3) on both desktop and broadcast monitors simultaneously.

## Compare

### Compare Versions

Compare Versions extends the A/B viewer to support version comparison without affecting the edit.

- When both viewer buffers are assigned to the same video track, the viewer enters version compare mode. A dotted outline is drawn around the B buffer, overlaying the edge pixel, to indicate it operates independently from the edit.

- Press V after selecting a buffer to open the version selector panel.

- The A buffer behaves as always: selecting a version here updates the version in the sequence.

- The B buffer is independent: selecting a version here does not affect the sequence.

- All existing A/B compare operations — wipe, difference, blend, stack — are available with no additional setup.

## Soft Effects/Transitions

### Burn-In Custom Metadata and Expressions

Burn-In fields take more than the preset metadata list. In any of the six fields you can:

- Type any metadata key the source media carries, beyond the presets

- Enter free text, including TCL expressions evaluated at render, such as `Frame: [frame]` for the current sequence frame number

This makes the burn-in a free-form labelling tool: combine static text with live values, and reference metadata that never appeared in the preset list.

# Feature Enhancements

## 3D

- ID 617345 - Over prims are visible in the scene graph and ScanlineRender2 processes these correctly.

## Gaussian Splats

- ID 614576 - The GeoDeletePoints node has been extended to support fractional masks as a probability of deletion. For example, using a FieldConstant set to scalar mode as the mask input allows you to control the overall density of the splat using the Value slider.

- ID 614577 - Axis and Look inputs have been added to the FieldTransform node

- ID 618781 - SplatRender now includes an Overscan option, providing control over the number of pixels to render beyond the left/right and top/bottom of the format.

## Gizmos

- ID 141607 - Exporting a gizmo now adds the extension .gizmo to the file automatically if it's not present

## Monitor Out

- ID 597862 - Output on monitor out interactive mode is now the full resolution of the original images, making the quality on the monitor immediately better.

## Performance

- ID 445043 - Improve Python node creation performance when thousands of nodes are in the script

- ID 602330 - Improve Nuke script loading/closing performance when thousands of nodes are in the script

## Profiling

- ID 623679 - We have improved the performance of Nuke's run time profiling mode (using -P or the Profile Node). Although there is still an overhead to using the profiler, that overhead is significantly reduced in Nuke 17.1v1. Percentage improvements are highly dependent on the OS and the script being run, but in our testing we've seen between 2X and 15X speed improvements over profiling using Nuke 16.1.

## Soft Effects/Transitions

- ID 161403 - Add the ability to customize key/value knobs of the Burn-In soft effect on the timeline - now possible

# Bug Fixes

## 3D

- ID 526157 - Changing the Viewer's enableTinyPrimCulling and/or maxLights knobs results in an error when the script is reopened or the node is pasted

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

- ID 613514 - PreviewSurface would error when a texture input was connected

- ID 614705 - A shader error is no longer produced when a GeoBindMaterial is supplied with a single matrix instead of an array of matrices.

- ID 616583 - GeoImport doesn't use asset resolver

- ID 616769 - GeoTransform lookAt transform is incorrect

- ID 617519 - Hidden instanced and flattened USD objects are visible with the ScanlineRender2 node in Nuke.

- ID 618363 - Alembic (.abc) files exported with baked transform animations did not display geometry in Hydra when reimported using GeoImport, while ReadGeo worked correctly

- ID 618780 - USD expressionVariables are not evaluated in Nuke.

- ID 619079 - Setting the viewer_world_coordinate_system Preference knob to "Z-Up" produces an incorrect result

- ID 619270 - The vertical Window Translate is incorrect for Cameras imported from third-party DCCs

- ID 619414 - Camera4 incorrectly converts vertical aperture offset from/to USD camera prims into NDC aperture offset by using both the horizontal and vertical aperture size. Because the USD (and Alembic) camera aperture offsets are defined in physical units both X and Y offsets should result in the same distance in Y as it does in X. Therefore the NDC normalization should only be done using aperture width, and the inverse is done when de-normalizing. This results in a uniform 1:1 ratio NDC space which correctly represents the uniform 1:1 ratio of the aperture size units.

- ID 620077 - GeoExport now exports Cameras/Lights/Axes when expected if a GeoBreakLayer node is in the graph.

- ID 620278 - GeoExport's bake transform operation for abc files incorrectly created over prims in the layer to export.

- ID 620482 - Importing an alembic file via GeoImport will now correctly display prim paths as expanded.

- ID 620487 - GeoImport doesnt always update when changing file

- ID 621741 - GeoImport overrides have no effect on ScanlineRender2

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

- ID 621914 - GeoExport file type specific knobs did not keep their value when reloading a script.

- ID 622274 - ABC exporting using GeoExport would result in errors in the terminal.

- ID 622374 - Setting of USD environment variables was creating an alert in the terminal.

- ID 622700 - Infinite Error Popup Loop on .abc (Alembic) Export Failure

- ID 622749 - .abc (Alembic) export failure

- ID 622769 - 2D GeoRender prim/light disabling on USD assets is causing a crash

- ID 624211 - The headlamp is now the correct intensity in the 3d viewer.

- ID 624365 - Default value array knobs with value providers are now correctly not written out when copying a node.

- ID 624586 - Disconnecting and then reconnecting a GeoNode in the graph before a ScanlineRender2 node does not now cause an intermittent crash.

## Annotations

- ID 602674 - The Annotations toggle button in the Monitor Out panel (Interactive mode) previously failed to update the display. This has been fixed, and annotations now toggle on and off as expected.

- ID 619500 - Enabling annotations prevents the fullscreen hotkey (spacebar) from working in the Viewer - now fixed

- ID 621798 - Select tool no longer retains properties from the previously selected annotations tool.

## Compare

- ID 622173 - Adding and adjusting a Softeffect while in Compare Versions doesn't update the clip in the B Buffer

## Contact Sheet

- ID 618356 - Closing the Contact Sheet with Python doesn't close the it's tab/pane/window

## Exporting

- ID 618218 - Quick Export introduced an audible pop/click when using the H.264 codec

## File Formats

- ID 323244 - When using DWAA and DWAB formats for exr compression, only the RGBA channels were compressed and not the other embedded channels

- ID 516035 - Increased memory usage occurs and is not fully freed when clearing the cache after importing and Viewing .ari media files on the Timeline

- ID 533972 - Nuke crashes when reading some .BRAW files

- ID 610833 - NotchLC sometimes exports files with artefacts

- ID 622427 - ProRes 4444 HDR conversion not correct

## Filters

- ID 582686 - The Bokeh node's Focus Region Size affects its result when using Real World Lens Simulation and Depth Style 1/Z

## Gaussian Splats

- ID 613672 - Turning off SplatRender alpha channel will render splats without blending

- ID 613676 - SplatRender can be slow to render if there are a large amount of splats outside of the camera frustrum. It is recommended to remove any unneeded splats with a GeoDeletePoints and FieldShape node.

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

- ID 615324 - Drag and dropping splat and ply files creates GeoReference instead of GeoImport

- ID 618048 - Crash when editing GeoTransform with an Splat while looking at the SplatRender

- ID 619274 - On Linux viewing a splat and placing a PointLight caused immediate crash.

- ID 622490 - SplatRender splats_mask knob pop up scene graph button doesn't work

- ID 623021 - Adding a GeoDeletePoints downstream of an animated splat breaks the animation.

## Graph Scope Variables

- ID 616543 - Nuke crashes when loading a compiled plugin with a Gsv_knob

## Miscellaneous

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

## Monitor Out

- ID 386577 - Quality of Monitor Out drops for B when zoomed out in Viewer or when the Viewer is small

- ID 623547 - Using vanishing tool with Monitor Out window no longer causes colours corruption on MO window when using file with alpha channel

## Node

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

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

## OpenAssetIO

- ID 582341 - Read nodes using entity references with GSVs does not update frame ranges on the UI

- ID 618477 - GSVs/Variables used to resolve OpenAssetIO paths don't work if not set to a valid path in the root node

## OpenTimelineIO

- ID 619514 - OTIO import can crash Studio/Hiero.

## Profiling

- ID 618751 - The Profiling node and Performance Timers use inconsistent time units

## Python

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

## SyncReview

- ID 613681 - Nuke Studio no longer crashes when creating a contact sheet in a sync review session

## Timeline

- ID 552066 - Nuke Studio/Hiero reads H.264 files with an incorrect frame range

- ID 588634 - Timeline Viewers can display incorrect results when Proxy Resolution is 1:1 and the zoom level changes

- ID 621895 - Nuke Studio Clip input transform is different to Nuke behaviour

# Known Issues

## 3D

- ID 618533 - PreviewSurface format is incorrect on all but diffuse input

- ID 618961 - TimeOffset nodes are ignoring Layer Break nodes

- ID 619439 - Copying a Light with Color Temperature enabled, disables the temperature knob after pasting

- ID 619686 - Legacy ReadGeo node is crashing when alembic camera files are added

- ID 620100 - GeoBindMaterial crash when targeting instance

- ID 620496 - Live Read camera state is interrupted and irretrievable by snapshotting frame links

- ID 622142 - Axis ops visible in a viewer connected to a separate stage

- ID 622876 - GeoBreakLayer doesn't work with GeoMerge set to duplicate prims in place

- ID 624228 - Scrubbing the color knob on some GeoLight nodes can cause the output from ScanlineRender2 or SplatRender to get stuck on the wrong color

- ID 624338 - GeomOp errors are not reported when opening a script

- ID 624340 - Crash when loading a script with a GeoPython node that calls nuke.message

## Annotations

- ID 615011 - When Annotations is enabled on the Viewer, using the space bar to expand and collapse the Viewer stops working

- ID 617267 - Shift + Box Selections doesn't add to the current selection

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

- ID 620277 - Annotations are stretched when Sequence has a pixel ratio of 2

- ID 621851 - Arrow keys to change Annotation tool properties requires Shift modifier

## Compare

- ID 620315 - Comparing two clips with a pixel ratio of 2 in horizontal mode has overlapping clips

- ID 622200 - Flip, Flop happens per Buffer instead of per Viewer

- ID 622294 - Switching Sequences while in CompareVersions doesn't switch both Buffers

- ID 624675 - Versions Compare does not show B Buffer Border when opening a clip in Timeline View

## Contact Sheet

- ID 624250 - Moving the In and Out points, displays a preview of the current sequence

- ID 624394 - Enabling Stack View will enter on the same page index that the user is looking at before entering Stack View.

- ID 624436 - Long expressions/text show in full in the Contact Sheet settings drop down

- ID 624808 - Contact sheet in tracks mode is out of sync with sequence if we recycle sequence viewer

## File Formats

- ID 619061 - An error state may persist on a Read node incorrectly after modifying the EXR channel filtering expression

- ID 621742 - In the EXR Channel Filter controls the text on the Finished Editing Filters button is cropped on some displays.

- ID 624208 - Channel filters are not applied when set via Python with a Read properties panel open. As a workaround uncheck "Disable Extra Channels" after setting the Filter Masks e.g. exrReadNode.knob("disable_extra_channels").setValue(False)

## Gaussian Splats

- ID 618115 - TimeOffset nodes cannot be modified in the DopeSheet when connected to the GeoSequencer

- ID 618175 - Attaching GeoViewScene to a node containing a Splat can cause Nuke to crash

- ID 622273 - GeoPointsToMesh doesn't support splats or normals attributes

- ID 624754 - SplatRender does not support all camera projection modes in the Camera node

## Hydra

- ID 624310 - Having two Renderman Hydra delegates in your scene can cause Nuke to crash, even if they are not active at the same time

## Hydra 2.0 Rendering

- ID 624356 - RenderMan XPU crashes when output set to instanceId or elementId

- ID 624717 - Renderman Ci doesn't render alpha

## Monitor Out

- ID 620316 - MonitorOut image is positioned incorrectly when a clip with a pixel ratio of 2 is only loaded into Buffer B with horizontal mode

- ID 620466 - Interactive Mode only shows one view when the Viewer is set to some of the stereo modes

- ID 620492 - Enabling the Format overlay causes the Monitor Out image to be positioned incorrectly when in interactive mode

- ID 620493 - Displays modes that use as pixel ratio of 2:1 are square formats

- ID 624798 - Nuke Studio Icon is present in the Viewer menu

## OpenAssetIO

- ID 622110 - Nuke will not launch if an asset manager JSON file contains errors

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

## Spreadsheet

- ID 622229 - Setting a negative value into the Src In knob that would return a negative value, instead set the wrong value completely

# LABS

LABS nodes are experimental and not intended for use in production but we feel there's potential value in these tools so we'd like to make them available to you for testing. Based on feedback we can prioritise these for future releases of Nuke.

LABS nodes are indicated in Nuke with the tag:

## New

### FieldSurface

The FieldSurface node produces various types of field from geometry. The geometry can be a point cloud, basis curve, mesh, or Gaussian splat. This, for example, allows a custom mesh to be used as a Field mask instead of the basic shapes provided in the FieldShape node.

# Qualified Operating Systems

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

- Apple has confirmed that macOS Tahoe (26.x) is the final version to support Intel-based Mac machines, with all future macOS releases only supporting Apple silicon.

  To align with this transition, Nuke 17.1 is the last release line to support Intel-based Mac machines. All following releases of Nuke for macOS will only support Apple silicon hardware.

  Important: There are two versions of Nuke 17.1 available to download from our website - one without Intel-based Mac support and one with Intel-based Mac support. Make sure to download the correct version.

  During this time while the Nuke 17.1 release line continues to support Intel-based Macs, test coverage for these devices will be limited. Our support for Intel-based Macs will be limited to addressing critical stability issues and blockers. We will not be providing ongoing, full-scale feature support or routine maintenance for this platform.

  With Nuke 17.1 serving as the final release line to officially support Apple Intel hardware, this is intended to assist with your transition planning as you look toward future hardware upgrades.

  We recommend that users on Intel hardware consider these versions as the final major upgrade path and migrate to M-series hardware for continued compatibility with future Nuke releases.

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

With graphics drivers capable of running CUDA 12.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:

- AMD Radeon PRO W7900

- AMD Radeon PRO W6600

- AMD Radeon PRO W6800

- AMD Radeon Pro W5700

- AMD Radeon RX 6800 XT

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

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.

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