Known Bugs
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
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 Contributors
- @YakoYakoYokuYoku made their first contribution in #699
- @TheAssassin made their first contribution in #739
- @kemonprogrammer made their first contribution in #758
- @solecism made their first contribution in #774
Full Changelog: v2.4.4...v2.5.0