Natron Changelog

What's new in Natron 2.6.0 Pre-release

Dec 8, 2022
  • This is a test snapshot based on Natron 2.5 with Qt5.
  • It has the same bugs as the Qt5 version, see #827

New in Natron 2.5.0 (Nov 29, 2022)

  • Changes (compared to 2.4.4):
  • Use Python 3 rather than Python 2 (which is not maintained anymore). This will require very few changes to the Python code (mainly print statements), and most code can be easily adapted to be 2-3 compatible. #686
  • Use QtPy==1.11.2 rather than PySide. QtPy is an abstraction layer for PyQt5/PyQt4/PySide2/PySide (newer versions support PyQt6/PySide6). QtPy uses the Qt5 layout (where the QtGui module has been split into QtGui and QtWidgets). Using QtPy guarantees a higher level of forward-compatibility with future versions of Natron, which may use Qt5 or Qt6. PySide can still be imported explicitly, if required, but the resulting code will not be forward-compatible. Note that 2.4.4 binaries include qtpy, but still import PySide by default. #687
  • Detailed Changes:
  • RB-2.5: use qtpy rather than pyside by @devernay in #687
  • RB-2.5: python3 support by @devernay in #686
  • Compatibilize with Qt5 in Gui by @YakoYakoYokuYoku in #699
  • Errata on QWindow header by @YakoYakoYokuYoku in #703
  • Initial GitHub workflow implementation by @YakoYakoYokuYoku in #700
  • Support for building with Shiboken2 in Engine by @YakoYakoYokuYoku in #697
  • Shiboken2 postmerge fixes in Engine by @YakoYakoYokuYoku in #704
  • Update bug and feature request templates by @Shrinks99 in #707
  • use a different (fake) enum namespace for shiboken & shiboken2 by @devernay in #713
  • Support for building with Shiboken2 in Gui by @YakoYakoYokuYoku in #698
  • Initial Qt5 sources for Gui by @YakoYakoYokuYoku in #716
  • Initial Qt5 sources for Engine by @YakoYakoYokuYoku in #715
  • Deprecate usage of qSort in ToolButton by @YakoYakoYokuYoku in #717
  • Set tab stop distance with tabStopDistance in Gui by @YakoYakoYokuYoku in #718
  • Substitute recursive mutex enum with QRecursiveMutex by @YakoYakoYokuYoku in #720
  • Invoke system in global PySide config by @YakoYakoYokuYoku in #721
  • Renovate usages of QLineF intersections by @YakoYakoYokuYoku in #719
  • Query screen geometry using static QGuiApplication methods by @YakoYakoYokuYoku in #722
  • Renovate QWheelEvent in Gui by @YakoYakoYokuYoku in #723
  • Index model children with QAbstractItemModel by @YakoYakoYokuYoku in #726
  • Use QMargins for table model view by @YakoYakoYokuYoku in #727
  • Use default QFlags construction instead of zero by @YakoYakoYokuYoku in #724
  • Renovate QString splits with newer enum in Gui by @YakoYakoYokuYoku in #725
  • Replace qrand with QRandomGenerator in tests by @YakoYakoYokuYoku in #730
  • Replace width with horizontal advance for font metrics by @YakoYakoYokuYoku in #729
  • Suppress Wnonnull for GCC 11 by @YakoYakoYokuYoku in #728
  • Allow node name reuse after delete by @devernay in #733
  • Insert to bimaps left instead of directly to avoid crashes in caching by @YakoYakoYokuYoku in #734
  • Save backup versions of projects by @devernay in #740
  • Remove ISSUE_TEMPLATE.md by @YakoYakoYokuYoku in #746
  • Only display the overlays for nodes that are in the viewer render path and have their properties panel maximized by @devernay in #745
  • Hide viewer buttons when roto/tracker properties panel is minimized by @devernay in #748
  • Fix issue forms for proper bug reporting by @YakoYakoYokuYoku in #750
  • Color selector palette by @rodlie in #754
  • Update CONTRIBUTORS.txt by @devernay in #753
  • Add AppImage build script by @TheAssassin in #739
  • Query site packages path using the Python site module by @YakoYakoYokuYoku in #760
  • Fix grammatical error in documentation by @kemonprogrammer in #758
  • Fixes spelling errors by @Shrinks99 in #761
  • Gui: added taskbar support by @rodlie in #766
  • Substitute QGL classes with QOpenGL by @YakoYakoYokuYoku in #764
  • Update intro.rst by @solecism in #774
  • qt 4.8.7 archive download page correction by @cgvirus in #787
  • PythonUtils: more portable version of dirExists() by @devernay in #792
  • Natron.rc: Use productName for FileDescription on Windows by @rodlie in #799
  • Document Qt5 build and install for Linux/BSD by @YakoYakoYokuYoku in #802
  • Copy node or group background and overlay color by @YakoYakoYokuYoku in #821
  • OpenGL rendering command line flag by @YakoYakoYokuYoku in #810
  • Shiboken generation in QMake for Python bindings by @YakoYakoYokuYoku in #803
  • Initial CMake build system implementation by @YakoYakoYokuYoku in #809
  • Fix freeze in Tracker when not in viewer path by @YakoYakoYokuYoku in #823
  • Implement offscreen rendering in Wayland in OSGLContext by @YakoYakoYokuYoku in #765
  • Gui/GuiPrivate: don't cast qint64 to Q_PID by @rodlie in #831
  • Partially revert Shiboken generation in QMake for Python bindings by @YakoYakoYokuYoku in #830
  • System libs for glog and Ceres in CMake by @YakoYakoYokuYoku in #829
  • fixes to build using cmake on macOS/Qt5 by @devernay in #834
  • Engine/CLArgs.cpp: allow dot in writer name by @rodlie in #840

