2.3.15 Linux binaries available before 2020-06-14 were missing JP2 (JPEG2000) support. This was fixed in binaries labeled 2.3.15.1 or in 2.3.15 binaries available from 2020-06-14.
Inputs of the selected nodes are now always visible.
Avoid crash and issues when NatronEngine.Effect.destroy() is called. #368
macOS: fix version numbers in Finder information. #372
Fix callbacks in PyPanel and PyModalDialog. #379
Fix recursive Python calls and handle the Python GIL properly.
Fix loading of Python Toolsets, and document how Toolsets are detected.
Fix using Rotopaint with multiple layers. #420 #205
Fix loading project settings. #439
Fix property panels of PyPlug nodes. #449
Fix missing python API entry points. #485
Make "Use Host Interact" setting available from user parameters. #490
Fix deadlock when creating a dialog from initGui.py. #487
Plugins
Fix bugs in DenoiseSharpen that caused crashes. #300
Add support for chromatic aberration correction when reading RAW files. #309
Update CImg and G'MIC to 2.8.4 and fix several issues in GMIC plugins (which are still beta).
Many new GMIC plugins, including GMIC Custom Code.
FrameRange: New options "Loop" and "Bounce". #411
Update OpenImageIO to 2.1.11.0. #350
Fix reading multi-view EXRs. #429
Support for reading and writing HEIF/HEIC images. HEIC is the still-image sibling of HEVC (a.k.a. H.265), and compresses to about half the size of JPEG but with higher visual quality.
Text: Added SRT subtitle format support.
AudioCurve (audio curve generator): new plugin.
Fix plugin bugs (IO and CImg) with images that take more than 2GiB of memory (e.g. 12000x12000 RGBA float). #456
Fix "Fill" PyPlug: was not filling everything if the Source was larger than the project. #475
Shadertoy: use the preset name as a sublabel.
LensDistortion/IDistort/STMap: add "Use src RoD" option to override format.
Blur: fix handling of render scale when computing derivatives. #496
Text: fix animating font family and retiming the text output. #482 #476
Natron-2.3.15-OSX-Universal: OS X/macOS 10.6+, 32/64 bits
v2.3.5
4 years ago
Plugins
ReadOIIO: fix a bug where the Read nodes are not properly restored when timeOffset is used #1711
ReadOIIO: add options for reading RAW files: rawUserSat, rawHighlightMode, rawHighlightRebuildLevel
DenoiseSharpen: fix a bug where the plugin would not abort processing when required.
ColorCorrect: fix luminance computation when applying saturation #1706
Reformat: add a checkbox to use the input RoD instead of the input format (useful when preceded by a crop)
ContactSheet/LayerContactSheet: correctly set the format when the output size is changed
v2.3.6
4 years ago
fix bug when using PyPlugs containing Shadertoy (and possibly other plugins too) #1726 #1637
fix bug when creating a group from a plugin with invisible inputs (e.g. Shadertoy)
fix bug where Natron would crash when the "clear all panels" button is pressed #1729
fix bug where Roto and RotoPaint lifetime would change randomly #1707
Plugins
ReadOIIO/ReadPNG: "Image Info..." gives a more explicit message, containing the filename and more info.
fix bug in all OCIO plugins where GPU render is wrong if (un)premult is checked (disable GPU render in this case)
v2.3.7
4 years ago
The viewer timeline can now display information as timecode instead of frames (see TC/TF choice next to fps below the timeline)
Disabled Merge nodes (and other nodes with input A and B) now always pass-thru the B input. Preferences should never affect the render results.
Shuffle now passes through B by default, and has a new toggle parameter "setGBAFromR" to disable automatically setting G B and A from R.
Grade: Add "Reverse" option to apply the inverse function. Usage: clone or copy-paste a Grade node, insert it downstream of the original node, and check "Reverse" in the downstream Grade.
Fix RunScript (the bugs were in ReadOIIO and Natron), and better document it.
GIF format is now read and written by ReadFFmpeg (most GIFs these days are animated).
v2.3.8
4 years ago
Version 2.3.8
Fix crash when Viewer/maxNodeUiOpened=1 in the preferences
Fix bug where an exported PyPlug would not have a correct Python syntax if a string had a backslash followed by newline (as may be seen in Shadertoy sources).
Fix behaviour of loop/bounce in the Read node when there is a time offset #1734.
G'MIC plugins by Tobias Fleischer are now bundled with the binary distributions (beta).
Fix bug where the "&" character was not displayed in the plugin creation menus.
v2.3.9
4 years ago
Numerical text fields (aka SpinBoxes) are now auto-reselected when validated #1737.
When a node is selected, make its inputs/outputs more visible.
Node shape is now thinner in the node graph.
In the node graph, the cursor now really reflects what a mouse click would do.
All nodes inside a backdrop can be enabled/disabled using the "D" key #1720.
Fix the "." shortcut for creating a Dot in the nodegraph on non-French keyboards.
Only auto-connect a newly-created node to the input of the selected node if it cannot have an input itself.
Made more clear what the "LUT" tab in the project settings is for #1744.
Better "hide all parameters without modifications" behaviour #1625
Only the keypad number keys should be used to nudge Bezier/tracker, regular number keys switch the viewer #1582
v2.3.10
4 years ago
Add "Overwrite" checkbox to writers to avoid re-rendering the whole sequence #1683.
Writers do not render the whole RoD on their input anymore (this may result in a huge speed improvement on some projects).
Fix bug where effects could be marked as pass-through if their RoD was larger than the project format #1578
Add python method setCanAutoFoldDimensions(enable) to Double2DParam and Double3DParam.
Fix several plugins when included in a PyPlug: ColorSuppress, HSVTool, ImageStatistics, Ramp, Shuffle, Reformat #1749.