mirror of https://github.com/folke/lazy.nvim.git
26 KiB
26 KiB
Changelog
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)