-
Notifications
You must be signed in to change notification settings - Fork 117
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Consider dropping melpa stable #150
Comments
Thank you for your comments! I also understand that MELPA maintainers don't use MELPA Stable, nor do they recommend it. I find their stance a bit ironic as packages which have dependencies mention a released version for the dependency. However, for people who don't want development versions, using MELPA is a problem. The constant changes and updates and potential breakages that occur make using it unfortunately frustrating (that said, Emacs only stopped working for me after updates a few handful of times when I was following MELPA only - so the breakage frustration thing is a low-ish risk). It's also difficult to tell which actual version you have. The package frequently has a version at the top, but the installed version is a date stamp. The base16 package has a version of 1.1 in one file and 2.1 in a different file but the most current tagged version is 2.3. Not trying to stir a pot, just highlighting how it can be confusing to understand what version is installed especially when following a development snapshot (ie MELPA release). So, no one really wins here. Not everyone is willing to follow packages in development mode, but not doing so means they are missing features and fixes because it might be years between releases. When someone using Rational Emacs adds an issue about a broken package, I do try to help figure things out for them. Assuming the fix is on the master branch of some package, I suggest they reach out to the maintainer of the package in question and request a release. I also show them how to get the MELPA version of the package in case they don't feel comfortable asking for a release or if the maintainer prefers not to make one at that time or whatever. For the person who came to IRC, they submitted #148 here. So, I tried to find the missing theme in the project. Unfortunately, I missed seeing it (I didn't look in the build directory, my bad). At a loss of how to help, I suggested they contact you for assistance. I think I need to add some "Troubleshooting" documentation to the project. I'll start working on that asap. Would you mind releasing a new version of base16-themes (assuming you haven't already)? On the subject of using |
I appreciate your opinion on this - it does seem weird that the Emacs community seems to focus on development versions of packages instead of encouraging developers to release stable versions. Most of my packages are themes, but you've convinced me to make sure I'm tagging versions when possible.
Not a problem - thankfully I have my client set up to ping me whenever someone mentions
Yep, I've already released a new version of base16-themes (2.3 was tagged earlier today). However, as you mentioned, I accidentally left 1.1 in the primary I'm not sure the best way to phrase it, but it seems like "There's a feature a package has which seems to be missing when installed" would be a good troubleshooting entry for melpa-stable vs melpa-development.
I understand the rationale - it makes sense. One of the things someone mentioned in that issue was that straight.el would probably only make sense if it provided enough additional features over package.el. It probably doesn't belong in this issue, but I was pointing out that you can pin packages to old versions with straight.el, while package.el is limited to only the versions available in the repos (and each repo only has 1 version of each package available). Doom-emacs uses this to great effect - it means if you clone a specific version of doom, you know all the packages should work together. Though, doom also has tooling to update the pinned version. This makes me curious for my own config if you can pin to tags using straight... I'll have to check that out. EDIT: there's a rant I've seen on Reddit about this, but I can't find it at the moment - it was essentially saying that 'stable' isn't actually 'stable' because it's still a rolling release and package maintainers could still release incompatible versions at any time and you can't go back to previous versions. Anyway, thanks for the background information! I think you've made the case that leaving melpa-stable in makes sense and I'll try to remember to cut an actual release of my packages once in a while. |
I've seen this rant I think (https://www.reddit.com/r/emacs/comments/etikbz/speaking_as_a_package_maintainer_please_do_not/). One of the things that rant posited was the lack of testing between packages and that any single package would not/could not force dependent packages to meet quality requirements when moving to the next version. While there is truth to this statement, it misses the point that a package author is really only "responsible" for their own package. If they need a newer unreleased version of a package, they can ask that other package maintainer for a release or they can continue to use the released version. The Java community does this already. The big difference, though, the Java community has maven, which hosts multiple versions. The problem with Emacs is there can really only be one. So, if you used I believe this particular issue highlights the points made in the rant you mention, but also highlights how the community as a whole could be a bit better. The author of Anyway... I'll get off my soap box now. :-) Thanks for reaching out, I do appreciate it very much. I tried to leave a helpful comment on tinted-theming/base16-emacs#79 which is a strategy I use successfully, maybe it would work in the context of that issue as well. I'm going to close this issue, but feel free to come back and leave a comment here if you wish. |
I had someone show up in the Emacs IRC channel on Libera today asking why some themes were missing from the base16-emacs package they installed. It took a while to figure out they were using rational emacs and that rational emacs defaults to using melpa stable.
My proposal is to drop melpa stable from the default list of repos. Even the MELPA maintainers don't use it (see here where they say "Note that the MELPA maintainers do not use MELPA Stable themselves, and do not particularly recommend its use.").
I do understand why this was done - logically, it makes more sense to always depend on "released" versions of packages and because those packages change less frequently, you have to update code using them less. Unfortunately, I don't think most Emacs package maintainers tag releases (I tend to do it only when people ask or when I have a clear changelog item).
On a related note, but not super relevant to this conversation - this is one of the advantages straight.el provides. You can pin packages to a specific version, so you can avoid breaking your setup until you're ready to try upgrading some of your packages.
The text was updated successfully, but these errors were encountered: