Twitter Announcement tweet

Breaking changes:

  • In themes, LP_COLORMAP_x variables are replaced by a single LP_COLORMAP array variable. A warning will be displayed at startup if your config still uses the old variables, but a compatibility shim is active (will be removed in next release).
  • Many LP_ENABLE_* settings are now static (their effect applies when liquidprompt is loaded, and changing them at the prompt does nothing) to more and more improve speed.
  • zsh: option nopromptsubst is enabled for security reasons. This will unfortunately also affect evaluations of other prompt contexts such as RPS1.
  • Variables LP_SCREEN_TITLE_OPEN and LP_SCREEN_TITLE_CLOSE are now removed to simplify the code (GitHub #371)

New features:

  • Sudo:
    • The color of the prompt mark is now dynamic and changes to LP_COLOR_MARK_SUDO (default: bold red) as long as your sudo credentials are cached (GitHub #335). Requires sudo 1.7.0+. This feature must be enabled with LP_ENABLE_SUDO=1. Use sudo -K to revoke your credentials early.
    • This feature is disabled by default as there is no way to detect if the user has sudo rights without triggering a security alert that will annoy the sysadmin.
  • Git:
    • Show the number of commits behind the remote (GitHub #269)
    • Show the rebasing/merging/cherry-picking state (GitHub #409)
  • Add variable LP_TTYN: the basename of the terminal (GitHub #357)
  • Add setting LP_ENABLE_FQDN to show the fully qualified domain name of the host (GitHub #254, #277)
  • LP_HOSTNAME_ALWAYS=-1 to always hide the hostname (GitHub #406)
  • Run duration of the last command (LP_ENABLE_RUNTIME) is now also supported on zsh (GitHub #404, #355)
  • Python: add support for Conda (CONDA_DEFAULT_ENV) (GitHub #425)

Bug fixes:

  • Use $XDG_CONFIG_HOME to locate the config (GitHub #415, #420, #425)
  • Improved zsh integration (but most issues had no impact of the user experience)
  • Fix escaping of special chars from $PWD (well, almost, see GitHub #389) and explicitely set the shell options we need (instead of relying on the shell default settings)
  • Git:
    • Fix typo in git work directory detection
  • Fossil:
    • Fix on darwin (GitHub #390)
  • LP_DISABLED_VCS_PATH is fixed on zsh (GitHub #423)
  • Battery indicator:
    • MacOS: many fixes to handle (all?) edge cases (GitHub #326). We now have a pmset simulator to better detect regressions.
  • Temperature indicator:
    • The code using the 'sensors' command now uses the '-u' option ("raw output") that is easier to parse. This format is at least 7 years old. (GitHub #379, #380)
    • We now try each backend (acpi/sensors) once to check it works at startup and disable the feature if none works. (GitHub #410, #319, #381, #387)
  • CPU load indicator:
    • Fix the scale that was incorrectly 0-200 (GitHub #391)
  • Title:
    • Fix terminal sequences that were sent in the title text (the escaping algorithm is rewritten and now just correct).
  • Terminal channel:
    • Fix detection of tmux (GitHub #304, #377)
    • Fix detection of local session on OS X (GitHub #407)
  • Misc:
    • Fix bash 3 compatibility (GitHub #313)
    • Clear GREP_OPTIONS and skip 'grep' aliases (GitHub #372)
  • Shortened path:
    • Fix bugs when $PWD contains spaces or special chars (GitHub #369)
    • Optimize implementation in case of LP_PATH_KEEP=-1 : LP_PWD becomes static (related to GitHub #256, #336)
    • Optimize implementation in case LP_ENABLE_SHORTEN_PATH=0
    • Optimize implementation in case LP_ENABLE_SHORTEN_PATH=0 on bash with PROMPT_DIRTRIM
  • Sample configuration files:
    • example.bashrc: major fixes
  • The last statement of liquidprompt did not return 0 (GitHub #360,#361)
  • Analog clock:
    • complete rewrite for speed and correctness (GitHub #365 and other issues)
  • Documentation:
    • Many small fixes
  • Move dist/ to contrib/dist/ as files there are unmaintained
  • Fix title escapes in zsh inside tmux/screen (GitHub #370, #371)


Thanks to Matt Fletcher (@MaffooBristol), Kevin Yap (@iKevinY), Sean Hussey (@seanhussey), François Schmidts (@jaesivsm), Morgan Knicely (@morganizeit), Daniel Serodio (@dserodio), Jonathan Giddy (@jongiddy), Jeremy Clement (@jeremyclement), Panayiotis Kkolos (@pkkolos), Arturo Borrero Gonzalez (@aborrero), Samuel Krieg (@SamK), Brian May (@brianmay), Colin Lieberman (@colinlieberman), @hegedus, Anthony Gelibert (@anthonygelibert), Anthony Ramine (@nox), Erik M Jacobs (@thoraxe), Pedro Parracho (@berserck), Brad Beyenhof (@augmentedfourth), Austen Adler (@stonewareslord), Hagen Graf (@hcgraf), William P. Riley-Land (@wprl), Dave Rigby (@daverigby), Ned Batchelder (@nedbat), Fabien Marty (@thefab), Alessio Garzi (@Ozzyboshi), Roger Huang (@rhuang2014), Sebastian Bremicker (@sebrem), Alex Prengere (@alexprengere), Philipp Grogg (@gro-gg), Tener Hades (@tenerhades), Thomas Kühnel (@kuehnelth), Étienne Deparis (@milouse), @Hotschke, Software Mechanic (@softwaremechanic) and Simon McVittie (@smcv) for their patches or bug reports.

Twitter Announcement tweet