Skip to content

Releases: chaiNNer-org/chaiNNer

Alpha v0.18.1

24 Feb 22:48

Choose a tag to compare

NOTE: The installer still doesn't open after it is done installing. It does still install, so just manually open it after. We are still working on fixing that.

This is a small update which addresses some issues and adds a few features.

  • Don't forget to check out the previous changelog if you havent already updated to 0.18.0.

Minor Changes

  • Better SD url detection (#1588, thanks @adodge)
    • Now compatible when the SD webui is running under --nowebui and TLS
  • (PyTorch) Add MAT support to inpainting (#1596, thanks @theflyingzamboni)

New Nodes

  • Create Noise (#1585, thanks @adodge)
    • Create images made up of Value/Simplex noise

Bug Fixes

  • Fixed iterator child nodes appearing underneath an iterator when the iterator was selected (#1593, thanks @joeyballentine)
  • Fixed SD not working on macos (#1588, thanks @adodge)

Alpha v0.18.0

22 Feb 00:49

Choose a tag to compare

NOTE: The windows installer still doesn't open after it is done installing. It does still install, so just manually open it after.

A huge requested feature is finally here! (well, kinda). Stable Diffusion support was something I've wanted to add for a while. However, I never thought I'd be able to match the experience from the AUTOMATIC1111 webui. Luckily for us, @adodge thought of a brilliant workaround for that: Just use the webui. Specifically, the webui's API. This way, we wouldn't have to set up any new dependencies or worry about integrating the code incorrectly -- it would just work. The only problem with this approach is it does require you to run the webui in api mode (by running ./webui.(sh|bat) --api before chaiNNer starts up. This will make a new category with the SD nodes appear. At the moment adodge is looking into an internal implementation, but for now this works pretty well.

There's plenty of other new features in this update as well, such as inpainting support (both via opencv and LaMa), rembg support, a bunch of new nodes, and more. See the full changelog below:

Major Changes

  • Stable Diffusion support via the AUTOMATIC1111 webui API (#1500, #1540, #1553, #1559, #1562, #1557, #1575, #1586, #1583 thanks @adodge)
    • Adds Stable Diffusion support to chaiNNer by running the webui in API mode
    • Supports Text-To-Image, Image-To-Image, Outpaining, and clip interrogation
  • Node recatigorization (#1576, #1581)
  • LaMa inpainting support (#1569)
  • RemBG background removal support (#1533)

New Nodes

  • The external Stable Diffusion nodes mentioned above.
  • Color Levels (#1532, thanks @harisreedhar)
    • Color levels adjustment similar to Gimp and Photoshop.
  • Dither & _Dither (Palette) (#1502, thanks @adodge)
    • Dither an image, either by number of colors or with a specified palette.
  • Palette From Image (#1502, thanks @adodge)
    • Generates a palette from an image, to be used with dithering.
  • Convert Normal Maps
    • Allows conversion between DirectX and OpenGL normal maps, as well as to and from the octahedral normal map format used by RTX Remix
  • Inpaint (#1546, thanks @harisreedhar)
    • Uses a mask image to inpaint. This is not an AI inpainting node, but something more similar to content aware fill.
  • Create Gradient (#1544, thanks @adodge)
    • Generates a grayscale gradient with a variety of options, which can then be colorized using the LUT node.
  • Signed Distance Field (#1552, thanks @adodge)
    • Can be used to create low-resolution textures that can be scaled up rendered at a higher resolution with fewer artifacts.
  • Dilate & Erode (#1565, thanks @harisreedhar)
    • These two nodes work similarly to the dilate and erode features in Gimp and Blender.
  • (PyTorch) Inpaint (#1569)
    • Inpaint using the LaMa model, which performs significantly better than the opencv implementation used in the normal Inpaint node.
  • (ONNX) Remove Background (#1533)
    • Remove the background of an image using .onnx RemBG models.

Minor Changes

  • Added option to duplicate node with input connections (#1541)
  • Slightly improved type error messages (#1542, #1579)
  • Rearrange inputs on upscale nodes for consistency with other nodes (#1539, thanks @Zarxrax)
  • Added "export viewport to clipboard" in the file menu (#1550)
  • Added more DDS output format options (#1555)
  • Added "Copy Audio" toggle for video iteration (#1563)
  • Added "Use Pip Directly" toggle in the dependency manager (#1560)
  • Changed the design of resize handles (#1584)
  • Create node on enter in search pane, when only one node is an option (#1578)

Bug Fixes

  • Fixed the bug that would cause TextAreas (like what is used in the Note node) to randomly get much larger (#1582)

And of course, thanks to the maintainers: @joeyballentine @RunDevelopment @theflyingzamboni

Alpha v0.17.1

07 Feb 04:33

Choose a tag to compare

NOTE: As a reminder, the windows installer still does not open after installing anymore. It still does install though, so just manually open it after installation. We are actively investigating why this happened.

This update includes some new nodes, a quality-of-life improvement related to stopping execution, even more portability, and a bit more. See the full changelog below:

Minor Changes

  • Long-running upscales can now be stopped, without chaiNNer seeming to hang (#1521)
  • Added DDS option for separating alpha (#1510)
  • Slight styling changes for slider input numbers (#1504)

New Nodes

  • Random Number (#1499, thanks @Zarxrax)
    • Allows using a randomly generated number for number inputs
  • NCNN Model File Iterator
    • Similar to the PyTorch model file iterator, these allow you to iterate over folders of NCNN models.
  • ONNX Model File Iterator
    • Ditto above, but for ONNX
  • Lens Blur (#1516, thanks @harisreedhar)
    • Applies lens blur to an image

Bug Fixes

  • Fixed RGBA DDS loading (#1514)
  • Fixed chaiNNer closing when visiting the update link, or dismissing the box (#1518)
  • Fixed some missing portability when using a portable zip (#1523, #1530)

And of course, thanks @joeyballentine and @RunDevelopment

Alpha v0.17.0

26 Jan 00:47

Choose a tag to compare

NOTE: with this release it seems chaiNNer no long automatically opens after installing an update -- don't worry though, the installer still works.

This update adds a few somewhat important dependency updates for system compatibility reasons, as well as a few major new features, and lots of minor ones.

I'll keep this brief this time, and just have you read the changelog below:

Dependency Updates

  • ONNX -> 1.13
    • With this update, ARM (M1/M2) MacOS users can now use ONNX, since this update provides an arm64 MacOS version. This means you can properly convert to NCNN through ONNX.
  • OpenCV -> 4.7 (automatic)
    • Usually I don't mention dependencies that update automatically, but I wanted to mention this one specifically -- because now we should theoretically support MacOS versions under 10.15, specifically to 10.13 now. This has not been officially tested by us, but it should work. We probably scared away all the < 10.15 people by now, but if any of you see this, please give it a try now.

Major Changes

  • CLI Mode (#1469, #1470, #1468, #1489, #1492, #1494)
    • This was our first-ever commissioned feature, so thanks to Flaviu Radulescu for funding this feature.
    • This feature now allows you to execute chains from the command-line, without needing the GUI to run. This includes being able to override inputs for easier chain reuse.
    • Documentation can be found by running chainner run --help in the command line.
  • True portability for zip builds (#1484, #1487, #1489)
    • ZIP builds were never truly portable as integrated python, settings, and a few other things were saved to appdata. Now, these will download & save to the root directory of the exe.
    • If you don't want this functionality, simply delete the portable file that is now present in the zip builds.
  • Improved startup speed (#1468)
    • chaiNNer now starts up significantly faster than it used to (assuming it has already gone through first-time setup and updates)

New Nodes

  • Image Convolve (#1442, thanks @jumpyjacko)
    • Runs arbitrary convolution with a user-defined kernel
  • Metal to Specular & Specular to Metal (#1457)
    • Converts metal/specular maps to specular/metal maps
  • Number & Text
    • These nodes allow easy re-use of numbers or text between nodes
  • Apply LUT
    • You can now apply a Look-Up Table (LUT) to images

Minor Changes

  • Support for mode DDS formats (#1471)
    • This is specifically DXT1, DXT3, and DXT5. This is still a Windows-only feature.
  • Improved JPEG saving options (#1480, #1483)
    • This includes adding a chroma subsampling dropdown as well as a "progressive" option
  • Allow dragging videos into chaiNNer for loading like images/models (#1488)
  • Enhanced type tag size (#1404, #1478)
  • Added output alpha option to Change Colorspace (#1405)
  • Made directory and file name output types immediately computed (#1408)
  • Added angle addition method for normal maps (#1409)
  • Better error message when loading a PyTorch model fails (#1433)
  • Add seed input to Add Noise node (#1444)
  • Made the output type for Math node a bit better (#1452)
  • Improved some type error messages (#1493)
  • Improved logging (#1495)

Bug Fixes

  • Fixed a small issue with number input width (#1443)
  • Fixed potential errors caused by manually clearing PyTorch memory during out-of-vram events (#1456)

And as always thanks to the maintainers: @joeyballentine @RunDevelopment @theflyingzamboni

Alpha v0.16.1

17 Dec 02:33

Choose a tag to compare

This is just a minor update which includes a couple of fixes and QOL improvements. Make sure to check last version's changelog if you haven't grabbed that version yet.

Minor Changes

  • Better execution time formatting (#1392, #1394)
  • Increase default codeformer weight to 0.7 (#1381)
  • Replaced some true/false dropdown inputs with checkboxes (#1377)
  • Changed max of Add Normals amount to 200% (#1398)

Bug Fixes

  • Made text of dropdown options larger (#1375)
  • Fixed DDS rename not working across drives (#1376)
  • Removed broken window menu from menu bar (#1386)
  • Fixed some errors not showing in the UI (#1407)

As always thanks to @joeyballentine @RunDevelopment and @theflyingzamboni for contributing to this release.

Alpha v0.16.0

08 Dec 00:46

Choose a tag to compare

This is a pretty big update with some noticeable changes and improvements, including a design overhaul and many quality-of-life features.

Major Changes

  • Major UI improvements (#1305, #1326, #1302, #1313, #1314, #1330, #1340)

    • The first thing you might notice in this version is a bit of a redesign. Nodes have been majorly overhauled to be much more compact. While it might be a bit of a shock how different it looks at first, I guarantee you'll quickly get used to it and prefer this new look. The compactness of the nodes gives you much more space to fill out your chains with, and there is just a lot less wasted space overall. Check out this comparison of the space used by the old vs the new nodes
    • With this compactness change also came a change to sliders. In my opinion, they are now a lot easier to see and interact with, and are closer to something like you'd see in blender.
    • There have also been changes to pop-up boxes. Settings had a bit of an overhaul to fix some scrolling issues, and all pop-ups now have a darker color. Alerts also got icons representing the type of alert.
  • Node-on-Connection insertion (#1231, #1341)

    • Something we all have always wanted in chaiNNer was the ability to insert a compatible node in-between two connected nodes, without having to delete the connection and make two new ones. Well, now this is a reality. All you have to do is hold alt while dragging a node in the editor, and both the node and the connection line will visually show you that the node is able to be connected this way. It's really convenient to be able to insert nodes into existing chains this way, and can save a lot of time.
  • Informing you about invalid connections (#1299, #1306, #1308)

    • The UI now will inform you when a connection you are trying to make is invalid. Before, we would tell you why a node was invalid after it was already connected and then made invalid. However, we had never explained why some connections were not possible to begin with. This had confused many users as they would try to do things like connect a GFPGAN model to Upscale Image and think there was something wrong rather than it being something intentional. While the UI would not let these users make that connection, it would not tell them why. This update adds an explanation tooltip that explains why a connection can't be made as you attempt to drop the connection on a handle. This should hopefully improve the user experience and lead to less confusion when this happens.
  • Increased View Image preview resolution (#1290, #1342, #1351)

    • View Image just became a lot more useful. Now, instead of seeing only a 512x512 preview of your image, you will see a maximum of 2K resolution when zoomed in to the max. This still isn't ideal for extremely large images (larger than 2k) where you need to zoom in even more than chaiNNer allows, but a feature for that will be coming in the future. For now, this is a huge improvement and makes in-line previewing much much better. We also improved the performance of the node, so you may notice previews loading a bit faster than they used to.
  • Better DDS Support (Reading & writing, Windows only) (#1266, #1356)

    • With this update, previously unsupported DDS textures files can now be read and written on Windows. We make use of Texconv, which is a small texture utility that we now bundle with chaiNNer. Unfortunately, Textconv is Windows-only, meaning Linux & MacOS users will not be able to take advantage of this. But we figured it was still better to have it than not.

Minor Changes

  • CodeFormer support (#1327)
    • This Face Upscaling architecture was highly requested to be added, and now you can use it in chaiNNer with the Face Upscale node.
  • NCNN Optimizer (#1259)
    • NCNN models now get optimized on load as well as on convert, which can save help them save a little bit of time when upscaling. For most models, this will only be minute optimizations, but for batch upscaling it can save quite a lot of time overall.
  • Show current overall execution progress on taskbar (#1343, #1365)
  • Made amount input a slider in High Boost Filter (#1288)
  • Added amount and threshold inputs for Unsharp Mask (#1293, #1294)
  • Added the ability to cache ONNX TensorRT conversions (#1287)
  • Added a context menu for multi-node selections (#1289)
  • Added Ko-fi donation button to header (#1300)
  • Improved Convert Colorspace node to be more generalized for alpha modes (#1322)
  • Add .avs support to the video selection menu (#1345)
  • Allow users to select alert text (#1349)
  • Support node-search context menu in iterators (#1369)

New Nodes

  • Create Color (#1285)
    • Three new nodes that allow you to create single-color images in RGB, RGBA, or Grayscale.
  • Surface Blur (#1292)
    • This node blurs an image using a bilateral blur filter, also known as "surface blur."

Bug Fixes

  • Fixed picking a custom python path (#1283, #1284, #1315)
  • Fixed FaceSR (GFPGAN, RestoreFormer) and Transformer-model (SwinIR, HAT, Swin2SR) interpolation (#1281)
  • Fixed the file select window prompting you to create files when opening directories that do not exist (#1282)
  • Fixed the integrated FFMPEG download error to just be a warning (#1279)
  • Fixed blurry checkers in image preview (#1320)
  • Fixed being able to select text in file and directory inputs (#1331)
  • Fixed opening a file with chaiNNer while an existing chaiNNer instance is already open (#1344)
  • Fixed exact-size ONNX models not being properly run (#1336)
  • Disallow negative crop values (#1350)

Experimental Features

  • While not enabled/disable behind the experimental features setting, both Apple MPS (via pytorch-nightly) and Microsoft DML (via pytorch-directml) support should theoretically work with a proper environment set up through your system python. People who have tried to set this up have had issues though, and ultimately I need more people to test this before I can officially say we support these things. However, if you want to test it yourself and know how to set these things up, feel free to give it a go and report back to us. (#1280, #1359)

As always, thanks to @joeyballentine @RunDevelopment and @theflyingzamboni

Alpha v0.15.3

26 Nov 21:48

Choose a tag to compare

Theoretically, all model loading should now be fixed. However, if you are still running into models that previously worked but are now broken, let us know ASAP.

Bug Fixes

  • Fixed another missing torch type when loading a model, which caused certain models to not load properly (#1272)

Experimental Features

  • Fixed iterator child node positions when placing presets (#1264)
  • Fixed presets not being recorded in undo history properly (#1270)

Alpha v0.15.2

24 Nov 04:32

Choose a tag to compare

Just a quick bugfix since we accidentally broke loading certain models in the last release. You don't really need this version unless you plan on using SwinIR, Swin2SR, or HAT. To see the previous changelog, go here.

Bug Fixes

  • Fixed model loading for certain models being blocked by the new restricted loader (#1263)

Thanks @theflyingzamboni for fixing that

Alpha v0.15.1

23 Nov 22:44

Choose a tag to compare

Major Changes

  • Viewport Export (#1243) (thanks @Sryvkver)
    • Export the current chain as a PNG using the bottom-most button in the button panel located at the bottom left of the chain editor.
  • Ctrl+D now duplicates selected nodes (#1252)

Minor Changes

  • Added a context menu for connections (#1255)
  • Blur and sharpen nodes have been reorganized and renamed (#1254)
  • Iterators now have a "resize" indicator (#1257)

New Nodes

  • Add Noise (#1251)
    • Add different types of noise to an image
  • High Boost Filter (#1254)
    • A more traditional type of sharpening

Bug Fixes

  • Fixed face upscaling causing broken video outputs (#1246)
  • Fixed unsaved changes dialog box having extraneous &s on Linux (#1249)
  • Fixed categories not hiding when a search would return no results for that category (#1253)
  • Patched a security vulnerability

And thanks to the usual contributors, @joeyballentine @RunDevelopment @theflyingzamboni

Alpha v0.15.0

19 Nov 18:47

Choose a tag to compare

This update contains a decent amount of quality-of-life changes. We have some new systems in place for making the experiences with inputs better (which will be brought to more nodes in the future), as well as some general UX improvements.

We also now have an opt-in experimental features setting that we are starting to use in order to get feedback on unfinished features, but without interrupting the regular experience of chaiNNer.

Major Changes

  • Variable-length inputs (#1176, #1184)
    • Now certain nodes can have more than just 4 inputs, with a button that lets you add more.
    • This is limited to just Text Append and Text Pattern at the moment, but will be brought to more nodes in the future.
  • Conditional inputs (#1200)
    • Now certain nodes can show or hide some inputs based on things like items selected in a dropdown.
    • This is currently only present in the Save Image node, but will probably be used with more nodes in the future.
  • Experimental Features Toggle (#1142)
    • We now have a setting (in the advanced tab) for turning on "experimental features". This will opt you into using anything we deem "experimental" that is in chaiNNer but not quite ready for prime-time. I will list anything new that is experimental under a new Experimental Features heading in the changelog.

Minor Changes

  • Drag N' Drop support for more filetypes (#1215)
    • This mainly includes all model file types (.pth, .param/.bin, .onnx)
  • Added "WEBP (Lossless)" option to Save Image (#1186)
    • We had previously accidentally made it impossible to save lossless WEBP, and now you can
  • Better "Save Changes" popup (#1191)
    • The "Save Changes" dialog box that appears when you try to quit with unsaved changes is now a more standard format, with "Save", "Don't Save", and "Cancel" options.
  • Show the current position of alerts in the alert box queue (#1193)
  • Added menu entry for manually reloading/refreshing starting nodes and their previews (#1194)
  • Added "Copy to clipboard" button for all alerts (#1203)
  • Added type tags to strings and directories (#1216, #1226, #1244)
  • Changed placeholder text on some inputs (#1223)
  • Added custom installation animation on Windows (#1230)
  • Moved update check to after the main window opens (#1232)

New Nodes

  • Normal Map Generator (#1181, #1208)
    • Generate Normal Maps from images, with a variety of customization options similar to Nvidia Texture Tool

Experimental Features

  • Presets (#1142, #1240, #1241)
    • We now have some built-in bundles of nodes that we figure could be useful for setting up a variety of chains. However, they are not what we would consider feature complete yet (hence why they are behind the experimental features toggle). We would like to hear feedback from users as to what they think would be helpful (for example, clusters of nodes they tend to use all the time) and we can change/add presets accordingly. There is also still a lot of UI to be done around these, but they are at least usable at the moment.

Bug Fixes

  • Fixed being unable to read MKV video duration (#1189)
  • Fixed saving as GIF in Save Image (#1201)
  • Fixed pressing arrow keys inside text and number inputs moving nodes around (#1205, #1212)
  • Fixed FP mode not being loaded correctly for NCNN (#1210)
  • Disable shortcuts while alerts are open (#1214)
  • Fixed clear not affecting text inputs (#1217)
  • Fixed iterator helper node type persistence (#1222)
  • Reset invalid dropdown values (#1227)
  • Fixed supported video format list in file open window (#1242)

Thanks as always to the main contributors: @joeyballentine @RunDevelopment @theflyingzamboni