New in Natron 2.5.0 Pre-release (Nov 16, 2022)

  • Changes (compared to 2.4.4):
  • Use Python 3 rather than Python 2 (which is not maintained anymore). This will require very few changes to the Python code (mainly print statements), and most code can be easily adapted to be 2-3 compatible. #686
  • Use QtPy==1.11.2 rather than PySide. QtPy is an abstraction layer for PyQt5/PyQt4/PySide2/PySide (newer versions support PyQt6/PySide6). QtPy uses the Qt5 layout (where the QtGui module has been split into QtGui and QtWidgets). Using QtPy guarantees a higher level of forward-compatibility with future versions of Natron, which may use Qt5 or Qt6. PySide can still be imported explicitly, if required, but the resulting code will not be forward-compatible. #687
  • Detailed Changes:
  • RB-2.5: use qtpy rather than pyside by @devernay in #687
  • RB-2.5: python3 support by @devernay in #686
  • Compatibilize with Qt5 in Gui by @YakoYakoYokuYoku in #699
  • Errata on QWindow header by @YakoYakoYokuYoku in #703
  • Initial GitHub workflow implementation by @YakoYakoYokuYoku in #700
  • Support for building with Shiboken2 in Engine by @YakoYakoYokuYoku in #697
  • Shiboken2 postmerge fixes in Engine by @YakoYakoYokuYoku in #704
  • Update bug and feature request templates by @Shrinks99 in #707
  • use a different (fake) enum namespace for shiboken & shiboken2 by @devernay in #713
  • Support for building with Shiboken2 in Gui by @YakoYakoYokuYoku in #698
  • Initial Qt5 sources for Gui by @YakoYakoYokuYoku in #716
  • Initial Qt5 sources for Engine by @YakoYakoYokuYoku in #715
  • Deprecate usage of qSort in ToolButton by @YakoYakoYokuYoku in #717
  • Set tab stop distance with tabStopDistance in Gui by @YakoYakoYokuYoku in #718
  • Substitute recursive mutex enum with QRecursiveMutex by @YakoYakoYokuYoku in #720
  • Invoke system in global PySide config by @YakoYakoYokuYoku in #721
  • Renovate usages of QLineF intersections by @YakoYakoYokuYoku in #719
  • Query screen geometry using static QGuiApplication methods by @YakoYakoYokuYoku in #722
  • Renovate QWheelEvent in Gui by @YakoYakoYokuYoku in #723
  • Index model children with QAbstractItemModel by @YakoYakoYokuYoku in #726
  • Use QMargins for table model view by @YakoYakoYokuYoku in #727
  • Use default QFlags construction instead of zero by @YakoYakoYokuYoku in #724
  • Renovate QString splits with newer enum in Gui by @YakoYakoYokuYoku in #725
  • Replace qrand with QRandomGenerator in tests by @YakoYakoYokuYoku in #730
  • Replace width with horizontal advance for font metrics by @YakoYakoYokuYoku in #729
  • Suppress Wnonnull for GCC 11 by @YakoYakoYokuYoku in #728
  • Allow node name reuse after delete by @devernay in #733
  • Insert to bimaps left instead of directly to avoid crashes in caching by @YakoYakoYokuYoku in #734
  • Save backup versions of projects by @devernay in #740
  • Remove ISSUE_TEMPLATE.md by @YakoYakoYokuYoku in #746
  • Only display the overlays for nodes that are in the viewer render path and have their properties panel maximized by @devernay in #745
  • Hide viewer buttons when roto/tracker properties panel is minimized by @devernay in #748
  • Fix issue forms for proper bug reporting by @YakoYakoYokuYoku in #750
  • Color selector palette by @rodlie in #754
  • Update CONTRIBUTORS.txt by @devernay in #753
  • Add AppImage build script by @TheAssassin in #739
  • Query site packages path using the Python site module by @YakoYakoYokuYoku in #760
  • Fix grammatical error in documentation by @kemonprogrammer in #758
  • Fixes spelling errors by @Shrinks99 in #761
  • Gui: added taskbar support by @rodlie in #766
  • Substitute QGL classes with QOpenGL by @YakoYakoYokuYoku in #764
  • Update intro.rst by @solecism in #774
  • qt 4.8.7 archive download page correction by @cgvirus in #787
  • PythonUtils: more portable version of dirExists() by @devernay in #792
  • Natron.rc: Use productName for FileDescription on Windows by @rodlie in #799
  • Document Qt5 build and install for Linux/BSD by @YakoYakoYokuYoku in #802
  • Copy node or group background and overlay color by @YakoYakoYokuYoku in #821
  • OpenGL rendering command line flag by @YakoYakoYokuYoku in #810
  • Shiboken generation in QMake for Python bindings by @YakoYakoYokuYoku in #803
  • Initial CMake build system implementation by @YakoYakoYokuYoku in #809
  • Fix freeze in Tracker when not in viewer path by @YakoYakoYokuYoku in #823
  • Implement offscreen rendering in Wayland in OSGLContext by @YakoYakoYokuYoku in #765
  • Gui/GuiPrivate: don't cast qint64 to Q_PID by @rodlie in #831
  • Partially revert Shiboken generation in QMake for Python bindings by @YakoYakoYokuYoku in #830
  • System libs for glog and Ceres in CMake by @YakoYakoYokuYoku in #829
  • fixes to build using cmake on macOS/Qt5 by @devernay in #834
  • Engine/CLArgs.cpp: allow dot in writer name by @rodlie in #840

New in Natron 2.4.4 (Nov 16, 2022)

  • Known issues:
  • Crash when closing a project window on macOS 12+ (Qt4 only). #712
  • Rendering sometimes silently stalls after X frames. #248
  • Some image formats may have issues (PCX, PSB). #602
  • MTS video files are sometimes not read correctly. #186
  • Changes:
  • Rework the right-click nodegraph menu. #836
  • Allow simple expressions in project settings (e.g., frame range). #837
  • Allow dot in writer name on the command-line. #840
  • Plugins:
  • Fix issues with Transform viewer interaction and undo support. #839
  • SeNoise: Fix handling of the YRotate parameter. #805

New in Natron 2.4.4 Pre-release (Nov 14, 2022)

  • Known issues:
  • Crash when closing a project window on macOS 12+ (Qt4 only). #712
  • Rendering sometimes silently stalls after X frames. #248
  • Some image formats may have issues (PCX, PSB). #602
  • MTS video files are sometimes not read correctly. #186
  • Changes:
  • Rework the right-click nodegraph menu. #836
  • Allow simple expressions in project settings (e.g., frame range). #837
  • Allow dot in writer name on the command-line. #840
  • Plugins:
  • Fix issues with Transform viewer interaction and undo support. #839

New in Natron 2.4.3 (Feb 20, 2022)

  • Added support for render progress in taskbar icon (Windows/macOS). #766
  • Added palette support in color selector. #754
  • Allow creating a node with the same name that was just deleted. #732
  • Natron can now keep up to 32 project backups (see Preferences/General/Save versions). #562
  • Only display the overlays for nodes that are in the viewer render path and have their properties panel maximized. Can be disabled in Preferences/Viewer. #744
  • Fix rendering from Python (by calling app.render()) when nodes use Python expressions. #560
  • Fix drawing of closed Bezier overlays. #659
  • RotoPaint does not reconnect to the viewer at each stroke by default. Added a button to the viewer interface to re-enable this behavior. #641

