- Add open-file tab strip below toolbar with tab selection and close buttons
- Track per-tab dirty state in TabData (`isDirty`)
- Mark tabs dirty on content change and clear dirty flag on successful save/save as
- Add close-confirmation dialog for unsaved tabs:
- Save
- Don't Save
- Cancel
- Implement close helpers in ContentView actions:
- requestCloseTab
- saveAndClosePendingTab
- discardAndClosePendingTab
- Keep tab open when Save As is cancelled
- Fix left sidebar toolbar icon to always use left-sidebar symbol
- Keep right sidebar toggle separate and unchanged
- Continue using blank-window toolbar action for new windows`
- Fix Swift code being misclassified as C# by unifying language detection
- Remove conflicting AI-based language detection on paste
- Route paste, open, and edit events through LanguageDetector
- Add toggle for translucent editor background
- Persist translucency preference across sessions
- Minor cleanup of conflicting or redundant editor logic
• Add robust availability checks for Apple Intelligence (iOS 18 / macOS 15) before using system language model
• Implement health check via LanguageModelSession to validate model responsiveness (“ping” -> “pong”)
• Provide synchronous completion API appleFMComplete(prompt:) returning model response text
• Implement streaming completion API appleFMStream(prompt:) that yields incremental deltas
• Fix optional handling in streaming: unwrap partial.content.text safely and remove force unwraps
• Correct delta computation using unwrapped current string and maintain last state
• Add graceful fallback to single-shot completion if streaming fails
• Provide stubbed implementations when USE_FOUNDATION_MODELS is disabled to ensure build stability across configs