Release History¶
Next (not released)¶
Nothing yet.
Unstable¶
Nothing yet.
Version 2.0¶
UI Changes¶
- Remove confusing
activate
anddeactivate
commands in favour of theuse
command. The previous “reactivation” behaviour is now mapped tolink --all
. - A newly installed Python will be used if there are no other versions detected.
- Add
snafu upgrade self
to perform in-place upgrade without manually downloading the installer. - Add
snafu download <version>
to download installer of given Python version without installing. - More complete help messages are provided to command arguments.
- The uninstalling processes are now as interaction-free as installing. Previously some user intervention was needed (especially the EXE-based versions).
Behavioural Changes¶
snafu install
now automatically uses the version if it is the only Python installation detected. This should simplify things even more for beginners.- Minor update to Python 3.4 definition.
- Call
snafu link --all
automatically after installing with a shimmed pip command. - Upgrade Python 3.4 definition to 3.4.4.
- Upgrade Python 3.6 definition to 3.6.4.
- Improve behaviour when uninstalling versions not installed by SNAFU.
snafu link --all
without active versions does not fail anymore. The warning message is still printed, but the exit code is now 0.- Py Launcher usage is reduced in favour of reading the registry ourselves.
- Documentation is no longer installed with each Python version.
Installer Changes¶
- Add an option to install and use a Python version after SNAFU is set up.
- 64-bit variant does not carry x86 MSU files anymore, reducing installer size.
- Correctly install Windows update KB2999226 on 32-bit Windows.
Version 1.0¶
UI Changes¶
- New
upgrade
command to install a newer patch version on an installed version. - New
link
command to manually publish a script from the active Python versions.
Behavioural Changes¶
pip-X.Y
are now published on install.- Automatically deactivate an uninstalling active version.
- A Python exception will be raised early on download error, instead of failing later during installation.
- Uninstallation now skips gracefully if launcher scripts do not exist.
Installer Changes¶
- Bundle and trigger Windows update KB2999226 on installation to provide necessary runtime files on Windows Vista to 8.1 so the bundled Python 3.6 can run correctly.
- Environment variables changes can now propagate correctly without OS restart.
Version 0.2¶
UI Changes¶
uninstall
now attempts to use Windows’s uninstall feature to avoid re-download.install
anduninstall
receives a--file
option to allow using local installers without re-downloading.
IMPORTANT: Correctness of the installer is not checked. The user is responsible for choosing the correct and valid installer file. Results of installing a faulty installer is undefined.- New command
where
to show where the actual interpreter is. This is useful if you need to pass it to another command (e.g.pipenv --python
). list
shows activeness.snafu --version
shows program version.
Behavioural Changes¶
activate
writes a pin file showing the current active versions.- Symbols in
snafu list
are changed.
Installer Changes¶
- Environment variables are now set up automatically during installation.
- Extract the py launcher MSI to make the distribution substentially smaller.
- The installer now comes with both 64- and 32-bit flavours.
- The uninstaller is now added to registry, so you can remove SNAFU in Control Panel.
Version 0.1¶
Initial release. Features I want the most are largely implemented. Only 64-bit Pythons are supported for now, and the installer is 64-bit-only.
An all-in-one installer that installs SNAFU into
%LOCALAPPDATA%\Programs\SNAFU
, and sets up the py launcher.
snafu install/uninstall <version>
snafu list [--all]
snafu activate/deactivate <version> [<version> ...]