2.8.3 * various minor bug fixes and improvements * fix ipython 8 2.8.2 * various bug fixes and minor improvements. 2.8.1 * Add `__version__`. 2.8 * Added ipython >= 7.0.0 support * Various other minor fixes and improvements Python 2 support is now deprecated. **It will be removed in the next release.** 2.7 - Added ALE support. - Added mocp support. - Added awesome 4+ support. - Added support for `$pipestatus` in bash. - Recognize terminal-job mode. - Fixed i3 bindings when both i3-py and i3ipc are installed. - Fixed i3 bar bindings. - Fixed checking for battery in WSL. - Fixed spotify segment on Mac OS. - Fixed compiling C client with GCC-7. 2.6 - Added support for new Vim modes. - Added ability to control output padding. - Added iTunes player segment. - Added support for tmux development builds. - Added a workaround for a fish bug sometimes occurring when using eval from config.fish (upstream status unknown). - Added a workaround for tmux 2.4 bug: excessive CPU usage when having multiple panes (also fixed upstream). - Fixed clean file status support in mercurial. - Fixed error when battery capacity is zero and using DBus. - Fixed mercurial command servers leakage. - Refactored awesome bindings to use powerline daemon. 2.5.2 - Fixed ipython-5.2\* support. 2.5.1 - Made more robust theme default. - Made it use hglib in place of unstable mercurial plugin API. - Fixed latest fish version support. - Some other fixes and documentation adjustments. 2.5 - Added IPython-5 support: in new major IPython version prompt code was largerly reworked, resulting in different set of hacks needed for powerline to work. IPython still does not have features needed to avoid using hacks. - Added stash segment. - Fixed trailing whitespace segment: it could incorrectly report trailing whitespace if line ended with `b` or `'` on Python-3. - Fixed weather segment and altered geoip service used. - Fixed escaping used for status-left option on tmux-2.1 and higher. 2.4 - Added `short` parameter for `system_load` segment that leaves only one load average number out of three. - Added `powerline.segments.i3wm.scratchpad` segment used to list windows that are currently on the scratchpad. - Added support for multiple batteries in battery segment. - Added `….i3wm.workspace` segment which describes single i3wm workspace and workspaces lister. Old `….i3wm.workspaces` segment was deprecated. - Added support for multiple monitors in lemonbar bindings. - Added support for most recent tmux version (2.2). - Fixed battery status support on some linux systems. - Fixed MPD bindings: they sometimes were not able to handle names if they did not fit ASCII. - Fixed MPD bindings: they did not correctly get elapsed time. - Fixed AttributeError on some systems: LC_MESSAGES is not always available. - Fixed Mac OS-specific variant of spotify player support when Python-3 is used. - Fixed performance of the tabline. 2.3 - Added ability to hide domain part of the user name to common.env.user segment. - Added ability to show conda environment to virtualenv segment. - Added systemd service file. - Added ability to detect internal_ip interface using default gateway. - Added support for password-protected connections in mpd player bindings. - Added `output` option to i3wm.workspaces segment to filter workspaces based on their output. - Added “charging” indicator to battery segment. - Made tmux bindings show zoom indicator in window status. - Fixed tmux bindings so that they support tmux-2.1. - Fixed support for unicode characters in common.time.date segment. 2.2 - Added support for newest psutil version. - Added support for non-SSL IMAP4 connection. - Added support for clickable tab names in Vim. - Added support for truncating tmux segments. - Added support for new (i3ipc) module that interacts with i3. - Added support for i3 modes. - Fixed coloring of network_load segment. - Fixed dash bindings on OS X. - Fixed parsing numbers starting with 2 supplied by POWERLINE_*_OVERRIDES environment variables. 2.1.4 - Fixed tmux support broken by 2.1.1. 2.1.3 - Fixed powerline-render arguments parsing. 2.1.1 - Added support for placing powerline on the left in qtile. - Added qtile-1.9 support. - Fixed tmux-2.0 support. - Made it easier to run tests outside of travis. - Added some missing highlight groups. - Made it omit writing empty above lines. - Fixed UnicodeEncodeError when running powerline-lint with non-ASCII characters in error messages. - Fixed code that replaces `&statusline` value: it now is able to replace non-ASCII `&statusline`s as well. 2.1 - Added [BAR](https://github.com/LemonBoy/bar) support. - Added support for pdb (Python debugger) prompt. - Added more highlight groups to solarized colorscheme. - Updated zpython bindings. - Fixed C version of the client on non-Linux platforms. - Fixed some errors in powerline-lint code. - Fixed Python-2.6 incompatibilities in setup.py. 2.0 Added functionality: - Added fbterm (framebuffer terminal emulator) support. - Added theme with unicode-7.0 symbols. (Note: most software is not ready for it yet, including all Python-2* versions.) - Added support for PyPy3. - Compiler is now called with CFLAGS from environment in setup.py if present. - Added support for pyuv-1.*. - Added a way to write error log to Vim global variable. - `powerline` script now supports overrides from `$POWERLINE_CONFIG_OVERRIDES`, `$POWERLINE_THEME_OVERRIDES` environment variables, so does `powerline-config` script. - `powerline` and `powerline-config` scripts now support taking paths from `$POWERLINE_CONFIG_PATHS`. - `powerline-lint` is now able to report dictionaries which were merged in to form marked dictionary and what were the previous values of overridden values. - Added support for Byron Rakitzis’ rc shell reimplementation. - Added support for querying battery status on cygwin platform. Fixes: - Vim: made all mode strings have equal width. - Vim: fixed intermediate Vim-7.3* support. - Fixed typo in battery segment implementation that made it not possible to fall back to next implementation if UPower is not available, but dbus is. - Fixed libzpython overrides and modes support. - Fixed Python-3* support in zpython bindings. - Fixed checking of themes located in user configuration directories in `powerline-lint`. - `powerline-daemon` now allows `--foreground` argument to be used in conjunction with `--replace`. - Fixed outdated tmux versions support (1.6 and 1.7). Incompatible changes: - Removed CtrlP support. If one wants to readd it make sure to fix problems listed in 4e6b0a7ec8f2fa54053e4162c8b604a85e8d667d. - `highlight_group` key in segment description (both in configuration and in function output) was renamed to `highlight_groups` (note the trailing `s`). - `attr` key in colorschemes was renamed to `attrs` key (note the trailing `s`). - All highlight groups looking like `foo.bar` were renamed to `foo:bar`: dot in highlight group names is no longer allowed. - `detect` argument value was renamed to `auto` in network segments. - `$POWERLINE_COMMAND` is now a single path to one executable. No arguments to the executable are allowed inside `$POWERLINE_COMMAND`. Overrides using argument to `$POWERLINE_COMMAND` are now deprecated. - In place of overrides being part of `$POWERLINE_COMMAND` variable all shell and tmux bindings now support overrides from `$POWERLINE_CONFIG_OVERRIDES` and `$POWERLINE_THEME_OVERRIDES` environment variables. - In place of config paths specified as a part of `$POWERLINE_COMMAND` variable paths are now taken from `$POWERLINE_CONFIG_PATHS` environment variable. - `$POWERLINE_CONFIG` was replaced with `$POWERLINE_CONFIG_OVERRIDES` for zpython bindings when talking about overrides. - `$POWERLINE_THEME_CONFIG` was renamed to `$POWERLINE_THEME_OVERRIDES` in zpython bindings. - `$POWERLINE_CONFIG` was replaced with `$POWERLINE_CONFIG_COMMAND` in all shell bindings when talking about path to `powerline-config` executable. - In Vim in place of `g:powerline_theme_overrides__{theme_name}` per-theme dictionaries `g:powerline_theme_overrides` dictionary should be used. Theme names in this case are top-level keys in the new dictionary. - In IPython configuration paths list can be specified via `config_paths` option, not via `paths` option. - Some long options that defined overrides were renamed: - `--theme_option` was renamed to `--theme-override`. - `--config` was renamed to `--config-override`. Note that these options are deprecated and shall be used for testing purposes only. - All long options that used to have underscore in them are now using HYPHEN-MINUS instead. I.e. - `--config_path` was renamed to `--config-path`. - `--last_pipe_status` was renamed to `--last-pipe-status`. - `--renderer_arg` was renamed to `--renderer-arg`. - `--theme_option` was renamed to `--theme-override`. Short options were not touched. - All segments from `powerline.segments.common` were removed. Now they live in `powerline.segments.common` submodules: e.g. `powerline.segments.common.weather` is now `powerline.segments.common.wthr.weather`. List of available segments can be found in documentation, section [Common segments](http://powerline.readthedocs.org/en/master/configuration/segments/common.html). - Segments `powerline.segments.common.now_playing` and `powerline.segments.common.players.now_playing` were removed. In place of them all players should be accessed via their own segments. List of segments is available in [Media players](http://powerline.readthedocs.org/en/master/configuration/segments/common.html#module-powerline.segments.common.players). 1.3.1 - Fixed Command-T finder labels: now `CommandT::` and `Finder::` parts are removed because all finders were moved to `CommandT::Finder` module in place of just `CommandT`. - Fixed dbus players support: it is now OK not to have album title. - Characters that form the surrogate pair that represents some character above U+10000 in UCS-2 Python builds are no longer considered non-printable. - Added support for calculating lengths of the characters above U+10000 in UCS-2 Python builds. - Made linter support characters above U+10000 if they are represented as a `\uXXXX\uXXXX` surrogate pair in JSON. - Made linter validate that all characters in some strings are printable. - Made `powerline-daemon` work in FreeBSD: only use abstract socket namespace on linux systems. - Fixed `string` and `safe_unicode` functions in Python-3. - Fixed colors and alignment in tmux powerline bindings. 1.3 - Added support for Command-T plugin statusline. - Added support for csv files (displays current column and column header if applicable). - Added support for capslock plugin. - Added support for `ZLE_RPROMPT_INDENT` in zsh bindings. - Made tmux bindings respect powerline configuration (powerline colorschemes and left dividers configuration). - Made tagbar segment use caching. - Fixed build in case no C compiler was found. - Fixed old Vims support. - Fixed non-unicode directories support in non-zpython shell bindings when using Python-2. - Fixed tcsh prompt escaping: also escapes the bang. - Various improvements useful for debugging. - Improved style of help messages. - Added manual pages. 1.2 Changes: - When guessing used network interface for internal_ip segment the priority of various VM bridge interfaces was lowered. - Added `ignore_statuses` option that makes one able to prevent certain repository statutes (e.g. `"U"`: only modification is unknown files) from marking repository as dirty. - Refactored `powerline.segments.common.players` module: deprecated `now_playing` segment, replacing it with segments with names identical to player names (e.g. `powerline.segments.common.players.mpd`). `now_playing` segment will continue to work until powerline-2.0 though. - Fixed `powerline.segments.tmux.attached_clients` segment: it was not working at all due to missing argument in one function call. - Fixed regular expression used to detect NERDTree buffers. 1.1 Changes: - Deprecated `powerline.segments.common`, moved all segments into deeply nested modules (e.g. `powerline.segments.common.vcs`). - Added support for different tag formats provided by tagbar plugin. - Improved non-unicode locales handling. - Improved non-unicode filenames handling. - Improved Vim troubleshooting: it now runs powerline-lint automatically. - Fixed weather segment: it was remembering its argument from the first run and never allowed to change it. - Fixed Uv watcher: it raised an exception for nonexistent files. - Fixed zsh named directories handling when AUTO_NAME_DIRS option is set. - Fixed --config_path handling when using daemon: in some cases it was remembered once and never changed. - Fixed Vim overrides when Vim is using Python-3*. - Fixed Uv watcher on Python-3*: it used os.path.walk which was removed. - Refactored and documented powerline.lint. 1.0 Current features include: - Application support: vim, ipython, awesome, qtile, i3, tmux, zsh, fish, tcsh, bash and some other shells. - Powerline daemon that makes tmux and shell bindings work faster. - Automatic statusline shrinking. - Segments: - Branch and file status segments support for git, mercurial and bazaar version control systems. - Battery support for linux (dbus and /sys/class/power_supply), OS X and Windows platforms. - Player support: CMUS, MPD, Spotify, Clementine, Rhythmobox, RDIO. - Support for displaying weather. - Current directory display in shells, including zsh named directories support. - Vim plugins support: Ctrl-P, Gundo, NerdTree, Syntastic, TagBar. - A huge number of other segments. - Automatic configuration reloading. - Merging configuration from various locations. - Filesystem watchers for configuration reloading and VCS segments: - INotify-based watcher. - LibUv-based watcher. - Stat-based watcher (only files).