Restore support for older versions of Fish.
Contributed by Ninja Inc via PR #247
Resolve compatibility issue with Python 3.12
Contributed by Branch Vincent via PR #244
Fix vf upgrade
error related to sed
Improve resiliency of check_fish_version()
function to invisible characters such as tabs.
Contributed by Justin Mayer via PR #241
- Raise minimum Python version to 3.7
- Remove upper bounds on dependency versions
- Use tool versions file to colorize
ls --details
(#212 by Justin Mayer) - [
auto_activation
]: Fix bug that auto-deactivated environments incorrectly (#210 by @cecep2)
- Preserve
.project
files when re-building environments (#206) - Improve Pyenv version detection (#208)
- [
auto_activation
]: Auto-deactivate environments in$PROJECT_HOME
without requiring.project
files (#209) - Improve installation instructions (#207)
Many thanks to @cecep2 for all of the above improvements!
vf connect
: Accept an (optional) virtualenv name argument to connect (and activate)
- globalpackages: Can now explicitly enable, disable, or toggle global packages
- auto_activation: Auto-activate only for interactive sessions
vf upgrade
: New command for upgrading and re-building environments (#141)vf ls
: Add--details
flag to show Python status and version numbers (#190)vf --help
: Add dynamic column spacingvf all
: Show environment name before command output- Add
__vfsupport_check_python
function to ensure Python interpreters work - Demote Homebrew Python priority when locating interpreters
- Remove temporary environments safely upon de-activation
- Replace $HOME with ~ when displaying new virtual environment path
- Environment: support .project files, loading .env from corresponding project
- Enable/disable plugins via new
addplugins
&rmplugins
sub-commands (#178) - Fish prompt check added in v2.1 now also checks
$fish_right_prompt
(#182) - Setting environment variable
VIRTUAL_ENV_DISABLE_PROMPT=1
disables the prompt check
- Projects + Auto-Activation: Auto-deactivate when leaving project directory
- global_requirements: Don't manually build wheels
- Fix erroneous minimum Fish version
Improve Fish version check reliability. Upon failure, warn instead of exiting.
- Ensure minimum required Fish shell version is present when installing
- Prevent error on older Fish shell versions
When uninstalling, use same Python interpreter used to install VirtualFish
Running vf ls
no longer modifies directory history
rm
: Allow multiple virtual environment deletion with single invocationauto_activation
: Aftervf connect
, de-activate when leaving project directory- Remove unnecessary
xdg
Python dependency
- Show warning if activated virtual environment name does not appear in prompt
- Projects and Compatibility Aliases plugins can be used together without specific loading order
compat_aliases
plugin: Only definedeactivate
when a virtual environment is activeglobal_requirements
plugin: Disable per session/invocation via environment variable- Check
*.fish
file syntax during CI test runs
- Ensure
vf addpath <path>
is compatible with Python 3 - Improve
vf activate
$PATH handling durability
- First release under new stewardship by Justin Mayer
- Find & use non-PATH Python interpreters via common paths/tools (Pyenv, Pythonz, etc.)
- Environment name no longer must be passed as last argument to
vf new
orvf project
- Add
--help
tovf new
andvf project
- Manage
vf new
verbosity via--quiet
,--verbose
, &--debug
options - Upon environment activation, if
$VIRTUALENV/.project
exists,cd
to directory specified within - Use
trash
command (if available) to safely remove environments viavf rm
- Improve install command UX and add uninstall command
- Improve API of Fish subprocess control class
- Add tests for
vf activate
,vf deactivate
, andvf rm
- Automate tests via GitHub Actions CI
- Automatically publish package releases upon PR merge via AutoPub
- Ensure external
cat
andrm
command invocations are not aliased - Fix autocomplete help text when
functions
prints comments - Overhaul documentation
- Switch to new install process that doesn’t invoke Python on shell session start
- Add Environment plugin to set environment variables upon virtual environment activation
- Add Update Python plugin to upgrade existing virtual environments to newer Python versions
- Add foundation for a test suite
- Optionally create
$VIRTUALFISH_HOME
directory if it does not exist - Add
VIRTUALFISH_PYTHON_EXEC
variable to track which Python interpreter was used to install VirtualFish
- De-activate the currently-active virtual environment, if any, before creating a new one
- Add
vf cdproject
command to switch to the project directory matching the name of the currently activated virtual environment - Add
vf togglepackages
, astoggleglobalsitepackages
, which will enable or disable the visibility of packages installed outside the virtual environment - Add
VIRTUALFISH_DEFAULT_PYTHON
environment variable to use the specified Python executable as the default Python interpreter to use when creating a new virtual environment - If set, deactivate
PIP_USER
when a virtual environment is active
Initial release as versioned package distribution
See: https://github.com/justinmayer/virtualfish/compare/3575e05...1.0.0