Skip to content

1.2.0

Choose a tag to compare

@ekomarova ekomarova released this 07 Oct 22:55
· 28 commits to main since this release

Added

  • Added the new Trends page in Insights with a "Month"/"All Time" summary and bar charts #36
  • Added manual performance tests for Insights, All Joys, Trends (RUN_PERFORMANCE_TESTS=1), and a read-only performance-profile skill #40
  • Added #Preview for every view and component #27

Changed

  • Changed the minimum deployment target from iOS 17.6 to iOS 18.0
  • Updated All Joys page with a "Month"/"All Time" summary #41
  • Showed the date in All Joys only on the latest joy of each day; the other joys of that day appear without it #42
  • Adapted Trends to iPad #43

Fixed

  • Kept the "iCloud storage is full" message while uploads still fail, and recognized a full iCloud storage reported inside a partial failure #47
  • Stopped the app from crashing on launch when its storage cannot be opened #44
  • Stopped Settings from contacting iCloud while sync is turned off #45
  • Restored the entry's original text when saving an edit fails #27
  • Fixed Joyful Hours to use a sliding three-hour window (wrapping past midnight) with the most entries; ties go to the window with the most recent entry #18

Performance

  • Fetched only the entries Calendar/Day/Insights show instead of loading every entry. With 5,000 entries: calendar ~47% fewer CPU instructions and 23% less memory, day switching ~27% fewer instructions and 31% less memory #32
  • Fetched only the month/year on screen and computes cards/charts in one pass in All Joys and Trends #40, #42

Refactored

  • Moved Calendar math to CalendarMonthLayout #27
  • Replaced duplicated buttons with NavigationIconButton, RecordActionButton, ScreenHeader and CapsuleRow #28
  • Extracted GlowCard builders and NoteBubble, and added Date.monthYearTitle(locale:) and Calendar.lummiCalendar(locale:) #29
  • Replaced duplicated card styling with the cardBackground modifier and CardOpacity constants #30
  • Replaced the ContentView navigation booleans with NavigationState and a Screen enum #31
  • Replaced raw animation and color literals with Animation.lummiSpring and AccentColors #37
  • Added GlowCard.joys/.streak/.joyfulHours and DisclosureRow, and replaced three copies of the month-start logic with Calendar.monthStart(for:) #37
  • Refactored the Insights screen #39
  • Extracted a reusable section title for Insights and Settings and removed unused helpers #39

Full Changelog: 1.1.0...1.2.0