Skip to content
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

Add support for plain text release notes view #2315

Merged
merged 22 commits into from
Feb 12, 2023
Merged

Conversation

zorgiepoo
Copy link
Member

@zorgiepoo zorgiepoo commented Feb 6, 2023

This adds a NSTextView based release notes view implementation to the update alert.

Which release notes view to use is now determined after downloading the release notes data (in the case of external release notes) and this is based on MIME type and file extension.

This allows Catalyst apps to show release notes, even if they aren't HTML.

This also adds a new sparkle:format attribute for the <description> element for indicating whether to use html or plain-text. This allows embedding plain-text release notes.

generate_appcast is extended to support plain-text release notes looking for *.txt files and supporting a --embed-release-notes flag to embed release notes for newly generated updates.

In the future, I'd hope for markdown support to be added at some point (I'll create a separate issue for this).

Fixes #1482, #2039

Misc Checklist

  • My change requires a documentation update on Sparkle's website repository
  • My change requires changes to generate_appcast, generate_keys, or sign_update

Only bug fixes to regressions or security fixes are being backported to the 1.x (master) branch now. If you believe your change is significant enough to backport, please also create a separate pull request against the master branch.

Testing

I tested and verified my change by using one or multiple of these methods:

  • Sparkle Test App
  • Unit Tests
  • My own app
  • Other (please specify)

Tested external and embedded release notes that are plain-text or use html.

macOS version tested: 13.0.1 (22A400)

@zorgiepoo zorgiepoo added this to the 2.4 milestone Feb 6, 2023
@zorgiepoo zorgiepoo merged commit ffc203b into 2.x Feb 12, 2023
@zorgiepoo zorgiepoo deleted the plain-releasenotes-view branch February 12, 2023 03:34
danielpunkass added a commit to danielpunkass/Sparkle that referenced this pull request Feb 27, 2023
…s on my branch.

* commit '362f50a8a19cfb1a18202c5912ce4ce6f94d0190': (60 commits)
  Exit with an error if generate_appcast cannot sign an update (sparkle-project#2322)
  Update SUVersionDisplay to allow including build versions and update information (sparkle-project#2321)
  Update Package management files for version 2.3.2
  Update CHANGELOG for 2.3.2
  Remove unnecessary min macro checks (sparkle-project#2318)
  Add support for plain text release notes view (sparkle-project#2315)
  Don't construct appcast item if enclosure URL is invalid (sparkle-project#2317)
  Finnish localization grammar fixes (sparkle-project#2311)
  Reduce code size and make codebase more consistent (sparkle-project#2305)
  Add delegate method to hide showing version history option (sparkle-project#2303)
  Update Package management files for version 2.3.1
  Update CHANGELOG for 2.3.1
  Add deprecations/warnings for incorrect feed & update checking usage (sparkle-project#2295)
  Log the URL that failed to download correctly (sparkle-project#2296)
  Remove duplicate Sparkle localization strings in Updater app (sparkle-project#2288)
  Ask permission for automatically downloading and installing new updates (sparkle-project#2285)
  Upgrade CI to default to using Xcode 14.1 (sparkle-project#2287)
  Enable deployment post processing for Release configurations (sparkle-project#2286)
  Fix update permission alert title text overlapping with question text (sparkle-project#2284)
  Update Czech translation (sparkle-project#2275)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Catalyst Release Notes Support
1 participant