Powerlevel10k Versions Save

A Zsh theme

v1.20.0

3 months ago
  • 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. (https://github.com/romkatv/gitstatus/issues/414)
  • Add cdk to POWERLEVEL9K_AWS_SHOW_ON_COMMAND. (#1104)
  • Work around a bug in laravel that results in colorized output. (#2534)
  • Respect the prompt setting in pyvenv.cfg when displaying virtualenv 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 https://github.com/romkatv/powerlevel10k/commit/7fd76370f53f87f956c811766a452c83ced4014b for details. (#2493)

v1.19.0

10 months ago
  • Add cmctl and sparkctl to POWERLEVEL9K_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 and POWERLEVEL9K_NVM_SHOW_SYSTEM in the nvm segment.
  • Force terminal integration and annotate right prompt when TERM_PROGRAM is "WarpTerminal".

v1.18.0

1 year ago
  • 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 to true, and if PATH contains /nix/store/*, nix_shell prompt segment will be visible.
  • 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 using nodenv.
    • 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

1 year ago
  • 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.
  • 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 invokes kubeseal, skaffold or kubent.
    • 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 over ifconfig 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 if DIRENV_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 of global.json.
    • Don't invoke mktemp if it doesn't exist.
    • Correctly detect SSH when using tmux.

v1.16.1

2 years ago
  • 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 and DEFAULT_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

2 years ago
  • Features:

    • New parameter: POWERLEVEL9K_TERM_SHELL_INTEGRATION. When set to true, 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 keeping prompt_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).
  • Bug fixes:

    • Correctly handle init.defaultBranch override in the global git config.
    • Assume that the output of node --version may depend on package.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 in aws 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, try curl/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.

v1.15.0

2 years ago

Features and improvements

  • New prompt segment: xplr.
  • aws prompt segment can now utilize P9K_AWS_PROFILE and P9K_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 with POWERLEVEL9K_LOAD_{WARNING,CRITICAL}_PCT.
  • azure prompt segment now supports customization classes similar to aws.
  • fluxctl and stern are now recognized as commands affected by the current kubernetes context.
  • Powerlevel10k now special-cases user:azhw:* widgets to work around bugs in add-zle-hook-widget.
  • battery prompt segment now attempts to read capacity 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 to truncate_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 within POWERLEVEL9K_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

3 years ago

Bug fixes

  • Windows icon is now correctly displayed by os_icon on Cygwin and MSYS2.
  • If re_match_pcre is enabled without having zsh/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 and BACKGROUND 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

3 years ago
  • Darwin arm64 now uses an arm64 build of gitstatusd.
  • my_git_formatter generated by p10k configure is now easier to customize.

v1.14.4

3 years ago
  • 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 for NON_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).