Skip to content

Latest commit

 

History

History
1117 lines (1064 loc) · 73.3 KB

CHANGELOG.md

File metadata and controls

1117 lines (1064 loc) · 73.3 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

2.2.0 - 2024-05-22

Deprecated

Added

  • general: _lp_fill() function for use by themes (#738, #803)
  • general: _lp_join() function for use by themes (67a4221)
  • general: _lp_version_greatereq() function for use by themes (#752)
  • general: _lp_version_string() function for use by themes (#752)
  • general: config-from-doc.sh script (#772)
  • general: Multple config presets (#755, #772)
  • chroot: LP_ENABLE_CHROOT config option (#801)
  • cmake: CMake option display (d8254c6)
  • disk: Disk space display (#771)
  • display: LP_ENABLE_DISPLAY config option (#801)
  • docs: List features disabled by default (#750)
  • docs: Spell checking workflow (787e03e)
  • env: User defined env variables section (#722, #754, #829)
  • env: end_color paramater to _lp_env_vars() (#798)
  • env: LP_SHLVL_THRESHOLD config option (#821)
  • error: Display meaning of exit code (#729, #745)
  • git: Display of remote for branch (#784)
  • jobs: Configurable jobs separator (#743)
  • modules: Environment modules support (#763, #766)
  • multiplexer: LP_ENABLE_MUX config option (#801)
  • os: Display OS data (#724, #756)
  • path: Option to disable path display (#775)
  • path: Path sections as hyperlinks (#659, #668)
  • perl: Support for Perlbrew and plenv display (#812)
  • ram: Display available RAM (#770, #788)
  • ruby: Tests for rvm support (#815)
  • temp: LP_TEMP_SYSFS_IGNORE_FILES config option (#807)
  • theme: Dev env section (67a4221)
  • theme: Extra optional parameters to theme-preview.sh (#805)
  • theme: New Unfold theme (#746, #795, #805)
  • theme: Status bar example scripts (#775, #816)
  • theme: LP_THEME variable to set current theme (#792)
  • theme: templates/minimal/minimal.ps1; replacing liquid.ps1 (#767, #805)
  • theme: _lp_<theme_id>_theme_version_check() hook for themes (046d830)
  • tmux: LP_ENABLE_TMUX_TITLE_PANES option (c74a9e4)

Fixed

  • general: Some error messages printing to stdout instead of stderr (#826)
  • bash: Avoid running __lp_set_prompt() multiple times (#824)
  • bash: Avoid running hooks on empty command line (436b1b5)
  • bash: Runtime of the previous command was still showed on subsequent prompts (436b1b5)
  • bash: Command timing incorrect on Bash 5.1+ when not last to init (6f2ca7e)
  • bash: Slow __lp_strip_escapes() in deep directory hierarchy (#831)
  • docs: Improved docs on theme switching (#765, #767)
  • docs: Incorrect reference to test script in developer docs (#811)
  • docs: Reword Arch Linux install instructions (#822, #823)
  • git: Printed error if error during interactive rebase (#758, #759)
  • hostname: Hostname hash on systems without hostname binary (#776)
  • load: Load display on Android systems (#587)
  • multiplexer: _lp_multiplexer() return variable incorrectly named lp_mulitplexer (#748)
  • python: Poetry virtualenvs showing "prompt =" (#760)
  • tests: Bash preexec tests not working in screen/tmux (#773)
  • tests: Shellcheck not checking liquidprompt file (ff44057)
  • theme: Avoid costly strip escape on filling sequence (#803)
  • theme-preview: Set SSH context for display (#769)
  • theme-preview: Stop indenting prompts to fix multiline prompts (#744)
  • zsh: errors when ksh_arrays set (708635b)

Changed

  • general: Move project to "liquidprompt" GitHub organization.
  • docs: Improve marketing (#731)
  • docs: Unify project name as "Liquid Prompt" (#677)
  • docs: Update docs with new features in v2.2 (#795)
  • error: Avoid showing the 130 error code after hitting Ctrl-C or empty command line (#827)
  • tests: Print name of failed tests at end of script (9992fce)
  • theme: liquid.ps1 reworked and moved to templates/minimal/minimal.ps1 (#805)

Removed

  • theme: liquid.ps1; replaced with templates/minimal/minimal.ps1 (#767, #805)

2.1.2 - 2022-06-08

Fixed

  • bash: PROMPT_COMMAND not saved and respected on first load (#715)

2.1.1 - 2022-05-26

Fixed

  • battery: Error messages printed with buggy driver with sysfs backend (#713)
  • temp: Error messages printed with buggy driver with sysfs backend (#713)

2.1.0 - 2022-05-25

Deprecated

  • env: LP_ENABLE_FQDN replaced with LP_HOSTNAME_METHOD=full (#472)
  • utils: _lp_as_text() replaced with __lp_strip_escapes() (6085cd2)

Added

  • aws: AWS profile display (#496, #679, 4c8ac92)
  • bash: Compatibility with bash-preexec (#672)
  • battery: Linux sysfs backend (#689)
  • container: Container status data source (#569, #612, #709)
  • env: LP_HOSTNAME_METHOD=fqdn displays true FQDN (#472)
  • env: LP_HOSTNAME_METHOD=pretty shows display name (#596)
  • env: Nested shell level data source (#606)
  • hg: LP_HG_COMMAND config option to customize hg binary (#701)
  • k8s: kubectl current context display (#578, #673, #681, #695, d41b5c8)
  • multiplexer: Custom prompt brackets in multiplexers (#453)
  • node: Node.js environment display (#298)
  • path: Return unescaped path in lp_path in _lp_path_format() (a23af79)
  • ruby: Ruby environment display (#628, 239a574, #676, 59078f0)
  • temp: Linux sysfs backend (#623)
  • terraform: Terraform workspace support (#669)
  • title: Title command feature (#609, #665, 0c23a33, a23af79)
  • vcsh: Print the VCSH directory name in the custom prompt mark (#363)
  • wifi: Wireless signal strength data source (#139)

Fixed

  • bash: Support for Bash 5.1+ PROMPT_COMMAND as array (#684)
  • color: LP_COLORMAP reverting to default value (145f146)
  • docs: Outdated link to Symbola font project page (#662)
  • docs: Small typos and license clarification (#664, #678, 66d1d2b)
  • git: Git worktrees would never detect repo states (1be52e0)
  • git: Respect environment variable GIT_DIR (1be52e0)
  • path: Add __lp_escape() calls to _lp_path_format() (36ab8fa, a23af79)
  • powerline: First character color issue in Zsh and Bash-3.2 (70ce708)
  • powerline: Array issues in Bash-3.2 (77dc561)
  • ruby: Zsh crash on rbenv output parse (#667)
  • temp: High temp values would stick (#686)
  • term: Some terminal emulators being detected as Telnet connections (#483)
  • term: Early exit on TERM=unknown (#688)
  • zsh: local bugs in Zsh-5.0 (7db4ada)

Changed

  • general: Directly generate prompt mark instead of escape code (#665, 1a22e1e)
  • general: Refactor internal shell hooking implementation (0ce7646)
  • bash: Avoid setting any shell options (#663, a1d0a54)
  • env: Lookup hostname instead of escape code (#665, 0368523)
  • env: Lookup username instead of escape code (#665, 61df03a)
  • hg: _lp_hg_commits_off_remote() returns 2 instead of 3 (#696)
  • python: Load virtualenv name from venv config first (#708)
  • sudo: Use the --validate flag instead of running true (#702)
  • sudo: Make _lp_sudo_active() a no-op if user has NOPASSWD (#344)
  • time: Call date to generate time instead of escape code (#665, dd1f8f8)
  • tests: All included themes run through theme-preview tester (3b75185)
  • tests: test.sh accepts shells as arguments (9a2c067)
  • vcs: Unsupported VCS functions defined as empty functions (#696)
  • zsh: Avoid setting any shell options except for promptpercent (58969b2)

2.0.5 - 2022-04-24

Fixed

2.0.4 - 2022-02-07

Changed

  • hg: _lp_hg_commits_off_remote() returns 2 instead of 3 (#696)
  • vcs: Unsupported VCS functions defined as empty functions (#696)

2.0.3 - 2021-05-30

Fixed

  • hg: Stash count erroring with no function defined (#671)
  • fossil: Stash count erroring with no function defined (#671)
  • fossil: Uncommited files erroring with no function defined (#671)
  • fossil: Untracked files erroring with no function defined (#671)
  • svn: Uncommited files erroring with no function defined (#671)
  • temp: Temperature erroring if tool returns no data with set -u (#670)

2.0.2 - 2021-02-22

Fixed

  • git: Git worktrees not being detected (#658)

2.0.1 - 2021-02-07

Added

  • docs: Example for lp_terminal_format() (#657, 954bace)
  • tests: Tests for tools/theme-preview.sh and tools/external-tool-tester.sh (e121179)

Fixed

  • general: Unset errors in liquidprompt and theme-preview on Bash-3.2 (#656, e121179)
  • general: Unset errors in liquidprompt in Zsh when no terminal attached (dc11eb4)
  • general: Unset errors in liquidprompt on Windows (461f0ee)
  • color: Background of path always black, ignoring terminal background setting (#657, 58693b0)
  • tools: Make theme-preview.sh work in Zsh (e121179)

Changed

  • color: LP_COLOR_PATH changed to $NO_COL, to follow terminal default foreground (58693b0)
  • color: LP_COLOR_PATH_SEPARATOR and 'LP_COLOR_PATH_SHORTENED` changed from light grey to grey, to be neutral on both light and dark backgrounds (58693b0)
  • color: LP_COLOR_PATH_LAST_DIR and 'LP_COLOR_PATH_VCS_ROOTchanged from bold white to$BOLD`, to follow terminal default foreground (58693b0)

2.0.0 - 2021-02-05

BREAKING CHANGES

Note: these breaking changes are the only reason that this version is so much faster. They are also on private functions and variables, which the end user was not supposed to use. If you were using them, see the upgrade notes for help.

  • general: $_LP_SHELL_bash and $_LP_SHELL_zsh contain 1 or 0 instead of true or false (f681cdf)
  • general: _lp_color_map() return changed from stdout to $ret (e843ccf)
  • general: _lp_escape() renamed to __lp_escape() and return changed from stdout to $ret (f3404f9)
  • general: _lp_set_prompt() renamed to __lp_set_prompt() (decaece)
  • general: _lp_source_config() renamed to __lp_source_config() (decaece)
  • battery: _lp_battery() return changed from stdout to $lp_battery (3f57231)
  • battery: _lp_battery_color() return changed from stdout to $lp_battery_color (3f57231)
  • env: $lp_err renamed to $lp_error (63b9f73)
  • env: _lp_connection() return changed from stdout to $lp_connection (edc490f)
  • git: _lp_git_head_status() return changed from stdout to $lp_vcs_head_status (7c21470)
  • jobs: _lp_jobcount_color() return changed from stdout to $lp_jobcount_color (73f2057)
  • load: _lp_load_color() return changed from stdout to $lp_load_color (8a987f4)
  • path: _lp_get_home_tilde_collapsed() renamed to __lp_pwd_tilde() and return changed from stdout to $lp_pwd_tilde (28c13f2)
  • path: _lp_set_dirtrim() removed (ae769dc)
  • path: _lp_shorten_path() replaced by _lp_path_format() (decaece, a35032f, ae769dc)
  • runtime: _lp_runtime() renamed to _lp_runtime_color() and return changed from stdout to $lp_runtime_color (0f0fd37)
  • runtime: _lp_runtime_after() renamed to __lp_runtime_after() (decaece)
  • runtime: _lp_runtime_before() renamed to __lp_runtime_before() (decaece)
  • temperature: _lp_temp_acpi() renamed to __lp_temp_acpi() and return changed from $temperature to $lp_temperature (69c75a3)
  • temperature: _lp_temp_detect() renamed to __lp_temp_detect() (69c75a3)
  • temperature: _lp_temp_sensors() renamed to __lp_temp_sensors() and return changed from $temperature to $lp_temperature (69c75a3)
  • temperature: _lp_temperature() changed to data function, replaced by _lp_temperature_color() and return changed from stdout to $lp_temperature_color (69c75a3)
  • time: _lp_time() split into _lp_time(), _lp_time_color(), _lp_analog_time(), and _lp_analog_time_color() (8cb609d)
  • vcs: _lp_<vcs>_branch() return changed from stdout to $lp_vcs_branch (f3404f9)
  • vcs: _lp_<vcs>_branch_color() functions removed, replaced by _lp_vcs_details_color() (cafb8b2, bf2b9c6, 1a9fcd0, 4fff496, b523025)
  • vcs: _lp_smart_mark() return changed from stdout to $lp_smart_mark (9c6d073)
  • vcs: _lp_upwards_find() removed, replaced by _lp_find_vcs() (f434b6d)

Deprecated

  • path: LP_PATH_DEFAULT is replaced by LP_PATH_METHOD (ae769dc)
  • title: _lp_title() is replaced by _lp_formatted_title() (46df995, 9604203, #581)
  • utils: _lp_bool() is replaced by manually storing return codes (82ee823).
  • utils: _lp_sb() is replaced by data functions indicating if they returned data or not (82ee823).
  • utils: _lp_sl() is replaced by data functions indicating if they returned data or not (82ee823).
  • utils: _lp_sr() is replaced by data functions indicating if they returned data or not (82ee823).
  • vcs: $LP_DISABLED_VCS_PATH variable is replaced by a $LP_DISABLED_VCS_PATHS array variable. A warning will be displayed at startup if your config still uses the old variable, but a compatibility shim is active. See the upgrade notes for help (cad6286)

Added

  • general: Sphinx documentation (0d420d2, c7b5003, b523025, f9fd12e)
  • general: Manual pages built from documentation (#637, 13e128b)
  • general: Command line flag --no-activate to skip auto shell activation when sourcing liquidprompt (e122d21)
  • general: lp_activate() function to reload config without needing to re-source liquidprompt (e1f8bd5, 22dd760)
  • bzr: _lp_bzr_active() data function (b523025)
  • bzr: _lp_bzr_commit_id() data function (b523025)
  • bzr: _lp_bzr_stash_count() data function (b523025)
  • bzr: _lp_bzr_tag() data function (b523025)
  • bzr: _lp_bzr_uncommitted_files() data function (b523025)
  • bzr: _lp_bzr_uncommitted_lines() data function (b523025)
  • bzr: _lp_bzr_untracked_files() data function (b523025)
  • color: lp_terminal_format() util function (#486, 09cfced)
  • cpu: Internal function __lp_cpu_count() to count CPU cores (e5047c0)
  • dirstack: Directory stack data source (#625, f35d9ac)
  • env: $LP_ENABLE_ERROR config option (#543, 63b9f73)
  • env: _lp_chroot() data function (c946155)
  • env: _lp_connected_display() data function (c946155)
  • env: _lp_error() data function (63b9f73)
  • env: _lp_hostname() data function (8de1a72, 6ea54e9)
  • env: _lp_hostname_color() theme function (c946155, 8de1a72, b1a3145)
  • env: _lp_http_proxy() data function (78dee3c)
  • env: _lp_http_proxy_color() theme function (78dee3c)
  • env: _lp_multiplexer() data function (0200b99, 230c9d7)
  • env: _lp_python_env() data function (03434d3)
  • env: _lp_python_env_color() theme function (03434d3)
  • env: _lp_software_collections() data function (f4afc5d)
  • env: _lp_software_collections_color() theme function (f4afc5d)
  • env: _lp_sudo_active() data function (9ba5d28)
  • env: _lp_sudo_active_color() theme function (9ba5d28)
  • env: _lp_user() data function (9ba5d28)
  • env: _lp_username() data function (debb794)
  • env: _lp_username_color() theme function (afe3195)
  • fossil: _lp_fossil_active() data function (bf2b9c6)
  • fossil: _lp_fossil_commit_id() data function (bf2b9c6)
  • fossil: _lp_fossil_head_status() data function (bf2b9c6)
  • fossil: _lp_fossil_stash_count() data function (bf2b9c6)
  • fossil: _lp_fossil_uncommitted_files() data function (bf2b9c6)
  • fossil: _lp_fossil_uncommitted_lines() data function (bf2b9c6)
  • fossil: _lp_fossil_untracked_files() data function (bf2b9c6)
  • git: _lp_git_active() data function (70b4ef6)
  • git: _lp_git_commit_id() data function (70b4ef6)
  • git: _lp_git_commits_off_remote() data function (309b443)
  • git: _lp_git_staged_files() data function (#644, 9038ec8)
  • git: _lp_git_staged_lines() data function (#644, 9038ec8)
  • git: _lp_git_stash_count() data function (fe9919f, bb19836)
  • git: _lp_git_tag() data function (70b4ef6, #506)
  • git: _lp_git_uncommitted_files() data function (67dc0a9)
  • git: _lp_git_uncommitted_lines() data function (70b4ef6)
  • git: _lp_git_unstaged_files() data function (67dc0a9)
  • git: _lp_git_unstaged_lines() data function (70b4ef6)
  • git: _lp_git_untracked_files() data function (fe9919f)
  • git: Caching for diff data functions that share targets (files() + lines()) (8bf1772)
  • hg: _lp_hg_active() data function (1a9fcd0)
  • hg: _lp_hg_bookmark() data function (f4636e6)
  • hg: _lp_hg_commit_id() data function (1a9fcd0)
  • hg: _lp_hg_head_status() data function (1a9fcd0)
  • hg: _lp_hg_stash_count() data function (1a9fcd0)
  • hg: _lp_hg_tag() data function (1a9fcd0)
  • hg: _lp_hg_uncommitted_files() data function (1a9fcd0)
  • hg: _lp_hg_uncommitted_lines() data function (1a9fcd0)
  • hg: _lp_hg_untracked_files() data function (1a9fcd0)
  • hostname: __lp_hostname_hash() internal function (8f730c8)
  • jobs: $LP_ENABLE_DETACHED_SESSIONS config option, separate from jobs (f9038e0, 862dcfb, #552)
  • jobs: _lp_detached_sessions() data function (73f2057, 862dcfb)
  • jobs: _lp_jobcount() data function (73f2057)
  • load: LP_LOAD_CAP config option (#650, #530, e058b61)
  • load: _lp_load() data function (8a987f4)
  • path: LP_COLOR_PATH_LAST_DIR config option (ae769dc)
  • path: LP_COLOR_PATH_SEPARATOR config option (ae769dc)
  • path: LP_COLOR_PATH_SHORTENED config option (ae769dc)
  • path: LP_COLOR_PATH_VCS_ROOT config option (ae769dc)
  • path: LP_PATH_CHARACTER_KEEP config option (ae769dc)
  • path: LP_PATH_METHOD config option (ae769dc)
  • path: LP_PATH_VCS_ROOT config option (ae769dc)
  • path: _lp_path_format() data function (#648, #349, #149, ae769dc)
  • path: __lp_end_path_left_shortening() internal function (ae769dc)
  • path: __lp_get_unique_directory() internal function (ae769dc)
  • runtime: _lp_runtime_format() data function (0f0fd37)
  • svn: _lp_svn_active() data function (4fff496)
  • svn: _lp_svn_commit_id() data function (4fff496)
  • svn: _lp_svn_uncommitted_files() data function (4fff496)
  • svn: _lp_svn_uncommitted_lines() data function (4fff496)
  • svn: _lp_svn_untracked_files() data function (4fff496)
  • temperature: _lp_temperature() as data function (69c75a3)
  • terminal: _lp_terminal_device() data function (5076dbe)
  • tests: Shunit2 testing suite (#469, 46918f6, 44e3a6f, 1fe1559)
  • tests: Tests to check if a shell supports all features that Liquid Prompt needs (46918f6, 5a9293d, 1fe1559)
  • tests: Tests for _lp_as_text() (6cdb860)
  • tests: Tests for _lp_battery()/acpi (cef9cb1)
  • tests: Tests for _lp_battery()/pmset (c0e74b8, 9e205f5, 37db052)
  • tests: Tests for _lp_connection()/who+ps (23eb3f2, 37db052, cef9cb1)
  • tests: Tests for __lp_cpu_count()/ncpu (37db052)
  • tests: Tests for _lp_cpu_load()/sysctl (37db052)
  • tests: Tests for _lp_detached_sessions()/screen+tmux (23eb3f2, 37db052, cef9cb1)
  • tests: Tests for __lp_hostname_hash() internal function (8f730c8, 37db052)
  • tests: Tests for __lp_is_function() util function (9b40ca1)
  • tests: Tests for __lp_line_count() util function (a314677)
  • tests: Tests for __lp_pwd_tilde() path function (28c13f2)
  • tests: Tests for __lp_temp_sensors()/sensors (23eb3f2, cef9cb1)
  • tests: Tests for _lp_terminal_device() data function (5076dbe, 37db052, cef9cb1)
  • tests: Github Actions build file (#469, 05e0a50)
  • tests: Github Actions documentation linting (#649, 30f977b)
  • theme: __lp_theme_bash_complete() to complete themes in Bash for lp_theme() (884c069)
  • theme: __lp_theme_list() to list themes loaded in function memory (884c069)
  • theme: __lp_theme_zsh_complete() to complete themes in Zsh for lp_theme() (884c069)
  • theme: _lp_default_theme_activate() theme function (40c4331, 45f8091)
  • theme: _lp_default_theme_directory() theme function (40c4331, 45f8091)
  • theme: _lp_default_theme_prompt() theme function (40c4331, 45f8091, acb5430)
  • theme: _lp_default_theme_prompt_data() theme function (acb5430)
  • theme: _lp_default_theme_prompt_template() theme function (acb5430)
  • theme: lp_theme() to switch themes without resourcing any files (45f8091, 884c069, #592)
  • theme: alternate_vcs, the default theme with modified VCS display (#635, #524, 2d659f0)
  • theme: powerline_full, the default theme order in Powerline style (bcefaf3)
  • theme: powerline, a clone of the Powerline prompt (af8382b, 8de1a72, 5ef795d, #520)
  • time: _lp_analog_time() data function (8cb609d, bc120d5)
  • time: _lp_analog_time_color() theme function (8cb609d, bc120d5)
  • time: _lp_time() data function (bc120d5)
  • time: _lp_time_color() theme function (bc120d5)
  • title: lp_formatted_title() sets persistent title stripping terminal formatting sequences (46df995, 9604203)
  • title: _lp_raw_title() sets persistent title without stripping terminal formatting sequences (46df995)
  • title: lp_title() sets a manual title that overrides the theme set title (46df995, #609)
  • tools: external-tool-tester.sh script to generate test data (b699dea, 9a00ead, 4b7fd88)
  • tools: theme-preview.sh script to generate standard prompt previews (0b94b74)
  • utils: __lp_is_function() util function (9b40ca1)
  • utils: __lp_line_count() util function (a314677)
  • vcs: _lp_find_vcs() to quickly find nearest VCS repo (f434b6d, #524)
  • vcs: _lp_vcs_active() data function (cafb8b2, #524)
  • vcs: _lp_vcs_bookmark() data function (f4636e6, #524)
  • vcs: _lp_vcs_branch() data function (cafb8b2, #524)
  • vcs: _lp_vcs_commit_id() data function (cafb8b2, #524)
  • vcs: _lp_vcs_commits_off_remote() data function (cafb8b2, #524)
  • vcs: _lp_vcs_details_color() to format VCS details regardless of VCS type (cafb8b2, f4636e6, 5c56e65, #524)
  • vcs: _lp_vcs_head_status() data function (cafb8b2, #524)
  • vcs: _lp_vcs_stash_count() data function (cafb8b2, #524)
  • vcs: _lp_vcs_tag() data function (cafb8b2, #506, #524)
  • vcs: _lp_vcs_uncommitted_files() data function (cafb8b2, #524)
  • vcs: _lp_vcs_uncommitted_lines() data function (cafb8b2, #524)
  • vcs: _lp_vcs_unstaged_files() data function (cafb8b2, #524)
  • vcs: _lp_vcs_unstaged_lines() data function (cafb8b2, #524)
  • vcs: _lp_vcs_untracked_files() data function (cafb8b2, #524)

Fixed

  • general: Issues with custom $IFS (e48856b, 4ebc26e)
  • general: Liquid Prompt is now set -u compatible (#354, a8aa8c9, cb9d71b)
  • acpi: Temperature check printed each temp twice, slowing down check (cf8bf97)
  • acpi: Temperature check used extended sed syntax without declaring extended language (eb30942)
  • battery: Color display would break with custom $LP_COLORMAP array (f3f20ec)
  • runtime: DEBUG trap was not unset if $LP_ENABLE_RUNTIME_BELL was disabled (cb9d71b)
  • sensors: Redirect sensors error output to /dev/null (#445, 4a52696)
  • time: Add default value for $LP_TIME_ANALOG (f8c1c47)
  • vcs: VCS display for new VCS works without needing to change directories (f434b6d)

Changed

  • general: Exit if shell is in interactive mode (f2276fc)
  • general: Load all functions at source time, not only ones enabled by the config (e1f8bd5, 8cb609d)
  • general: Remove subshells to improve speed (#607, 9ba6e86, e2ba86e)
  • general: Remove uses of eval improve speed and security (4fff496, 1a56d58)
  • color: Better handling when tput is not found (09cfced)
  • fossil: Remove sed call in _lp_fossil_branch() (6d94db6)
  • git: _lp_git_branch() only returns a matching branch, not a fallback commit ID. Use _lp_git_commit_id() instead (70b4ef6)
  • git: _lp_git_head_status() add more matches from official git prompt, as well as details for partial rebases (#527, 5c56e65)
  • jobs: Use __lp_line_count() instead of wc -l for data function (fb123f4)
  • load: Display actual load average instead of normalized (#650, #530, e058b61)
  • load: LP_LOAD_THRESHOLD accepts floats of actual load average instead of integer centiload (#650, #530, e058b61)
  • load: Default color scale cap from 1.0 to 2.0 (#650, #530, 5069c22)
  • path: LP_COLOR_PATH default changed from $BOLD to lp_terminal_format 255 0 0 0 7 (no longer bold) (ae769dc)
  • runtime: Save bell escape sequence on startup to save time when sending bell to terminal with runtime bell (3e615cd)
  • svn: _lp_svn_branch() prefixes tag with "tag/", no longer returns current directory if no match found (4fff496)
  • zsh: Add check for Zsh >= 5.0, the versions now officially supported (5bd80ce)

Removed

  • tests: pmset-simulator file, now integrated into pmset tests above (c0e74b8)
  • tests: test.sh file, unit tests integrated into acpi tests above (f445eff)
  • vcsh: $LP_ENABLE_VCSH config option, which did nothing (f86a097)

1.12.1 - 2020-10-25

Fixed

  • fossil: fossil 2.11+ matching any directory as a valid repo and printing 3 error messages (#626)

1.12.0 - 2020-07-17

Added

  • color: Add $MAGENTA, $BOLD_PURPLE, and $BOLD_MAGENTA (3fadce9)
  • color: Add warning when tput is not available (#615)
  • path: Allow to customize the symbol before the path that shows if the directory is writable: $LP_MARK_PERM (#430)
  • runtime: $LP_RUNTIME_BELL and $LP_RUNTIME_BELL_THRESHOLD to ring bell for slow commands (#571)

Fixed

  • general: use LC_ALL=C everywhere parsable output is needed (#548, #549)
  • general: set specific IFS everywhere it is used (#613)
  • bash: workaround broken .bashrc that export $PROMPT_COMMAND, we now unexport it on startup (#450, #463, #474)
  • bash: handle unset $_LP_RUNTIME_LAST_SECONDS when set -u is set (#605)
  • bash: use $BASH_VERSINFO for when there is a non-numeric suffix (#522, 0234a58)
  • battery/OS X: newer versions of OS X failing to parse (#476, fefbe01)
  • color: $LP_COLORMAP would break if customized with a different sized array (a70e80f)
  • color: _lp_color_map() would return nothing if the passed in value was outside the scale range (a70e80f, #455, #499, #604)
  • cpu/SunOS: failing math operation on load average (#479, #480)
  • fossil: improve branch name detection, don't match tags (#497)
  • git: remove -E from grep check for portablility (#508)
  • git: modifications incorrectly showing as untracked files (#509)
  • git: changed line check failing if file named "HEAD" existed (#517)
  • hg: modifications incorrectly showing as untracked files (#509)
  • hostname: regression in $LP_ENABLE_FQDN implementation (#472)
  • hostname/SunOS: $LP_COLOR_HOST_HASH erroring (#461, #462, 9c1c8a3)
  • jobs: misspelled variable local declaration (#564)
  • root: $LP_MARK_DEFAULT being ignored if root (#501, 5ee3c53)
  • runtime: when runtime enabled, $_ would evaluate as _lp_runtime_before (#451)
  • runtime: when running a multipart command line (with pipes or ;), runtime would never show. Now shows runtime of whole pipeline (#614)
  • tmux: tmux not showing as multiplexer if custom $TERM set (#563)

Changed

  • battery: hide battery symbol when neither charging nor discharging (#582)
  • color: optimize tput color gen (d62bf31)
  • git: faster git stash check (#503, 93df016)

1.11 - 2016-06-25 - dolmen (Olivier Mengué)

Fixed

  • OS X: sudo feature fixed (#443)
  • OS X: battery level restored (#444)

1.10 - 2016-05-30 - dolmen (Olivier Mengué)

BREAKING CHANGES

  • config: Many $LP_ENABLE_* settings are now static (their effect applies when liquidprompt is loaded, and changing them at the prompt does nothing) to improve speed.
  • screen: $LP_SCREEN_TITLE_OPEN and $LP_SCREEN_TITLE_CLOSE are now removed to simplify the code (#371)
  • zsh: option 'nopromptsubst' is enabled for security reasons. This will unfortunately also affect evaluations of other prompt contexts such as RPS1. (282359a, #432)

Deprecated

  • color: $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 v2.1). (6961f99)

Added

  • git: show the number of commits behind the remote (#110, #269, 48f1b02)
  • git: show the rebasing/merging/cherry-picking state (#409, 5cfd2c2)
  • hostname: $LP_ENABLE_FQDN to show the fully qualified domain name of the host (#254, #277, 695d629)
  • hostname: LP_HOSTNAME_ALWAYS=-1 to always hide the hostname (#406, d9cb55d)
  • python: add support for Conda (CONDA_DEFAULT_ENV) (#425, 07be967)
  • 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. 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 (#335, #345, a8571bb)
  • tty: $LP_TTYN: the basename of the terminal (#357, a97c0da, f436867)
  • zsh: run duration of the last command (LP_ENABLE_RUNTIME) is now supported (#404, #355)

Fixed

  • general: last statement of liquidprompt did not return 0 (#360, #361)
  • general: better support for set -u (a8114dd)
  • bash: bash 3 compatibility, remove function syntax (#313, 3079299)
  • battery/OS X: handle battery edge cases. We now have a pmset simulator to better detect regressions (#326, fabc775)
  • compat: broken path inside Midnight Commander (#288)
  • config: Use $XDG_CONFIG_HOME to locate the config (#415, #420, #427)
  • cpu: fix the scale that was incorrectly 0-200 (not an ideal fix) (#391, e9c35dd)
  • examples: example.bashrc major fixes (fdbd7ca)
  • fossil/OS X: tag regexp to work on darwin (#390)
  • git: broken git work directory detection caused by typo (64029ad)
  • grep: clear GREP_OPTIONS and skip grep aliases (#340, #372)
  • path: issues when $PWD contains spaces or special chars (#369, 0e0cc12)
  • path: escaping of special chars from $PWD (well, almost, see #389)
  • path: fix path growing with extra color codes each time directory is changed (b53e53b)
  • temp: try each backend (acpi/sensors) once to check it works at startup and disable the feature if none works. (#410, #319, #381, #387)
  • temp: the 'sensors' command now uses the '-u' option ("raw output") that is easier to parse. This format is at least 7 years old. (#379, #380)
  • temp: fix failing regex on bash (1fc0308)
  • term: fix detection of connection source for tmux (#304, #407)
  • title: terminal sequences that were sent in the title text (the escaping algorithm is rewritten and now just correct) (#416, 8605378)
  • zsh: enable word splitting to fix $LP_DISABLED_VCS_PATH (#423)
  • zsh: fix LP_PATH_KEEP=-1 not working (#433)
  • zsh: fix title escapes in zsh inside tmux/screen (#370, #371)
  • zsh: rename $status variable in _lp_battery() (#334, 0f80162)
  • zsh: save and restore a prompt set with zsh' promptinit (02bc49e)
  • zsh: use zsh style symbol when prompt_OFF() (eb6dafc)

Changed

  • bash: disable parameter expansion in PS1 (c3d4970)
  • clock: complete rewrite of analog clock for speed and correctness (#365, 0548290)
  • dist: Move dist/ to contrib/dist/ as files there are unmaintained (cf01d02)
  • jobs: optimize job count, espceially when disabled (aa870b5)
  • path: optimize implementation in case of LP_PATH_KEEP=-1: $LP_PWD becomes static (7602c09, #256)
  • path: optimize implementation in case LP_ENABLE_SHORTEN_PATH=0 on bash with $PROMPT_DIRTRIM (8da3314)
  • runtime: refactor runtime system (03c73fe, d485ed1)
  • zsh: disable $PROMPT_COMMAND hacks and only use zsh built in hooks (5fa9054)
  • zsh: disable existing hooks at startup (454112f)
  • zsh: explicitly set the shell options we need (instead of relying on the shell default settings) (282359a)

1.9 - 2014-11-12 - dolmen (Olivier Mengué)

Added

  • temp/linux guard against any future language change of the acpi command (1c65748)
  • vcsh: vcsh support (#148, #287, e927985)
  • venv: support for Software Collections (#299, #300, cc1be7e)

Fixed

  • general: lots of variable quoting fixes
  • general: save user IFS and restore it to avoid echo (#267, 782fad0)
  • bash: save and set shell option promptvars (62f0270)
  • bash: workaround broken pattern substitution in bash 4.2 (#289, #294, #302, 5813a71)
  • battery: general fixes (#265)
  • battery/OS X: fix for computers without battery (like iMacs) (#317)
  • bazar: _lp_bzr_branch_color() for zsh (#301, #303)
  • clock: fix analog clock hour for 12AM and 12PM (#273)
  • color: fix tput usage on BSDs (4572bd0)
  • git: count merge commits when checking differences with remote branch (7e7734e)
  • git: use --porcelain for git status (#270, 89540d3)
  • hostname: fix colorization for SSH (9633ac8)
  • jobs: fix when screen/tmux are not installed (#304, 07d18d4)
  • mark: losing space when $LP_MARK_DEFAULT not quoted (#268, c9bdefe)
  • screen: counting screen sessions running with extra parameters (#261, 5f8fcc4)
  • svn: fix branch/tag name extraction (#117, #237, c98f16d)
  • svn: support paths that are not branches or trunk (#293, 5425a5e)
  • temp/linux fix for negative temperature values (#308, 7402f79)
  • term: fix $TERM check (#291, dc7be25)
  • zsh: make $LP_OLD_PROMPT_COMMAND work (81b080e)

Changed

  • general: apply some shellcheck.com suggestions
  • color: optimize colormap when LP_PERCENT_ALWAYS=1 (ee63435)
  • fossil: cleanup and optimization (#274)
  • git: minor optimization (#266)
  • git: simplify working tree detection (0e0cc87)
  • hg: disabled hg outgoing because it is slow (#217)
  • hg: general cleanup for speed and fixes (dd9a024)

Removed

  • general: $LP_LIQUIDPROMPT, use $LP_OLD_PS1 for the same check (ed4f383)

1.8 - 2014-01-15 - dolmen (Olivier Mengué)

1.7 - 2013-11-30 - nojhan

1.6 - 2013-05-14 - nojhan

1.5 - 2013-04-20 - nojhan

1.4 - 2013-04-11 - nojhan

1.3 - 2013-03-11 - nojhan

1.2 - 2013-01-16 - nojhan

1.1 - 2012-08-16 - nojhan

1.0 - 2012-08-10 - nojhan