This page documents changes in master branch since last release v1.8.0

## PreRelease

The next release is v2.0.0:

### Pull Requests

<!-- call SpaceVim#dev#followHEAD#update('en') -->
<!-- SpaceVim follow HEAD en start -->

#### New Features

- feat(api): improve `SpaceVim#api#register` function (wsdjeg 13 days ago)
- feat(autosave): add autosave plugin (Wang Shidong 9 weeks ago)
- feat(autosave): add autosave_location option (wsdjeg 9 weeks ago)
- feat(autosave): re-implement autosave plugin (wsdjeg 9 weeks ago)
- feat(bookmarks): add leaderf support for vim-bookmarks (wsdjeg 24 hours ago)
- feat(bookmarks): add title to quickfix list and localist (wsdjeg 27 hours ago)
- feat(buffer): add `SPC b ctrl-shift-d` to kill buffer by regexp (wsdjeg 10 weeks ago)
- feat(bundle): update bundle tagbar (wsdjeg 3 months ago)
- feat(bundle): use bundle `github_dashboard` (wsdjeg 3 weeks ago)
- feat(checkers): add `lint_exclude_filetype` option (wsdjeg 3 weeks ago)
- feat(clever-f): hide cursor for neovim (wsdjeg 3 days ago)
- feat(core): Load local config after global config (Grafcube 10 weeks ago)
- feat(ctags): use `-G` option when generate tags (wsdjeg 6 days ago)
- feat(edit): add reverse-lines key binding (Kun Lin 6 weeks ago)
- feat(flygrep): hide guicursor (wsdjeg 7 days ago)
- feat(format): add `silent_format` to format layer (Grafcube 9 weeks ago)
- feat(git): add `git_diff_position` option (wsdjeg 3 weeks ago)
- feat(githubissues): use bundle github-issues & fix python command (wsdjeg 3 weeks ago)
- feat(gtags): add `ctags_bin` option (wsdjeg 6 days ago)
- feat(guicursor): enable cursor color (wsdjeg 6 days ago)
- feat(iedit): add `b` key binding for iedit (wsdjeg 3 weeks ago)
- feat(iedit): add `e` key binding in iedit-normal mode (wsdjeg 3 weeks ago)
- feat(iedit): add `w` key binding for iedit-normal mode (wsdjeg 3 weeks ago)
- feat(iedit): hide cursor in iedit mode (wsdjeg 2 days ago)
- feat(iedit): improve iedit mode (#4615) (Wang Shidong 10 days ago)
- feat(lang#nix): Add additional LSP command bindings (Sven Tennie 3 months ago)
- feat(layer#git): update git commands for fugitive (Michał Kuczaj 3 months ago)
- feat(layer): Add cargo-clippy to Rust layer (Grafcube 3 months ago)
- feat(layer): add `lang#jr` layer (wsdjeg 7 days ago)
- feat(layer): add `lang#octave` layer (wsdjeg 7 days ago)
- feat(lua): add lua `data#string` api (Wang Shidong 10 weeks ago)
- feat(mapping): add `SPC b <C-D>` (Wang Shidong 10 weeks ago)
- feat(mapping): add `SPC b o` to kill all buffers and windows (wsdjeg 3 weeks ago)
- feat(mapping): add `SPC f R` to rename current file (wsdjeg 7 days ago)
- feat(mapping): add `gD` to go to declaration (sisynb 4 weeks ago)
- feat(mapping): add help description for `SPC s S` (wsdjeg 2 months ago)
- feat(mapping): add help description for `SPC s b` (wsdjeg 2 months ago)
- feat(mapping): add help guide for `SPC s B` (wsdjeg 2 months ago)
- feat(mapping): add help guide for `SPC s d/D` (wsdjeg 2 months ago)
- feat(mapping): add help guide for `SPC s f/F` (wsdjeg 10 weeks ago)
- feat(mapping): add help guide for `SPC s s` (wsdjeg 3 months ago)
- feat(markdown): add a new key binding for RemoveToc (Kun Lin 3 weeks ago)
- feat(mkdir): make automkdir plugin support `:w foo/test.vim` (wsdjeg 12 days ago)
- feat(neoformat): Use forked version of neoformat (wsdjeg 3 weeks ago)
- feat(notify): add `winblend` option (wsdjeg 18 hours ago)
- feat(nvim-lspconfig): update bundle nvim-lspconfig (wsdjeg 3 weeks ago)
- feat(org): improve lang#org layer (Wang Shidong 3 months ago)
- feat(plantuml): add `java_command` option (Wang Shidong 7 weeks ago)
- feat(python): add virtualenv support (Wang Shidong 4 days ago)
- feat(statusline): add `&paste` mode support (wsdjeg 3 weeks ago)
- feat(statusline): add `totallines` section (wsdjeg 3 weeks ago)
- feat(statusline): clear searching status for no exist pattern (wsdjeg 3 weeks ago)
- feat(tabline): add `ctrl-shift-left/right` key binding (wsdjeg 4 days ago)
- feat(test): add vim ultest (Grafcube 7 weeks ago)
- feat(todomanager): add `todo_prefix` option (wsdjeg 19 hours ago)
- feat(windows): fix link of nightly neovim release (wsdjeg 9 days ago)

#### Changes

#### Bug Fixs

- fix(E5601): close all notify windows on QuitPre (wsdjeg 26 hours ago)
- fix(E725): fix vim error E725 (wsdjeg 9 days ago)
- fix(Ex mode): fix highlight plugin for Ex mode (wsdjeg 2 days ago)
- fix(ale): file ale config (wsdjeg 8 days ago)
- fix(api): fix `transient_state` api (wsdjeg 2 days ago)
- fix(autosave): fix location_path function (wsdjeg 9 weeks ago)
- fix(autosave): use checktime to avoid warning (wsdjeg 9 weeks ago)
- fix(chinese): fix convert Chinese number to digits (Kun Lin 3 weeks ago)
- fix(core): add spacevim root dir to rtp (wsdjeg 3 months ago)
- fix(core): fix `get_options` function (wsdjeg 27 hours ago)
- fix(core): load open-browser by default (wsdjeg 3 weeks ago)
- fix(cscope): check cscope executable (wsdjeg 6 days ago)
- fix(defx): autoclose filetree && skip floating windows (wsdjeg 9 days ago)
- fix(defx): fix `s:win_count()` function (wsdjeg 4 hours ago)
- fix(denite): fix `SPC i s` in denite layer (wsdjeg 10 weeks ago)
- fix(detach): fix detach script for scrollbar.vim (wsdjeg 9 days ago)
- fix(docker): add exuberant-ctags (Hamidreza Hosseinkhani 3 weeks ago)
- fix(edit): add missing command `ReverseLines` (wsdjeg 3 weeks ago)
- fix(edit): improve the reverse_lines function (Kun Lin 3 weeks ago)
- fix(fileformat): change autosave &ff to unix (wsdjeg 9 weeks ago)
- fix(fillchars): fix `fillchars` option (wsdjeg 12 days ago)
- fix(flygrep): fix `<ScrollWheelDown>` and `<ScrollWheelUp>` (wsdjeg 4 days ago)
- fix(flygrep): fix `ctrl-c` key binding in flygrep (wsdjeg 4 days ago)
- fix(flygrep): fix delete text command (wsdjeg 3 weeks ago)
- fix(flygrep): include `time` api when detaching FlyGrep (blankname 2 weeks ago)
- fix(gtags): clear autocmd when check health (wsdjeg 7 hours ago)
- fix(guicursor): fix guicursor color (wsdjeg 2 days ago)
- fix(guide.vim): handle ctrl-c when using `getchar()` (wsdjeg 5 days ago)
- fix(health): fix environment checking (wsdjeg 9 days ago)
- fix(highlight): fix `Tab` key binding (wsdjeg 3 days ago)
- fix(highlight): update highlight after toggle_item (wsdjeg 3 days ago)
- fix(highlight): use v:argv instead of mode() (wsdjeg 2 days ago)
- fix(highlight.vim): fix highlight plugin (wsdjeg 9 days ago)
- fix(highlight.vim): fix list index out of range (wsdjeg 3 weeks ago)
- fix(iedit): fix `Ctrl-p` key binding of iedit (wsdjeg 10 days ago)
- fix(iedit): fix `e` key binding in iedit mode (wsdjeg 3 weeks ago)
- fix(iedit): fix cursor_stack index checking (wsdjeg 9 days ago)
- fix(iedit): fix iedit statusline (wsdjeg 3 weeks ago)
- fix(iedit): handle empty cursor_stack (wsdjeg 7 days ago)
- fix(iedit): remove deepcopy (wsdjeg 3 days ago)
- fix(iedit): skip empty character when start iedit (wsdjeg 3 weeks ago)
- fix(indentline): disable indentline for defx buffer (wsdjeg 11 days ago)
- fix(indentline): fix indentline setting (wsdjeg 12 days ago)
- fix(install): fix install script (wsdjeg 3 weeks ago)
- fix(java_getset): fix mapping warning message (wsdjeg 4 days ago)
- fix(key): fix `SPC T F` key binding (wsdjeg 8 days ago)
- fix(lang#markdown): use `--force` instead (wsdjeg 3 weeks ago)
- fix(lang#php): use old phpcomplete (wsdjeg 9 weeks ago)
- fix(lisp): fix vlime support (Palash Bauri 13 days ago)
- fix(lsp): add spacevim.diagnostic function (wsdjeg 3 months ago)
- fix(lsp): disable jedi when pyright enabled (wsdjeg 11 days ago)
- fix(notify): check `win_is_open` before close notify (wsdjeg 7 days ago)
- fix(notify): check function exists (wsdjeg 18 hours ago)
- fix(notify): fix E488 Trailing characters (wsdjeg 16 hours ago)
- fix(notify): fix `win_is_open` function (wsdjeg 7 days ago)
- fix(notify): set notify_max_width based on current &columns (wsdjeg 4 hours ago)
- fix(notify): use `nvim_win_set_option` instead (wsdjeg 18 hours ago)
- fix(notify): use noautocmd to avoid changing statusline (wsdjeg 7 days ago)
- fix(number): fix the pattern of Chinese Number (Kun Lin 7 weeks ago)
- fix(page): update post date (wsdjeg 2 days ago)
- fix(php): fix php `gd` key binding (wsdjeg 12 days ago)
- fix(prompt): fix prompt api version checking (wsdjeg 7 days ago)
- fix(runner): check executable before run command (wsdjeg 7 days ago)
- fix(runner): fix `async_run` function (wsdjeg 5 days ago)
- fix(snippet): fix key binding `SPC i s` (wsdjeg 10 weeks ago)
- fix(statusline): fix `syntax_checking` function (wsdjeg 3 weeks ago)
- fix(statusline): fix normal mode statusline (wsdjeg 9 days ago)
- fix(tasks.vim): fix Variable type mismatch (wsdjeg 3 weeks ago)
- fix(test): fix `org` layer test (wsdjeg 3 weeks ago)
- fix(test): fix test for `a.vim` and `a.lua` (wsdjeg 3 weeks ago)
- fix(test): switch to `windows-2019` (wsdjeg 9 days ago)
- fix(test): update Makefile (wsdjeg 8 days ago)
- fix(transient_state): fix `transient_state` api (wsdjeg 16 hours ago)
- fix(ui): fix `indentline_exclude_filetype` option (wsdjeg 3 weeks ago)
- fix(unite): fix `SPC i s` key binding (wsdjeg 10 weeks ago)
- fix(util): fix `SPC f Y` key binding (wsdjeg 4 days ago)
- fix(util): fix if_expand_tab function (wsdjeg 11 days ago)
- fix(vader): fix vader test for vim (Wang Shidong 46 minutes ago)
- fix(vim): fix vim supporting (wsdjeg 3 days ago)
- fix(vimdoc): fix vimdoc generation (wsdjeg 7 days ago)

#### Docs && Wiki

- docs(README): add link to FAQ page (wsdjeg 3 weeks ago)
- docs(WebAssembly): add `:h SpaceVim-layers-lang-WebAssembly` (wsdjeg 3 weeks ago)
- docs(align): fix table align (wsdjeg 10 weeks ago)
- docs(api): add `:h SpaceVim-api-clock` (wsdjeg 3 weeks ago)
- docs(chat): update doc for `chat` layer (Jedsek 10 weeks ago)
- docs(clojure): typo in clojure doc (Elliott Crifasi 6 weeks ago)
- docs(cmdlinemenu): add usage example (wsdjeg 3 weeks ago)
- docs(cscope): update `:h SpaceVim-layers-cscope` (wsdjeg 11 days ago)
- docs(custom_plugins): add doc for adding multiple plugins (wsdjeg 7 days ago)
- docs(debug): add keybinds doc for vimspector (Grafcube 10 weeks ago)
- docs(edit): fix typo in edit page (wsdjeg 9 weeks ago)
- docs(edit): update cn edit page (wsdjeg 9 weeks ago)
- docs(eslint): update ESLint in JS as IDE docs (Mike Barberry 3 months ago)
- docs(faq): add doc for uninstall SpaceVim (wsdjeg 10 weeks ago)
- docs(foldsearch): add `:h SpaceVim-layers-foldsearch` (wsdjeg 3 weeks ago)
- docs(fzf): add `:h SpaceVim-layers-fzf` (wsdjeg 10 weeks ago)
- docs(gtags): document ctags_bin gtags layer option (Sébastien Santoro 6 days ago)
- docs(guide): Add vim basic guide (Wang Shidong 3 months ago)
- docs(guide): Add vim script guide (Wang Shidong 3 months ago)
- docs(guide): mention SPC == space (jtagcat 10 weeks ago)
- docs(help): add `:h SpaceVim-options-expand_tab` (wsdjeg 3 weeks ago)
- docs(iedit): add `:h SpaceVim-plugins-iedit` (wsdjeg 3 weeks ago)
- docs(iedit): add article for iedit (Wang Shidong 2 days ago)
- docs(iedit): update doc for iedit function (wsdjeg 3 weeks ago)
- docs(iedit): update documentation page (wsdjeg 3 days ago)
- docs(javaunite): add `:h JavaUnit.vim` (wsdjeg 4 days ago)
- docs(kotlin): update doc for `kotlin` layer (Russell 3 weeks ago)
- docs(link): fix links (wsdjeg 2 days ago)
- docs(lsp): add description for nvim(>=0.5.0) (sisynb 3 weeks ago)
- docs(lsp): update language-server-protocol.md (sisrnb 3 months ago)
- docs(mail): add doc for `mail` layer (wsdjeg 3 weeks ago)
- docs(option): add `:h SpaceVim-options-commandline_prompt` (wsdjeg 5 days ago)
- docs(php): update doc for php lsp support (wsdjeg 6 days ago)
- docs(python): add doc for enable `+py3` (Wang Shidong 10 weeks ago)
- docs(quick-guide): add doc for switch to specific version (wsdjeg 3 weeks ago)
- docs(runner): add `:h SpaceVim-plugins-runner` (wsdjeg 7 days ago)
- docs(test): update doc for `test` layer (wsdjeg 2 weeks ago)
- docs(todomanager): add `:h SpaceVim-plugins-todomanager` (wsdjeg 6 days ago)
- docs(tutorial): update vim script guide (wsdjeg 12 days ago)
- docs(usage): add `:h SpaceVim-usage-undotree` (wsdjeg 10 weeks ago)
- docs(vcs): add `:h SpaceVim-layers-VersionControl` (wsdjeg 3 weeks ago)
- docs(wdl): add `:h SpaceVim-layers-lang-wdl` (wsdjeg 3 weeks ago)
- docs(website): fix type in `edit` layer page (wsdjeg 9 weeks ago)
- docs(website): update `edit` layer doc (wsdjeg 9 weeks ago)
- docs(weisite): update website documentation (wsdjeg 11 days ago)
- docs(wiki): update project layout page (wsdjeg 3 weeks ago)
- docs(wildignore): add `:h SpaceVim-options-wildignore` (wsdjeg 6 days ago)

#### Others

- chore(bundle): update bundle `clever-f` (wsdjeg 3 days ago)
- chore(bundle): use bundle `JavaUnit.vim` (wsdjeg 4 days ago)
- chore(bundle): use bundle java plugins (wsdjeg 4 days ago)
- chore(bundle): use bundle vim-lookup (wsdjeg 3 weeks ago)
- chore(copyright): update copyright (wsdjeg 10 weeks ago)
- chore(copyright): update email (wsdjeg 2 weeks ago)
- chore(dev): update development doc (wsdjeg 3 weeks ago)
- chore(editorconfig): fix typos in .editorconfig (zeertzjq 2 days ago)
- chore(gitignore): ignore `.cache` directory (wsdjeg 3 weeks ago)
- chore(license): add file head (wsdjeg 3 weeks ago)
- chore(lua): add comment about lua package path (wsdjeg 13 days ago)
- chore(sponsors): update sponsors page (wsdjeg 9 weeks ago)
- chore(version): update to 2.0.0-dev (wsdjeg 3 months ago)
- pref(indentline): update bundle indent-blankline.nvim (wsdjeg 12 days ago)
- pref(runner): remove `\r` at the end of line (wsdjeg 4 days ago)
- refactor(bundle): use bundle neomru (wsdjeg 9 weeks ago)
- refactor(debug): add debug log for iedit (wsdjeg 3 weeks ago)
- refactor(format): format dictionary (wsdjeg 3 days ago)
- refactor(lang#puppet): move autocmd to lang#puppet layer (wsdjeg 3 months ago)
- refactor(lang#vim): move viml autocmd to `lang#vim` layer (wsdjeg 11 days ago)
- refactor(manpage): move `SPC h m` to fuzzy finder layer (wsdjeg 9 weeks ago)
- refactor(neoyank): use bundle neoyank.vim (wsdjeg 9 weeks ago)
- refactor(org): use bundle org plugin (wsdjeg 3 months ago)
- refactor(python): move python autocmd to `lang#python` layer (wsdjeg 11 days ago)
- refactor(vim#highlight): add `is_string()` function (wsdjeg 2 weeks ago)
- revert(highlight.vim): revert E725 (wsdjeg 9 days ago)
- style(z): format key binding guide for `z` (wsdjeg 9 days ago)
- test(Makefile): use `-Es` mode (wsdjeg 3 weeks ago)
- test(check.yml): add more test (wsdjeg 9 days ago)
- test(iedit): add test for iedit (Wang Shidong 10 weeks ago)
- test(mkdir): add test for mkdir plugin (wsdjeg 8 days ago)
- test(nvim): add test for neovim (wsdjeg 3 weeks ago)
- test(nvim): remove windows test for nvim v0.4.0 (wsdjeg 9 days ago)
- test(vint): enable `ProhibitEqualTildeOperator` policy (wsdjeg 3 weeks ago)
- ci(codecov): update target (wsdjeg 3 weeks ago)
- ci(vim): add test for vim 8.2.2434 and 8.2.3995 (wsdjeg 2 weeks ago)

## Latest Release

SpaceVim releases v1.9.0 at 2022-01-06, please check the release page:

- [SpaceVim releases v1.9.0](https://spacevim.org/SpaceVim-release-v1.9.0/) for all the details
