Esky

Latest version: v0.9.9

Safety actively analyzes 638361 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 4 of 5

0.7.2

* added methods Esky.needs_cleanup() and VersionFinder.needs_cleanup();
these can be used to test whether a call to cleanup() is necessary and,
if not, to avoid locking the appdir or escalating to root.
* added native sudo implementation for OSX.
* allow Esky.lock() and Esky.unlock() to be called via sudo proxy.
* support for Python 3 on win32 (cx-freeze only).
* fixed compatability with Python 2.5 (via __future__ imports).
* Esky.cleanup_at_exit: try to launch the latest version rather than
the current version, so current version can be cleaned up.
* DefaultVersionFinder: when a downloaded file fails because it is
corrupted, remove it from disk as well as from the version graph.

0.7.1

* restored compatability with Python 3.
* fixed automatic detection of gui-only scripts based on filename.
* set variable "__esky_name__" in the bootstrapping code, and use it to
potentially speed up application startup.

0.7.0

* Renamed "esky.helper" to "esky.sudo" along with much refactoring:
* esky.use_helper_app is now esky.allow_from_sudo() and is used to
declare a type signature.
* Esky.helper_app is now Esky.sudo_proxy and is always an instance
of esky.sudo.SudoProxy.
* added Esky.drop_root() method to drop root privileges.
* implemented multiple safeguards against malicious input when running
with root privileges.
* Cause all scripts to automagically call esky.run_startup_hooks() on
startup. Currently this:
* detects the --esky-spawn-sudo option and runs the sudo helper.
* detects the --esky-spawn-cleanup option and runs the cleanup helper.
* Have Esky.auto_update() call Esky.cleanup() automatically (mostly so it
can immediately drop any root privileges it has acquired).
* Use a separate file "esky-lockfile.txt" for version locking. This
will help protect against strange behaviour when fcntl.flock is
simulated using fcntl.lockf (which released the lock when *any* handle
to the file is closed).
* Try to load correctly if executed from a temporary backup file
(e.g. running from "prog.old.exe" instead of "prog.exe").
* Allow direct overwriting of existing bootstrap files on win32 (instead
of renaming the old version out of the way) but only in very special
circumstances:
* currently only for executables where the icon or version info
has changed but the rest of the exe has not.
* may require spawning a new copy of the process at shutdown, to
overwrite any in-use bootstrap exes. Use Esky.cleanup_at_exit().
* Several improvements to py2exe support:
* implemented "optimize" and "unbuffered" settings in the custom
bootstrap code.
* more robust support for the various bundle_files options.

0.6.0

* Added Esky.get_root() method, which can escalate to root privileges by
spawning a separate helper process.
* use Esky.has_root() to check if it already has root privileges.
* escalation can use a variety of "sudo" frontends on Unix, and
the "runas" functionality on win32 when UAC is enabled.
* Esky.auto_update() will escalate automatically if it encounters
a permission error.

0.5.3

* DefaultVersionFinder: make search for update links case-insensitive.
* py2exe chainloader: execute scripts in the context of the __main__ module.
* reduce number of stat() calls during bootstrap process.
* better cleanup of "*.old.*" files from the bootstrap env.
* use fcntl.flock() for version locking; it's slightly less portable but
has much better semantics for what we want.

0.5.2

* more robust error-handling in esky.bootstrap.exists()

Page 4 of 5

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.