# Changelog All notable changes to Portfolio Journal will be documented in this file. ## [1.7.0] — iOS 27 + iPhone Duo (phase 1) ### Added - **iPhone Duo / regular width**: single adaptive `TabView` (sidebar-adaptable on iOS 18+) — no more layout swap between iPhone and iPad hierarchies, so navigation state survives opening/closing the Duo. - **Sources** and **Journal** use `NavigationSplitView` (list + detail side by side in regular width, collapsing stack in compact). - **Quick Update** opens as an inspector panel next to the dashboard in regular width (sheet in compact). - **Charts**: plots get 35% more height in regular width via `chartHeightScale`; bottom safe area respected. - **Biometrics**: Face ID / Touch ID / Optic ID resolved from `LAContext.biometryType`; all lock/privacy strings are generic (7 languages). - `@SceneStorage` restore of the selected tab. - What's New entry for 1.7.0. ### Changed - Compiles cleanly with Xcode 27 / SDK 27: missing `CoreData` imports (MemberImportVisibility), main-actor isolation warnings, `IsolatedDefaultValues` upcoming feature. - Migrated soft-deprecated SwiftUI API: `foregroundColor` → `foregroundStyle`, `cornerRadius` → `clipShape`, `navigationBarLeading/Trailing` → `topBarLeading/Trailing`, `Task.sleep(nanoseconds:)` → `sleep(for:)`, `NavigationLink(isActive:)` → `navigationDestination(isPresented:)`. - Liquid Glass (`glassEffect`) for the Journal floating month labels on iOS 26+, material fallback below. ## [Unreleased] ### Fixed - **Snapshot View**: Currency and number formatting now respects device locale settings with fallback for mixed locale input - **Goal Share Button**: Share button in Goals view now works correctly (was being intercepted by row tap gesture) - **Widget Currency**: Widget now displays correct currency symbol from app settings instead of defaulting to EUR - **Goal Editor**: Currency symbol prefix now displays correctly and number parsing is locale-aware ### Enhanced - **Goal Sharing**: - Added privacy mode option to hide current value when sharing - Share card now displays app icon (BrandMark) - Share card now shows target date when set - Share card now shows estimated completion date when available - Fallback text sharing includes App Store link - Dynamic card height based on content