Skip to content

Releases: romkatv/powerlevel10k

v1.2.0

26 Feb 17:17
Compare
Choose a tag to compare

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 show node_version segment only in Node project directories.
    • POWERLEVEL9K_VPN_IP_SHOW_ALL: if set to true, 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 and P9K_IP_RX_RATE in ip 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.
  • New style: robbyrussell; not exposed through the wizard; enable it with source .../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 and ifconfig tools from PATH (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.
  • 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 to VCS_STATUS_{REMOTE_NAME,REMOTE_URL,COMMITS_AHEAD,COMMITS_BEHIND} but for @push remote.
    • Add VCS_STATUS_NUM_SKIP_WORKTREE and VCS_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:
      1. If GITSTATUS_DAEMON is an absolute path, use that.
      2. Else if GITSTATUS_DAEMON is a valid command name (PATH lookup), use that.
      3. Else if GITSTATUS_DAEMON is not empty, try $gitstatus_dir/{usrbin,bin}/$GITSTATUS_DAEMON (in this order).
      4. Else try $gitstatus_dir/{usrbin,bin}/gitstatusd-$os-$arch{,-static} (in this order).

Build time dependencies

v1.1

02 Feb 16:27
Compare
Choose a tag to compare

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.

Build time dependencies

v1.0

16 Jan 16:42
Compare
Choose a tag to compare

The first release.