AuraCalc
AuraCalc Changelog

Changelog

Records the release date, version number, and major changes for each official release.

First Release
2026.08.03
Latest Update
2026.08.03
Releases
1

1.0.0

Aug 3, 2026
Stable

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 * π), 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 to AppError (light + dark)
  • FeedbackBadge.swift: shared copy/insert success feedback overlay component
  • AppStyle.Opacity.pressedSolid (0.85) / selectionHighlight (0.15) semantic tokens

Changed

  • URL Scheme changed from calc:// to auracalc:// to avoid conflicts (author identity kept in CFBundleURLName = icret.auracalc)
  • Refined TipKit onboarding copy, added precision setting guide

Changed — UI Polish (P0+P1+P2, skipping P0-G)

  • P0-1: AppStyle.Padding indicator 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 with style: .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 appSuccess semantic color Asset, extracted FeedbackBadge shared component
  • P2-5: macOS long press actionKey adds accessibilityHint parameter

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