mirror of https://github.com/folke/lazy.nvim.git
89 KiB
89 KiB
Changelog
9.14.1 (2023-03-24)
Bug Fixes
- cache: handle corrupted cache files (db5b67e)
9.14.0 (2023-03-22)
Features
- ui: added test to dimmed commits (0e230ca)
Bug Fixes
9.13.1 (2023-03-20)
Bug Fixes
- cache: fix loading libs on Darwin (236f851)
- health: add
main
key (#679) (e7622b7) - health: allow overriding
1
(959f8c3)
9.13.0 (2023-03-17)
Features
9.12.1 (2023-03-16)
Bug Fixes
9.12.0 (2023-03-15)
Features
- cache: automatically reset topmods when a user changes a file for a path on the rtp (5b7b8c5)
- cache: drop dependency on ffi (810acc1)
- cache: remove any mentions of lazy. Move the cache to cache/luac instead of cache/lazy/luac (49dda87)
- cache: use
vim.cache
everywhere. poly-fill when needed (ea1a044)
Bug Fixes
- cache: remove dependency on jit (942c805)
9.11.0 (2023-03-14)
Features
Bug Fixes
- loader: never load lua files from a plugin where cond=false. Show error instead (10f5844)
9.10.3 (2023-03-13)
Bug Fixes
9.10.2 (2023-03-07)
Bug Fixes
- git: always set origin name when cloning (#622) (53be2c0)
- plugin: properly pass is_list for recursively merging props (355312e)
9.10.1 (2023-03-04)
Bug Fixes
- process: unset GIT_WORK_TREE (c60f7ea)
9.10.0 (2023-03-02)
Features
9.9.0 (2023-02-28)
Features
- health: check for paths on the rtp from plugged or packer (9bd1c94)
Bug Fixes
- cache: add hack to work-around incorrect requires back. Not a fan of this. Fixes #603 (79f85e5)
- git: honor clone.defaultRemoteName. Fixes #602 (5af9380)
- git: properly deal with failed clones. Fixes #571 (7722378)
- health: whitelist deactivate prop (5694483)
- keys: set nowait for lazy keymaps when needed. Fixes #600 (1657ae9)
- ui: always show diagnostics virtual text (0f713b2)
9.8.5 (2023-02-20)
Bug Fixes
- ui: disable colorcolumn on floating window (#575) (43496fa)
- ui: don't close on BufLeave. Fixes #561 (7339145)
9.8.4 (2023-02-17)
Bug Fixes
- spec: make sure imported specs are sorted alphabetically (ff76e58)
- ui: return abort key instead of
<c-c>
(5cfe156)
9.8.3 (2023-02-16)
Bug Fixes
- cache: hack to work around plugins trying to load relatve modules. Fixes #543 (e916f41)
- ui: disable folding of floating window (#550) (6771c7e)
9.8.2 (2023-02-15)
Bug Fixes
9.8.1 (2023-02-14)
Bug Fixes
- keys: fixed keys types. rhs can be
false
(6a18404)
Performance Improvements
9.8.0 (2023-02-13)
Features
- git:
Plugin.submodules = false
will now skip fetching git submodules (0d3f2c4)
Bug Fixes
- cmd: fix Error when trigger on range defined command that doesn't support count (#519) (a147110)
- icons: replace an obsolete Nerd icon (#529) (bc978ca)
- loader: don't deactivate when not loaded (c83d2ae)
- util: executable checks for
Util.open
(#528) (4917222)
Performance Improvements
9.7.0 (2023-02-08)
Features
Bug Fixes
- install: dont load the colorscheme again if a
config()
of the colorscheme also loads it. Fixes #488 (49b43de) - keys: feed keys instead of returning expr for Neovim 0.8.x. Fixes #511 (c734d94)
- keys: refactor retrigger mechanism (#428) (4272d21)
- keys: replace keycodes manually (ddaffa0)
9.6.0 (2023-02-07)
Features
9.5.1 (2023-02-06)
Bug Fixes
- commands: sync with plugins list should not delete those plugins. Fixes #475 (0c98031)
- health: existing packages on windows. Fixes #474 (527f83c)
- log: properly check if plugin dir is a git repo before running git log (3d2dcb2)
- process: allow overriding GIT_SSH_COMMAND. Fixes #491. Fixes #492 (452d4eb)
9.5.0 (2023-01-24)
Features
- config: added option to disable git filter. NOT recommended. Fixes #442 (26a67e3)
- dev: optionally fallback to git when local plugin doesn't exist (#446) (772d888)
- health: check for git in health checks (9b5cc1b)
- util: utility method to walk over all modules in a directory (5d9d354)
Bug Fixes
- checker: dont check for updates when there's tasks with errors (c32a618)
- checker: dont clear tasks when running update check (ed21070)
9.4.0 (2023-01-22)
Features
- added
config.ui.wrap
and improved wrapping when wrap=true. Fixes #422 (d6fc848) - checker: checker will now save last check time and only check at configured frequency even after restarting Neovim (813fc94)
Bug Fixes
- checker: make sure we show logs when only doing a fast check (4008b57)
- git: unset GIT_DIR when spawning a process. Fixes #434 (9858001)
- render: get profile_{sort,filter} key bindings from ViewConfig (#416) (27ca918)
- spec: dont complain about an invalid short url, when a full url is set. Fixes #421 (c389ad5)
9.3.1 (2023-01-17)
Bug Fixes
- git: when a
Plugin.branch
is set, don't useconfig.defaults.version
. Fixes #409 (bd37afc) - spec: dont copy dep and super state from existing plugins (da4e8cc)
- spec: when overriding a spec by name that has not been imported yet, show an error when needed (baaf8dd)
- work-around for libuv issue where fs_scandir_next sometimes fails to return a file type (c791c0e)
Performance Improvements
- plugin: de-duplicate dependencies, keys, ft, event and cmd (1b2a6f6)
9.3.0 (2023-01-16)
Features
- git: some debugging tools for git (208f91b)
- keys: allow overriding a keys value to
vim.NIL
to not add the key (fdf0332) - spec: overriding keys with an rhs of
false
will remove the key instead (870af80) - spec: you can now override specs using only the plugin name instead of the short url (0cbd91d)
Bug Fixes
- build: make sure
rplugin.vim
is loaded when doing a build. Fixes #382 (666ed7b) - loader: load plugin opts inside a
try
clause to report errors (7160ca4) - util: rever (e8cb863)
Performance Improvements
- util: dont trigger VeryLazy autocmds when exiting (1e67dc0)
- util: properly check that Neovim is exiting. Dont run VeryLazy when that's the case (efe72d9)
9.2.0 (2023-01-13)
Features
- commands: allow commands like
Lazy ... | ...
(#377) (7b78ce3) - spec: event, keys, ft and cmd can now also be a function that returns the values to be used (2128ca9)
Bug Fixes
- cache: de-duplicate topmods. Fixes #349 (81017b9)
- float: only clear diagnostics for valid buffers (7b0d1a7)
- ui: open diff and others over the ui. Don't try to be smart about it. Fixes #361 (3fbe4fe)
- use
vim.api.nvim_exec_autocmds
instead ofvim.cmd[[do]]
to prevent weirdvim.notify
behavior (b73312a)
9.1.3 (2023-01-11)
Bug Fixes
- cache: use cached chunk when specs are loading for valid plugins (07fd7ad)
- loader: prevent loading plugins when loading specs (e1cd9cd)
9.1.2 (2023-01-11)
Bug Fixes
- handlers: allow overriding handler values (74bc61a)
- ui: possible error during initial install (a646238)
- ui: properly position Lazy tabs when opening another cmd. Fixes #361 (8756c09)
- ui: reset buf and win options on resize (3b44c3c)
Performance Improvements
- util: execute VeryLazy right after UIEnter (5aca928)
9.1.1 (2023-01-10)
Bug Fixes
- ui: get_plugin should return when ui is not showing (5faadf6)
9.1.0 (2023-01-10)
Features
- spec: allow git@ and http urls in
Plugin[1]
withouturl=
. Fixes #357 (4304035) - util:
Util.merge
now support advanced merging strategies. Docs coming soon (b28c6b9)
Bug Fixes
- cache: dont keep invalid entries in the cache (cleanup) (9fa62ea)
- diffview: fixed parameter for showing single commit with DiffView. Fixes #304 (a32e307)
- docs: auto-gen of readme stuff (3a216d0)
- spec:
Plugin.opts
is now always a table. Fixes #351 (e77be3c) - spec: don't import specs more than once (ad7aafb)
- ui: keymap for building a single plugin changed from
b
togb
. Fixes #358 (e6ee0fa)
9.0.0 (2023-01-08)
⚠ BREAKING CHANGES
- spec: setting a table to
Plugin.config
is now deprecated. Please usePlugin.opts
instead. (backward compatible for now)
Features
- git: added fast
Git.get_origin
andGit.get_config
(a39fa0f) - git: lazy now detects origin changes and will fix it on update. Fixes #346. Fixes #331 (615781a)
- spec: setting a table to
Plugin.config
is now deprecated. Please usePlugin.opts
instead. (backward compatible for now) (7260a2b) - util: better deep merging with
Util.merge
(6a31b97)
8.1.0 (2023-01-07)
Features
- spec: show error when loading two specs with the same name and a different url. Fixes #337 (c313249)
Bug Fixes
- cache: check that modpaths still exist when finding mod root (d34c85d)
- config: Don't cache check for attached UIs (#340) (05b55de)
- config: properly handle uis connecting after startup (5ed89b5)
8.0.0 (2023-01-06)
⚠ BREAKING CHANGES
- util:
require("lazy.util").open_cmd()
is deprecated. See the docs
Features
Bug Fixes
- loader: revert change that loaded /plugin after config. Fixes #328 (2ef44e2)
- loader: source runtime files without
silent
. Fixes #336 (102bc27)
Code Refactoring
- util:
require("lazy.util").open_cmd()
is deprecated. See the docs (4f76b43)
7.12.1 (2023-01-05)
Bug Fixes
- cache: check full paths of cached modpaths. Fixes #324 (b2dec14)
- loader: run plugin config before sourcing runtime (c59c05c)
- util: Util.try can now work without an error message (e4f79a4)
7.12.0 (2023-01-04)
Features
- spec: allow import property on a plugin spec (dea43af)
Bug Fixes
7.11.0 (2023-01-04)
Features
- loader: disable plugins (a7ac2ad)
- spec: spec merging now properly works with
Plugin.enabled
(81cb352)
Bug Fixes
- diff: make diffview work again. Fixes #304 (e61b334)
- keys: only replace localleader and maplocalleader. Fixes #307, fixes #308 (507b695)
- loader: dont show error of missing plugins if they are disabled (09fd8fa)
- loader: move mapleader check to loader, so it can be set by spec files (b4d4e6b)
- util: assume type is file when no type is returned by scandir. Fixes #306 (2e87520)
Performance Improvements
- spec: more efficient merging of specs and added
Plugin._.super
(bce0c6e)
7.10.0 (2023-01-03)
Features
- spec: allow overriding
Plugin.enabled
(05aec48) - ui: added section with disabled plugins (299ffdf)
- version: allow version=false to override default version (f36c7cb)
Bug Fixes
- git: better errors when a branch/tag/version could not be found. Fixes #276 (277a2ab)
- git: properly compare git commits with short refs (dc9c92a)
- health: check for all packages on the rtp, excluding
dist
packs (1c854d7) - install: dont try re-installing failed missing plugins during startup. Fixes #303 (c85f929)
- keys: make operator pending mode work. Fixes #286 (cdb998c)
- keys: operator (2e3e65b)
- keys: operator pending mode (e93f50f)
- spec: show error when users load a plugins module called
lazy
(1fd8015) - stats: fixed cputime on linux (06db1ec)
- stats: more robust checks for native cputime (b5f4106)
- stats: use fallback for cputime on windows. Fixes #280 (ddcdc5e)
- stats: windows (85173dc)
- ui: check if win is still valid (e749e68)
- util: made
Util.lsmod
more robust. See #298 (953c279)
7.9.0 (2023-01-02)
Features
- commands: added build command to force rebuild of a plugin (23c0587)
- event: track event trigger times (46997de)
- help: accept patterns for readme (#269) (d521a25)
- loader: incrementally install missing plugins and rebuild spec, so imported specs from plugins work as expected (2d06faa)
- spec: added
import
to import other plugin modules (919b7f5) - spec: added support for importing multiple spec modules with
import = "foobar"
(39b6602) - spec: allow mergig of config, priority and dependencies (313015f)
- spec: show spec warnings in checkhealth only (bc4133c)
- ui: show new version that is available instead of general message (34e2c78)
- ui: when updating to a new version, show the version instead of the commit refs (0fadb5e)
- util: added trackfn that wraps a function and tracks timings (50a456c)
Bug Fixes
- cache: allow lazyvim as a plugin (f6b0172)
- cache: autoloading was broken! (9e90852)
- cache: dont return directories in lsmod (9893430)
- cache: keep ordering of topmods the same as in rtp (11eee43)
- cache: only autoload when plugins have been parsed. Needed to support
import
(0bc73db) - cache: properly return two values for finddir (1ec8f08)
- commands: fixed plugin completion for commands (205ce42)
- fetch: always fetch latest origin tags. Fixes #264 (a9de591)
- handler: properly show errors generated by setting up handlers (4d77cf2)
- health: always use main spec (6ff480b)
- help: properly escape helptags search pattern (#268) (1edd1b8)
- loader: always load init.lua in plugin mods (60e96b4)
- loader: setup handlers after installing missing plugins. Fixes #272 (b23a5dc)
- plugin: only get plugin from spec when needed. (ce3e1fc)
- spec: allow a spec module to be on the rtp and not only in config (51c23b6)
- spec: normalize deps before adding spec to make sure merging works as expected (7d75598)
Performance Improvements
- cache: cache all lua files till UIEnter instead of VimEnter (77ff7be)
- track some additional cputimes (d992387)
7.8.0 (2022-12-31)
Features
Bug Fixes
- util: remove double forward slashes (ed0583e)
7.7.0 (2022-12-31)
Features
- git: added support for packed-refs. Fixes #260 (865ff41)
- ui: make brower configurable. Fixes #248 (679d85c)
- ui: show when plugin would be loaded for unloaded plugins. Fixes #261 (5575d2b)
Bug Fixes
- bootstrap: fixed bootstrap script (de82a99)
- duplicate state check in bootstrap (#255) (51fb95e)
- git: always get both tag and version (cb29427)
- keys: forward
count
to keymaps. Fixes #252 (a834b30) - ui: only show plugins to clean under clean (45d669f)
Performance Improvements
- loader: re-use topmod cache to find
setup()
module (730bb84)
7.6.0 (2022-12-30)
Features
- api: allow passing options to float so it can be used outside of lazy (2a617a7)
- commands: added health command to run
:checkhealth lazy
(86dff1b) - health: added spec parsing errors to
:checkhealth
(32511a1) - restore: you can now restore a plugin to a certain commit. Fixes #234 (1283c2b)
- startup: missing plugins will now install the versions in the lockfile if available. Fixes #138 (81ee02b)
Bug Fixes
- cache: clear cached entry on errors (def5cc5)
7.5.0 (2022-12-29)
Features
- bootstrap: bootstrap with last lazy stable release (929198b)
7.4.2 (2022-12-29)
Bug Fixes
7.4.1 (2022-12-29)
Bug Fixes
7.4.0 (2022-12-29)
Features
- cache: update package.loaded on require (021e546)
- plugin: allow some
lazy.nvim
spec props to be set by the user (c8553ca) - profile: nicer threshold prompt (#210) (ff8f378)
- ui: added extra cache stats to the debug tab (c2f7e2d)
Bug Fixes
- cache: ad jit.verion to cache version string. Fixes #225 (e3ffcff)
- cache: added support for top level lua linked directories. Fixes #233 (853d4d5)
- cache: always normalize modname separators (8544c38)
- cache: check package.loaded after auto-load and return existing module if present. Fixes #224 (044e28b)
- cache: dont update rtp in fast events (4b75d06)
- cache: make it work again... #fixup (370b1b9)
- cache: OptionSet is not triggered during startup, so use #rtp instead to see if it changed (9997523)
- cache: properly get rtp during fast events (95b9cf7)
- cache: reload file if compiled code is incompatible. Fixes #225 (b8c5ab5)
- cmd: fixed signature of cmd._del. Fixes #229 (a2eac68)
- commands: E5108 in getcompletions (#207) (acd6697)
- config: reset packpath to include VIMRUNTIME only. Fixes #214 (db043da)
- ft: only trigger filetypepluing and filetypeindent for ft handler. Fixes #228 (7de662d)
- git: add --no-show-signature. Fixes #218 (6c0b803)
- health: add
cond
key (#203) (b813fae) - health: add new key
priority
to:checkhealth lazy
(#196) (dc03fa1) - loader: implemented correct adding to rtp. fix #230, fix #226 (3a1a10c)
- loader: show proper error message when trying to load a plugin that is not installed. Fixes #201. Fixes #202 (956164d)
- loader: temporary fix for Vimtex and others. See #230 (c7122d6)
- loader: when
config=true
, passnil
tosetup()
. Fixes #208 (5f423b2) - only show fired ft events in debug obvioulsy. Fixes #232 (c7c1295)
- rtp: correct order of adding to rtp. Fixes #226 (4e3a973)
Performance Improvements
- move autoloader to cache and always use lazy's modname path resolver which is much faster (34977c2)
7.3.0 (2022-12-27)
Features
- plugin: added
Plugin.priority
for start plugins (edf8310) - profile: added accurate startuptime to ui/stats/docs (a2fdf36)
- reloader: trigger LazyReload when changes were detected and after reload. Fixes #178 (4e4493b)
- ui: added new section specifically for updates (3b46160)
- util: use treesitter to highlight notify messages when available (d1739cb)
Bug Fixes
- cache: never use packer paths from cache (bb53b84)
- ft: always trigger FileType when lazy-loading on ft (5618076)
- plugin: find plugins with
/lua/
instead of/lua
(8a3152d) - plugin: pass plugin as arg to config/init/build (b6ebed5)
- reloader: remove extra trailing separator (#180) (c4d924a)
- ui: removed newlines from profile tab (0d0d11a)
7.2.0 (2022-12-26)
Features
- cache: make ttl configurable (4aa362e)
- plugin: added
Plugin.cond
. Fixes #89, #168 (aed842a) - ui: made all highlight groups and icons configurable (0ea771b)
- ui: make lazy icon configurable (#163) (8ea9d8b)
- ui: re-render after resize. Fixes #174 (9a2ecc8)
Bug Fixes
- diff: use git show when only displaying one commit (#155) (037f242)
- keys: don't escape pendig keys twice and only convert when number (46280a1)
- keys: only delete key handler mappings once (9837d5b)
- loader: add proper error message when trying to load a plugin that doesn't exist. Fixes #160 (9095223)
- ui: get plugin details from the correct plugin in case it was deleted (2f5c1be)
7.1.0 (2022-12-24)
Features
- build: build can now be a list to execute multiple build commands. Fixes #143 (9110371)
- manage: added user events when operations finish. Fixes #135 (a36d506)
- ui: added custom commands for lazygit and opening a terminal for a plugin (be3909c)
- ui: added multiple options for diff command (7d02da2)
- ui: you can now hover over a plugin to open a diff of updates or the plugin homepage (593d6e4)
- util method to open a float (7c2eb15)
- util: open terminal commands in a float (8ad05fe)
Bug Fixes
- checker: update updated after every manage operation. Fixes #141 (86f2c67)
- help: make sure we always generate lazy helptags (f360e33)
- manage: only clear plugins for the op instead of all (fc182f7)
- plugin list can be string[]. Fixes #145 (74d8b8e)
7.0.0 (2022-12-23)
⚠ BREAKING CHANGES
- default lazy cache path is now under cache instead of state
init()
no longer implies lazy-loading. Addlazy=false
for affected plugins- run
init()
before loading start plugins. Fixes #107
Features
init()
no longer implies lazy-loading. Addlazy=false
for affected plugins (8112640)- loader: automatically lazy-load colorschemes (07b4677)
- spec:
config
can betrue
or atable
that will be passed torequire("plugin").setup(config)
(2a7b004) - spec: allow using plugin names in dependencies (4bf771a)
- ui: added options to sort/filter profiling data (7dfb9c1)
Bug Fixes
- added error message to debug failing extmarks #117 (65e9036)
- checker: dont report updates on install during startup (8251c23)
- install: make sure to setup loaders before attempting install so colorscheme can load. Fixes #122 (7b9b476)
- keys: don't create with remap! (b440b3a)
- keys: dont delete handlers manually. Let loader do that (72b3899)
- keys: key handlers were not working after reload (3f60f2d)
- manage: do not reload pugins on clear (b5d6afc)
- pass plugins instead of plugin names to command. Fixes #103 (42f5aa7)
- remove debug print (08d458c)
- remove lazy keymaps with the correct mode. Fixes #97 (56890ce)
- run
init()
before loading start plugins. Fixes #107 (2756a6f) - ui: fix buffer being properly deleted (#112) (9e98389)
- ui: fixed extmarks while wrapping. Fixes #124 (e973323)
- ui: sort profiling chronological by default (50e3b91)
Code Refactoring
- default lazy cache path is now under cache instead of state (cc6276e)
6.0.0 (2022-12-22)
⚠ BREAKING CHANGES
- lazy api commands now take an opts table instead of a list of plugins
Features
- added support for
nvim --headless "+Lazy! sync" +qa
(2e14a2f) - checker: defer checker to after VeryLazy to make sure nvim-notify and others are loaded (fd1fbef)
- keys: more advanced options for setting lazy key mappings (1c07ea1)
- lazy api commands now take an opts table instead of a list of plugins (bc61747)
- ui: show modpaths in debug (6304231)
Bug Fixes
- cache: overwrite cache entry with new modpath when loading a file. Fixes #90 (2200284)
- clean: update lockfile on clean (#88) (dd9648f)
- cmd: allow ranges. Fixes #93 (c0c2e1b)
- git: make sure we properly fetch git submodules. Fixes #72 (7f6f31d)
- git: remove --also-filter-submodules. Fixes #86 #83 (488b487)
- install: update lockfile also on install (4cf176b)
- removed spell again from site. not needed. can download in config/spell (58f0876)
- rtp: keep site in rtp (94d0125)
- show mapleader warning with vim.schedule. Fixes #91 (28f1511)
5.2.0 (2022-12-21)
Features
- loader: allow to add extra paths to rtp reset. Fixes #64 (876f7bd)
- loader: warn when mapleader is changed after init (4ca3039)
- make hover easy to override (f0e1b85)
- plugin: allow plugin files only without a main plugin module. Fixes #53 (44f80a7)
- util: utility method to get sync process output (e95da35)
Bug Fixes
- cache: if we can't load from the cache modpath, find path again instead of erroring right away (a345649)
- checker: allow git checks only for non-pinned plugins (#61) (a939243)
- git: dereference tag refs. Fixes #54 (86eaa11)
- git: only mark a plugin as dirty if an update changed the commit HEAD. Fixes #62 (bbace14)
- health: don't show warning on
module=false
(c228908) - help: sort tags files for readmes so tags work properly. Fixes #67 (2fd78fb)
- keys: feedkeys should include pending keys. Fixes #71 (2ab6518)
- loader: lua modules can be links instead of files. Fixes #66 (b7c489b)
- loader: source rtp
/plugin
files after loading start plugins. Fixes (ff24f49) - strip
/
from dirs. Fixes #60 (540847b) - ui: install command can have plugins as a parameter (232232d)
- ui: set current win only when its valid (3814883)
5.1.0 (2022-12-20)
Features
- added options to configure change detection. Fixes #32 (6c767a6)
- ui: make the windoww size configurable. Fixes #34 (941df31)
Bug Fixes
- add filetype to window buffer. (#41) (897d6df)
- git: don't run git log for submodules. Fixes #33 (9d12cdc)
- loader: source filetype.lua before plugins. Fixes #35 (ffcd0ab)
- spec: only process a spec once (b193f96)
- use nvim_feekeys instead of nvim_input for keys handler. Fixes #28 (5298441)
Performance Improvements
- ui: clear existing extmarks before rendering (06ac8bd)
5.0.1 (2022-12-20)
Bug Fixes
- add neovim libs to rtp for treesitter parsers etc (df6c986)
- always set Config.me regardless of reset rtp (992c679)
- build: use the shell to execute build commands (1371a14)
- cache: if mod is loaded already in the loader, then return that (ffabe91)
- checker should not error on non-existing dirs (ddf36d7)
- deepcopy lazyspec before processing (6e32759)
- default logs are now since 3 days ago to be in line with the docs (e9d3a73)
- dont autoload cached modules when module=false (316503f)
- move re-sourcing check to the top (6404d42)
- only run updated checker for installed plugins. Fixes #16 (ae644a6)
- show error when merging, but continue (f78d8bf)
- use jobstart instead of system to open urls (1754056)
5.0.0 (2022-12-20)
⚠ BREAKING CHANGES
- removed the LazyUpdate etc commands. sub-commands only from now on
Features
- added
:Lazy load foobar.nvim
to load a plugin (2dd6230) - added
module=false
to skip auto-loading of plugins onrequire
(1efa710) - added completion for all lazy commands (5ed9855)
- added support for Windows (bb1c2f4)
- removed the LazyUpdate etc commands. sub-commands only from now on (d4aee27)
- utility method to normalize a path (198963f)
Bug Fixes
- cache: do a fast check to see if a cached modpath is still valid. find it again otherwise (32f2b71)
- cache: normalize paths (62c1542)
- check for installed plugins with plain find (a189883)
- ui: focus Lazy window when auto-installing plugins in
VimEnter
(1fe43f3) - util: fixed double slashes (af87108)
Performance Improvements
- cache: cache loadfile and no find modpaths without package.loaders (faac2dd)
- lazy-load the commands available on the
lazy
module (b89e6bf)
4.2.0 (2022-12-18)
Features
- check if ffi is available and error if not (c0d3617)
- expose all commands on main lazy module (f25f942)
- loader: added error handler to sourcing of runtime files (eeb06a5)
- never source
packer_compiled.lua
(a46c0c0) - ui: added dir to props (9736671)
- ui: added help for <CR> on a plugin (c87673c)
- ui: made it look a little less like a Mason rip-off :) (9026a0e)
- ui: make home bold (0b4a04d)
Bug Fixes
- loader: runtime files are now sourced alphabetically per directory (5c0c381)
- set correct dir for lazy plugin (23984dd)
- ui: always clear complete tasks with the same name when starting a new task (85e3752)
- ui: show first tag for each help doc in details (6f728e6)
- ui: split window before opening a file from the Lazy ui, otherwise it'll get closed immediately (f18efa1)
4.1.0 (2022-12-16)
Features
- docs: added toc generator (f4720ee)
- lua code generator for the README.md (80a7839)
- README.md files are now automagically added to help. By default only when no doc/ exists (70ca110)
- utility methods to read/write files (27178b5)
Bug Fixes
Plugin.init
implies lazy-loading (ccdf65b)- add lazy.nvim with dev=false to prevent using the dev version for myself (b8fa6f9)
- bootstrap code now uses git url instead of https for beta testers + fixed rtp path (17d1653)
- use initial rtp for rtp plugin after files and use loaded plugins for their after files (7134417)
Performance Improvements
- prevent string.match to find plugin name from a modpath (f23a6ee)
- when reloading plugin specs always use cache (060cf23)
4.0.0 (2022-12-14)
⚠ BREAKING CHANGES
- lazy now handles the full startup sequence (
vim.go.loadplugins=false
)
Features
- added checks for Neovim version (72f64ce)
- getter for plugins (8de617c)
- lazy now handles the full startup sequence (
vim.go.loadplugins=false
) (ec2f432) - ui: show
updates available
diagnostic when an update is available (ad0b4ca)
Bug Fixes
3.0.0 (2022-12-13)
⚠ BREAKING CHANGES
- local plugins now always need to set
Plugin.dir
Features
- added health checks (dc2dcd2)
- api: return runner from manage operations (71e4b92)
- better way of dealing with lazy loaded completions (thanks to @lewis6991) (f24c055)
- checker: only report an update once and do a fast update check after each manage operation (2a7466a)
- local plugins now always need to set
Plugin.dir
(0625493) - ui: added statusline component to show pending updates (315be83)
- ui: added update checker (65cd28e)
Bug Fixes
- dev plugins with dev=false should be configured as remote (43b303b)
- replace ~ by HOME for Plugin.dir (12ded3f)
- ui: open with noautocmd=true and close with vim.schedule to prevent weird errors by other plugins (08d081f)
Performance Improvements
- added profiling for sourcing of runtime files (be509c0)
2.2.0 (2022-12-05)
Features
- cleanup keys/cmd handlers when loading a plugin (3f517ab)
- dont run setup again when a user re-sources their config & show a warning (7b945ee)
- ui: added debug interface to inspect active handlers and the module cache (6d68cc6)
- ui: show any helps files and added hover handler (13b5688)
- util.foreach with sorted keys (d36ad41)
Bug Fixes
Performance Improvements
- disable cache by default on VimEnter or on BufReadPre (b2727d9)
2.1.0 (2022-12-03)
Features
Plugin.local
to use a local project instead of fetching remote (0ba218a)Plugin.specs()
can now reload and keeps existing state (330dbe7)- added debug option (e4cf8b1)
- automatically detect config module changes in or oustside Neovim and reload (7b272b6)
- for
event=
, fire any new autocmds created by loading the plugins for the event (ebf15fc) - moved Config.package.reset -> Config.performance.reset_packpath (fe6b0b0)
- plugins no longer need to be installed under site/pack/*/opt (dbe2d09)
- symlinking local plugins is no longer needed (37c7366)
- temporary colorscheme to use during install during startup (7ec65e4)
Bug Fixes
- add plugin after dir to rtp for start plugins so it gets picked up during startup (93d3072)
- fs: dont set cloned=true if symlink already existed (3e143c6)
- git: fixed branch detection, get target commit from origin and always checkout a tag or commit so we dont need to use git merge (ae379a6)
- respect --noplugin (59fb050)
- return nil when
fs_stat
fails and return nil in module loader (afcba52) - source plugin files for plugins that want to run a build script during startup (3ed24ba)
- temporary colorscheme should only load when installing (ec858db)
Performance Improvements
- added option to reset rtp to just your config and the neovim runtime (ccc506d)
- caching strategy is now configurable (6fe425c)
2.0.0 (2022-12-02)
⚠ BREAKING CHANGES
- plugins are now automatically loaded on require.
module=
no longer needed! - all plugins are now opt. Plugin.opt => Plugin.lazy
- renamed Plugin.run => Plugin.build
Features
- all plugins are now opt. Plugin.opt => Plugin.lazy (5134e79)
- lazy setup with either a plugins module, or a plugins spec (af8b8e1)
- plugins are now automatically loaded on require.
module=
no longer needed! (575421b) - renamed Plugin.run => Plugin.build (042aaa4)
- show module source if loading source is under config (041a716)
- ui: better detection of plugins/config files that loaded a plugin (723274e)
- ui: improvements to profiling and rendering of loaded reasons (714bc0a)
Bug Fixes
- always overwrite any plugin spec for lazy.nvim to manage itself (d46bc77)
- prepend package path to packpath if package.reset=false (5eb2622)
- ui: use Plugin.find to detect loading reason (98ccf55)
Performance Improvements
- module now caches all lua modules used till VimEnter (0b6dec4)
- reset packpath to only include the lazy package. Improved my startup time by 2ms (4653119)
1.2.0 (2022-11-30)
Features
- added config option for process timeout (bd2d642)
- allow config of default for version field (fb96183)
- config for ui border (0cff878)
- config option for runner concurrency (b2339ad)
- config option for ui throttle (a197f75)
- config option install_missing=true (9be3d3d)
Bug Fixes
- show proper installed/clean state for local plugins (1e2f527)
- update state after running operation so the ui reflects any changes from cleaning (0369278)
Performance Improvements
- merge module/cache and use ffi to pack cache data (e1c08d6)
- removed partial spec caching. not worth the tiny performance boost (4438faf)
- run cache autosave after loading (3ec5a2c)
1.1.0 (2022-11-29)
Features
- dependencies are opt=true by default if they only appear as a dep (908b9ad)
- lazy handler implies opt=true (b796abc)
Bug Fixes
- make sure Plugin.opt is always a boolean (ca78dd7)
Performance Improvements
- dont loop over handlers to determine if a plugin should be opt=true (812bb3c)
1.0.0 (2022-11-29)
⚠ BREAKING CHANGES
- added icons
Features
- a gazilion rendering improvements (a11fc5a)
- added "Lazy check" to check for updates without updating (63cf2a5)
- added bootstrap code (ceeeda3)
- added full semver and range parsing (f54c24a)
- added icons (c046b1f)
- added keybindings to update/install/clean/restore/... single plugins (08b7e42)
- added lockfile support (4384d0e)
- added profiler view (20ff5fa)
- added section with logs containing breaking changes (d7dbe1a)
- added support for Plugin.lock (wont update) (0774f1b)
- added vimdoc/release-please/tests (e9a1e9f)
- default log is last 10 entries (54a82ad)
- detect headless and set interactive=false (bad1b1f)
- error handler for loading modules, config and init, with custom error formatting (7933ae1)
- git log (3218c2d)
- git log config (3e4f846)
- initial commit (e73626a)
- keep track what loaded a plugin (4df73f1)
- lazy caching now works with functions that have upvalues (fe33e4e)
- lazy commands (ae0b871)
- lazy view (a87982f)
- load plugin on cmd complete and make completion just work (2080694)
- lots of improvements to pipeline runner and converted all tasks to new system (fb84c08)
- new git module to work with branches, tags & versions (2abdc68)
- new render features like profile etc (48199f8)
- new task pipeline runner (ab1b512)
- plugin manager tasks (a612e6f)
- return whether a module was loaded from cache or from file (dirty) (38e2711)
- task docs and options for logs (fe6d0b1)
- text: center text (88869e6)
- text: multiline support and pattern highlights (815bb2c)
- url open handlers (6f835ab)
- util.info (e59dc37)
- view: modes and help (0db98bf)
Bug Fixes
- always recaclulate hash when loading a module (cfc3933)
- check for lazy before setting loading time (30bdc9b)
- clean (7f4743a)
- correctly handle changes from local to remote plugin (4de10f9)
- decompilation fixes (57d024e)
- dont return init.lua in lsmod (413dd5b)
- first line of file (c749404)
- get current branch if remote head not available (for local repos only) (d486bc5)
- highlights (35b1f98)
- log errors in runner (7303017)
- make sure we have ran on_exit before returning is_done=true (782d287)
- manage opts show => interactive (93a3a6c)
- only save state when dirty (32ca1c4)
- recalculate loaders on config file change (870d892)
- reset diagnostics when lazy view buffer closes (04dea38)
- show view with schedule to prevent Neovim crash when no plugins are installed (5d84967)
- support adding top-level lua directories (7288962)
- support local files as plugin spec (0233460)
- tasks: always set updated on checkout. Change default logging to 3 days (5bcdddc)
- view: handler details (bbad0cb)
- when just cloned, never commit lock (32fa5f8)
Performance Improvements
- cache handler groups (42c2fb4)
- copy reason without deepcopy (72d51ce)
- fast return for Util.ls when file found (073b5e3)
- further optims to loading and caching specs. dont cache specs with plugin that have init or in start with config (8790070)
- split caching in state, cache and module (54d5ff1)
- tons of performance improvements. Lazy should now load in about 1.5ms for 97 plugins (2507fd5)
- way better compilation and caching (a543134)