Skip to content

Releases: chaiNNer-org/chaiNNer

Alpha v0.6.2

08 May 03:50

Choose a tag to compare

This is a small update with a decent amount of bug fixes and some styling changes. A lot of refactoring has been done as well thanks to @RunDevelopment, which should make the code a bit more stable and prevent bugs from happening in the future.

New Features

  • Improved the styling of the nodes in the node selector panel to allow more to fit on the page at once.
  • Improved the styling of the control bar in the bottom left of the canvas (thanks @theflyingzamboni)
  • Made the image preview in the Load Image node much faster for larger images (thanks @RunDevelopment)

Bug Fixes:

  • Fixed one cause of black output in NCNN upscaling. If you are still running into issues with NCNN, please let me know.
  • Removed LUV mode from ColorTransferNode as it mathematically cannot function correctly (thanks @theflyingzamboni)
  • Fixed bugs in threshold nodes, such as the dropdown boxes containing incorrect options (thanks @theflyingzamboni)
  • Improved stability of the application by making lots of code refactors (thanks @RunDevelopment)
  • Fixed issue with new Pillow interpolation methods that would cause inconsistencies in the dropdown options depending on if you had Pillow installed or not. Note that this change might now cause your saved chains to use a different interpolation method than before (thanks @RunDevelopment)

Alpha v0.6.1

02 May 05:58

Choose a tag to compare

Bug Fixes:

  • Fixed a bug that would cause the frontend to crash when loading old chains that referenced files that no longer exist.
  • Fixed a bug that prevented the control+s shortcut for saving to not work.
  • Fixed a bug with iterators that would cause the UI to freeze if they processed too quickly.
  • Updated the Python version check to allow using system Python 3.10
  • Fixed image size check for average color fix (thanks @RunDevelopment)
  • Various stability improvements (thanks @RunDevelopment)

New Features:

  • Create Border node now allows transparency (thanks @theflyingzamboni)
  • Added Color Transfer node to allow transferring the overall color scheme of one image to another (thanks @theflyingzamboni)

Alpha v0.6.0

30 Apr 03:15

Choose a tag to compare

New Features:

  • PyTorch's Load Model node now has an information preview, telling you the scale, what architecture it is, and other model information.
  • Added NCNN interpolation. Interpolate compatible NCNN models similarly to how it is done with PyTorch. This change comes with both an Interpolate Models node and a Save Model node.
  • NCNN models now respect the FP16 setting in the settings menu.
  • New setting to disable hardware acceleration. This is only useful if hardware acceleration causes issues for you.
  • Hue & Saturation Node (thanks @theflyingzamboni)
  • Made the Brightness & Contrast node work more like how it works in GIMP (thanks @theflyingzamboni)
  • If PIL is installed, chaiNNer will use its more accurate downscaling algorithms instead of OpenCV's (thanks @theflyingzamboni)
  • Added two nodes to help with Normal Maps: Add Normals and Normalize. Now you can add two normal maps together, or normalize existing normal maps (thanks @RunDevelopment)
  • Added a Color Fix node that allows you to fix any color shifts that happened as a result of upscaling (thanks @RunDevelopment)
  • Added a Fill Alpha node which has two modes for extending the edges of images that have a transparent background. Combined with the Split/Merge Transparency nodes, this will be very useful for making better upscales that have transparency (thanks @RunDevelopment)
  • Changed node search to use fuzzy string matching (thanks @RunDevelopment)

