1.0.0
Aug 3, 2026
Added — Core Calculation
- Three calculator modes: Basic / Scientific / Programmer
- Decimal high-precision engine, up to 38 significant digits
- Self-implemented Shunting-yard expression parser (no NSExpression / JavaScriptCore)
- Implicit multiplication (
5π→5 * π), scientific notation (1.5e10), percentage (50%), factorial (5!) - Built-in functions: trig/inverse trig/hyperbolic, log/ln, sqrt/cbrt/abs, nPr/nCr, round/ceil/floor, gcd/lcm, prime factorization, rand/randint
- Programmer mode: hex/oct/bin/dec conversion, bitwise ops (not/and/or/xor)
- 10 high-precision constants: π / τ / π/2 / e / ln2 / φ (golden ratio) / γ (Euler–Mascheroni) / √2 / √3 / G (Catalan)
- Equation solving (Newton's method iteration, multi-root detection)
Added — Utilities
- History (SwiftData persistence with VersionedSchema + MigrationPlan)
- Unit conversion: length/weight/temperature/angle/area/volume/speed/time/power/data storage (incl. Chinese units)
- Currency conversion: online API multi-source fallback + 12h local cache
- BMI calculator, Chinese uppercase amount, date calculation, timezone conversion, base conversion (standalone page)
- Constants / Functions / Formulas library (parametric calculation)
Added — Ecosystem Integration
- Dynamic Island / Live Activity (real-time calculation display, 30s auto-dismiss)
- Interactive Widget + Control Widget (iOS 18+)
- Siri Shortcuts (2 App Intents: CalculateExpression / ConvertUnit)
- Spotlight indexing for history snapshots
- Handoff (NSUserActivity cross-device 接力)
- URL Scheme deep links
auracalc://calculator|history|constants|functions|formulas - TipKit first-use onboarding (expression input + mode switching)
- macOS menu bar calculator
Added — User Experience
- Dark / Light / System themes (default dark)
- Tiered haptic feedback (digits light / operators medium / equals heavy / success success / error error)
- Dynamic Type support (
Font.custom(_:size:relativeTo:)) - Accessibility: 118 accessibilityLabel/Hint, VoiceOver / Full Keyboard Access / Reduce Motion
- Full orientation support (iPhone + iPad)
- Chinese + English i18n (String Catalog)
Added — Engineering Quality
- 722 unit tests + 11 UI tests
- GitHub Actions CI/CD (swift-format → SwiftLint → test-macos → test-ios → Periphery dead code detection)
- ModelContainer 3-tier crash fallback (delete & rebuild → empty config → in-memory container)
- iOS Data Protection (FileProtectionType.complete hardware encryption)
- macOS App Sandbox + Hardened Runtime
Added — Compliance
- PrivacyInfo.xcprivacy privacy manifest (NSPrivacyTracking = false, zero data collection)
- Chinese + English privacy policy + terms (icret.auracalc.help book)
- No Analytics / tracking SDK, no ad SDK
Added — UI Polish
AppSuccess.colorset: semantic green symmetric toAppError(light + dark)FeedbackBadge.swift: shared copy/insert success feedback overlay componentAppStyle.Opacity.pressedSolid(0.85) /selectionHighlight(0.15) semantic tokens
Changed
- URL Scheme changed from
calc://toauracalc://to avoid conflicts (author identity kept inCFBundleURLName = icret.auracalc) - Refined TipKit onboarding copy, added precision setting guide
Changed — UI Polish (P0+P1+P2, skipping P0-G)
- P0-1:
AppStyle.Paddingindicator 3→4 / menuInset 5→4 / tight 6→8 / buttonCompact 7→8, aligned to 8pt grid - P0-2: Keypad container outer padding horizontal 12→4 / vertical 8→4, buttons closer to edges
- P0-3: Focus indicator width 2→3pt
- P0-4: Global 22
RoundedRectangle+ 40.rect(cornerRadius:)unified withstyle: .continuous - P1-1: Non-focused row opacity 0.78→0.85, improved readability
- P1-2: Equals key changed to accent solid fill (tint if available), pressed state opacity 0.85
- P1-3: Error state border 1→1.5pt (
LineWidth.focus), errorFaint 0.05→0.08 - P2-1: Mode switch animation
.smooth→.snappy(duration: 0.3, extraBounce: 0) - P2-2: Line number gutter separator uses semantic color
.separator - P2-3: iOS Sidebar selected state adds accent semi-transparent background
- P2-4: Copy feedback overlay uses
appSuccesssemantic color Asset, extractedFeedbackBadgeshared component - P2-5: macOS long press
actionKeyaddsaccessibilityHintparameter
Technical
- Swift 6.0 + SwiftUI Only + MVVM + strict concurrency isolation (MainActor default)
- Deployment targets: iOS 17.0+ / macOS 14.0+ / Apple Silicon Only (arm64)
- Dependencies: Defaults v9.0.9 / swift-async-algorithms v1.1.5 / swift-collections 1.1.0~<2.0.0
- App icon: iOS 3 variants (light/dark/tinted) + macOS all sizes