Compare commits

..
2 Commits
Author SHA1 Message Date
superdooper86 255de797f8 Release v1.0.7 — fix markdown rendering in release notes
Add ReleaseNotesText view that pre-processes headers (##, ###) to bold
and converts - bullets to • before passing to AttributedString, which
only supports inline markdown. Replaces both Text(.init()) call sites.
2026-05-07 17:43:46 +02:00
github-actions[bot] 0046c53283 Release v1.0.6 2026-05-07 15:39:24 +00:00
5 changed files with 41 additions and 16 deletions
+32 -7
View File
@@ -977,6 +977,36 @@ struct UpdateSuccessBanner: View {
}
}
// MARK: - Markdown notes renderer
struct ReleaseNotesText: View {
let text: String
var font: Font = .system(size: 12)
var body: some View {
let processed = text
.split(separator: "\n", omittingEmptySubsequences: false)
.map { line -> String in
let s = String(line)
if s.hasPrefix("### ") { return "**\(s.dropFirst(4))**" }
if s.hasPrefix("## ") { return "**\(s.dropFirst(3))**" }
if s.hasPrefix("# ") { return "**\(s.dropFirst(2))**" }
if s.hasPrefix("- ") { return "\(s.dropFirst(2))" }
return s
}
.joined(separator: "\n")
if let attr = try? AttributedString(markdown: processed,
options: .init(interpretedSyntax: .inlineOnlyPreservingWhitespace)) {
Text(attr).font(font).foregroundColor(.secondary)
.fixedSize(horizontal: false, vertical: true)
} else {
Text(text).font(font).foregroundColor(.secondary)
.fixedSize(horizontal: false, vertical: true)
}
}
}
// MARK: - Update Banner
struct UpdateBanner: View {
@@ -992,10 +1022,7 @@ struct UpdateBanner: View {
Text("Update available — v\(updater.latestVersion)")
.font(.system(size: 12, weight: .semibold))
if !updater.releaseNotes.isEmpty {
Text(updater.releaseNotes)
.font(.system(size: 11))
.foregroundColor(.secondary)
.fixedSize(horizontal: false, vertical: true)
ReleaseNotesText(text: updater.releaseNotes, font: .system(size: 11))
}
}
Spacer()
@@ -1061,9 +1088,7 @@ struct UpdateSheet: View {
.foregroundColor(.blue)
}
if !updater.releaseNotes.isEmpty {
Text(updater.releaseNotes)
.font(.system(size: 12))
.foregroundColor(.secondary)
ReleaseNotesText(text: updater.releaseNotes)
}
}
Spacer()
+2 -2
View File
@@ -15,9 +15,9 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0.6</string>
<string>1.0.7</string>
<key>CFBundleVersion</key>
<string>25</string>
<string>26</string>
<key>LSMinimumSystemVersion</key>
<string>13.0</string>
<key>LSUIElement</key>
+1 -1
View File
@@ -8,7 +8,7 @@
[![macOS](https://img.shields.io/badge/macOS-13.0+-000000?style=flat&logo=apple&logoColor=white)](https://www.apple.com/macos/)
[![Swift](https://img.shields.io/badge/Swift-5.9-F05138?style=flat&logo=swift&logoColor=white)](https://swift.org)
[![Version](https://img.shields.io/badge/version-1.0.5-orange?style=flat)](https://github.com/superdooper86/claudechecker/releases)
[![Version](https://img.shields.io/badge/version-1.0.6-orange?style=flat)](https://github.com/superdooper86/claudechecker/releases)
[![License](https://img.shields.io/badge/license-MIT-blue?style=flat)](LICENSE)
</div>
+3 -3
View File
@@ -1,4 +1,4 @@
## What's new in v1.0.6
## What's new in v1.0.7
### Improved update notification
The update notification now reads **"Tap to view release notes & update now!"** — making it clear you can read what's changed before installing.
### Release notes now render correctly
Fixed markdown rendering in the update banner and update sheet — headers, **bold text**, and bullet points now display properly instead of showing raw `##` and `**` characters.
+3 -3
View File
@@ -1,5 +1,5 @@
{
"version": "1.0.5",
"url": "https://github.com/superdooper86/claudechecker/releases/download/v1.0.5/ClaudeChecker.zip",
"notes": "## What's new in v1.0.5\n\n### Release notes now render correctly\nThe update sheet and in-app banner now render markdown formatting in release notes — headers, bold text, and bullet points all display correctly instead of showing raw `##` and `**` characters.\n\nThe update notification popup no longer shows the full release notes text; it shows a concise \"Tap to update now.\" prompt instead, keeping it compact."
"version": "1.0.6",
"url": "https://github.com/superdooper86/claudechecker/releases/download/v1.0.6/ClaudeChecker.zip",
"notes": "## What's new in v1.0.6\n\n### Improved update notification\nThe update notification now reads **\"Tap to view release notes & update now!\"** — making it clear you can read what's changed before installing."
}