Version 2.0.0 beta 1

This is a beta version because there are still features and fixes planned for
v2.0.0. This version should be as stable as v1.12.

The biggest features are general increased speed, the theme engine, and the new
documentation. See the release notes
for the most important changes.

If you are referencing `$lp_err`, setting `$LP_DISABLED_VCS_PATH`, or calling
`_lp_title()`, see the upgrade notes for help with upgrading.

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()` renamed to `__lp_set_dirtrim()` (decaece)
- path: `_lp_shorten_path()` renamed to `__lp_shorten_path()` and return changed from stdout to
  `$lp_shorten_path` without formatting (decaece, a35032f)
- 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 chagned 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 chagned 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
- 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: 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)
- general: `theme-preview.sh` script to generate standard prompt previews (0b94b74)
- 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)
- 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_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)
- 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)
- 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()` data function (8a987f4)
- path: `$lp_path` data variable (a35032f)
- path: `__lp_path()` internal function (a35032f)
- 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)
- tests: Tests to check if a shell supports all features that Liquidprompt
  needs (#469, 46918f6, 5a9293d, cdb860)
- tests: Github Actions build file (#469, 05e0a50)
- 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)
- theme: `lp_theme()` to switch themes without resourcing any
  files (45f8091, 884c069, #592)
- 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)
- 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)
- general: Liquidprompt is now `set -u` compatable (#354, a8aa8c9, cb9d71b)
- 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)
- 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)
- 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)

Removed
- vcsh: `$LP_ENABLE_VCSH` config option, which did nothing (f86a097)

This is a beta version because there are still features and fixes planned for v2.0.0. This version should be as stable as v1.12.

The biggest features are general increased speed, the theme engine, and the new documentation. See the Release Notes for the most important changes.

If you are referencing $lp_err, setting $LP_DISABLED_VCS_PATH, or calling _lp_title(), see the upgrade notes for help with upgrading.

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 (f681cdf9)
  • general: _lp_color_map() return changed from stdout to $ret (e843ccfd)
  • general: _lp_escape() renamed to __lp_escape() and return changed from stdout to $ret (f3404f99)
  • general: _lp_set_prompt() renamed to __lp_set_prompt() (decaece0)
  • general: _lp_source_config() renamed to __lp_source_config() (decaece0)
  • battery: _lp_battery() return changed from stdout to $lp_battery (3f57231d)
  • battery: _lp_battery_color() return changed from stdout to $lp_battery_color (3f57231d)
  • env: $lp_err renamed to $lp_error (63b9f73d)
  • env: _lp_connection() return changed from stdout to $lp_connection (edc490f3)
  • git: _lp_git_head_status() return changed from stdout to $lp_vcs_head_status (7c214708)
  • jobs: _lp_jobcount_color() return changed from stdout to $lp_jobcount_color (73f20574)
  • load: _lp_load_color() return changed from stdout to $lp_load_color (8a987f43)
  • path: _lp_get_home_tilde_collapsed() renamed to __lp_pwd_tilde() and return changed from stdout to $lp_pwd_tilde (28c13f27)
  • path: _lp_set_dirtrim() renamed to __lp_set_dirtrim() (decaece0)
  • path: _lp_shorten_path() renamed to __lp_shorten_path() and return changed from stdout to $lp_shorten_path without formatting (decaece0, a35032fe)
  • runtime: _lp_runtime() renamed to _lp_runtime_color() and return changed from stdout to $lp_runtime_color (0f0fd373)
  • runtime: _lp_runtime_after() renamed to __lp_runtime_after() (decaece0)
  • runtime: _lp_runtime_before() renamed to __lp_runtime_before() (decaece0)
  • temperature: _lp_temp_acpi() renamed to __lp_temp_acpi() and return chagned from $temperature to $lp_temperature (69c75a3e)
  • temperature: _lp_temp_detect() renamed to __lp_temp_detect() (69c75a3e)
  • temperature: _lp_temp_sensors() renamed to __lp_temp_sensors() and return chagned from $temperature to $lp_temperature (69c75a3e)
  • temperature: _lp_temperature() changed to data function, replaced by _lp_temperature_color() and return changed from stdout to $lp_temperature_color (69c75a3e)
  • time: _lp_time() split into _lp_time(), _lp_time_color(), _lp_analog_time(), and _lp_analog_time_color() (8cb609d4)
  • vcs: _lp_<vcs>_branch() return changed from stdout to $lp_vcs_branch (f3404f99)
  • vcs: _lp_<vcs>_branch_color() functions removed, replaced by _lp_vcs_details_color() (cafb8b2e, bf2b9c60, 1a9fcd09, 4fff4964, b5230252)
  • vcs: _lp_smart_mark() return changed from stdout to $lp_smart_mark (9c6d073e)
  • vcs: _lp_upwards_find() removed, replaced by _lp_find_vcs() (f434b6dc)

