Repository navigation
Conversation
cyanzhong
marked this pull request as draft
June 12, 2026 03:13
cyanzhong
force-pushed
the
xcode27
branch
6 times, most recently
from
June 24, 2026 12:37
748ff67 to
39f958a
Compare
cyanzhong
force-pushed
the
xcode27
branch
2 times, most recently
from
June 29, 2026 14:17
20e9dfc to
48d3142
Compare
cyanzhong
force-pushed
the
xcode27
branch
3 times, most recently
from
July 12, 2026 03:29
d1bb84a to
73ad07c
Compare
cyanzhong
force-pushed
the
xcode27
branch
3 times, most recently
from
July 19, 2026 13:36
2798b4d to
6c9785d
Compare
cyanzhong
force-pushed
the
xcode27
branch
8 times, most recently
from
July 28, 2026 02:06
40e5049 to
4bb6453
Compare
cyanzhong
force-pushed
the
xcode27
branch
2 times, most recently
from
September 2, 2026 13:11
9857f18 to
fedeb32
Compare
^ Conflicts: ^ MarkEditMac/Sources/Editor/Controllers/EditorViewController+UI.swift ^ Conflicts: ^ MarkEditMac/Modules/Sources/SharedUI/RoundedButtonGroup.swift Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
^ Conflicts: ^ MarkEditMac/Sources/Extension/ExtensionsViewController.swift
Keep OS 27 runtime availability checks for the OS 26 deployment targets and document the branch's Xcode requirement. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Use typed menu image visibility and toolbar group role APIs while retaining macOS 27 runtime guards. Add menu image visibility regression coverage. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Xcode 27 enables anyAppleOS availability without experimental opt-ins. Keep runtime checks for the OS 26 deployment targets. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Swift 6 package targets enforce complete concurrency checking by default, so the experimental StrictConcurrency settings are no longer needed. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
cyanzhong
marked this pull request as ready for review
September 23, 2026 05:43
Contributor
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Critical CI runner and iOS deployment-target issues remain unresolved.
Get a fresh assessment by requesting another Copilot review.
Review effort: Lite
Findings: 4
Open (4)
What changed in this PR
This PR upgrades MarkEdit to Xcode/Swift 27 and macOS 26, adopts modern Apple APIs, and removes legacy compatibility paths. CI and iOS deployment-target blockers remain unresolved.
Changes:
- Raises Swift tools and platform deployment targets.
- Removes obsolete availability, styling, and compatibility fallbacks.
- Updates Foundation Models, Translation, Writing Tools, tests, and CI.
| File | Summary |
|---|---|
UpdateInstaller/UpdaterCore/Package.swift |
Updates Swift tools and macOS target. |
README.md |
Updates platform support and legacy release documentation. |
MarkEditTools/Package.swift |
Raises the iOS minimum to 26, affecting iOS 18–25 clients. |
MarkEditMac/Sources/Updater/AppUpdater.swift |
Enables updater menu icons unconditionally. |
MarkEditMac/Sources/Settings/EditorSettingsView.swift |
Removes legacy font-style configuration. |
MarkEditMac/Sources/Panels/Replace/EditorReplaceButtons.swift |
Uses modern button-group initialization. |
MarkEditMac/Sources/Panels/Find/EditorFindPanel.swift |
Removes legacy find-panel styling. |
MarkEditMac/Sources/Main/AppWritingTools.swift |
Removes obsolete availability annotations. |
MarkEditMac/Sources/Main/AppRuntimeConfig.swift |
Defaults open-panel options to disabled. |
MarkEditMac/Sources/Main/AppResources.swift |
Updates symbol availability handling. |
MarkEditMac/Sources/Main/AppPreferences.swift |
Always refreshes window colors. |
MarkEditMac/Sources/Main/Application/Application.swift |
Removes Writing Tools availability gating. |
MarkEditMac/Sources/Main/Application/AppDelegate+Menu.swift |
Removes obsolete availability annotation. |
MarkEditMac/Sources/Main/AppDesign.swift |
Makes modern design behavior unconditional. |
MarkEditMac/Sources/Extension/ExtensionsWindowController.swift |
Uses the native tabs role. |
MarkEditMac/Sources/Extension/ExtensionsViewController+RowSizing.swift |
Removes conditional row margins. |
MarkEditMac/Sources/Extension/ExtensionsViewController.swift |
Applies modern spacing and backgrounds. |
MarkEditMac/Sources/Extension/ExtensionsRowView.swift |
Removes legacy badge and background fallbacks. |
MarkEditMac/Sources/Editor/Views/EditorWebView.swift |
Always adds context-menu icons. |
MarkEditMac/Sources/Editor/Views/EditorStatusView.swift |
Standardizes the glass status button. |
MarkEditMac/Sources/Editor/Models/EditorToolbarItems.swift |
Simplifies toolbar icon creation. |
MarkEditMac/Sources/Editor/Models/EditorDocument.swift |
Updates file-version picker initialization. |
MarkEditMac/Sources/Editor/EditorWindow.swift |
Makes custom titlebar behavior unconditional. |
MarkEditMac/Sources/Editor/Controllers/EditorViewController+UI.swift |
Always installs modern titlebar UI. |
MarkEditMac/Sources/Editor/Controllers/EditorViewController+Toolbar.swift |
Removes legacy toolbar icon sizing. |
MarkEditMac/Sources/Editor/Controllers/EditorViewController+Statistics.swift |
Updates statistics controller initialization. |
MarkEditMac/Sources/Editor/Controllers/EditorViewController.swift |
Removes obsolete Writing Tools and style plumbing. |
MarkEditMac/Modules/Tests/RuntimeTests.swift |
Adds menu-image visibility coverage. |
MarkEditMac/Modules/Sources/TextCompletion/TextCompletionContext.swift |
Removes modern-style configuration. |
MarkEditMac/Modules/Sources/TextCompletion/Internal/TextCompletionView.swift |
Standardizes completion-view dimensions. |
MarkEditMac/Modules/Sources/TextCompletion/Internal/TextCompletionPanel.swift |
Removes legacy panel styling. |
MarkEditMac/Modules/Sources/Statistics/Views/StatisticsView.swift |
Standardizes statistics-view sizing. |
MarkEditMac/Modules/Sources/Statistics/StatisticsController.swift |
Removes modern-style configuration. |
MarkEditMac/Modules/Sources/SharedUI/RoundedNavigateButtons.swift |
Updates button-group initialization. |
MarkEditMac/Modules/Sources/SharedUI/RoundedButtonGroup.swift |
Makes modern button rendering unconditional. |
MarkEditMac/Modules/Sources/SharedUI/LabeledSearchField.swift |
Removes legacy search-field styling. |
MarkEditMac/Modules/Sources/SharedUI/Buttons/NonBezelButton.swift |
Standardizes modern button rendering. |
MarkEditMac/Modules/Sources/SharedUI/Buttons/AquaFocusRingButton.swift |
Removes obsolete focus-ring subclass. |
MarkEditMac/Modules/Sources/SettingsUI/Extensions/View+Extension.swift |
Applies modern SwiftUI sizing behavior. |
MarkEditMac/Modules/Sources/FontPicker/FontPickerConfiguration.swift |
Removes modern-style configuration. |
MarkEditMac/Modules/Sources/FontPicker/FontPicker.swift |
Standardizes popup positioning. |
MarkEditMac/Modules/Sources/FileVersion/FileVersionPicker.swift |
Removes modern-style configuration. |
MarkEditMac/Modules/Sources/AppKitExtensions/UI/NSMenuItem+Extension.swift |
Uses the current image-visibility API. |
MarkEditMac/Modules/Sources/AppKitExtensions/UI/NSColor+Extension.swift |
Removes obsolete colors. |
MarkEditMac/Modules/Sources/AppKitExtensions/Foundation/NSPasteboard+Extension.swift |
Removes the pre-modern pasteboard fallback. |
MarkEditMac/Modules/Package.swift |
Updates tools, deployment target, and concurrency settings. |
MarkEditKit/Sources/Bridge/Native/Modules/EditorModuleTranslation.swift |
Removes the old OS guard. |
MarkEditKit/Sources/Bridge/Native/Modules/EditorModuleFoundationModels.swift |
Adopts current Foundation Models APIs. |
MarkEditKit/Package.swift |
Raises the iOS minimum to 26, affecting iOS 18–25 clients. |
MarkEditCore/Package.swift |
Raises the iOS minimum to 26, affecting iOS 18–25 clients. |
MarkEdit.xcodeproj/project.pbxproj |
Raises all macOS deployment targets to 26. |
.github/workflows/build-and-test.yml |
Configures Xcode 27, but uses an unsupported xcode-27 runner label. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Wait for navigation to finish, surface navigation failures, and retain the web view through evaluation instead of relying on an unloaded initial page. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Avoid implicitly unwrapped optionals to satisfy the app target's strict SwiftLint checks. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Log JavaScript evaluation stages and full NSError details, and retain failed module test result bundles. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Request unaccelerated rendering for deterministic pixel readback on the macOS 27 CI runner, preserving the exact RGBA assertion. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Keep CPU-backed canvas readback and the exact RGBA assertion; restore the original workflow and single-script test. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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
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.

No description provided.