• v1.2.0 e175f6a0c7

    Ghost released this 2026-04-11 19:39:11 +03:00 | 237 commits to main since this release

    Import flow (6 fixes):

    • Use LinkParser.parse() instead of inline regex (was creating empty outbound)
    • Show errors in ImportSheet (were swallowed silently)
    • Add "No URIs detected" feedback
    • Auto-select imported node group
    • Add hysteria2/hy2/tuic to KNOWN_SCHEMES
    • Clear error on sheet open/close

    Update system (4 fixes):

    • Add update commands to privctl CLI (were missing from commands map)
    • Fix version response key mismatch (daemon vs APK)
    • Fix boolean parsing: use .booleanOrNull not .content.toBoolean
    • Fix logs response unwrapping (object with "lines" key, not bare array)

    Self-update resilience (7 fixes):

    • Atomic binary copy (write temp + rename, not truncate in-place)
    • Rollback on failure (backup binaries before update)
    • Verify new binary before switching (run --version, check signals)
    • Schedule old daemon self-exit after IPC response
    • Wait for new daemon to start (10s socket check)
    • Handle old privctl "unknown command" gracefully → MODULE_TOO_OLD
    • Fallback "Open GitHub Releases" button when module too old

    Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com

    Downloads