New in Natron 2.4.2 (Dec 20, 2021)

  • Known issues:
  • Crash when closing a project window on macOS 12+ (Qt4 only). #712
  • Rendering sometimes silently stalls after X frames. #248
  • Some image formats may have issues (PCX, PSB). #602
  • MTS video files are sometimes not read correctly. #186
  • Changes:
  • Fix OpenFX overlay actions being executed in the wrong order. #711
  • Fix enabling node preview from Python. #710
  • Do not display the "Loading project" splashscreen on macOS 12+ to avoid crash due to Qt4 bug. #712
  • Plugins:
  • Fix bug in Transform plugin interact. #708
  • Fix EXR reader outputing the color plane only when an OCIO transform is applied. #714

New in Natron 2.4.1 (Nov 2, 2021)

  • Changes:
  • Default number of render threads is more reasonable on multi-core systems: min(num_cores, RAM/3.5Gb). #554
  • Fix checkerboard drawing on macOS Catalina and later. #614
  • Fix undoing "Reset to default" on parameters. #630
  • Fix NodeGraph manipulation and navigation issues. #491 #627
  • Fix Retina/High-DPI display issues on macOS, Windows and Linux/X11. #635
  • Fix multi-dimensional parameter linking (bug introduced in 2.4.0 #594). #631
  • Fix bug where any argument containing an integer between commas would be interpreted as a frame range. #644
  • Python: app.saveProject and app.saveProjectAs now do project variable substitution, as in app.saveProjectAs("[Variable]/output.ntp").
  • Fix ASCII curve import. #656
  • New color selection dialog for RGB and RGBA knobs. #210
  • Fix histogram smoothing (was 5 times too strong).
  • Add Python functions guiApp.copySelectedNodes and guiApp.pasteNodes. #390 #674 #675
  • Plugins:
  • Transform, CornerPin, Position and Ramp nodes now display the motion path.
  • HueCorrect now has the ability to do hue vs. hue adjustments, with an option to change the background curve guide. #610
  • Merge: Fix behavior on most operators when A is not connected or A's RoD and B's RoD are disjoint. #647
  • Reformat: fix bugs when "turn" is checked with Resize Type = None or Type = Scale.
  • Write: Remove file first when overwriting. #666
  • Mirror: Fix crash. #660
  • SeNoise: Add option for colored noise.
  • Known issues:
  • Rendering sometimes silently stalls after X frames. #248
  • Some image formats may have issues (PCX, PSB). #602
  • MTS video files are sometimes not read correctly. #186

New in Natron 2.4.0 (Apr 26, 2021)

  • Changes:
  • Updated documentation. #572 #566 #551 #539 #538 #537 #520 #514
  • Handle console output on Windows. #524
  • Detect user installed fonts on Windows 10. #523
  • New Windows installer. #596
  • Improvements to SequenceFileDialog. #565
  • Snap timeline alpha cursor to nearest frame. #574
  • Handle UTF-8 values in KnobTable (fixes use of project path containing Unicode). #578
  • Tabs UI adjustments. #564
  • Do not allow Python keywords as node name or scriptname. #588
  • Always serialize nodes with an expression or a link, even if they have the default value. #585
  • Support cloned group nodes or hard links between groups. #568 #579 #594 #598
  • Default keyframe interpolation method for strokes and shapes is now "Smooth" (was "Linear"). #597
  • Fix animation of Roto Beziers with non-broken tangents. #202
  • Remember properties panels state when reopening project. #168
  • Plugins:
  • ReadFFmpeg, WriteFFmpeg: upgrade to work more nicely with the FFmpeg 4 API. #148 #231 #241
  • ReadFFmpeg: add support for reading AV1 & Canopus HQ/HQX/Lossless.
  • WriteFFmpeg: add support for writing AV1 & Cineform HD.
  • Fix another bug in DenoiseSharpen that caused crash when stoping/aborting. #300
  • Fix Lin2Log to be consistent with Log2Lin. #570
  • Merge: never consider RGB as being transparent by default - this is OK for unpremultiplied compositing (After Effects) but is invalid in a premultiplied compositor such as Natron or Nuke. Users still have the option to ignore the alpha channel. #571
  • WriteOIIO: Do not add "Color." to the channel names of the color plane (affects mainly OpenEXR). #583
  • Writers: when writing RGBA to format that does not support alpha, just drop alpha - don't premultiply. #582
  • RGBtoHSL: Fix bug with white and superwhite values. #512
  • Reformat: Default to project size. #533

New in Natron 2.3.15 (Jun 16, 2020)

  • 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

New in Natron 2.3.14 (Jul 20, 2018)

  • ReadSVG: Fix reading layers of SVG files #292

New in Natron 2.3.13 (Jul 3, 2018)

  • Fix default value for file premult in ReadSVG (should be premultiplied).
  • HSV values in the viewer info lines are now computed from linear RGB #286.
  • RGBToHSV, HSVToRGB, RGBToHSL, HSLToRGB, RGBToHSI, HSIToRGB: Use linear RGB values in computation #286.
  • Tracker: fix bug where Transform tracking was wrong when using more than 1 point #289.

New in Natron 2.3.12 (May 24, 2018)

  • Fix font selection in the plugins that render text (Text and Polaroid from openfx-arena) #269.
  • Python: add Effect.getOutputFormat() method.
  • GCC 8.1 (used for the 2.3.11 binaries) breaks the timeline GUI, revert to GCC 7.3 for Linux builds #279.
  • Disable crash reporter in official binaries (requires maintenance to get it working again), and add crash reporter code to the source tree.

New in Natron 2.3.11 (May 7, 2018)

  • User Guide: Add documentation on tracking and stabilizing.
  • FrameBlend: Add Over operation, add decay parameter, and fix bugs.
  • Fix Python Pseudo-random number generators random(min,max,time,seed) and randomInt(min,max,time,seed)
  • Shadertoy: Document the process to adapt a shader from shadertoy.com to the Shadertoy plugin.
  • Support FFmpeg 4.0 in the ReadFFmpeg and WriteFFmpeg plugins.

New in Natron 2.3.10 (Apr 5, 2018)

  • 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.
  • Fix Matrix3x3 and Matrix5x5 GUI (y was reversed).

New in Natron 2.3.9 (Mar 29, 2018)

  • 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

New in Natron 2.3.8 (Mar 22, 2018)

  • 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.

New in Natron 2.3.6 (Feb 28, 2018)

  • 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)

