Hi, Xinglu Chen writes: >> There are about 50-60 packages like this. >> >> I'm not sure how much effort should be spent including them, and for >> some of them I'm not sure what our ideal behavior *is*. Even if we >> could reliably detect them, should "alpha" or "dev" packages be returned >> by the updater? > > I don’t think we usually include alpha or rc releases, so updater > probably shouldn’t return them either. Not sure how we would try to > detect alpha/beta/rc releases, though, besides running something like > > (string-match? "(alpha|beta|rc|dev)" TAG) > > On each tag. That heuristic is pretty good. (It might miss a few, but I'd rather accidentally include some alpha/beta/rc releases than risk excluding real ones.) We could then safely sort tags with just the prefix removed -- this takes care of "1.1f" coming after "1.1", and so on. Actually, it looks like there's only a few packages with a suffix; instead, we can probably just only use a suffix if they provide 'tag-suffix. This is all of them (and the "dev" ones probably shouldn't be suffixes, just part of the version): (commit (string-append "v" version "-stable")))) (commit (string-append version "-stable")))) (commit (string-append version "-Leia")))) (commit (string-append "haddock-" version "-release")))) (commit (string-append "v" version "-8.13")))) (commit (string-append "v" version "-oss")))) (commit (string-append "v" version "-stable")))) (commit (string-append "ddskk-" version "_" code-name)))) (commit (string-append version "-freebsdport")))) (commit (string-append version "-dev")))) (commit (string-append version "-release-20210531143054")))) (commit (string-append version "-release-20210412001032")))) (commit (string-append "v" version "-debian")))) (commit (string-append version "dev")))) (commit (string-append version "_Linux")) (commit (string-append version "R")))) (commit (string-append "jdk-" version "-ga")))) (commit (string-append "jdk-" version "-ga")))) (commit (string-append "jdk-" version "-ga")))) (commit (string-append "jdk-" version "-ga")))) (commit (string-append version "-opt")))) (commit (string-append "1.1-" version "-RELEASE")))) Additionally, these are all the weird version strings I could find that are actually used as the commit: