Releases: romkatv/powerlevel10k
Releases · romkatv/powerlevel10k
v1.20.0
- Bug fix: honor
POWERLEVEL9K_LEFT_SEGMENT_END_SEPARATORin instant prompt. (#2376) - Bug fix: unquote
IDin/etc/os-release. In particular, this fixes the detection of EndeavourOS. (#2388) - Bug fix: correctly detect DCS within instant prompt output. (#2518)
- Bug fix:
s/.tool-version/.tool-versions/in all configs. (#2416) - New segment:
per_directory_history. It displays a local/global history indicator when the per-directory-history Oh My Zsh plugin is in use. This segment is enabled by default in Lean, Classic and Rainbow styles. (#2384) - Add an option to the default git formatter to display
=when up to date with the remote. (#2361) - Add content-dependent styling for
azureto Lean, Classic and Rainbow style configs. (#2379) - Add an OS logo for Rocky Linux. (#2391)
- Add an OS logo for GNU Guix System. (#2391)
- Remove
MULTIBYTErequirement from the configuration wizard. (#2397) - Remove the dependency on
unlinkcommand from the configuration wizard. (#2504) - Make
rust_versionsegment compatible with the new rustup toolchain file. (#2413) - Make gitstatusd compilable on FreeBSD 14. (romkatv/gitstatus#414)
- Add
cdktoPOWERLEVEL9K_AWS_SHOW_ON_COMMAND. (#1104) - Work around a bug in laravel that results in colorized output. (#2534)
- Respect the
promptsetting inpyvenv.cfgwhen displayingvirtualenvsegment. (#2540) - Display the Azure logo in the
vcssegment when the git remote is on Azure DevOps Server. (#2447, #2472) - Use newer icons for Azure and Azure DevOps. (#2472)
- Add many more icons to
vcssegment that are displayed when the remote is from a specific project: Debian, GNOME, KDE, etc. (#2493) - Be a lot more strict when matching the remote git URL for the purpose of choosing the apropriate icon. This is a bug fix but it may inadvertenly result in some specific icons (e.g., GitLab) to get replaced by the generic "git" icon for some git repositories. See 7fd7637 for details. (#2493)
v1.19.0
- Add
cmctlandsparkctltoPOWERLEVEL9K_KUBECONTEXT_SHOW_ON_COMMANDin the configs generated by the wizard. - Respect
XDG_DATA_HOMEwhen looking for the Timewarrior data directory. - New segment:
chezmoi_shell. Enabled by default in the configs generated by the wizard. - Add
P9K_VERSION. This parameter is set by Powerlevel10k to the current version. - Add
P9K_STARTUP_CONSOLE_OUTPUT. This parameter contains the console output (if any) produced during zsh initialization. It can assist in debugging. - Whitelist DCS in startup console output.
- Respect
POWERLEVEL9K_NVM_PROMPT_ALWAYS_SHOWandPOWERLEVEL9K_NVM_SHOW_SYSTEMin thenvmsegment. - Force terminal integration and annotate right prompt when
TERM_PROGRAMis "WarpTerminal".
v1.18.0
- New features:
- Support Nerd Fonts v3 via
POWERLEVEL9K_MODE=nerdfont-v3. The first screens of the configuration wizard have been changed to detect Nerd Fonts v3 capabilities and to verify that the terminal and zsh are able to handle characters such as U+F0001. The new version of MesloLGS NF is compatible with Nerd Fonts v2 and v3. - Add
POWERLEVEL9K_NIX_SHELL_INFER_FROM_PATH. If set totrue, and ifPATHcontains/nix/store/*,nix_shellprompt segment will be visible.
- Support Nerd Fonts v3 via
- Bug fixes and small improvements:
- Fix network interface detection on macOS (was broken since v1.17.0).
- Fix the default value of
POWERLEVEL9K_VPN_IP_INTERFACE(was broken since v1.16.1). - When looking for files matching a pattern, check their type too.
- Correctly resolve
node_versionwhen usingnodenv. - Change the key choices in the wizard's "show current time" question to be more intuitive.
- Add
kubecolor' toKUBECONTEXT_SHOW_ON_COMMAND`. - Support AWS partitions in EKS kubernetes cluster names.
- Add
POWERLEVEL9K_GITSTATUS_INIT_TIMEOUT_SECfor specifying how long to wait for gitstatusd on startup. Increase the default value from 5s to 10s. - Add an icon for Kali Linux.
v1.17.0
- New Features
- New prompt segment:
cpu_arch. Displays CPU architecture. - New prompt segment:
perlbrew. Displays info from https://github.com/gugod/App-perlbrew. - New prompt segment:
lf. Shows an indicator if within https://github.com/gokcehan/lf. - New parameter:
POWERLEVEL9K_CHRUBY_SHOW_ENGINE_PATTERN. Specifies which rube engies should be shown/hidden.
- New prompt segment:
- Improvements
- Suppress garbage output produced by Visual Studio Code intergated terminal.
- Opt out from code injection in Visual Studio Code integrated terminal.
- Show
kubecontextwhen typing a command that invokeskubeseal,skaffoldorkubent. - Add Librem5 support to
batterysegment. - Survive environments with broken
FPATH. - Add an arrow pointing to the frame when asking about frame color in the wizard.
- Prefer
ipoverifconfigwhen querying network interfaces.
- Bug Fixes
- Handle metacharacters in current-context when parsing kubectl config.
- Work around a bug in zsh 5.4.1 (#1872).
- Suppress
nounseterror ifDIRENV_DIRisn't defined. - Don't hide
distroboxif$NAMEis empty. - Don't trust
cnormas it's incorrect in some combinations of terminals and terminfo. - Respect
CLOUDSDK_CONFIGenvironment variable. - Assume that
dotnetversion may depend on the content ofglobal.json. - Don't invoke
mktempif it doesn't exist. - Correctly detect SSH when using tmux.
v1.16.1
- Respect
VIRTUAL_ENV_PROMPTif its value is different from the default. - Work around bugs in WSL where it reports more swap being used than the total available.
- Add ZeroTier to the list of recognized VPN network interfaces.
- Don't set
OS,DEFAULT_COLORandDEFAULT_COLOR_INVERTED. These parameters were never used by Powerlevel10k but were set just in case users migrating from Powerlevel9k were relying on them in their own configs. - Ignore
TMPDIRif it points to anything other than a writable directory. - Fix shell integration with kitty.
v1.16.0
-
Features:
- New parameter:
POWERLEVEL9K_TERM_SHELL_INTEGRATION. When set totrue, powerlevel10k will use semantic markup with OSC 133. This enables features in terminals that recognize these marks (iTerm2 and kitty, and perhaps more). - Detect when kitty is about to enable its own shell integration and replace it with our own (the stock zsh integration in kitty doesn't work with powerlevel10k).
- Add
make zwctarget for zcompiling powerlevel10k source files. - Add
make minifytarget for removing files that aren't necessary for using powerlevel10k. - Show the current kubernetes context when typing a command invoking
flux. - Show the current gcloud project when typing a command invoking
gsutil. - New prompt segment:
terraform_version. Disabled by default. - Enable reproducible and fortified builds for gitstatusd.
- Support for systems with broken
wget. - Work around bugs in terminals and window managers by essentially disabling
prompt_sp(but keepingprompt_cr) in instant prompt for new TTYs. - New prompt segment:
toolbox. Enabled by default in configs produced by the configuration wizard. - Add RHEL and AMZN to the list of recognized Linux distributions.
- Speed up pre-redraw hook.
- Provide an internal hook for zsh4humans to display extra information before prompt. It's currently used for
direnvintegration. - Don't auto-start configuration wizard if it's likely that
.zshrcis broken. This is an attempt to automate this: https://github.com/romkatv/powerlevel10k#configuration-wizard-runs-automatically-every-time-zsh-is-started. - Improve human-readable number formatting.
- When using tmux, write unwrapped OSC 133 in addition to wrapped. This makes a difference for zsh4humans (the integrated tmux uses these marks when resizing).
- New parameter:
-
Bug fixes:
- Correctly handle
init.defaultBranchoverride in the global git config. - Assume that the output of
node --versionmay depend onpackage.json. - Avoid instant prompt duplication when using powerlevel10k through zsh4humans.
- Respect
POWERLEVEL9K_INSTANT_PROMPT_COMMAND_LINESwhen using powerlevel10k through zsh4humans. - Don't leak
statelocal parameter. - Recognize
AWS_DEFAULT_REGIONinawssegment. - Display the intended battery icon when using legacy configs.
- Fix
nordvpn(was broken by upstream). - Disable
icanonon the TTY after printing instant prompt so that keys like Ctrl-R and Ctrl-D can get through to zle. - Enable bracketed paste when printing instant prompt.
- Survive non-writable
$TTY. - Survive broken
shasum. - Survive
asdffiles with windows line endings. - When downloading
gitstatusd, trycurl/wgetwith user configs before trying without. - Work around a bug in IP-guard.
- Don't leak
VISUAL_IDENTIFIER_COLORinto content. - URL-escape the current directory properly when
POWERLEVEL9K_DIR_HYPERLINKis set. - Work around bugs in WSL where
/proc/pid/cwdexpands alias drives.
- Correctly handle
v1.15.0
Features and improvements
- New prompt segment:
xplr. awsprompt segment can now utilizeP9K_AWS_PROFILEandP9K_AWS_REGIONparameters. They are used in the default configs.vcsprompt segment now displays "wip" if the latest commit's summary contains "wip" or "WIP".- Warning/critical thresholds used by
loadprompt segment can now be overridden withPOWERLEVEL9K_LOAD_{WARNING,CRITICAL}_PCT. azureprompt segment now supports customization classes similar toaws.fluxctlandsternare now recognized as commands affected by the current kubernetes context.- Powerlevel10k now special-cases
user:azhw:*widgets to work around bugs inadd-zle-hook-widget. batteryprompt segment now attempts to readcapacitybefore(energy|charge)_nowto work around bugs on Android.- Git tag is no longer displayed when on a branch.
- All CR bytes are now removed from prompt.
- When
POWERLEVEL9K_SHORTEN_STRATEGYis set totruncate_to_last,POWERLEVEL9K_SHORTEN_DIR_LENGTHcan now be used to specify the number of trailing segments that should be kept. P9K_IP_{RX,TX}_BYTES_DELTAare now available available withinPOWERLEVEL9K_IP_CONTENT_EXPANSION.- When searching for files in ancestor directories, the search now stops at
$HOMErathen than right before it. - Python version in
pyenvsegment is now hidden if the rest of the content starts with it.
Bug fixes
- Segments whose state contains numbers could not be hidden.
- Expand c-escapes in kubectl configs.
- Disable colors in the output of taskwarrior.
- Correctly detect current python version when using pyenv.
- Set
P9K_PYENV_PYTHON_VERSIONcorrectly when dealing with multiple pyenv versions. - Ignore comment lines in
.python-versionand similar files. - Don't leak
tokenlocal variable in parser. - Use proper padding with VCS bookmark icon.
v1.14.6
Bug fixes
- Windows icon is now correctly displayed by
os_iconon Cygwin and MSYS2. - If
re_match_pcreis enabled without havingzsh/pcremodule, Powerlevel10k no longer throws spurious errors. ramsegment now works correctly on darwin-arm64.
Improvements
- When using transient prompt, there should now be less flickering on slow terminals (e.g., iTerm2).
- Generated configs no longer have
FOREGROUNDandBACKGROUNDparameters commented out. This should make it easier to modify the config by users who are unfamiliar with the basics of shell script syntax (i.e., don't know that everything after#is a comment and thus has no effect). - The default regular expression for VPN network interfaces now matches tailscale.
- The default regular expression for local network interfaces now matches the common wlan names.
v1.14.5
v1.14.4
- Features:
- iTerm2 shell integration now works in tmux (but only when using powerlevel10k through zsh4humans).
dirprompt segment can now be customized to look differently when the current directory doesn't exist. Search forNON_EXISTENTin~/.p10k.zshto see how.
- Fixes:
wifiprompt segment now works correctly if the SSID of the network contains spaces.nordvpnonce again works (was broken by the upstream nordvpn update).