Releases: LEOYoon-Tsaw/Chinendar
Releases · LEOYoon-Tsaw/Chinendar
JSON serialization
- Refactored codes in Setting views, making them much cleaner, breaking down large structs
- Unified logic for Themes and Configs, the 2 pages support the same operation set
- Added import and export for Reminder list
- Changed the export and storage format to JSON
- Redesigned control bar for macOS, merging the 2 icons into one bar
- Added Theme list view for watchOS, enabling user to choose a different theme from their phone
- Automatically update chineseCalendar whenever the config changes, also added auto update for statusBar
- Extract core calculation code into standalone repo, CelestialSystem
- Fixed a few bugs
- Event indicator may not update timely
- Widget refresh after quitting App may not pick up latest changes made
- Importing wrong file may not raise correct error
- Some translation inconsistencies
- Reminder next date being wrong
Reminder and Notification
- Added Reminders to enable custom reminders based on Chinese calendar or Solar Terms
- Added shortcut support from Chinese calendar date to Gregorian calendar
- Adopts navigation path in all Settings views
- Expand toolbar buttons on macOS and visionOS
- Bug fixes:
- Fix a potential crash in Time Walls on watch
- Fix the alternative time on watch where UI may not update correctly

Siri Integration and Calendar Conversion
- Supports Siri / Shortcut, with both prebuilt and customizable shortcuts
- Supports Control Center and action button
- Supports dark icon and tinted icon/widget
- Adds conversion from Chinendar date to Gregorian date
- Full support for both date and time
- Easy-to-use UI resembles system date picker
- Adds next Chinendar holiday widget and Siri shortcut
- [dev] Adopts Swift 6 mode, eliminating potential data race
- [dev] Adds a few unit tests on ChineseCalendar struct
- [dev] Uses different Bundle ID and disables iCloud syncing for debug mode
New Solar System Model
- Improves planet position accuracy, and also most noticeably, moon rise/set time accuracy.
Now the moon time should be accurate to about 2 minutes. - Refactors code in Calendar, grouped methods by functionality.
World Times
120 Min Hour mode, various UI improvements
Happy New Year!
- Added 120min Hour mode that do not divide an Hour (120min) into initial half and Proper half. This is historically accurate pre Song dynasty
- Added dim flickering highlight on rings to indicate ring progress
- Added translucent ring background to avoid leaking rings beneath when background is transparent
- Smoother watch face touch animation
- Import and export theme files in iOS and visionOS
- UX simplification to theme management, added option to revert back to original built-in theme
- Text widget is now customizable
New Localizations: Japanese and Korean
- Minor ticks takes only a half width of the rings
- New Localizations: Japanese and Korean
Vision OS Support
- Added vision OS target
- Changeable ring background color
- Rename English name to Chinendar
- More Chinese Calendar based holidays
General Improvement
Swift UI and 2023 new techs
Downloadable from App Store:
macOS 14+, iOS/iPadOS 17+, watchOS 10+
Overall Optimization
- Unified UI codes using SwiftUI to enable watch face code sharing across all platforms and most widgets
- Transitioned from Core Data to SwiftData, eliminating the use of UserDefault
- Switched to AppIntent from Siri Intent, in favor of new widget development standard
- Resolved errors arising from Swift 6 syntax (note: some warnings still persist)
- Consolidated localization files into three shared resources
- Introduced a better app icon
- Enhanced the clock face with responsive and interactive animation
Widgets
- Introduced double watch widgets in extra-large size and full watch in small size
- New Countdown cards to track the next solar term, moon phases, and sun/moon rise and set times
- Enabled adaptive backgrounds and colors based on the system render mode
- Improved widget update timing for accuracy without increasing frequency
- Expanded the text widget to include more cultural holidays
- Enhanced widget relevance to integrate seamlessly with smart stack
iOS
- Optimized settings display to prevent full-screen blocking in landscape mode on iPhone and iPad, sharing most of its codebase with the macOS settings window
Watch
- Expanded the clock face to full size, maximizing watch screen utility
- Simplified navigation by replacing left/right swipes with up/down scrolls
- Revamped settings to align more closely with the system style
Mac
- Organized settings into categorized sections, sharing code with iOS settings for each section
- Overhauled themes management and Q&A section for a better user experience
- Introduced a configurable status bar, allowing users to choose the display details or opt for a simple icon