Repository navigation
v0.17.0
SyntaxEditorUI v0.17.0
Breaking Changes
- Await
SyntaxEditorModel.prepare()during asynchronous app setup before creating editor views or comparison models. - Minimum OS versions are now iOS and Mac Catalyst 18.4, macOS 15.4, and visionOS 2.4. Swift 6.3 remains the minimum toolchain.
- ObservationBridge is now pinned to 0.14.0, which depends on ABIBridge 0.8.0. Apps sharing these packages must use compatible dependency requirements.
New Features
- Added document comparison for SwiftUI, UIKit, and AppKit through
SyntaxEditorComparisonModel,SyntaxEditorComparison, and native comparison views and controllers. Choose change markers, inline deletions, or side-by-side panes; navigate changes while preserving the modified document's selection and undo history. - Added basic ARM assembly highlighting through
SyntaxLanguage.assemblyARM, includingasm,arm64,aarch64, andsidentifier aliases and comment toggling.
Bug Fixes
- Model and native editor text updates now preserve normalization-only changes, including replacements between precomposed and decomposed Unicode text.
- Inferred text replacements now preserve Unicode scalar boundaries, preventing corruption of supplementary characters such as emoji.
Migration Notes
Prepare the runtime once during app startup and await completion:
import SyntaxEditorUI
try await SyntaxEditorModel.prepare()Handle preparation errors in your app's startup flow. Repeated calls share the same preparation. Plain document models can be created before preparation; editor views and comparison models must wait for it to finish.
Update exhaustive SyntaxLanguage switches to handle .assemblyARM.
Documentation
- Added DocC guides and API documentation for SwiftUI, UIKit, AppKit, document comparison, languages and themes, editing commands, and migration.
Full Changelog: v0.16.5...v0.17.0