lervag / vimtex

VimTeX: A modern Vim and neovim filetype plugin for LaTeX files.
MIT License
5.45k stars 388 forks source link

Comment about minimum version of vim/neovim #2934

Closed Rmano closed 5 months ago

Rmano commented 5 months ago

Hi @lervag,

before everything: thanks for continuing to improve vimtex! It's a staple of my editing configuration.

In the last release, v2.15, you said that you would raise the minimum version of Vim to 9.1. Although I understand the reasons (it's important to simplify the management of the software, I know), I am opening this issue as a discussion about the possibility of delaying it to this summer.

A lot of people going with Ubuntu LTS will probably switch to the new 24.04 (which sports Vim 9.1) when the 24.04.1 version is out (this summer), and for now, they (we!) are stuck to Vim 8.2... I know that it's just a matter of saying:

 Plug 'lervag/vimtex', { 'tag': 'v2.15' }

in the .vimrc (or equivalent --- maybe it would be useful to add this info to the main page), but that will push many users out of the testing loop. Unfortunately, the workplace policy forces (well... strongly suggests) the usage of the LTS version, so this is a bit of catch-22...

Thanks for your time, and feel free to close this issue (which is really a query, not an issue at all) whenever you want.

lervag commented 5 months ago

Hi @Rmano!

before everything: thanks for continuing to improve vimtex! It's a staple of my editing configuration.

Glad to hear that! As long as it's fun to work on it, I'll keep going - and it is still fun!

In the last release, v2.15, you said that you would raise the minimum version of Vim to 9.1. Although I understand the reasons (it's important to simplify the management of the software, I know), I am opening this issue as a discussion about the possibility of delaying it to this summer.

I don't mind being challenged ;)

A lot of people going with Ubuntu LTS will probably switch to the new 24.04 (which sports Vim 9.1) when the 24.04.1 version is out (this summer), and for now, they (we!) are stuck to Vim 8.2...

That's an interesting bit of information. For clarity, which version specifically do you have on Ubuntu 22.04?

Now, the question is whether there's a good reason to really care about that. I mean:

I know that it's just a matter of saying:

 Plug 'lervag/vimtex', { 'tag': 'v2.15' }

Precisely: It is easy to pin to the tag and then unpin when you have a more recent Vim.

maybe it would be useful to add this info to the main page

Yes, definitely. I'll update the install instructions.

… but that will push many users out of the testing loop

I think this is also a valid argument.

Thanks for your time, and feel free to close this issue (which is really a query, not an issue at all) whenever you want.

I'll not close it immediately. If other users want to chime in and have an opinion, that may help me decide. I'll keep the pin on Neovim 0.9.5, but I'll think a little bit more about the Vim version. I might relax to Vim 8.2.SOMETHING until the next release.

Konfekt commented 5 months ago

If using Linux for work, then likely in an LTS distribution sporting an older version of Vim, and Ubutun's Vim version is as recent as it gets. To avoid users who carelessly update this plug-in either having to hard reset this plug-in or source compiling a recent Vim version (which than might lack Python support, say), just develop the Vim >= 9.1 branch in a dev branch, switching over after LTSs have adapted.

Rmano commented 5 months ago

This is the Vim version on an up-to-date Ubuntu 22.04 LTS:

VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Mar 14 2024 09:05:11)
Included patches: 1-579, 1969, 580-1848, 4975, 5016, 5023, 5072, 2068, 1849-1854, 1857, 1855-1857, 1331, 1858, 1858-1859, 1873, 1860-1969, 1992, 1970-1992, 2010, 1993-2068, 2106, 2069-2106, 2108, 2107-2109, 2109-3995, 4563, 4646, 4774, 4895, 4899, 4901, 4919, 213, 1840, 1846-1847, 2110-2112, 2121
Modified by team+vim@tracker.debian.org
Compiled by team+vim@tracker.debian.org
Huge version with GTK3 GUI.  Features included (+) or not (-):
+acl               +file_in_path      +mouse_urxvt       -tag_any_white
+arabic            +find_in_path      +mouse_xterm       +tcl
+autocmd           +float             +multi_byte        +termguicolors
+autochdir         +folding           +multi_lang        +terminal
-autoservername    -footer            -mzscheme          +terminfo
+balloon_eval      +fork()            +netbeans_intg     +termresponse
+balloon_eval_term +gettext           +num64             +textobjects
+browse            -hangul_input      +packages          +textprop
++builtin_terms    +iconv             +path_extra        +timers
+byte_offset       +insert_expand     +perl              +title
+channel           +ipv6              +persistent_undo   +toolbar
+cindent           +job               +popupwin          +user_commands
+clientserver      +jumplist          +postscript        +vartabs
+clipboard         +keymap            +printer           +vertsplit
+cmdline_compl     +lambda            +profile           +vim9script
+cmdline_hist      +langmap           -python            +viminfo
+cmdline_info      +libcall           +python3           +virtualedit
+comments          +linebreak         +quickfix          +visual
+conceal           +lispindent        +reltime           +visualextra
+cryptv            +listcmds          +rightleft         +vreplace
+cscope            +localmap          +ruby              +wildignore
+cursorbind        +lua               +scrollbind        +wildmenu
+cursorshape       +menu              +signs             +windows
+dialog_con_gui    +mksession         +smartindent       +writebackup
+diff              +modify_fname      +sodium            +X11
+digraphs          +mouse             +sound             -xfontset
+dnd               +mouseshape        +spell             +xim
-ebcdic            +mouse_dec         +startuptime       +xpm
+emacs_tags        +mouse_gpm         +statusline        +xsmp_interact
+eval              -mouse_jsbterm     -sun_workshop      +xterm_clipboard
+ex_extra          +mouse_netterm     +syntax            -xterm_save
+extra_search      +mouse_sgr         +tag_binary        
-farsi             -mouse_sysmouse    -tag_old_static

The next LTS, 24.04, will have 9.1 (and probably, barring big security problem not backported, will stay there at least 2 years). The policy to switch to a new LTS is to wait until the next .1 version is out, that is, 24.04.1. That typically happens in summer.

lervag commented 5 months ago

To avoid users who carelessly update this plug-in either having to hard reset this plug-in or source compiling a recent Vim version (which than might lack Python support, say), just develop the Vim >= 9.1 branch in a dev branch, switching over after LTSs have adapted.

@Konfekt Nah, I don't want to use a long-lived branch for development. I'd rather just relax the requirement as suggested by @Rmano.

So far I haven't really started updating things that require the new stuff, so it's easy to just revert the requirements.

Included patches: 1-579, 1969, 580-1848, 4975, 5016, 5023, 5072, 2068, 1849-1854, 1857, 1855-1857, 1331, 1858, 1858-1859, 1873, 1860-1969, 1992, 1970-1992, 2010, 1993-2068, 2106, 2069-2106, 2108, 2107-2109, 2109-3995, 4563, 4646, 4774, 4895, 4899, 4901, 4919, 213, 1840, 1846-1847, 2110-2112, 2121

I mean, this is just crazy messy! Why don't the debian devs just include all patches until some particular point?

@Rmano, if I understand the above correctly, it seems that we should set the requirement to Vim 8.2.3995. I.e., it seems every patch until 3995 is included.

Rmano commented 5 months ago

@Rmano, if I understand the above correctly, it seems that we should set the requirement to Vim 8.2.3995. I.e., it seems every patch until 3995 is included.

Yes, it seems like that... I agree that the patch-picking thing (even out-of-order) is quite crazy.

lervag commented 5 months ago

Ok, I've relaxed the version requirements. I'll edit the release notes accordingly.

lervag commented 5 months ago

Did I understand correctly that Ubuntu 24 LTS is now properly released?

https://ubuntu.com/desktop

Rmano commented 5 months ago

Yes, it has been released, but people with 22.04 LTS will be offered an upgrade only when the 24.04.1 version is out. (At least, if they didn't change policy). So basically, most "stable" setups will only upgrade when the 24.04.1 is out...

lervag commented 5 months ago

Ok, thanks for the info. I would be happy if you could give me a hint when the 24.04.1 version is out - I don't really follow the Ubuntu repos.

Rmano commented 5 months ago

The release note (taken from https://lwn.net/Articles/971175/) says:

Users of Ubuntu 23.10 will soon be offered an automatic upgrade to 24.04.
Users of 22.04 LTS will be offered the automatic upgrade when 24.04.1
LTS is released, which is scheduled for the 15th of August.

I did remember correctly ;-)

jabirali commented 4 months ago

In case it might be helpful for development, I have a box on Ubuntu 24.04 LTS, and it has the following version of Vim 9:

VIM - Vi IMproved 9.1 (2024 Jan 02, compiled Mar 31 2024 00:15:53)
Included patches: 1-16
Modified by team+vim@tracker.debian.org
Compiled by team+vim@tracker.debian.org
Huge version without GUI.  Features included (+) or not (-):
+acl               +file_in_path      +mouse_urxvt       -tag_any_white
+arabic            +find_in_path      +mouse_xterm       -tcl
+autocmd           +float             +multi_byte        +termguicolors
+autochdir         +folding           +multi_lang        +terminal
-autoservername    -footer            -mzscheme          +terminfo
-balloon_eval      +fork()            +netbeans_intg     +termresponse
+balloon_eval_term +gettext           +num64             +textobjects
-browse            -hangul_input      +packages          +textprop
++builtin_terms    +iconv             +path_extra        +timers
+byte_offset       +insert_expand     -perl              +title
+channel           +ipv6              +persistent_undo   -toolbar
+cindent           +job               +popupwin          +user_commands
-clientserver      +jumplist          +postscript        +vartabs
-clipboard         +keymap            +printer           +vertsplit
+cmdline_compl     +lambda            +profile           +vim9script
+cmdline_hist      +langmap           -python            +viminfo
+cmdline_info      +libcall           +python3           +virtualedit
+comments          +linebreak         +quickfix          +visual
+conceal           +lispindent        +reltime           +visualextra
+cryptv            +listcmds          +rightleft         +vreplace
+cscope            +localmap          -ruby              +wildignore
+cursorbind        -lua               +scrollbind        +wildmenu
+cursorshape       +menu              +signs             +windows
+dialog_con        +mksession         +smartindent       +writebackup
+diff              +modify_fname      +sodium            -X11
+digraphs          +mouse             -sound             +xattr
-dnd               -mouseshape        +spell             -xfontset
-ebcdic            +mouse_dec         +startuptime       -xim
+emacs_tags        +mouse_gpm         +statusline        -xpm
+eval              -mouse_jsbterm     -sun_workshop      -xsmp
+ex_extra          +mouse_netterm     +syntax            -xterm_clipboard
+extra_search      +mouse_sgr         +tag_binary        -xterm_save
-farsi             -mouse_sysmouse    -tag_old_static
   system vimrc file: "/etc/vim/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
       defaults file: "$VIMRUNTIME/defaults.vim"
  fall-back for $VIM: "/usr/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -Wdate-time -g -O2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -ffile-prefix-map=/build/vim-g8cgSd/vim-9.1.0016=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fdebug-prefix-map=/build/vim-g8cgSd/vim-9.1.0016=/usr/src/vim-2:9.1.0016-1ubuntu7 -DSYS_VIMRC_FILE=\"/etc/vim/vimrc\" -DSYS_GVIMRC_FILE=\"/etc/vim/gvimrc\" -D_REENTRANT -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
Linking: gcc -Wl,-Bsymbolic-functions -flto=auto -ffat-lto-objects -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o vim -lm -ltinfo -lselinux -lsodium -lacl -lattr -lgpm -L/usr/lib/python3.12/config-3.12-x86_64-linux-gnu -lpython3.12 -ldl -lm
lervag commented 4 months ago

In case it might be helpful for development, I have a box on Ubuntu 24.04 LTS, and it has the following version of Vim 9: …

Thanks, Ali, and hi; long time no see πŸ‘‹πŸ» πŸ˜„!

jabirali commented 4 months ago

hi; long time no see πŸ‘‹πŸ» πŸ˜„!

Indeed! Off-topic, but we should catch up a bit soon πŸ˜„