sparkle-project / Sparkle

A software update framework for macOS
https://sparkle-project.org
Other
7.49k stars 1.05k forks source link

Automatically add static release notes in generate_appcast #2661

Open zorgiepoo opened 2 weeks ago

zorgiepoo commented 2 weeks ago

Discussed in https://github.com/sparkle-project/Sparkle/discussions/2660

Originally posted by **vojtabohm** November 11, 2024 Hey, I am curious on how to implement release notes so it's as pleasant as possible. I started publishing the release notes at https://steerapp.ai/changelog and I want to embed those on every update. I don't want to tailor custom html files etc. based on a version. Just always load the same change log (which I will update on my website). However I cannot do it in the `generate_appcast` script. It allows `--release-notes-url-prefix` where I put the URL above but it doesn't add it if you don't have a custom html file for the update as well. Which I do not want. I want each update to have the same releaseNotes link. Right now I manually add it in the xml for each version which is a bit tedious and also, generate_appcast will delete it if I run it again (when creating a new update) which is frustrating. Any help is appreciated. Also: fullReleaseNotes is not what is show to the user when the 'a new update is available' window is shown.
zorgiepoo commented 2 weeks ago

This sounds like a reasonable change to generate_appcast to me.

I don't think generate_appcast should update the release notes URL of existing items which already have one present (this was done when release-notes-url-prefix was added to update the URLs of existing items, but I think this was the wrong tradeoff). It makes sense to have an option to use a static URL as well for newly inserted updates.

As of now if you use generate_appcast I can't think of better workarounds than what you're already discovered, probably. Potentially you could have separate release note files but they could actually be symlinks or copies to the one file you care about on the server or something.

vojtabohm commented 2 weeks ago

Yeah, I ended up creating a simple python file to add them to all updates.