1.7 KiB
1.7 KiB
Changelog
Unreleased
- 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
ServerInfomodel from the previous branch. - Added verbose logging in
MainViewto trace server loading, selection, and fetch/ping activity when the list appears empty. - Switched
MainViewandServerFormViewto the version-aware API client (APIFactory/APIv2_12) for server summaries and introduced a sharedPingService. - Detection now probes
meta.api_versionso 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.shto 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.shcan optionally run Sparkle’sgenerate_appcast(when signing key and download prefix env vars are set), producing a ready-to-hostappcast.xmlalongside the ZIP/DMG artifacts.- Further reduced MainView console noise by removing redundant refresh/onAppear logs.