New in Natron 2.3.5 (Feb 23, 2018)

  • 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

New in Natron 2.3.4 (Dec 19, 2017)

  • Binaries distributed through Natron's web site are now built with 8-bit x264. 10-bit x264 (introduced with 2.2.6) causes too many compatibility issues. There are other codecs that support 10-bit output (especially ProRes, vc2, libopenjpeg, libvpx-vp9, and x265 on some systems). In order to get 10-bit x264, it is recommended to encode a quasi-lossless using one of these codecs, and then transcode with a ffmpeg binary capable of encoding 10-bit x264.
  • Work around a possible Qt/Linux bug where tablet events have a negative pressure on Wacom Intuos tablet #1697
  • Binaries: add 10-bit HEVC encoding, Cisco openh264 encoding, VidVox Hap encoding.
  • Plugins:
  • Upgrade SeExpr to version 2.11.
  • Grade: add a "Normalize" button to automatically compute the clack and white points.
  • Matrix3x3, Matrix5x5: new plugins, apply a 3x3 or 5x5 custom filter.
  • ColorCorrect: Fix wrong render for input values outside the [0-1] range #1703
  • ReadOIIO: Adjust Maximum Thr. (used when reading RAW camera files) should defaut to 0.0 #1705

New in Natron 2.3.3 (Nov 13, 2017)

  • Fix computation of remaining time when rendering.
  • Fix loading third-party plugins on Linux #1682
  • Plugins:
  • ColorLookup: add "Master Curve Mode" parameter, which enable selecting different algorithms to apply the tone curve with more or less color shifting. These curve modes are inspired by RawTherapee. Also add the possibility to compute and display the RGB histogram of the source input.
  • WriteFFmpeg: support 10-bit DNxHR 444 and DNxHR HQX (and fix a related FFmpeg bug).
  • Shadertoy: rework many presets so that they work better with Natron, especially the effects in the Blur, Effect, and Source categories. Most blur effects can also be modulated per-pixel using the "Modulate" input to get Z-dependent blur.
  • Shadertoy: new presets: Blur/Bokeh Disc, Blur/Mipmap Blur, Effect/Anaglyphic, Effect/Bloom Paint, Effect/Sawnbringer 4bit, Effect/Sharpen, Effect/CRT, Effect/Fisheye, Effect/Image Cel Shade, Effect/Kaleidoscope, Effect/Noisy Mirror, Effect/Quad Mirror, Effect/Q*Bert-ify, Effect/Stripes, Effect/Vignette, Source/Cloud, Source/Cloudy Sky, Source/Disks, Source/Fireball, Source/Flash, Source/Seascape, Source/Star Nest, Source/Voronoi
  • Shadertoy: add iChannelOffset extension.
  • LensDistortion: add cropToFormat parameter (true by default), to avoid computing areas outside of the project frame.

New in Natron 2.3.2 (Sep 5, 2017)

  • Merge: fix bug #1648, where the alpha from the B input would be used for all consecutive merge operations, rather than updated at each operation.

New in Natron 2.3.1 (Jul 27, 2017)

  • Python: Fix the setTable() function of the PathParam class

New in Natron 2.3.0 (Jul 5, 2017)

  • Fix lots of bugs when loading older Natron project files.
  • Internal changes: implement a new OpenFX multiplane suite.

New in Natron 2.2.9 (Jul 1, 2017)

  • Fix a bug where the channel selector would be wrong when loading older projects (e.g. Spaceship).
  • Plugins:
  • SpriteSheet: convert a sprite sheet to an animation.

New in Natron 2.2.8 (Jun 5, 2017)

  • OpenGL interact is now always affected by transforms even if there is motion blur.
  • Plugins:
  • Radial, Rectangle and generators: when the Extent is set to Size, and Reformat is not checked, Bottom Left and Size can be animated.
  • add Box filter to Transform, CornerPin, GodRays, and all Distortion nodes.
  • ContactSheet, LayerContactSheet: Make a contact sheet from several inputs, frames or layers (beta)

New in Natron 2.2.7 (Apr 18, 2017)

  • Changes:
  • Reduce noise on the roto shape borders #1594
  • Plugins:
  • ReadOIIO: fix bug when reading EXRs with datawindow different from displaywindow.
  • (beta feature) Inpaint: New plugin. Inpaint the areas indicated by the Mask input using patch-based inpainting. Please read the plugin documentation.

