Releases: romkatv/powerlevel10k
Releases · romkatv/powerlevel10k
v1.2.0
Changes since the last release
- New segments:
wifi: shows WiFi data transfer speed; can optionally display security level, SSID, etc.asdf: tool versions from asdf.taskwarrior: task counts from taskwarrior.phpenv: PHP version from phpenv.
- New parameters:
POWERLEVEL9K_${SEGMENT}_${STATE}_SHOW_ON_UPGLOBwith regular fallback; this allows you to display a prompt segment only when there is a file matching a certain pattern in the current directory, or in.., or in../.., etc. For example:POWERLEVEL9K_NODE_VERSION_SHOW_ON_UPGLOB='package.json|node_modules'to shownode_versionsegment only in Node project directories.POWERLEVEL9K_VPN_IP_SHOW_ALL: if set totrue,vpn_ipwill show IPs from all matching network interfaces instead of just the first.POWERLEVEL9K_DIR_TRUNCATE_BEFORE_MARKER: when set to true, drops path before the last marked directory (usually a Git repo root).- More fine grained control over battery colors:
POWERLEVEL9K_BATTERY_${state}_{STAGES,LEVEL_BACKGROUND,LEVEL_FOREGROUND}. - Network transfer speed:
P9K_IP_TX_RATEandP9K_IP_RX_RATEinipsegment.
- Configuration wizard:
- Gracefully handle non-writable
~/.zshrc. - New segments enabled by default:
asdf,taskwarrior,phpenv. - New segments disabled by default:
php_version,laravel_version. - Git status now displays
VCS_STATUS_PUSH_COMMITS_{AHEAD,BEHIND}. - Git status now displays "─" when
POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTYis in effect. - Git status by default ignores the git repo rooted at
$HOME; see FAQ. - Pure style now has
contexton the very left; upstream: sindresorhus/pure#530. - When installing the recommended font for iTerm2, detect and attempt to delete (after confirmation from the user) other versions of
MesloLGS NF.
- Gracefully handle non-writable
- New style:
robbyrussell; not exposed through the wizard; enable it withsource .../powerlevel10k/config/p10k-robbyrussell.zsh. - Prompt performance improvements:
- Async worker chatter is now 2x faster.
- Prompt rendering and
gitstatus_querynow run in parallel; this reduces prompt latency by up to 5ms.
- Bug fixes:
truncate_to_lastnow behaves exactly like%1~.- Don't crap out when file names contain colon.
- Don't crap out when using more than one
prompt_char. - Don't crap out when
PATHis empty. gcloudnow works when using non-default configs.timewarriorsegment now respects$TIMEWARRIORDB(thanks, @errantepiphany!).- Pick up
ipandifconfigtools fromPATH(used to be/sbin/ipand/sbin/ifconfig). SHOW_ON_COMMANDnow works with legacy custom prompt segments.- Git status in Pure style now has correct number of spaces.
- Robustness improvements:
- Work around a bug in
sysreadin Zsh (fixed in Zsh 5.8). - Replace all wide icons with narrow by default (many terminals choke on wide icons).
- Replace terraform icons with another (emacs crashes on the old icon).
- Prompt should now function even when locale is misconfigured as long as there is at least one UTF-8 locale installed on the system.
- Workarounds for Zsh bugs in handling of
ZLE_RPROMPT_INDENT=0are now applied in more cases.
- Work around a bug in
- gitstatus:
- Support repositories where
.gitis a symbolic link. - Support repositories with
preciousObjectsextension. - Add
VCS_STATUS_PUSH_{REMOTE_NAME,REMOTE_URL,COMMITS_AHEAD,COMMITS_BEHIND}: similar toVCS_STATUS_{REMOTE_NAME,REMOTE_URL,COMMITS_AHEAD,COMMITS_BEHIND}but for@pushremote. - Add
VCS_STATUS_NUM_SKIP_WORKTREEandVCS_STATUS_NUM_ASSUME_UNCHANGED: the number of files in the index with--skip-worktreeand--assume-unchangedbits respectively. - Support Cygwin on older versions of Windows.
- Completely rewritten Zsh API (similar to async worker in powerlevel10k); this makes startup about 5x faster and should be more robust.
- The gitstatusd binary is now looked up as follows:
- If
GITSTATUS_DAEMONis an absolute path, use that. - Else if
GITSTATUS_DAEMONis a valid command name (PATHlookup), use that. - Else if
GITSTATUS_DAEMONis not empty, try$gitstatus_dir/{usrbin,bin}/$GITSTATUS_DAEMON(in this order). - Else try
$gitstatus_dir/{usrbin,bin}/gitstatusd-$os-$arch{,-static}(in this order).
- If
- Support repositories where
Build time dependencies
v1.1
Changes since the last release
- Complete documentation overhaul. Powerlevel10k documentation is no longer embarrassing (still no reference though; coming "soon").
- Worker pool and recursive globber have been rewritten for better performance and simpler code. Performance improvements (large speedup means an improvement in big-O and at least 2x in typical configurations):
- +15% prompt speedup across the board.
- Large prompt speedup for several rarely used prompt segments (disk_usage, ram, etc.).
- Large prompt speedup for a few prompt segments on macOS (battery, swap, etc.).
- Large prompt speedup when many prompt segments are active simultaneously.
- Large prompt speedup when filesystem is slow.
- New prompt segments: nix_shell and timewarrior. Both enabled by default.
- Configuration wizard:
- Many new options for Pure style (color scheme, number of lines, etc.)
- Several new options for 8-color version of Pure style.
- Better support for terminals with less than 256 colors.
- Lean, Classic and Rainbow style configs now have disk_usage and swap prompt segments (disabled by default).
- POWERLEVEL9K_DIR_TRUNCATE_BEFORE_MARKER now contains 'oc'.
- New parameters:
- POWERLEVEL9K_LEGACY_ICON_SPACING=true makes spaces around icons appear just like in powerlevel9k.
- When in a vcs repo, POWERLEVEL9K_DIR_TRUNCATE_BEFORE_MARKER=true removes directory prefix that precedes repo root.
- P9K_KUBECONTEXT_USER can now be used in kubecontext format.
- POWERLEVEL9K_GOENV_SOURCES -- the same as POWERLEVEL9K_RBENV_SOURCES but or go.
- POWERLEVEL9K_TERRAFORM_CLASSES -- the same as POWERLEVEL9K_AWS_CLASSES but for terraform.
- Bug fixes:
- Configuration wizard now correctly follows symlinks when modifying ~/.zshrc and ~/.p10k.zsh.
- ram prompt segment now works on WSL.
- Powerlevel10k now correctly works with zsh-you-should-use in hardcore mode.
- POWERLEVEL9K_PUBLIC_IP_HOST now points to a host that actually works.
- Instant prompt no longer prints nonsensical "entry=" in rare circumstances.
- Misc:
- Config templates no longer work with POWERLEVEL9K_VISUAL_IDENTIFIER='' defined after them.
- Powerlevel10k now detects when Antigen corrupts its source and emits an appropriate error message.
- Command line parser now understands 'tabbed'.
- Remove all references to romkatv/dotfiles-public. Fonts are now hosted in romkatv/powerlevel10k-media together with all images and animations.