alda-lang / alda

A music programming language for musicians. :notes:
https://alda.io
Eclipse Public License 2.0
5.59k stars 286 forks source link

`release-2.0.5` did not get marked as `latest release` #394

Closed chenrui333 closed 3 years ago

chenrui333 commented 3 years ago

👋 it looks like the latest release still points to 1.5.0, can you mark the latest release-2.0.5 as latest release? Thanks!

relates to Homebrew/homebrew-core#83800

daveyarwood commented 3 years ago

Hi @chenrui333 :wave:

This is an interesting problem with some history. Prior to Alda 1.5.0, the Alda client had an update mechanism that fetched the latest release from https://api.github.com/repos/alda-lang/alda/releases/latest and downloaded the first asset file called alda (or alda.exe on Windows). There was no alda-player process. Also, there was only one alda executable in a release, whereas now there are many, one for each OS and arch that we support.

When I released Alda 2.x, I wanted to make sure that Alda 1.x users could update to Alda 2 by running alda update. I realized that it wasn't possible to continue to do releases via GitHub, because any time there is a new release marked "latest", Alda clients < 1.5.0 would attempt to download an arbitrary alda executable that might be for the wrong OS/arch, and would not download alda-player at all. At that point, I decided to host releases elsewhere, and provide an API that Alda clients can use to check for updates and download all of the correct files for the release. That way, if I wanted to make more changes in the future like adding additional executables beyond alda and alda-player, I could do that and users wouldn't need to do anything special to update besides running alda update. I made some notes about the new release and update strategy, if you're curious.