* Reference the runtime exception everywhere as that is expected
to be done, not just generally.
* Proper link to the correct version of the license file on the
web.
* We have had cases where this happened for one reason or the
other unnoticed, make sure we will notice.
* Also removing the pdb file if it is not related is always a
good idea, as it will be mismatching.
* Added option to show how much time plugin hooks consume and
how often they get called, such that we can identify bottlenecks
in plugins.
* The anti-bloat "decideAssertions" overload was misnamed, but we
don't use it yet anyway.
* For some frequently used plugin hooks, track which ones overload
the method in question and only iterate over those, instead of
all active plugins.
* Allow registering what implicit imports a plugin has to make, so
it doesn't have to be called all the time.
* That avoids the need to specify this standard spec on your own.
* Also avoids the error that will be given if a non-dynamic spec is given.
* When you specify your own spec, then it's now checked if it's not dynamic
* Remove dead code
* Added support for DLL tags just like we have with data files already.
* Static source files are now provided by Nuitka and not during scons runtime anymore.
* Also make onefile binary work on systems with no runtime, previously only standalone actually was made to work.
* Also moved code making the MSVC redist detection in Nuitka to DllDependenciesWin32 where it makes more sense.
* Now "auto" is something you can change and get informed about the consequences.
* Now ordered just like --help-plugin output is based on categries.
* Include annotations for plugins that are always enabled and such
that have a detector to tell the user when they should enable
them.
* Added more tags to the existing plugins and cleanup of their
descriptions for consistency.
* We don't need it to have an argument, can just detect used build system.
* We now check if setuptools is actually used.
* Move the handling of the project tool to dedicated modules in a
new package "nuitka.options" where long term option parsing will
go as well.
* We also prepared passing the requirements to install via command
line options, but that's not usable yet.
* The "--project" option is intended to grow and later support poetry as well.
* Added test coverage to compile all distutils cases that work with "-m build" as standalone applications as well.
* Enhanced trace output for the distutils cases somewhat.
* Doesn't create create a virtualenv with the requirements but compiles inside the current environment.
* Downloads zig if necessary via pip for use and sets up the
environment explicitely.
* Made the user query for download re-usable for private pip
space as well.
* With 3.13+ this is now downloaded in scons on Windows
because MinGW64 is not currently working on those Python
versions and may not for a while. This will improve the
out of the box experience for non-MSVC users and those
lacking the skill to install it dramatically.
* This doesn't do indentation anymore unless asked by
new option or in debug mode, saving 10% of the time
use for generation of code in a larger module.
* We skip the Python3 number space in order to avoid confusion
between them. Already Nuitka 2.7 could be confused with Python
2.7 without proper context.
* This is with an exception for the runtime library parts
to allow proprietary compiled code to link against it.
* But it makes creating competitors to Nuitka commercial
impossible, as they would need to open source their code.
* When we have both Python code and an extension module, we only had a global option available.
* This adds --recompile-extension-modules for more fine grained choices.
* Existing unworthy namespaces were migrated to not do it by default.
* For "zmq" we need to enforce it to never be compiled, as it checks if it is compiled with Cython at runtime.
* Support arbitrary debuggers in the --debugger flag, if you specify all of their command line.
* Remove implicit defaults for debugger name, make calls externally from test framework with
the variable resolved from there.
* Add support for valgrind-memcheck debugger option.
---------
Co-authored-by: Kay Hayen <kay.hayen@gmail.com>
* Some options got broken up at hyphens which then
didn't make it into the manpage.
* This now just avoids line breaks in help texts
and lets "man" handle the rendering into lines.
* Also spelling cleanups, now that man pages are
mostly well readable for cspell.
* It is the default if available and tqdm is only
used if it's not available.
* Also added option to select it that replaces the
old disabling option with value "none".