New in Natron 2.2.6 (Mar 31, 2017)

  • Multi-dimensional parameters don't automatically fold into a single dimension, except for scale and size params.
  • Binaries distributed through Natron's web site are now built with 10-bit x264 and 10/12-bit libvpx-vp9 support. That means the produced video files may be unplayable on some hardware (e.g. phones or TVs), but Natron should really be used to produce digital intermediates with the highest possible fidelity, which can then be transcoded to more suitable distribution codecs.
  • Better cache usage for Readers, ReadOIIO does not use the OIIO cache anymore (partly due to OpenImageIO/oiio#1632).
  • Fix a bug where custom OpenFX plugins directories would be ignored #1584
  • Add a documentation chapter on importing camera data from PanoTools-based software (PTGui, PTAssembler, Hugin).
  • Plugins:
  • WriteFFmpeg: the preferred pixel coding and bit depth can now be selected, which is very useful for codecs that propose multiple pixel formats (e.g. ffv1, ffvhuff, huffyuv, jpeg2000, mjpeg, mpeg2video, vc2, libopenjpeg, png, qtrle, targa, tiff, libschroedinger, libtheora, libvpx, libvpx-vp9, libx264, libx265).
  • WriteFFmpeg: Bitrate-based (VBR) encoding was removed from the following codecs in favor of quality-based (VBR) encoding, mainly because it should be used in 2-pass mode (using handbrake or the ffmpeg command-line tool): mpeg4, mpeg2video, mpeg1video, flv.
  • ColorCorrect: changed the Contrast formula to make adjustments more intuitive, see https://compositormathematic.wordpress.com/2013/07/06/gamma-contrast/ - this may affect existing projects that used the previously buggy Contrast parameter.
  • LensDistortion: add PanoTools/PTGui/PTAssembler/Hugin model.
  • Card3D can now import/export chan files from Natron, Nuke, 3D-Equalizer, Maya, etc., and txt files from Boujou.
  • Card3D and CornerPin: only show things that are in front of the camera. In cornerPin, point 1 is always considered to be in front.
  • Noise, Plasma: result is now reproductible (a given render always gives the same result).
  • ReadOIIO: add advanced options for reading RAW files.
  • STMap: Use the format of the Source input rather than its RoD to determine the texture size (useful when using an STMap written by LensDistortion).
  • SmoothBilateral, SmoothBilateralGuided, SmoothRollingGuidance: The Value Std Dev. was clamped by CImg to a rather high value (0.1), making the filters almost useless. Fixed.

New in Natron 2.2.5 (Feb 20, 2017)

  • Fix undo when manipulating 2D points in the viewer interact #1576
  • Fix manipulating the interact plugin on non-retiming inputs of retiming effects (e.g. the Retime Map in Slitscan) #1577
  • Fix exporting curves to ascii (eg ColorLookup), and values for xstart, xincr and xend can now be simple expressions.
  • Plugins:
  • DenoiseSharpen: the output is now the noisy source when Noise Analysis is not locked. It is easier to see where there is noise that way, and it also makes the plugin usable in Resolve (which calls render even if non-significant parameters are changed)
  • Generators now may set the output format when Extent=Size (as they do when Extent=Format or Extent=Project).
  • Rework many plugins so that they work better in DaVinci Resolve (all generators including Radial and Rectangle, CopyRectangle, DenoiseSharpen, LensDistortion, HSVTool, ImageStatistics, Position)
  • Card3D (beta): Transform and image as if it were projected on a 3D card.

New in Natron 2.2.4 (Feb 6, 2017)

  • Write: remove Python page, add Info page
  • ReadFFmpeg: fix "Image Info..." button (which calls ffprobe) when file path is relative to a project variable
  • fix high-resolution application icons
  • Plugins:
  • Readers and writers now only get the colorspace from the filename if it is before the extension and preceded by a delimiter
  • BilateralGuided: bug fix
  • Natron can now use plugins compiled with the DaVinci Resolve OpenFX SDK (which assumes that the host is Resolve), such as the Paul Dore plugins (see https://github.com/baldavenger/).

New in Natron 2.2.3 (Feb 1, 2017)

  • add proper quality options to WriteFFmpeg, including CRF-based encoding for libx264.
  • the online documentation for Read and Write now show the documentation of the underlying plugin.
  • fix bug in the recent files menu #1560
  • fix reading of transparent PNG #1567
  • fix clearing error message for readers/writers.
  • disable MXF writing (too many constraints, use an external transcoder)
  • fix MKV writing

New in Natron 2.2.2 (Jan 25, 2017)

  • fix hue display in the viewer #1554
  • EdgeBlur now has an optional Matte input used to compute the edges #1553
  • fix reading image sequences that do not have frame number 1 in them #1556
  • better/simpler GUI and documentation for the file dialog.

New in Natron 2.2.1 (Jan 21, 2017)

  • This is a bug-fix release:
  • fix a bug with the file dialog when network drives are detached on Windows
  • the "Open Recent" menu now shows the directory name if there are several files with the same name.
  • Plugins:
  • STMap: was broken in 2.2, fix it.
  • WritePNG: fix writing 16 bit PNG

New in Natron 2.2.0 (Jan 19, 2017)

  • OpenGL rendering is enabled by default for interactive editing in plugins that support it (but still disabled for background rendering)
  • Roto & RotoPaint: ellipses and circles are more accurate #1524
  • When a plugin is not available with the right major version, use the smallest major version above for better compatibility (before that change, the highest major version was returned)
  • Natron can now be launched in 32-bits mode on macOS
  • Documentation is now licensed under CC BY-SA 4.0, and external contributions are welcome
  • Organize nodes documentation
  • New project formats: HD_720, UHD_4K, 2K_DCP, 4K_DCP
  • Plugins:
  • SeNoise: fix bugs in the Transform parameters #1527
  • PIKColor: do not expand region of definition
  • Shadertoy: support iDate, add presets, fix CPU rendering #1526
  • Transform & CornerPin: additional "Amount" parameter to control the amount of transform to apply.
  • ColorLookup: fix a bug where output was always clamped to (0,1) #1533
  • Grade: fix a bug where negative values were clamped even when gamma=1 #1533
  • STMap, IDistort, LensDistortion, Transform, CornerPin: reduce supersampling to avoid artifacts
  • LensDistortion: add STMap output mode, add undistort output, add PFBarrel and 3DEqualizer distortions model, add proper region of definition support.
  • RotoMerge: a merge plugin that takes an external mask as the alpha for the A input.
  • WriteFFmpeg: DNxHD codec now supports DNxHR HQ, DNxHR SQ and DNxHR LB profiles.
  • The plugins that were made available as beta features in the 2.1 releases are now considered stable:
  • DenoiseSharpen: new wavelet-based denoising plugin
  • EdgeBlur: Blur the image where there are edges in the alpha/matte channel.
  • EdgeDetect: Perform edge detection by computing the image gradient magnitude.
  • EdgeExtend: Fill a matte (i.e. a non-opaque color image with an alpha channel) by extending the edges of the matte.
  • ErodeBlur: Erode or dilate a mask by smoothing.
  • HueCorrect: Apply hue-dependent color adjustments using lookup curves.
  • HueKeyer: Compute a key depending on hue value.
  • KeyMix: Copies A to B only where Mask is non-zero.
  • Log2Lin: Convert from/to the logarithmic space used by Cineon files.
  • PIK: A per-pixel color difference keyer that uses a mix operation instead of a max operation to combine the non-backing screen channels.
  • PIKColor: Generate a clean plate from each frame for keying with PIK.
  • PLogLin: Convert between linear and log representations using the Josh Pines log conversion.
  • Quantize: Reduce the number of color levels with posterization or dithering
  • SeExprSimple: new simple expression plugin with one expression per channel
  • Sharpen & Soften: new plugins.
  • SlitScan: Per-pixel retiming.

New in Natron 2.1.9 (Nov 29, 2016)

  • Natron:
  • Read/Write: Do not automatically set parameters when changing the filename (#1492). Creating a new Reader/Writer still sets those automatically.
  • ctrl-click on a node in the nodegraph (cmd-click on Mac) now opens its control-panel (same as double-click)
  • Curves with a single keyframe can now have a slope.
  • Fix gamma=0 in the viewer
  • Fix a bug where removing all control points from ColorLookup would crash the application
  • Fix bugs in curves drawing.
  • Fix potential crashes when using KDE on Linux
  • Fix a bug where Roto strokes drawn at a different frame of the current frame would disappear
  • (macOS) Fix a bug where the interface would become very slow after a String parameter is disabled or enabled
  • Plugins:
  • ColorWheel: anti-aliased rendering
  • Rectangle: add rounded corners
  • PIKColor: fix black rims issue #1502, rework & optimize
  • PIKColor: remove hard limits on parameters b85f558
  • Grade & Gamma: fix behavior when gamma=0
  • Shadertoy: support iChannelResolution

New in Natron 2.1.8 (Nov 17, 2016)

  • Fix a bug where several images with file names that contain two numbers would be be considered as a sequence even if both numbers differed.
  • Fix a bug where a disabled Merge node would pas input A if the preferences say Merge should auto-connect to B (#1484)
  • Node Graph: hints for possible links between nodes are now only active when holding the Control key (Command on macOS) (#1488)
  • Roto: The default shortcuts to nudge Control Points has been changed to the num-pad 2,4,6 and 8 keys instead of the arrow keys which were conflicting with the timeline shortcuts. (#1408)
  • Fix a bug where the output channels of the Shuffle node could forget their link or expression (#1480)
  • Fix a bug where the focus on parameter would jump randomly (#1471)

New in Natron 2.1.7 (Oct 28, 2016)

  • Fix a bug where PyPlugs would not load if the PYTHONPATH environment variable was set
  • Fix a bug in the file dialog
  • Plugins:
  • (beta feature) SlitScan: Per-pixel retiming.

New in Natron 2.1.6 (Oct 19, 2016)

  • Fix a bug where Natron would freeze or be extremely slow when using big node graphs.
  • Plugins:
  • DenoiseSharpen: Use a more intuitive "Sharpen Size" parameter instead of "Sharpen Radius", and do not sharpen the noise. Add "Denoise Amount" parameter, which can be set to 0 to sharpen only.
  • ErodeBlur: fix the "Crop To Format" parameter (which did not work)
  • (beta feature) HueCorrect: Apply hue-dependent color adjustments using lookup curves.
  • (beta feature) HueKeyer: Compute a key depending on hue value.

New in Natron 2.1.5 (Oct 12, 2016)

  • Bugs:
  • Introduce the notion of "Format", which is basically the area of the image to be displayed (similar to the display window in OpenEXR). Each clip has a format attached, so a project can contain images of different sizes.
  • Fix a bug where deprecated plugins would not be loaded from project file 2561778
  • macOS: clicking the dock icon now raises all windows
  • macOS: fix ColorLookUp curves parameter display
  • PyPlug: fix a bug where removing a node inside a Group would break any expression on its siblings
  • Reader: fix a bug where copy/pasting a node would display a "Bad Image Format" error
  • The whole user interface now uses the same font, and dialogs were cleaned up to use standard buttons
  • Roto: fix a bug where the selected tool in the viewer would not refresh properly
  • Fix a bug where Natron would not work properly when installed in a directory containing unicode characters
  • OpenEXR: fix a bug where auto-crop files would not have their origin placed correctly
  • Plugins:
  • Crop: add the "Extent" choice, to chose either a predefined format or a custom size
  • Blur: add the "Crop To Format" option.
  • Reformat: if input has a format, use it to compute the reformated output.
  • NoOp: can also set the format.
  • Shuffle: re-enable the "Output Components" choice"
  • Premult/UnPremult: don't try to check processed channel when rewiring the input
  • (beta feature) ErodeBlur: Erode or dilate a mask by smoothing.
  • (beta feature) KeyMix: Copies A to B only where Mask is non-zero.
  • (beta feature) PIK: A per-pixel color difference keyer that uses a mix operation instead of a max operation to combine the non-backing screen channels.
  • (beta feature) PIKColor: Generate a clean plate from each frame for keying with PIK.
  • (beta feature) Sharpen & Soften: new plugins.
  • (beta featur) EdgeExtend: Fill a matte (i.e. a non-opaque color image with an alpha channel) by extending the edges of the matte.

New in Natron 2.1.4 (Sep 22, 2016)

  • Python: Add ExprUtils class that adds helpers for FBM and Perlin noise (taken from Walt Disney Animation SeExpr library)
  • Tracker: fix add/remove jitter motion types
  • Fix creation of SeNoise node
  • Fix a bug where the data-window would not be read correctly with auto-crop EXR image sequences
  • Fix a bug where the group expand/fold feature would not work correctly

New in Natron 2.1.3 (Sep 15, 2016)

  • Gui: sliders have a cleaner look with less ticks and a round handle 231c7f7
  • fix bug where the OFX plugin cache could be wrong if OpenGL was disabled 32c1532
  • fix dynamic kOfxSupportsTiles handling
  • add more properties to the "Info" node panel
  • the log window now becomes visible whenever a message is sent
  • Fix a bug where entering a Group node could crash Natron
  • Fix a bug where copy pasting a Group could loose expressions/links used nodes within the Group
  • Fix a bug when reading auto-crop EXR image sequences
  • Fix a bug where a project could use all the RAM available plus hit the swap when reading untiled multi-layered EXR files

New in Natron 2.1.2 (Jul 19, 2016)

  • Viewer: A new button can now force full-frame rendering instead of the visible portion. This may be useful to remove borders artifacts when panning/zooming during playback
  • Fix a bug where the Glow node would not work correctly
  • Windows: Fix a bug where the 32-bit version would crash on launch with AMD Graphic Cards
  • Fix a bug where the Read node would sometimes show an error dialog but everything was in fact fine
  • Fix a bug where changing the output filename in a Write node would reset encoder specific parameters
  • Tracker: when clicking "Set Input RoD" in the From points of the corner pin, automatically re-compute the To points over all keyframes
  • Tracker: A bug was found in the internal algorithm when tracking with a rotation/affine model. This was fixed in co-operation with Blender developers
  • Fix a bug where the .lock file of a project would not go away even if closing Natron correctly
  • Fix a bug where expressions would not work in some circumstances

New in Natron 2.1.1 (Jul 12, 2016)

  • Fix a bug where enabling GPU rendering from the settings would not be taken into account correctly by the ShaderToy node
  • Fix a bug where panning the viewport during playback could show banding artifacts
  • Fix a bug where the Reformat node would not work properly when loading a project and then switching the Type parameter
  • Fix a crash when adding a control point to a roto shape with CTRL + ALT + LMB
  • Fix a bug where the writing of the OpenFX plug-ins loading cache was not thread-safe. Multiple Natron processes on a same node of a render farm could corrupt the cache thus failing some renders because plug-ins could not load.
  • The Dilate/Erode nodes now have the Alpha checkbox checked by default and also have a parameter to expand the bounding box
  • The Auto-Turbo mode is now also enabled when writing out on disk

New in Natron 2.1.0 (Jul 5, 2016)

  • The point tracker was completely reworked. It now uses libmv (from Blender). It now allows tracking different motion types (translation, rotation, scaling, perspective) and can be used for anything that needs match-moving or stabilizing.
  • Readers/Writers are now all under the same Read/Write node. If 2 readers/writers can decode/encode the same format, a drop-down allows to choose between them.
  • Python: it is now possible to pass extra properties to the createNode function to control how nodes are created, see Python reference.
  • (beta feature) New documentation for Natron: Whenever pressing the "?" button in the properties panel of a node, Natron will open-up a page in your web-browser with documentation for this node. Natron also has a user-guide that is work in progress. You may contribute to this user guide, follow these instructions to enrich the documentation.
  • (beta feature) Shadertoy is a new plugin that allows writing plugins using GLSL fragment shaders. It supports both GPU rendering using OpenGL and CPU rendering using Mesa.
  • (beta feature) OpenGL rendering is now supported (enable it in Preferences/GPU rendering). Tested with the Shadertoy plugin and the HitFilm Ignite plugins.
  • ColorLookup now has a background that makes it easier to use as a color ramp.
  • (beta feature) TextFX is a new text plugin with more features than the original text node(s).
  • (beta feature) ReadCDR is a new reader plugin that supports CorelDRAW(R) documents.
  • (beta feature) ReadPDF is a new reader plugin that supports PDF documents.

New in Natron 2.0.5 (Jun 5, 2016)

  • New maintenance release for Natron 2.0.
  • Viewer: The number keys now always switch input A when not shifted, and B when shifted, even on keyboards where numbers should be shifted (such as French AZERTY).
  • Viewer: Reworked the wipe modes. added Onion Skin and stack modes.
  • Several bug fixes.
  • Support Tiffen plugins by DFT.

New in Natron 2.0.3 (May 11, 2016)

  • Fixed a bug where some image sequences would fail to read when a first frame would be missing
  • Fixed a bug where a PyPlug containing another PyPlug would fail to load in some cases
  • Fixed a bug where the play button would not be pressed on all viewers during playback
  • Python: add a function to File parameters to reload the file
  • Fixed a bug where the gui could stop giving feedback when rendering
  • CTRL + left mouse button click can now be used on sliders to reset to their default value
  • Fixed Python call to the onProjectSave callback which would not work

New in Natron 2.0.2 (Apr 19, 2016)

  • Second maintenance release for Natron 2.0. Features several bug fixes, compatibility fixes and enhancements.

New in Natron 2.0.1 (Mar 19, 2016)

  • Major performance improvement for ReadFFMPEG and WriteFFMPEG
  • Fix crash received from crash reporter
  • Roto: fix interaction with feather
  • Roto: It is now possible to add points to a shape by pressing CTRL+ALT+click
  • Roto: fix a bug where animating any parameter would crash Natron
  • Python: add ability to query the active project (i.e: the top level window) with the NatronEngine.natron.getActiveInstance() function
  • Python: fix issue where the argument of saveProject(filename) would be ignored

New in Natron 2.0.0 (Mar 11, 2016)

  • Python: PyPlugs can now be used to create toolsets, such as Split And Join in the views menu
  • New Glow PyPlug
  • New bloom node
  • The HSVTool node now has an analysis button to set the src color
  • The file dialog performances have been greatly improved
  • It is now possible to list all available drives in the file dialog on Windows
  • New progress panel to manage renders to cancel, queue, pause or restart them
  • EXR format reading/writing speed has been greatly improved
  • ReadFFMPEG/WriteFFMPEG performances have been improved
  • WriteFFMPEG has now a better interface to display possible format/codec combination
  • The viewer now has the ability to pause updates so that no render is triggered upon any change that would modify the displayed image
  • User interface for parameters has been improved and requires less mouse clicks
  • Undo/Redo shortcuts (CTRL-Z or CMD-Z on Mac) now follow the mouse over focus indicated on the interface tabs
  • The curve editor has received major speed enhancements when manipulating thousands of keyframes
  • The dope sheet zoom is now always appropriate, even for still images
  • Value parameters can now have Python expressions written directly in their spinbox and can be used as calculators
  • A new demo project from Francois Grassard is available at downloads.natron.fr.
  • It contains a fully-featured project demonstrating the use of a complex node-graph including usage of PyPlugs

New in Natron 2.0.0 RC 6 (Jan 31, 2016)

  • New crash reporter to help stabilizing the software
  • New Despill node
  • New Reformat node that replaces the old Resize node
  • Improved command-line options and stability using Python scripts
  • Lots of stability fixes

New in Natron 2.0.0 RC 5 (Dec 8, 2015)

  • Improve the creation of PyPlugs with better Page & Groups
  • New right click action on parameters to create an Alias on group to quickly create user parameters. By default they are no longer linked with an expression but with an internal link instead.
  • Fix stability issues

New in Natron 2.0.0 RC 4 (Dec 8, 2015)

  • Write nodes now have a Frame Increment parameter which allows to skip frames while rendering.
  • The command-line parameters and Python API have been updated in this regard (see Python documentation).
  • Fix multiple bugs when rendering a multi-layered exr
  • Linux: when crashing, Natron will now print a backtrace if launched from the Terminal. This is temporary and will be soon replaced by a cross-platform crash reports handler.
  • RotoPaint: enhancements in the rendering algorithm
  • Color, Double and Integer parameters can now have an expression entered directly in a SpinBox for convenience
  • NodeGraph: optimize for speed when the scene contains a lot of nodes and add auto-scrolling when reaching the border of the view

New in Natron 2.0.0 RC 3 (Nov 11, 2015)

  • The Read node can now read multi-view EXR files. Decoding speed of EXR has been greatly improved.
  • The Write node can now write multi-view and multi-layered EXR files. Encoding speed of EXR has been greatly improved.
  • Viewer: The channel selected in the "Alpha channel" drop-down can now be overlayed on the image when using the "Matte" display channels
  • The RotoPaint/Roto Transform and Clone tabs now have a viewer handle overlay to help manipulating the parameters
  • DopeSheet and CureEditor: The scaling interactions with the bounding box of selected keyframes are now correct but may lead to keyframes being located at floating point times.
  • A "P" indicator at the bottom right of a node will indicate that a node is a pass-through. Hovering the mouse over the "P" will indicate from which input this node is a pass-through of. The pass-through input will also be indicated with a plain arrow whereas all other inputs will have their arrow dashed.
  • Python API: it is now possible to retrieve the layers available on a node with the getAvailableLayers() function, see Python Reference

New in Natron 2.0.0 RC 2 (Nov 11, 2015)

  • Fix a crash with the Shuffle node
  • Fix multiple bugs where reading some layers would not be possible from multi-layered files
  • New TimeDissolve node
  • Roto/RotoPaint: add a "Premultiply" parameter
  • The HostName Preference is now a dropdown menu
  • The Write node can now have custom tile size when writing EXR files. It is also possible to write multiple channels into the EXR.
  • On Windows the console is now hidden by default. It is possible to show it from the Display menu.

New in Natron 2.0.0 RC 1 (Nov 11, 2015)

  • Python 2.7 API:
  • Parameters expressions
  • User-defined parameters
  • Script editor to control the application overall
  • User-defined python callbacks
  • Integration of Pyside to the GUI so that the interface is extensible with new menus and windows
  • Python API is available at http://natron.readthedocs.org
  • Nodes group to have cleaner graphs with hidden sub-nodegraphs
  • PyPlug: You can export a group as a Python plug-in and it be re-used in any other project as a single node as you would use any other plug-in
  • SeExpr integration within a node: http://www.disneyanimation.com/technology/seexpr.html
  • New SeNoise and SeGrain nodes based on SeExpr
  • RotoPaint node with Wacom tablets support
  • DopeSheet editor: This is where you can control easily keyframes and clips in time for motion graphics purposes
  • Render statistics: Available in the Render menu, use this to debug complex compositions
  • New Text plug-in with much more controls than the previous Text node
  • New TextPango node based on the Pango library to directly input Pango Markup Language (html-like), see https://github.com/olear/openfx-arena/wiki/Pango
  • Many new nodes, based on the ImageMagick library: ReadPSD, ReadSVG, Charcoal, Oilpaint, Sketch, Arc, Polar, Polaroid, Reflection, Roll, Swirl, Tile, Texture
  • New nodes:
  • STMap
  • IDistort
  • LensDistortion
  • TimeBlur
  • OCIODisplay node
  • GmicEXPR, to enter GMIC expressions
  • Rewrote entirely the WriteFFMPEG and ReadFFMPEG nodes. Most widely used codecs are supported
  • New merge operators: grain-extract, grain-merge, color, hue, luminosity
  • New gamma and gain controllers on the viewer
  • Multiple viewers can now have their projection synchronised to enhance image comparison
  • Support for multi-layered workflows for cleaner graphs
  • Better support for multi-view workflows
  • Various performance and stability enhancements across the board

New in Natron 1.2.1 (Feb 21, 2015)

  • New GodRays and DirBlur nodes.
  • New RGBToHSI/HSIToRGB YUVToRGB/RGBToYUB YCbCrToRGB/RGBToYCbCr nodes
  • Fixed a bug where some TIFF files would not read correctly on Windows versions of Natron
  • FIxed a bug where a crash could occur with the Merge node with mix = 0
  • Fixed a bug where ReadFFMPEG would sometimes decode incorrectly files with bit depth higher than 8
  • Miscellaneous stability fixes

New in Natron 1.2.0 (Feb 10, 2015)

  • Overlays on the viewer are now transformed by all Transform effects such as CornerPin,Transform
  • The user interface colors can now be changed in the "Appearance" tab of the Preferences of Natron
  • Bezier curves motion now have a constant or linear interpolation
  • The dialog that pops up when trying to merge 2 clips that do not have a matching FPS is now a bit clearer regarding possible solutions
  • Wacom support is now more intuitive and supported on all widgets that can zoom or pan.
  • New "Image statistics" node to analyse various significant values from an image
  • It is now possible to connect any node to a Writer node
  • Bug fixes:
  • ReadFFMPEG would crash when reading video files with a videostream bitdepth > 8bit
  • ReadFFMPEG would crash when reading image sequences
  • The viewer would not redraw correctly
  • The nodegraph would not redraw correctly, hence producing a latency effect
  • Readers would not recognize some image sequences
  • Some TIFF files would not be read correctly by the ReadOIIO node

New in Natron 1.1.0 (Jan 22, 2015)

  • Fix stability of the software as a whole. This build has been reported to be robust to several hours of work.
  • The tracker node can now be offset to track elements that go beyond the bounds of the image
  • The roto node interaction has been improved:
  • The composing of selection is now easier
  • A new button can now toggle on/off the click capture of the bounding box of selected points
  • The smooth/cusp options are now applied we smaller steps and depending of the zoom factor
  • A simple left click is required to cycle through tool buttons and a right click to open the menu
  • A new button in the settings panel allows to clear the animation of the selected Beziers
  • Only the keyframes of the selected shapes are now displayed on the timeline instead of all shapes keyframes
  • CurveEditor: added a filter to display only nodes containing the filter
  • CurveEditor: double-clicking the item of a node will open the settings panel much like a double-click in the NodeGraph does
  • The interpolation submenu of the animation menu of the parameter is working again
  • A simple click on an arrow of the node graph no longer disconnects nodes to prevent mistakes, instead now, to disconnect only with a simple click it is required to hold the control modifier.
  • Playback: The behaviour when using multiple viewers is now much more logical: all viewers are kept in sync and follow the frame range of the viewer that started the playback. The frame range is now per viewer.
  • The frame range is now a property of the project: Each time a Reader node the frame range of the project is unioned with the frame range of the sequence read (unless the Lock range parameter is checked). New viewers that have their frame range untouched will use the project frame range by default.
  • Wacom support for all areas of the software that may need it: NodeGraph, CurveEditor, Viewer, Histogram
  • In addition you no longer need to hold alt to zoom, the middle-button only is required. In the CurveEditor, the zoom direction will stretch the view in that direction.
  • New nodes: Add, Multiply, Gamma, ColorConvert, SharpenInvDiff, SharpenShock