Download

Download

The current stable build. chaiNNer sets up its own Python environment the first time you open it, so there is nothing to install beforehand.

Alpha v0.26.1

2026-10-27

Download

Pick your platform from the list below.

All platforms

Windows

Windows Installer .exe

150 MB

Windows

Windows Portable .zip

154 MB

macOS

macOS Installer .dmg

170 MB

Linux

Linux Debian, Ubuntu .deb

101 MB

Linux

Linux Fedora, RHEL .rpm

91 MB

Linux

Linux Portable .zip

132 MB

Nightly builds →

Release notes

Alpha v0.26.1

2026-10-27

Bug Fixes

  • Fixed the window going blank when using the light theme. (#3352, #3353)
  • Fixed the window not appearing on Linux Wayland desktops, such as KDE Plasma on Nobara and CachyOS. (#3348, #3351)
  • Fixed an "UNKNOWN: unknown error, watch" error dialog on Windows. File watch errors are now logged instead. (#3357, #3358)

Full Changelog: v0.26.0...v0.26.1

Alpha v0.26.0

2026-10-18

This is a long overdue release. I had implemented a bunch of things earlier this year and then subsequently forgot to release them after they had been tested out by people, so this update is releasing all that to stable.

Part of why I hadn't released these changes is because I have been privately working on a Rust rewrite of chaiNNer's backend. I've been working on and off on that since around March. I will discuss that more soon, so stay tuned for updates and announcements on that. If you don't know what that entails, basically that just means everything will be significantly faster, and some things (like dependency management) a bit less jank.

This is the last release (minus any patches for necessary bug fixes) with the Python backend. It is also the last release that will be marked Alpha, and going forward I will use true semantic versioning starting from v27.0.0.

Major Changes

  • TensorRT upscaling and engine conversion, with BF16 support. Requires an RTX 20xx / GTX 16xx GPU or newer. (#3247, #3265, #3254, #3255)
  • Language switching: the interface is now available in English, German, Spanish, French, Hindi, Italian, Japanese, Korean, Dutch, Polish, Portuguese (Brazil), Russian, Turkish and Chinese (Simplified). Change it in Settings → Appearance (#3171, #3180, #3341)
    • Node names, descriptions and inputs, the app menu, some dialogs and messages, and type descriptions are still in English
    • The translations are machine-made and machine-reviewed. Corrections from native speakers are welcome.

New nodes and node features

  • New Math Expression node: write a formula with variable inputs (#3187, #3191)
  • New Is Grayscale node: checks whether an image is grayscale (#3222)
  • Regex Find has a new "Found" output, so a chain no longer fails when nothing matches (#3140)
  • Channel nodes are renamed to consistent "Split" and "Combine" names (#3135)

Minor Changes

  • Upscale nodes show their own progress bar while processing tiles, for PyTorch, ONNX, NCNN and TensorRT (#3252)
  • Lower CPU usage from progress updates during long runs (#3250)
  • PyTorch auto split takes the model's size requirements into account (#3167)
  • Installation progress shows on the taskbar (#3169)
  • Installing no longer hangs silently when the disk runs out of space (#3131)
  • Python 3.8 and 3.9 are no longer supported, because both have reached end of life. If you use your own system Python, it must be 3.10 or newer (#3207)
  • The backend now writes independent log files, which helps with bug reports. If submitting a bug, please send all three log files: main.log, host.log and worker.log (#3137)
  • Updated dependencies

Bug Fixes

  • Fixed VRAM usage growing every time the PyTorch inpaint node ran (#3194)
  • Fixed cached node results never being freed (#3199)

Full Changelog: v0.26.0...v0.26.0

Alpha v0.25.1

2025-10-23

This is a small update to address a few issues that have been resolved since the last release. If the current version of chaiNNer is working fine for you, you can ignore this update.

If you have an older (1000 series or lower) Nvidia GPU, please reinstall PyTorch from the dependency manager.

What's Changed

  • Fix GTX 1000 series GPU compatibility with PyTorch (#3161)
  • Fix conditional input validation bug causing NOT logic operation to require hidden input B (#3154)
  • Fix audio not saving in save video node (#3174)
  • Fix dependency resolution to prevent using global Python site-packages (#3134)
  • Fix TensorRT engine cache persistence across application restarts (#3139)
  • Fix grammar and capitalization in Python setup error messages (#3133)
  • Hide "install all packages button", due to its functionality being broken (#3179)

NOTE: I had to disable code signing for MacOS due to it causing build issues. I do not know how exactly that will manifest when trying to install this update, but just a heads up that you might get some kind of warning now that you did not used to.

Full Changelog: v0.25.0...v0.25.1

Alpha v0.25.0

2025-10-19

After more than a year without a stable release, chaiNNer development has resumed at reduced capacity. This release brings the features from the nightly version to stable (with many of the reported bugs from the nightly version fixed).

The main new feature is support for using multiple iterators of equal length together. Nested or combined iteration is still not supported. UX for this feature remains limited but stable based on user feedback.

Users with RTX 5000-series GPUs should install this update and update PyTorch through the dependency manager.

Changelog:

Major Changes:

  • Add support for combined iterator lineage by @joeyballentine and @RunDevelopment in #2949, #2960, #2973, #2975, #2971, #3141
    • This allows mixing and matching of same-length iterators.
  • Allow more nodes to be "starting nodes" by @joeyballentine in #2944
    • This allows the ability to pass a path into Load Image, for example
  • Update Torch & Torchvision to support RTX 50 series by @LlamaEnjoyer in #3103

Minor Changes:

  • Add padding input to PyTorch Upscale node by @RunDevelopment in #2966
  • Add support for 3 TIFF compression modes by @RunDevelopment in #2970
  • Add ONNX size requirements and more robust shape detection by @RunDevelopment in #2978, #2979
  • Add support for new SR architectures as supported by Spandrel version 0.4.1 by the-database in #3038, #3082
  • Add support for subtle noise generation in "Add Noise" node by @Arcitec in #3055
  • Updates to "Align Image to Reference" node by @pifroggi in #3091
  • Rename "Model Scale" node to "Get Model Info" node by @tumuyan in #3090

New Nodes:

Bug Fixes:

  • Fix undo history containing select state by @joeyballentine in #2961
  • Fix label for != in Compare node by @RunDevelopment in #2991
  • Clarify "Load Model" SafeTensors documentation by @JeremyRand in #3028
  • (A1111/SD) Fix SwinIR 4X being referenced with wrong name by @PereViader in #2998
  • Fix "Install All Packages" hanging indefinitely in Dependency Manager by @copilot in #3127

Known Issues:

  • "Logic Operation" currently has an issue with the NOT operation that is being looked into
  • DML support for ONNX was added by @FNsi but is currently broken

New Contributors

Full Changelog: v0.24.1...v0.25.0

Alpha v0.24.1

2024-06-07

This update contains a few bug fixes and some QOL improvements.

What's Changed

  • Add UI for anchor/position dropdowns by @RunDevelopment in #2940
  • Add "Install All" button to dependency manager by @RunDevelopment in #2931
  • Make node widths slightly more consistent when dealing with handles by @RunDevelopment in #2938
  • (PyTorch) Add a setting for clearing CUDA cache after each inference by @joeyballentine in #2930
  • (PyTorch) Never auto update PyTorch to allow custom versions to remain installed by @joeyballentine in #2943

Bug Fixes

  • (PyTorch) Fix incorrect tile size estimations after upscaling optimizations by @joeyballentine in #2929
  • Fix output types for the Resolutions node by @RunDevelopment in #2937

Full Changelog: v0.24.0...v0.24.1

Alpha v0.24.0

2024-06-01

This update brings many new major features to chaiNNer, including but not limited to conditional branching (via two new nodes: Conditional and Compare), node passthrough/skipping, new themes, PyTorch optimizations, and many more fixes and quality of life improvements all around.

The conditional and compare nodes bring a long-awaited feature: branching support. Well, mostly. These nodes allow you to switch between inputs based on a condition created by comparing two values in various ways. This means users can finally set up chains that do one thing under a certain condition and another thing under a different one (e.g. if an image is over a certain size vs under a certain size). The thing to keep in mind is how you have to set this up might be opposite of what's intuitive. Since you're switching between values, it's what comes before the condition that is decided between, not what comes after.

The disable toggle has also been replaced with a button that allows you to swap between three states: "enabled", "disabled", and "skipped". In skipped mode, the node will not be run, but it also will not disable downstream nodes like disabling it would. This is another heavily-requested feature that we are happy is finally in chaiNNer.

New themes can be selected in settings. This is semi-experimental as we plan on adding support for fully custom themes in the future, as well as improving the existing default selection. The current selection is mainly just a proof of concept to show that we can support themes of some kind, and also to give users some options for customization. We'd love to hear feedback on the current selection and if you have any suggestions on themes to add.

PyTorch upscaling has been heavily optimized. I was able to using a visual profiling tool (called VizTracer, which I highly recommend for anyone wanting to optimize a python project) to see what was slowing down upscaling. Upscaling has been optimized to a point where it's roughly 1.25x faster than it was before (though YMMV depending on what model you use, as well as other factors). While not perfect, it's still a large improvement and should help your PyTorch upscaling chains run faster.

Major Changes

  • Support passthrough/skipping nodes by @RunDevelopment in #2805, #2864, #2887
  • Add new themes by @joeyballentine in #2833, #2847, #2874, #2921
  • Various optimizations to PyTorch upscaling by @joeyballentine in #2853, #2852, #2861, #2859, #2858, #2860, #2862, #2869, #2884, #2886

Minor Changes

New Nodes

Bug Fixes

  • Fixed input gathering for collectors by @RunDevelopment in #2818
  • Use atexit to always kill worker by @RunDevelopment in #2822
  • Rework GPU API to fix issues with older GPUs by @RunDevelopment in #2821
  • Avoid RGB contamination by transparent pixels in "Color Transfer" node by @Splendide-Imaginarius in #2389
  • Prevent chain files from being saved in install directory by @joeyballentine in #2835
  • Fix that empty string was not allowed as the default value by @RunDevelopment in #2856
  • Fix converting indexed PIL images to NumPy by @RunDevelopment in #2881
  • Fix node documentation modal opening on reload by @joeyballentine in #2883
  • Fix timing issue for lazy inputs by @RunDevelopment in #2890
  • Prevent log spam by not logging useless stack traces by @RunDevelopment in #2900\
  • Fix image pairs length validation when using limit by @joeyballentine in #2917
  • (ONNX) Fix size requirement padding by @RunDevelopment in #2918
  • Add status API to get executor status to prevent stale/stuck status by @RunDevelopment in #2928

New Contributors

Full Changelog: v0.23.2...v0.24.0

Alpha v0.23.3

2024-04-24

This is a hotfix release to fix a regression introduced in the v0.23.2 which caused iterators to error when running. Apologies to anyone who was affected by this issue.

Bug Fixes

Alpha v0.23.2

2024-04-23

This update fixes a few bugs and adds some new features.

Please note: If you install or update chaiNNer and get a critical error upon setup completion, please attempt restarting chaiNNer before reporting.

What's Changed

New Nodes

  • Add "Crop Border" node to remove border/frame with constant color by @RunDevelopment in #2794

Bug Fixes

  • Fix startup crash when using a system language other than English on Windows by @joeyballentine in #2815
  • Prevent middle-mouse and right-click from triggering tab clicks by @RaySit in #2792
  • Fixed 'Copy File Name' option for file inputs by @RunDevelopment in #2793
  • Don't allow ONNX conversion for Craft models by @RunDevelopment in #2797
  • Fixed SSE request not getting canceled and getting SSE stuck by @RunDevelopment in #2806

New Contributors

  • @RaySit made their first contribution in #2792

Full Changelog: v0.23.1...v0.23.2

Every release on GitHub →

chaiNNer, a node-based image processing editor