helix
helix copied to clipboard
Bump MSRV to 1.61 and document MSRV policy
The MSRV was previously bumpbed in to 1.59 in #3896. However the newest gitoxide version (which contains some nice API additions usable in #3890) requires 1.60, because the bstr crate bumped its MSRV. Before #3896 the MSRV was set to 1.57 to support void linux and homebrew. Both now ship rust 1.63. I checked repology and all distributions that ship the newest helix version also already ship at least rust 1.61.
However setting the MSRV to some arbitrary value again seemed bad to me and so I looked into MSRV in more detail. The (mainstream) package repository which updates rustc last are usually ubuntu, debian and enterprise distributions like REHL. Debian and REHL ship ancient rustc versions anyway that are hard to support (and already not supported by helix). Ubuntu bumps rustc whenever a new firefox version raises their MSRV.
Therefore I propose tying the MSRV of helix to that of firefox. Most package managers want to ship the newest firefox releases to attain the latest security fixes and treat updating any dependencies of that as a high priority. For example ubuntu is currently in the process of updating to rust 1.61 for firefox 105 which released today. Firefox in turn trys to be somewhat conservative with its MSRV to remain compatible with many distributions. Therefore firefox MSRV currently represents a lowest common denomiator among most distributions.
I apologize for the duplicate PR regarding MSRV. However I believe that with a formal policy regarding MSRV in place such a situation can be avoided in the future. This should make maintenance and development easier as its always clear what the current MSRV is and when it will be change.
Ubuntu still seems to carry 1.59: https://packages.ubuntu.com/search?keywords=rustc
With the bump to 1.61, https://github.com/helix-editor/helix/blob/4c9f144dace484ca99cc84053493ed7b5f6946ac/helix-term/src/ui/picker.rs#L368-L370 should now be removed together with the crate import
I linked to the current development thread from ubunt in the original description. They usually take a few days to bump rustc and firefox but they have it as a priority high issue right now they are working on it.
Firefox 105 (which requires 1.61) only released today so its quite new still. If that is preferred I could ping the PR again when Ubuntu updates in a few days (and it would be merged then). Although helix is currently not packaged for Ubuntu and developers usually all use rustup anyway so it doesn't matter too much
With the bump to 1.61,
https://github.com/helix-editor/helix/blob/4c9f144dace484ca99cc84053493ed7b5f6946ac/helix-term/src/ui/picker.rs#L368-L370 should now be removed together with the crate import
I updated the PR accordinly
@pascalkuthe thanks for putting in the work to identify a reasonable policy! These kinds of efforts often go unappreciated, but are very important.
It looks like Ubuntu updated yesterday.