junegunn / vim-plug

:hibiscus: Minimalist Vim Plugin Manager
https://junegunn.github.io/vim-plug/
MIT License
34.23k stars 1.93k forks source link

Implement Efficient Lockfile for Better Version Control and Faster Startup #1293

Open tmc opened 4 months ago

tmc commented 4 months ago

vim-plug would benefit from a lockfile system for the following reasons:

  1. Reproducible environments across machines
  2. Prevention of unexpected plugin updates
  3. Easier rollbacks to known-good states

The current snapshot feature, while useful, has limitations:

A lockfile approach would:

This feature would enhance vim-plug's utility for users prioritizing stability, reproducibility, and performance in their Vim/Neovim setups.

tmc commented 4 months ago

note: I know https://github.com/junegunn/vim-plug/issues/954 was opened previously, this is effectively restarting that convo. The threat of a supply chain attack on vim plugins isn't impossible and I think we can make this project more secure pretty easily.

It would also be quite helpful to register programs to call on plugin updates when they do occur, so users can have an opportunity to perform additional security validation of new code arriving.