Every release ships a freshly built GenFill Setup. The Release workflow builds Setup for Windows (required), macOS and Linux from the tagged commit. It self-tests each build and checks that it carries exactly that version and commit (
scripts/release.py check-build) before posting the GitHub Release with the installers attached.Version guard and release workflow for maintainers (
scripts/release.py, README Version numbers and releases). Pull requests get a Version check: a branch that changes__version__must raise it abovemainand every posted release, and move its CHANGELOG notes. Pushing avX.Y.Ztag onmainchecks the number again and posts the GitHub Release with its CHANGELOG notes and installers.GenFill > Check for Updates... (in both GenFill menus) tells you whether a newer GenFill is on GitHub, and offers to open the download page. It uses the latest GitHub Release, or the version on
mainwhile there are no releases. It only checks when you click it, and never downloads or installs anything.The Local AI warms up before you click Generate. Creating a GenerativeFill node set to the Local AI, opening its panel or switching its model to Local AI now starts the hidden helper and loads the model in the background (the panel says "Warming up the local AI..."), so the first Generate no longer waits the 30-60 s that start-up takes. Nuke stays responsive; a Generate clicked during the warm-up waits for it and then runs on the loaded model, and Cancel works while it waits. Nothing happens if Local AI isn't installed, is being installed or is already loaded, or in
nuke -t. Each warm-up is logged in genfill.log.Choose how long the Local AI stays loaded. Keep loaded in the Local AI dialog: 10 or 30 minutes, 1 or 2 hours idle, or until Nuke closes. The default is now 30 minutes (was 10), since loading it again costs 30-60 s. Stored as
local_ai.idle_minutesin config.json. The dialog also has a Stop AI Helper button to free the GPU right away (the menu entry is unchanged).Each variation shows up as soon as it's done. With the Local AI, Stability AI and Offline Preview, the first variation appears in the panel (and the Viewer) while the others are still being generated, instead of after all of them. On the Local AI that's about a minute sooner per extra variation. Cancel now keeps the variations already finished ("Cancelled; kept 1 of 3"), and an error part-way through keeps them too. OpenAI returns all variations in one response, so it's unchanged. Switching variation reloads the node's internal Read, so a variation that arrived after the first one never shows Nuke's error checkerboard.
Fix: GenFill on Nuke Indie / Non-commercial (#3, #5). Those licenses let Python retrieve only 10 nodes per script. Creating a node walked every node in the script to deselect it, so in any real comp it failed with "the 10-node limit for Node objects accessible in Python has been reached" (or, before 0.8.0, left an empty Group). The copy/paste check on Generate and delete did the same. On those licenses GenFill now uses Nuke's TCL for both, retrieving at most one node (the one you have selected, to connect to). Set
GENFILL_LIMITED_PYTHON=1to try these code paths on a full Nuke license.GenFill > Developer > Run Smoke Test works on Nuke Indie / Non-commercial. It deselected every selected node one by one and listed all ~35 nodes inside the GenerativeFill node, which goes over the 10-node limit. On those licenses it now deselects in one call and skips the knob inventory; the report records
"limited_python": true.On Nuke Indie / Non-commercial the copy/paste check now also finds GenerativeFill nodes inside other Groups (it used to see only the top level of the script), still without using any of the 10 node retrievals.
Tests run on GitHub Actions for every pull request (Windows with Python 3.9 to 3.11, Ubuntu with 3.11).
Changelog
Every release, newest first.
Pulled from GitHub Releases across 2 projects. Subscribe with the Atom feed.
October 2026
September 2026
This release introduces per-surface guide frames, allowing each guided surface to be authored on the frame where that part of the environment is best visible.
Highlights
- Each surface now stores its own guide frame
- Set Guide Frame only affects the selected surface
- New surfaces automatically use the current frame
- Timeline displays blue markers for all guide frames in the shot
- Surfaces display green on their guide frame and gray/white on other frames
- Surface overlays are more transparent for better plate visibility
- Surface list now displays each assigned frame, e.g. Surface_03 • F579
- Guide JSON now stores per-surface frame and source-image metadata
- Guided-surface reconstruction now uses the correct solved camera pose and sparse observations for each individual surface
- Supports surfaces defined across different parts of a camera move
- Maintains compatibility with older single-guide-frame projects
This build also includes the recent AutoLens workflow improvements:
- Full-screen workspace
- External alpha tracking masks
- Mask preview and invert visualization
- Smart dense reconstruction
- Proxy mesh cleanup
- Sparse-first guided-surface fitting
- Individual guided-surface OBJ exports with planar UVs
- Versioned/resumable solves
- Background processing
- Native Nuke undistort/redistort and Camera2 outputs
Get new releases by email.
One short email when a tool ships or gets a meaningful update. No newsletter filler, and you can unsubscribe in one click.