Deprecated

  • title: _lp_title() is replaced by _lp_formatted_title() (46df9950, 9604203f, #581)
  • utils: _lp_bool() is replaced by manually storing return codes (82ee823e).
  • utils: _lp_sb() is replaced by data functions indicating if they returned data or not (82ee823e).
  • utils: _lp_sl() is replaced by data functions indicating if they returned data or not (82ee823e).
  • utils: _lp_sr() is replaced by data functions indicating if they returned data or not (82ee823e).
  • 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 (cad6286b)

Added

  • general: Sphinx documentation (0d420d2f, c7b50036, b5230252, f9fd12ee)
  • general: Command line flag --no-activate to skip auto shell activation when sourcing liquidprompt (e122d21b)
  • general: lp_activate() function to reload config without needing to re-source liquidprompt (e1f8bd58, 22dd7609)
  • general: theme-preview.sh script to generate standard prompt previews (0b94b74d)
  • bzr: _lp_bzr_active() data function (b5230252)
  • bzr: _lp_bzr_commit_id() data function (b5230252)
  • bzr: _lp_bzr_stash_count() data function (b5230252)
  • bzr: _lp_bzr_tag() data function (b5230252)
  • bzr: _lp_bzr_uncommitted_files() data function (b5230252)
  • bzr: _lp_bzr_uncommitted_lines() data function (b5230252)
  • bzr: _lp_bzr_untracked_files() data function (b5230252)
  • color: lp_terminal_format() util function (#486, 09cfced2)
  • env: $LP_ENABLE_ERROR config option (#543, 63b9f73d)
  • env: _lp_chroot() data function (c9461552)
  • env: _lp_connected_display() data function (c9461552)
  • env: _lp_error() data function (63b9f73d)
  • env: _lp_hostname() data function (8de1a729, 6ea54e91)
  • env: _lp_hostname_color() theme function (c9461552, 8de1a729, b1a3145a)
  • env: _lp_http_proxy() data function (78dee3c7)
  • env: _lp_http_proxy_color() theme function (78dee3c7)
  • env: _lp_multiplexer() data function (0200b99e, 230c9d7d)
  • env: _lp_python_env() data function (03434d38)
  • env: _lp_python_env_color() theme function (03434d38)
  • env: _lp_software_collections() data function (f4afc5d0)
  • env: _lp_software_collections_color() theme function (f4afc5d0)
  • env: _lp_sudo_active() data function (9ba5d282)
  • env: _lp_sudo_active_color() theme function (9ba5d282)
  • env: _lp_user() data function (9ba5d282)
  • env: _lp_username() data function (debb794b)
  • env: _lp_username_color() theme function (afe31952)
  • fossil: _lp_fossil_active() data function (bf2b9c60)
  • fossil: _lp_fossil_commit_id() data function (bf2b9c60)
  • fossil: _lp_fossil_head_status() data function (bf2b9c60)
  • fossil: _lp_fossil_stash_count() data function (bf2b9c60)
  • fossil: _lp_fossil_uncommitted_files() data function (bf2b9c60)
  • fossil: _lp_fossil_uncommitted_lines() data function (bf2b9c60)
  • fossil: _lp_fossil_untracked_files() data function (bf2b9c60)
  • git: _lp_git_active() data function (70b4ef65)
  • git: _lp_git_commit_id() data function (70b4ef65)
  • git: _lp_git_commits_off_remote() data function (309b4434)
  • git: _lp_git_stash_count() data function (fe9919f5, bb198362)
  • git: _lp_git_tag() data function (70b4ef65, #506)
  • git: _lp_git_uncommitted_files() data function (67dc0a9a)
  • git: _lp_git_uncommitted_lines() data function (70b4ef65)
  • git: _lp_git_unstaged_files() data function (67dc0a9a)
  • git: _lp_git_unstaged_lines() data function (70b4ef65)
  • git: _lp_git_untracked_files() data function (fe9919f5)
  • hg: _lp_hg_active() data function (1a9fcd09)
  • hg: _lp_hg_bookmark() data function (f4636e66)
  • hg: _lp_hg_commit_id() data function (1a9fcd09)
  • hg: _lp_hg_head_status() data function (1a9fcd09)
  • hg: _lp_hg_stash_count() data function (1a9fcd09)
  • hg: _lp_hg_tag() data function (1a9fcd09)
  • hg: _lp_hg_uncommitted_files() data function (1a9fcd09)
  • hg: _lp_hg_uncommitted_lines() data function (1a9fcd09)
  • hg: _lp_hg_untracked_files() data function (1a9fcd09)
  • jobs: $LP_ENABLE_DETACHED_SESSIONS config option, separate from jobs (f9038e03, 862dcfbe, #552)
  • jobs: _lp_detached_sessions() data function (73f20574, 862dcfbe)
  • jobs: _lp_jobcount() data function (73f20574)
  • load: _lp_load() data function (8a987f43)
  • path: $lp_path data variable (a35032fe)
  • path: __lp_path() internal function (a35032fe)
  • runtime: _lp_runtime_format() data function (0f0fd373)
  • svn: _lp_svn_active() data function (4fff4964)
  • svn: _lp_svn_commit_id() data function (4fff4964)
  • svn: _lp_svn_uncommitted_files() data function (4fff4964)
  • svn: _lp_svn_uncommitted_lines() data function (4fff4964)
  • svn: _lp_svn_untracked_files() data function (4fff4964)
  • temperature: _lp_temperature() as data function (69c75a3e)
  • tests: Tests to check if a shell supports all features that Liquidprompt needs (#469, 46918f62, 5a9293db, cdb860)
  • tests: Github Actions build file (#469, 05e0a502)
  • theme: __lp_theme_bash_complete() to complete themes in Bash for lp_theme() (884c0697)
  • theme: __lp_theme_list() to list themes loaded in function memory (884c0697)
  • theme: __lp_theme_zsh_complete() to complete themes in Zsh for lp_theme() (884c0697)
  • theme: _lp_default_theme_activate() theme function (40c4331f, 45f80913)
  • theme: _lp_default_theme_directory() theme function (40c4331f, 45f80913)
  • theme: _lp_default_theme_prompt() theme function (40c4331f, 45f80913)
  • theme: lp_theme() to switch themes without resourcing any files (45f80913, 884c0697, #592)
  • theme: powerline_full, the default theme order in Powerline style (bcefaf32)
  • theme: powerline, a clone of the Powerline prompt (af8382b5, 8de1a729, 5ef795d2, #520)
  • time: _lp_analog_time() data function (8cb609d4, bc120d50)
  • time: _lp_analog_time_color() theme function (8cb609d4, bc120d50)
  • time: _lp_time() data function (bc120d50)
  • time: _lp_time_color() theme function (bc120d50)
  • title: lp_formatted_title() sets persistent title stripping terminal formatting sequences (46df9950, 9604203f)
  • title: _lp_raw_title() sets persistent title without stripping terminal formatting sequences (46df9950)
  • title: lp_title() sets a manual title that overrides the theme set title (46df9950, #609)
  • utils: __lp_is_function() util function (9b40ca13)
  • utils: __lp_line_count() util function (a314677b)
  • vcs: _lp_find_vcs() to quickly find nearest VCS repo (f434b6dc, #524)
  • vcs: _lp_vcs_active() data function (cafb8b2e, #524)
  • vcs: _lp_vcs_bookmark() data function (f4636e66, #524)
  • vcs: _lp_vcs_branch() data function (cafb8b2e, #524)
  • vcs: _lp_vcs_commit_id() data function (cafb8b2e, #524)
  • vcs: _lp_vcs_commits_off_remote() data function (cafb8b2e, #524)
  • vcs: _lp_vcs_details_color() to format VCS details regardless of VCS type (cafb8b2e, f4636e66, 5c56e658, #524)
  • vcs: _lp_vcs_head_status() data function (cafb8b2e, #524)
  • vcs: _lp_vcs_stash_count() data function (cafb8b2e, #524)
  • vcs: _lp_vcs_tag() data function (cafb8b2e, #506, #524)
  • vcs: _lp_vcs_uncommitted_files() data function (cafb8b2e, #524)
  • vcs: _lp_vcs_uncommitted_lines() data function (cafb8b2e, #524)
  • vcs: _lp_vcs_unstaged_files() data function (cafb8b2e, #524)
  • vcs: _lp_vcs_unstaged_lines() data function (cafb8b2e, #524)
  • vcs: _lp_vcs_untracked_files() data function (cafb8b2e, #524)

Fixed

  • general: Issues with custom $IFS (e48856b5)
  • general: Liquidprompt is now set -u compatable (#354, a8aa8c94, cb9d71b9)
  • battery: Color display would break with custom $LP_COLORMAP array (f3f20ecb)
  • runtime: DEBUG trap was not unset if $LP_ENABLE_RUNTIME_BELL was disabled (cb9d71b9)
  • time: Add default value for $LP_TIME_ANALOG (f8c1c477)
  • vcs: VCS display for new VCS works without needing to change directories (f434b6dc)

Changed

  • general: Exit if shell is in interactive mode (f2276fc2)
  • general: Load all functions at source time, not only ones enabled by the config (e1f8bd58, 8cb609d4)
  • general: Remove subshells to improve speed (#607, 9ba6e86f, e2ba86e0)
  • general: Remove uses of eval improve speed and security (4fff4964, 1a56d58d)
  • color: Better handling when tput is not found (09cfced2)
  • fossil: Remove sed call in _lp_fossil_branch() (6d94db6d)
  • git: _lp_git_branch() only returns a matching branch, not a fallback commit ID. Use _lp_git_commit_id() instead (70b4ef65)
  • git: _lp_git_head_status() add more matches from official git prompt, as well as details for partial rebases (#527, 5c56e658)
  • jobs: Use __lp_line_count() instead of wc -l for data function (fb123f4c)
  • runtime: Save bell escape sequence on startup to save time when sending bell to terminal with runtime bell (3e615cde)
  • svn: _lp_svn_branch() prefixes tag with "tag/", no longer returns current directory if no match found (4fff4964)

Removed

  • vcsh: $LP_ENABLE_VCSH config option, which did nothing (f86a097d)