Bug Fixes:

  • Fixed the RAM counter not being accurate on Linux (this might not actually be fully fixed, so please let me know if it isn't)
  • M1 MacBooks should now download the correct version of Python that supports ARM CPUs. If you had previously installed chaiNNer, you may need to manually remove the old Python version from your app data folder (the same folder that your logs folder is in, which you can get to by doing Help>Open logs folder)
  • Added slightly better error handling that should now prevent chaiNNer from getting stuck when there is a critical error.
  • Fixed bugs with the overlay node that would cause transparency to not overlay correctly (thanks @theflyingzamboni)
  • Fixed an issue that would prevent chaiNNer from being used with Python 3.7 and 3.8 when using System Python (thanks @RunDevelopment)

Alpha v0.5.2

16 Apr 05:03
2ba760b

Choose a tag to compare

This update mainly addresses issues and bugs users were facing, as well as introduces a few quality of life improvements.

Dependency Updates:

  • Updated OpenCV-Python, Pillow, and NumPy dependencies to their latest versions.

Features:

  • Relative path support to Load Image and Save Image nodes for subdirectory preservation (thanks @theflyingzamboni).
  • Automatic Param/Bin selection for NCNN's Load Model node on change of one.
  • New "Preview Image" node. This is a replacement for the existing Preview Image node that opens up the image in your default photo viewer. This is my fix for those who were having trouble with the current Preview Image node on Linux. Plus, any image viewer is going to be better than what it was using before. Note: This node has the ability to open multiple windows simultaneously, so be careful when using it in an iterator.

Bug Fixes:

  • Fixed Image File Iterators only running on PNGs and JPEGs. Now they will run with any supported image type.
  • Fixed CUDA being required for ONNX model conversion.
  • Fixed CUDA not being detected for certain GPUs.
  • Fixed images with uppercase filenames not being loaded properly in Load Image.
  • Fixed the iterator progress bar not properly updating.

Alpha v0.5.1

05 Apr 16:41

Choose a tag to compare

This is a small hotfix release to fix a critical issue affecting Linux and macOS users.

Bug Fixes:

  • Fixed an import error that caused Linux and macOS versions of chaiNNer to fail to import image nodes.

Alpha v0.5.0

05 Apr 00:18
f30bb33

Choose a tag to compare

Alpha v0.5.0

Batch Upscaling is finally here! This is chaiNNer's biggest update yet with this long overdue, highly requested feature being the center of attention. Batch upscaling is performed using an "Image File Iterator" node. Iterators are a new type of node in chaiNNer that allow you to run the nodes inside the iterator on multiple items. Right now, the only iterator is the "Image File Iterator" which takes a folder input and runs the sub-nodes on each image file in the folder (and its sub-folders). This means you can finally perform batch upscaling in chaiNNer! They can be a bit tricky to get used to, so if you have any questions about how to use them, don't hesitate to ask in the Discord server.

Iterator Example

Along with Iterators, DDS, TGA, and many more filetypes are now supported when you install the Pillow dependency in the dependency manager. You still cannot save images as these filetypes at the moment, but at least this should help when upscaling game textures. This was another highly requested feature that I am happy to finally have in chaiNNer.

For Iterators especially, please let me know as soon as possible if you run into any issues with them, and I will try to get those issues fixed as soon as I can.

New Dependencies:

  • Pillow (PIL). This dependency is optional but recommended to get all the features of chaiNNer.

Dependency Updates:

  • NCNN has a new update with tensorcore optimizations. This means better performance on RTX cards.

Bug Fixes:

  • Fixed node menus not closing on canvas click.
  • Fixed "snap to grid" setting not properly aligning nodes.
  • Fixed Text Append node not validating correctly.
  • Added missing "model name" output to NCNN's Load Model node (thanks @theflyingzamboni).
  • Fixed the dependency manager sometimes failing to install or update a package. This might still be broken, but I think I fixed it for good..
  • Fixed the RAM usage display showing the wrong value.

Features:

  • Iterators (currently used for Batch Upscaling).
    • To put nodes into the iterator, drag and drop them into the darker area inside the iterator node. This is the iterator's own sub-canvas.
    • Note: for best performance, make sure to put any "Load Model" nodes outside of the iterator, or it will load the model for each image (slowing your upscales down).
    • To increase an iterator's size, click and drag in the bottom right corner of the sub-canvas like you would do for a UI window.
  • DDS, TGA, and even more image file support (after installing Pillow).
  • The hamburger menu has now been replaced with plain buttons for the Dependency Manager and Settings. To toggle dark them on and off now, do so from the settings menu.
  • A red circle now appears on the new dependency manager button to more easily show when you have dependency updates available or are missing dependencies.
  • Increased hover area for connection lines to allow easier clicking.
  • New splash screen design.
  • Lots of performance optimizations.

Known issues:

  • There is currently a bug with multi-selection that auto-selects nodes that have been moved around the canvas at least once. I am hoping to figure out a fix for this soon, but unfortunately, I wasn't able to in time for this release.
  • Sometimes nodes overflow out of the iterator editor area. If this happens, simply moving them around a bit should fix the iterator bounds calculation. As with the other issue, I am still trying to figure out a fix.

NOTE: This version has a critical issue affecting Linux and MacOS. Please use version 0.5.1 if you are on those operating systems.

Alpha v0.4.3

27 Mar 02:38

Choose a tag to compare

Features:

  • File inputs now show the full filepath via a tooltip on hover

Bug Fixes:

  • Fixed the Text Append node having an incorrect description
  • Fixed ONNX conversion not working in CPU mode

Alpha v0.4.2

25 Mar 03:14
4c38144

Choose a tag to compare

Dependency Update:

  • New version of NCNN which may improve processing speed

Bug Fixes:

  • Fixed a few bugs related to NCNN upscaling not matching PyTorch. It now matches the outputs of PyTorch much closer than it did, and even matches better than Cupscale's NCNN processing.

Alpha v0.4.1

21 Mar 01:17
5f24f3d

Choose a tag to compare

Bug Fixes:

  • Fixed the overlay node sometimes giving an error if the optional inputs were not passed in
  • Fixed the overlay node sometimes giving a rainbow effect

Alpha v0.4.0

18 Mar 22:32

Choose a tag to compare

This was meant to be a small update before I would start working on getting iterator (batch upscaling) support implemented, but I ended up doing a lot more. Hopefully these changes improve the experience for people!

Dependency Updates:

  • NCNN has a new update that should increase the speed of upscaling, but your mileage may vary. You can update this via the dependency manager!

Features:

  • Added new outputs to certain nodes to file names to be connected to text inputs.
  • Added a new "Text Append" node for concatenating multiple text outputs together with a separator string. This can be used for appending the model name to the image name.
  • Added a new "Add Caption" node to apply a caption to an image. This is useful for captioning comparison images.
  • Added Gaussian Blur and Sharpen nodes.
  • Added Overlay Images node. (thanks @theflyingzamboni)
  • Changed the validity icon to be red when a node is invalid, so it is more apparent what nodes are not correct.
  • Changed the validity icon to have a white checkmark when a node is valid, so it is easier to see the checkmark.
  • Changed a small thing about how I handle NCNN upscaling that should improve performance slightly.
  • Added a small number input to the side of the slider input. Both control the same value, making it easier to input specific numbers if you need to.
  • Images with transparency will now use the "Background Difference" transparency hack from my ESRGAN fork when upscaling 4-channel images with 3-channel models (most models). To get the "Separate" mode functionality, you can still split the image like what was required before. If you're curious how this works, it basically upscales two versions of the image, one with a black background and one with a white background, and then makes transparency off of the difference between the results, which (in an ideal scenario) will just be the background transparency. This isn't perfect though, and it's why I didn't initially want to put it in, but it should work well enough in most cases. If you do not want to use this, then make sure to upscale just the RGB by splitting the transparency off using the new nodes mentioned below. Also, differing from the implementation in my fork, it will ignore single-color transparency.
  • Along with the above, two new nodes have been added to aid in splitting and merging transparency specifically, since the old way was a bit convoluted (having to use a split and then a merge immediately after)
  • Added an update check on startup that will let you know if a new version has been released.
  • Added the ability to automatically submit a GitHub issue if chaiNNer crashes unexpectedly.

Bug Fixes:

  • Fixed text inputs not getting loaded properly from files
  • Fixed the "model save" node not having the right kind of model input
  • Fixed node validity treating certain empty inputs as valid
  • Fixed an error that could happen if you load a chain with certain invalid nodes (for example if you don't have some of the dependencies installed)