Files
iKeyMon/CHANGELOG.md

2.6 KiB

Changelog

26.1.0 (2025-01-03)

  • Auto-populate release description from CHANGELOG when publishing to Gitea.

Prereleases

Fixed

  • Fixed excessive refresh timer resets by properly cancelling previous subscriptions and validating value changes before recreating timers.
  • Fixed interval indicator to respect user's refresh interval setting instead of always assuming 60 seconds.

Added

  • Added status notifications for server monitoring in Preferences → Notifications:
    • "Status Notifications" toggle: alerts when servers go offline/online or services change status.
    • "Alert Notifications" toggle: (placeholder for future alert threshold configuration).
  • Ping status changes now trigger notifications (Server Online/Offline).
  • Service status monitoring tracks individual services (DNS, FTP, SSH, HTTP, HTTPS, etc.) and alerts when they go offline or come back online.
  • Notification permissions are requested automatically when the app launches.

Previous Changes

  • Flattened the project structure so sources live at the repository root instead of the nested iKeyMon/ folder and updated the Xcode project accordingly.
  • Fixed build settings (entitlements, preview assets) and placeholder previews to work with the new layout.
  • Migrated the updated API layer and unified ServerInfo model from the previous branch.
  • Added verbose logging in MainView to trace server loading, selection, and fetch/ping activity when the list appears empty.
  • Switched MainView and ServerFormView to the version-aware API client (APIFactory/APIv2_12) for server summaries and introduced a shared PingService.
  • Detection now probes meta.api_version so future API versions are selected automatically, and the ping loop logs only failures to keep output quiet.
  • Introduced repository-wide version management via version.json + scripts/sync_version.sh, ensuring Xcode targets and release artifacts stay aligned.
  • Enhanced scripts/build_release.sh to timestamp/harden signatures, notarize DMGs, and optionally publish tagged releases (pre-release by default) with ZIP/DMG assets directly to Gitea when credentials are configured.
  • Integrated Sparkle (via Swift Package Manager) to handle automatic update checks, downloads, signature verification, and relaunches, replacing the previous custom updater UI. Preferences now simply surface Sparkle's check/download toggles.
  • scripts/build_release.sh can optionally run Sparkle's generate_appcast (when signing key and download prefix env vars are set), producing a ready-to-host appcast.xml alongside the ZIP/DMG artifacts.
  • Further reduced MainView console noise by removing redundant refresh/onAppear logs.