Releases: romkatv/powerlevel10k
Releases · romkatv/powerlevel10k
v1.20.0
- Bug fix: honor
POWERLEVEL9K_LEFT_SEGMENT_END_SEPARATOR
in instant prompt. (#2376) - Bug fix: unquote
ID
in/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
azure
to 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
MULTIBYTE
requirement from the configuration wizard. (#2397) - Remove the dependency on
unlink
command from the configuration wizard. (#2504) - Make
rust_version
segment compatible with the new rustup toolchain file. (#2413) - Make gitstatusd compilable on FreeBSD 14. (romkatv/gitstatus#414)
- Add
cdk
toPOWERLEVEL9K_AWS_SHOW_ON_COMMAND
. (#1104) - Work around a bug in laravel that results in colorized output. (#2534)
- Respect the
prompt
setting inpyvenv.cfg
when displayingvirtualenv
segment. (#2540) - Display the Azure logo in the
vcs
segment 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
vcs
segment 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
cmctl
andsparkctl
toPOWERLEVEL9K_KUBECONTEXT_SHOW_ON_COMMAND
in the configs generated by the wizard. - Respect
XDG_DATA_HOME
when 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_SHOW
andPOWERLEVEL9K_NVM_SHOW_SYSTEM
in thenvm
segment. - Force terminal integration and annotate right prompt when
TERM_PROGRAM
is "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 ifPATH
contains/nix/store/*
,nix_shell
prompt 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_version
when usingnodenv
. - Change the key choices in the wizard's "show current time" question to be more intuitive.
- Add
kubecolor' to
KUBECONTEXT_SHOW_ON_COMMAND`. - Support AWS partitions in EKS kubernetes cluster names.
- Add
POWERLEVEL9K_GITSTATUS_INIT_TIMEOUT_SEC
for 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
kubecontext
when typing a command that invokeskubeseal
,skaffold
orkubent
. - Add Librem5 support to
battery
segment. - Survive environments with broken
FPATH
. - Add an arrow pointing to the frame when asking about frame color in the wizard.
- Prefer
ip
overifconfig
when 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
nounset
error ifDIRENV_DIR
isn't defined. - Don't hide
distrobox
if$NAME
is empty. - Don't trust
cnorm
as it's incorrect in some combinations of terminals and terminfo. - Respect
CLOUDSDK_CONFIG
environment variable. - Assume that
dotnet
version may depend on the content ofglobal.json
. - Don't invoke
mktemp
if it doesn't exist. - Correctly detect SSH when using tmux.
v1.16.1
- Respect
VIRTUAL_ENV_PROMPT
if 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_COLOR
andDEFAULT_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
TMPDIR
if 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 zwc
target for zcompiling powerlevel10k source files. - Add
make minify
target 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
direnv
integration. - Don't auto-start configuration wizard if it's likely that
.zshrc
is 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.defaultBranch
override in the global git config. - Assume that the output of
node --version
may depend onpackage.json
. - Avoid instant prompt duplication when using powerlevel10k through zsh4humans.
- Respect
POWERLEVEL9K_INSTANT_PROMPT_COMMAND_LINES
when using powerlevel10k through zsh4humans. - Don't leak
state
local parameter. - Recognize
AWS_DEFAULT_REGION
inaws
segment. - Display the intended battery icon when using legacy configs.
- Fix
nordvpn
(was broken by upstream). - Disable
icanon
on 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
asdf
files with windows line endings. - When downloading
gitstatusd
, trycurl
/wget
with user configs before trying without. - Work around a bug in IP-guard.
- Don't leak
VISUAL_IDENTIFIER_COLOR
into content. - URL-escape the current directory properly when
POWERLEVEL9K_DIR_HYPERLINK
is set. - Work around bugs in WSL where
/proc/pid/cwd
expands alias drives.
- Correctly handle
v1.15.0
Features and improvements
- New prompt segment:
xplr
. aws
prompt segment can now utilizeP9K_AWS_PROFILE
andP9K_AWS_REGION
parameters. They are used in the default configs.vcs
prompt segment now displays "wip" if the latest commit's summary contains "wip" or "WIP".- Warning/critical thresholds used by
load
prompt segment can now be overridden withPOWERLEVEL9K_LOAD_{WARNING,CRITICAL}_PCT
. azure
prompt segment now supports customization classes similar toaws
.fluxctl
andstern
are 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
. battery
prompt segment now attempts to readcapacity
before(energy|charge)_now
to 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_STRATEGY
is set totruncate_to_last
,POWERLEVEL9K_SHORTEN_DIR_LENGTH
can now be used to specify the number of trailing segments that should be kept. P9K_IP_{RX,TX}_BYTES_DELTA
are now available available withinPOWERLEVEL9K_IP_CONTENT_EXPANSION
.- When searching for files in ancestor directories, the search now stops at
$HOME
rathen than right before it. - Python version in
pyenv
segment 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_VERSION
correctly when dealing with multiple pyenv versions. - Ignore comment lines in
.python-version
and similar files. - Don't leak
token
local variable in parser. - Use proper padding with VCS bookmark icon.
v1.14.6
Bug fixes
- Windows icon is now correctly displayed by
os_icon
on Cygwin and MSYS2. - If
re_match_pcre
is enabled without havingzsh/pcre
module, Powerlevel10k no longer throws spurious errors. ram
segment 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
FOREGROUND
andBACKGROUND
parameters 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).
dir
prompt segment can now be customized to look differently when the current directory doesn't exist. Search forNON_EXISTENT
in~/.p10k.zsh
to see how.
- Fixes:
wifi
prompt segment now works correctly if the SSID of the network contains spaces.nordvpn
once again works (was broken by the upstream nordvpn update).