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_UPGLOB
with 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_version
segment only in Node project directories.POWERLEVEL9K_VPN_IP_SHOW_ALL
: if set totrue
,vpn_ip
will 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_RATE
andP9K_IP_RX_RATE
inip
segment.
- 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_DIRTY
is in effect. - Git status by default ignores the git repo rooted at
$HOME
; see FAQ. - Pure style now has
context
on 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_query
now run in parallel; this reduces prompt latency by up to 5ms.
- Bug fixes:
truncate_to_last
now 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
PATH
is empty. gcloud
now works when using non-default configs.timewarrior
segment now respects$TIMEWARRIORDB
(thanks, @errantepiphany!).- Pick up
ip
andifconfig
tools fromPATH
(used to be/sbin/ip
and/sbin/ifconfig
). SHOW_ON_COMMAND
now works with legacy custom prompt segments.- Git status in Pure style now has correct number of spaces.
- Robustness improvements:
- Work around a bug in
sysread
in 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=0
are now applied in more cases.
- Work around a bug in
- gitstatus:
- Support repositories where
.git
is a symbolic link. - Support repositories with
preciousObjects
extension. - 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@push
remote. - Add
VCS_STATUS_NUM_SKIP_WORKTREE
andVCS_STATUS_NUM_ASSUME_UNCHANGED
: the number of files in the index with--skip-worktree
and--assume-unchanged
bits 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_DAEMON
is an absolute path, use that. - Else if
GITSTATUS_DAEMON
is a valid command name (PATH
lookup), use that. - Else if
GITSTATUS_DAEMON
is 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.