* The new variable expands to the directory of the
onefile binary and can be useful for forced output
specs as well as for some onefile setups where you
know the user environment very well.
* Allowing the user to control the removal or not of
the temporary files. They may want to remove even
from what would be static paths, and they might
want to remove for what appears to be dynamic, but
they know it's not used like that.
* Also add new onefile section to reports.
* When making sys.argv[0] an absolute value, information is lost that might be needed.
* The new attribute can be used by application that need this information too.
---------
Co-authored-by: Kay Hayen <kay.hayen@gmail.com>
Co-authored-by: kamgha <kamgha@users.noreply.github.com>
* Compiled programs on Windows are now created as GUI
applications by default and attach to an available
console if not redirected outputs.
* The new option "--console" controls this, and allows
to restore old behavior with "force" value, and also
disable with "disable" value, the new behavior is
called "attach".
* On macOS the distinction has also been removed,
technically it wasn't true for a while already,
you need to use bundles for non-console
applications through.
* Removed Nuitka Package configuration for the
"options-nanny" plugin to warn the user about
disabling console, it now recommend macOS bundle
instead.
* This should improve the out of the box experience
esp. on Windows by a lot.
* Old spec values are migrated transparently and continue
to work, but get a warning.
* Now detects unknown variable names and more formatting
issues than before.
* Using the "{PID}" value is now making it temporary value for
onefile temp directory, that was previously a bug.
* Main benefit should be that "CMD.EXE" doesn't expand those
before Nuitka sees them as even with quoting "%TEMP%" is
expanded in that shell.
* The "containing_dir" points to the directory where the module,
app bundle, standalone folder, or onefile binary is located.
* On macOS, the "sys.argv[0]" is not directly usable to locate the
containing directory without custom code, this spares applications
from even using that, in case they are compiled.
* Cleanup helper code environment variables to be reused in the
onefile bootstrap.
* Rather than enforcing "[nuitka]" which is violating the defined
schema for "pyproject.toml" files, support "[tool.nuitka]" instead.
* The old form of doing it will continue to work though.
* This also makes error messages from OS on Windows to be English
in all cases for better bug reports.
* Moving the spec expansion to file path helper codes.
* Moving the query of binary paths to path helper codes as well.
* Addressing warnings given with MinGW64 and debug mode for onefile.
* Cleanup interface to Windows service to use header file.
* Move printing of OS errors to string helper codes for easier reuse.
* Implement %PROGRAM% for non-Windows too, this was forgotten.