-
Notifications
You must be signed in to change notification settings - Fork 1
Release v0.7.15 #81
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Release v0.7.15 #81
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- Add Sparkle 2.5.2 dependency to Package.swift - Configure Info.plist with SUFeedURL and placeholder for SUPublicEDKey - Initialize SPUStandardUpdaterController in AppDelegate - Add update settings UI in SettingsTabView - Current version display - Check for updates button - Automatic updates toggle - Create appcast.xml generation script - Create DMG signing script for Sparkle - Update release workflow to generate and upload appcast.xml - Add comprehensive Sparkle setup documentation Note: Public/private key pair needs to be generated manually following the instructions in docs/sparkle-setup.md 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Add Update section to L10n struct for Sparkle localization - Fix argument label for currentVersion function call - Exclude README.md from test target to remove SPM warning
- Add separate workflows for dev (develop branch) and stable (main branch) releases - Implement PR validation for version updates and CHANGELOG - Add version helper bot for PR guidance - Create update-version.sh script for easy version management - Update RELEASE_STRATEGY.md with new workflow documentation - Enable TEST_SPARKLE environment variable for development testing - Replace beta naming with dev for clarity
- Add backward compatibility properties to EnvironmentCheckResult - Fix ContentView initialization in AppDelegate - Import SwiftUI for NSHostingController - Use usageData instead of latestData property
- Remove build.yml (duplicate of ci.yml) - Remove release-dev.yml (duplicate of release-beta.yml) - Update ci.yml to include develop branch - Rename Beta Release to Development Release (Beta)
- Rename release-beta.yml to release-dev.yml - Use simple -dev suffix instead of beta numbering - Read version from Info.plist for consistency - Update release naming and documentation
- Set SUPublicEDKey for EdDSA signature verification - This enables secure automatic updates via Sparkle framework
- Add appcast.xml generation step in release-stable.yml - Generate EdDSA signature using SPARKLE_PRIVATE_KEY from GitHub Secrets - Include appcast.xml in release assets - Fix sign_update tool path and command syntax in generate-appcast.sh
- Remove usagePercentage property from SessionBlock - Calculate percentage directly in AppDelegate using UsageData context - This fixes the CI build error after merging with develop branch
- Add Sparkle integration features to CHANGELOG - Update both CFBundleShortVersionString and CFBundleVersion
- Restore currency exchange rate fetching on startup - Add missing Combine and UserNotifications imports - Remove obsolete release.yml.old file
- Show [D] prefix in menu bar percentage for debug builds - This helps distinguish debug builds from release builds
- Replace NotificationCenter with Combine subscription for usageData changes - Add missing Notification.Name extension for compatibility - Fix menu bar always showing 0% by properly observing @published property
- Replace usageDataUpdated with updateStatusBarTitle method - Call updateStatusBarTitle on initialization - Follow the original implementation pattern from develop branch
- Remove duplicate usageDataUpdated definition - Fix unused variable warning in updateStatusBarTitle
- Restore getStatusColor() and getStatusSymbol() methods - Implement dynamic icon changes based on usage percentage (0-10%, 10-30%, 30-50%, 50-70%, 70-90%, 90%+) - Implement dynamic color changes (green → blue → yellow → orange → red) - Add loading state with hourglass icon - Add tooltip with detailed usage information - Text color now matches icon color - Remove unused Notification.Name.usageDataUpdated 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Use conditional compilation to handle updater being optional in DEBUG - Fix 'cannot use optional chaining on non-optional value' error
- Add conditional compilation for Sparkle imports - Define TEST flag for test configuration - Prevent linker errors in test environments
- Fix Sparkle sign_update tool path in generate-appcast.sh - Fix conditional compilation for updater nil check in SettingsTabView - Ensure both DEBUG and release builds compile correctly
- Fixes Sparkle linking errors in test builds for Xcode 15.0 - Ensures proper conditional compilation across all build configurations
- Swift 5.9.0 has issues with SPM binary dependencies in test targets - Xcode 15.2 (Swift 5.9.2) handles this correctly - Most developers should be on 15.2+ by now
- Use latest stable versions from both major releases - Xcode 15.4: Last version of 15.x series - Xcode 16.2: Current latest stable - Better represents real-world developer environments
feat: add Sparkle framework for automatic updates
- Add Developer ID certificate signing support for dev releases - Add notarization support (optional) - Sign DMG files when certificate is available - Fall back to ad-hoc signing when no certificate - Matches stable release workflow signing process
- Remove bump-version.sh (deprecated, replaced by update-version.sh) - Remove get-next-version.sh (tag-based versioning no longer used) - Remove build-local.sh (local builds not used) - Remove copy-icon.sh (functionality in create-app-bundle.sh) - Remove set-debug-bundle-id.sh (not used in current workflow) - Remove build-release.sh (replaced by GitHub Actions)
…String - Update update-version.sh to modify both version properties - Add validation in PR checks to ensure both values match - Update PR comment to mention both properties - Fix Info.plist where CFBundleVersion was still 0.7.0
fix: add proper code signing to dev workflow
fix: Sparkle CI環境でのsign_updateツールパス問題を修正
- setup-sparkle GitHub Actionを削除 - Ukamプロジェクトのアプローチを採用 - Sparkleをダウンロードして直接generate_appcastを実行 - よりシンプルで信頼性の高い実装に変更 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- スクリプトファイルを削除してメンテナンスを簡素化 - Ukamプロジェクトのアプローチを完全に採用 - CI専用のロジックをワークフローファイルに統合 - github.repositoryコンテキストを使用してリポジトリ名を動的に取得 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- echo -nを使用してプライベートキーの末尾改行を除去 - Sparkleを2.6.4に更新(最新版) - Ukamプロジェクトの実装に合わせて修正 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
fix: Sparkle CI環境でのappcast生成エラーを修正
- create-app-bundle.shでSparkle.frameworkをFrameworksディレクトリにコピー - rpathに@loader_path/../Frameworksを追加 - build-and-sign.ymlでSparkle.frameworkを個別に署名 これにより、アプリ起動時の「Library not loaded」エラーが解決されます。 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- バージョンが正しく更新された場合、古い警告コメントを削除 - PRの履歴をクリーンに保つ - validation_passed フラグを追加してコメント削除をトリガー 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
feat: バージョン更新後に検証コメントを自動削除
- GitHub ActionsのmacOS-latestランナーでXcode 15.xが利用不可のためXcode 16.0に更新 - Sparkleフレームワークとツールを最新の2.7.1に統一 - Package.resolvedは既に2.7.1を使用していたため変更なし 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
fix: Xcode 16.0とSparkle 2.7.1に更新してCI失敗を修正
- build-and-sign.yml: Xcode 16.0 → 16.2 - ci.yml: - ビルドジョブでXcode設定を環境変数方式に統一 - カバレッジレポート生成条件を15.2から16.2に更新 - Xcodeパスをクォートで囲むように修正 背景: - macOS-latest (macOS 14)ではXcode 16.0が2025年1月6日に削除された - 利用可能なXcode 16.xは16.1と16.2のみ 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
fix: Xcode 16.2を使用するように修正(macOS 14対応)
問題: - Sparkle.framework内の実行可能ファイルが適切に署名されていなかった - notarizationプロセスで「無効な署名」エラーが発生 - staple notarizationがexit code 65で失敗 解決策: 1. Sparkle.framework内のコンポーネントを個別に署名: - Autoupdate バイナリ - Sparkle バイナリ - Updater.app - XPCServices内のすべての.xpcサービス 2. アプリ全体の署名を強化: - --deepオプションを追加して内部コンポーネントを確実に署名 - 署名検証を詳細モード(verbose=4)に変更 - spctl検証を追加 3. デバッグ情報の追加: - staple前のDMG署名検証 - staplerコマンドの詳細出力(-vオプション) - エラー時の詳細情報出力 参考: Ukamプロジェクトの実装を参考に修正 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
fix: Sparkle.framework内のすべてのバイナリを適切に署名してnotarization失敗を修正
- UpdateChannel enumを追加(stable/dev) - 設定画面でチャンネル切り替えUIを追加 - Sparkle delegateメソッドで動的にfeed URLを設定 - GitHub Actionsで環境に応じたappcast.xmlを生成 - 日本語・英語のローカライゼーションを追加 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Debug版でもSparkleを初期化(自動更新は無効) - アップデート設定UIを常に表示 - appcastから最新版情報を手動で取得・表示する機能を追加 - XMLパーサーでappcastを解析し、最新バージョンを表示 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- gh-pagesブランチでappcast.xmlとappcast-dev.xmlを管理 - UpdateChannelのURLをGitHub Pages URLに変更 - リリースワークフローでgh-pagesのappcastを更新 - 各チャンネルで独立した更新履歴を維持 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- 現在のバージョン表示を修正(Debug時は(Debug)ラベルを表示) - 各チャンネルの最新バージョンを自動取得・表示 - Stableチャンネルに(推奨)ラベルを追加 - Development説明を「開発版ビルドのみ」に修正 - 起動時に両チャンネルの最新バージョンを非同期で取得 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- 英語: "Development builds only" → "Development releases only" - 日本語: "開発版ビルドのみ" → "開発版リリースのみ" - より正確な表現に統一 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
feat: アップデートチャンネル機能を実装
📦 Release Preparation HelperRelease Version
Recent Changes Summary
Pre-Release Checklist
After MergeWhen this PR is merged to
NoteIf a tag for v0.7.15 already exists, the release will be skipped. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Changes
✨ New Features
🔄 Improvements
🐛 Bug Fixes
Test Plan
Release Notes
ClaudeCodeMonitor v0.7.15では、アップデートチャンネル機能を追加しました。設定画面から安定版と開発版のリリースチャンネルを選択できるようになり、より柔軟なアップデート管理が可能になりました。
🤖 Generated with Claude Code