Releases: pure-fish/pure
v4.16.0: 🔍 Custom install location support
🔍 Custom install location support
Adds support for installing pure into a custom install location. As suggested in #394, a variable $_pure_root is added to _pure_init.fish to determine the install location, and all instances of $__fish_config_path is replaced by $_pure_root, so the source commands in $_pure_init.fish will work correctly regardless of where pure is installed into. This allows pure to work when installed into a custom fisher install location.
by @benedictleejh in #397
What's Changed
- docs/fossdem review by @edouard-lopez in #402
- docs: fix typos and grammar across documentation by @simono in #407
- ci: skip docs deployment on pull requests by @simono in #408
- ci: always generate screenshots before deploying docs by @simono in #409
New Contributors
Full Changelog: v4.15.1...v4.16.0
v4.15.1: 🐍 support `VIRTUAL_ENV_PROMPT`
🐍 Support VIRTUAL_ENV_PROMPT
In addition to the already implemented VIRTUAL_ENV variable, many Python virtual env tools also set VIRTUAL_ENV_PROMPT (e.g. virtualenv). Unlike VIRTUAL_ENV, which is the absolute path to the virtual env directory (e.g. /home/user/project/.venv), VIRTUAL_ENV_PROMPT is just the name of the virtual env project.
This pull request implements displaying VIRTUAL_ENV_PROMPT when it's set and defaulting to existing VIRTUAL_ENV or CONDA_DEFAULT_ENV base names otherwise.
Thanks to @gouline works on #405
What's Changed
- fix: support VIRTUAL_ENV_PROMPT alongside VIRTUAL_ENV by @gouline in #405
- docs/import release notes by @edouard-lopez in #370
- docs/fix documentation table of contents links broken 403 by @edouard-lopez in #404
New Contributors
Full Changelog: v4.15.0...v4.15.1
v4.15.0: Option to display exit pipe status
List Exit Statuses
| State | Preview |
|---|---|
| Enabled (list exit statuses) | ![]() |
| Enabled (convert statuses to signals) | ![]() |
| Option | Default | Description |
|---|---|---|
pure_show_exit_status |
false |
true: Show list of status codes if the last command failed |
pure_convert_exit_status_to_signal |
false |
true: Convert statuses 129 and up to their signal names |
pure_symbol_exit_status_prefix |
| |
Prefix when the last command failed |
pure_symbol_exit_status_separator |
| |
Separator between statuses in a pipeline |
New Contributors
Full Changelog: v4.14.1...v4.15.0
v4.14.0: 👋 Being polite
What's Changed
- feat/show version on install update by @edouard-lopez in #390
We do our best to clean up after ourselves and provides information on the version installed or updated.
Plugin Fresh Install
Plugin Update
Full Changelog: v4.13.0...v4.14.0
v4.13.0: Support Transient prompt
What's Changed
- feat: add transient prompt support (Fish 4.1.0+) by @Copilot in #389
- Remove
fish_greeting.fishto stop overriding user's custom greeting by @Copilot in #387 - docs/screenshot automation by @edouard-lopez in #345
- ci/extract terminal screenshot to a docker image by @edouard-lopez in #386
Features
✂️ Transient Prompt
Simplify previous prompts in scrollback history (Fish 4.1.0+)
| Option | Default | Description |
|---|---|---|
fish_transient_prompt |
- | Fish built-in variable. Set to 1 to enable transient prompt. |
Shows a simplified prompt (just the prompt symbol) for previous commands, keeping your scrollback clean while maintaining full context on the current prompt.
When enabled, Fish re-runs the prompt with --final-rendering before executing a command.
Transient prompt works best with single line prompt enabled:
set --universal fish_transient_prompt 1
set --universal pure_enable_single_line_prompt truePreview
| Enabled (simplified previous prompts, single line) | Disabled (full prompts in scrollback) |
|
|
Changes
👋 Customizing Fish Greeting
Since version
≥4.13.x,puredoes not override yourfish_greetingfunction anymore, allowing you to use your own custom greeting.
To configure your Fish's greeting, edit $__fish_config_dir/functions/fish_greeting.fish function or the related variable:
Check for new release
Add the following to call pure_check_for_new_release on each new shell (i.e., when a new terminal session or tmux tab starts):
function fish_greeting
_pure_check_for_new_release
endVoid fish_greeting function
Voiding the fish_greeting.fish function will stop printing any greeting:
function fish_greeting
# remove content to disable greeting
endEmpty fish_greeting variable
Or set the greeting to an empty string to stop printing any greeting:
set --universal fish_greetingScreenshots Automation for the Documentation
We automated the tedious task of taking screenshots of the prompt features and build the documentation. Thus, we have always-up-to-date features screenshots! 📸
Dedicated project
This feature has been extracted to a dedicated repo https://github.com/pure-fish/docker-terminal-screenshot/ to allow a maximum of people to use it 💖
Pre-built Docker image with OmarTawfik/terminal-screenshot#11 for automated terminal screenshot generation.
New Contributors
- @Copilot made their first contribution in #387 IA congratulating itself 🤣 (nice help bootstrapping PR, but still need human touch)
Full Changelog: v4.12.0...v4.13.0
v4.12.0: Shows git stash, commits ahead/behind count next to indicator
What's Changed
- feat: numbered git stash, commits ahead/behind indicator by @lungsin in #382
- ci/fix nixos tests by @edouard-lopez in #384
🔢 Numbered git stash, commits ahead/behind indicator
❯ set --universal pure_show_numbered_git_indicator false # default
❯ set --universal pure_show_numbered_git_indicator true
| Default (disabled) | Feature enabled |
|---|---|
![]() |
nothing next to stash, pull/push indicator |
![]() |
count of stash entries, commit ahead/behind next to indicators |
CI/Tests
- Test jobs now show fish version used ;
- update NixOS image to
2.31.2; - Fix all test on NixOS due to missing package ;
- Add AGENTS.md file to project ;
- support pre-release version number when bumping version (used in PR tests)
New Contributors
Full Changelog: v4.11.4...v4.12.0
v4.11.4: Improve VS Code Shell integration and NixOS tests
What's Changed
- fix(vscode): prevent vscode from adding extra line by @edouard-lopez in #381
- docs/contributing.md by @edouard-lopez in #374
- ci: Update
nix.Dockerfileby @Pamplemousse in #376
Use source in NixOS
We use pure current source code when running the tests instead of the package from Nix repository. This way, tests are relevant to what is being developed (not was is already published).
Improve VS Code Shell integration
Prevent vscode from adding extra line
| Before | After |
|---|---|
![]() |
![]() |
New Contributors
- @Pamplemousse made their first contribution in #376
👏 Thanks
- @Perlence for raising the issue, providing insight and feedback before release
Full Changelog: v4.11.3...v4.11.4
v4.11.3: NixOS fix sourcing from vendor directory
What's Changed
- fix(nixOS): use relative path resolution so it works in vendor directory too by @edouard-lopez in #371
- docs: fix preview url by @edouard-lopez in #367
- ci/post release on social networks by @edouard-lopez in #372
- chore: Create FUNDING.yml by @edouard-lopez in #366
👏 Thanks
- caspervk for the NixOs insights
Full Changelog: v4.11.2...v4.11.3
v4.11.2
v4.11.1
What's Changed
- ci: allow manually running a workflow by @edouard-lopez in #361
- ci: drop 3.6.3 and 3.7.0 in favour of 3.7.1 and 4.0.2 by @edouard-lopez in #363
- fix: source _pure_prompt_new_line event handler instead of relying on autoloading by @edouard-lopez in #357
- fix/360 fish title append an extra space in 4 0 2 by @edouard-lopez in #365
Full Changelog: v4.11.0...v4.11.1









