LMMS / lmms

Cross-platform music production software
https://lmms.io
GNU General Public License v2.0
8.14k stars 1.01k forks source link

Automatically check for latest lmms version #4131

Open zonkmachine opened 6 years ago

zonkmachine commented 6 years ago

Make LMMS look for the latest release and inform the user if the package is outdated and no longer supported. This would help the user in trouble shooting and possibly take some load off the issue tracker/support channels.

Add an icon like :warning: with a descriptive text to the About window if there is a later release than the one used.

tresf commented 6 years ago

This was discussed quite a bit on the mailing list in in 2014. I feel most of the points made are still valid.

http://linux-multimedia-studio-lmms.996328.n3.nabble.com/Roadmap-td6750.html

zonkmachine commented 6 years ago

Right. diizy suggested a check for updates button and that would work. Another way would be to just check if the date of the release if over something like one year old, and then suggest to (manually) look for updates.

Interacting with the net isn't my cup of tea but in my mind I would do something like:

tresf commented 6 years ago

@zonkmachine I think the first step is hosting the release information on a CDN that does not impact the performance or bandwidth of our main site. We have to be careful to make this CDN something that most countries would trust. We may be able to get away with SNI DNS through an Amazon S3 bucket. This URL must be permanent (or at least owned and redirectable) so that all future versions can check for outdated releases indefinitely. (e.g. updates.lmms.io). We would want to automate the updating of this bucket at release time.

In regards to frequency, one year is much too long to wait if we were to mimic other software. Once a day would be more standard, which would yield on average (guestimate based on annual downloads) 1,000,000 - 2,000,000 requests per-day. Amazon pricing would put this at about $0.80/day; about $300/year.

PhysSong commented 6 years ago

How about getting and parsing release information from GitHub API? Though this will work only for tagged releases, it will be handy.

tresf commented 6 years ago

@PhysSong Sure however I think we should point at a domain that we own -- even if a simple DNS redirector -- so that we have full control in the event GitHub becomes unavailable (or more likely, undesired).