Skip to content

v1.3.4 - Automated Zero-Click Updates & Clean Changelog rendering πŸš€ Latest

Choose a tag to compare

@itsmeshibintmz itsmeshibintmz released this 28 Jun 04:48

This release introduces a fully automated, background installer that updates the application on the fly without manual drag-and-drop actions, and implements a native block-level markdown parser to display a clean changelog layout.


πŸš€ What's New

πŸ”„ Zero-Click Auto-Updates:

  • The Problem: The app update flow previously opened a mounted DMG window in Finder requiring you to drag the app to your /Applications folder manually. This caused a conflict error stating "The app is in use and cannot be replaced" because the wrapper was still running.
  • The Solution: Built a silent background installer script. When you click Download & Install:
    1. The DMG mounts in the background quietly (-nobrowse -noverify).
    2. A background relauncher shell script is written to /tmp.
    3. The running app terminates and the relauncher script overwrites the bundle cleanly, detaches the volume, removes the installer DMG from your Downloads folder, and automatically restarts the new version.
    • No Finder windows, no drag-and-drop conflicts, no manual clicks!

✍️ Clean UI Changelog Block Parser:

  • The Problem: The "What's New" sheet included repeated tag headers (like # v1.3.2), raw markdown syntax (like ## and -), and separator lines (---) because GitHub Release API returns Windows-style CRLF (\r\n) line endings, which broke basic text formatting.
  • The Solution: Implemented a native line-by-line block parser:
    1. Normalizes line endings (\r\n to \n) so the markdown syntax parses properly.
    2. Automatically filters out duplicate release headings and line breaks.
    3. Maps elements directly to beautifully styled native SwiftUI layouts (e.g. bold Netflix Red headers and custom red bullet points with indents).