07 April 2019
Nuitka Release 0.6.3
This is to inform you about the new stable release of Nuitka. It is the extremely compatible Python compiler, “download now”.
This has a focus on organizational improvements. With more and more people joining Nuitka, normal developers as well as many GSoC 2019 students, the main focus was to open up the development tools and processes, and to improve documentation.
That said, an impressive amount of bug fixes was contributed, but optimization was on hold.
Bug Fixes
Windows: Added support for running compiled binaries in Unicode path names.
Standalone: Added support for crytodomex and pycparser packages.
Standalone: Added support for OpenSSL support in PyQt on Windows.
Standalone: Added support for OpenGL support with QML in PyQt on Windows.
Standalone: Added support for SciPy and extended the NumPy plugin to also handle it.
UI: The option
--plugin-list
still needed a positional argument to work.Make sure
sys.base_prefix
is set correctly too.Python3: Also make sure
sys.exec_prefix
andsys.base_exec_prefix
are set correctly.Standalone: Added platform plugins for PyQt to the default list of sensible plugins to include.
Fix detection of standard library paths that include
..
path elements.
Optimization
Avoid using static C++ runtime library when using MinGW64.
New Features
Plugins: A plugin may now also generate data files on the fly for a given module.
Added support for FreeBSD/PowerPC arch which still uses
gcc
and notclang
.
Organizational
Nuitka is participating in the GSoC 2019.
Added documentation on how to create or use Nuitka plugins.
Added more API doc to functions that were missing them as part of the ongoing effort to complete it.
Updated to latest PyLint 2.3.1 for checking the code.
Scons: Using newer Scons inline copy with Python 2.7 as, the old one remains only used with Python 2.6, making it easier to know the relevant code.
Auto-format was very much enhanced and handles C and ReST files too now. For Python code it does pylint comment formatting, import statement sorting, and blackening.
Added script
misc/install-git-hooks.py
that adds a commit hook that runs auto-format on commit. Currently it commits unstaged content and therefore is not yet ready for prime time.Moved adapted CPython test suites to GitHub repository under Nuitka Organisation.
Moved Nuitka-website repository to GitHub repository under Nuitka Organisation.
Moved Nuitka-speedcenter repository to GitHub repository under Nuitka Organisation.
There is now a Gitter chat for Nuitka community.
Many typo and spelling corrections on all the documentation.
Added short installation guide for Nuitka on Windows.
Cleanups
Moved commandline parsing helper functions from common code helpers to the main program where of course their only usage is.
Moved post-processing of the created standalone binary from main control to the freezer code.
Avoid using
chmod
binary to remove executable bit from created extension modules.Windows: Avoid using
rt.exe
andmt.exe
to deal with copying the manifest from thepython.exe
to created binaries. Instead use new code that extracts and adds Windows resources.Fixed many
ResourceWarnings
on Python3 by improved ways of handling files.Fixed deprecation warnings related to not using
collections.abc
.The runners in
bin
directory are now formatted withblack
too.
Tests
Detect Windows permission errors for two step execution of Nuitka as well, leading to retries should they occur.
The salt value for CPython cached results was improved to take more things into account.
Tests: Added more trick assignments and generally added more tests that were so far missing.
Summary
With the many organizational changes in place, my normal work is expected to resume for after and yield quicker improvements now.
It is also important that people are now enabled to contribute to the Nuitka web site and the Nuitka speedcenter. Hope is to see more improvements on this otherwise neglected areas.
And generally, it’s great to see that a community of people is now looking at this release in excitement and pride. Thanks to everybody who contributed!