Changelog
v1.1
New features
- Change the current date to fill in check-ins for past days
- Customize habits by editing their names
- Add a sort-order field and initialize the default order for existing users
- Customize the order of habits
- Restore default habits with one tap, resetting the current challenge's habits and records
Improvements
- Add an icon to the Start screen
- Let new challenges inherit habit names and order from the previous challenge
- Add a confirmation when ending a challenge to improve the experience and prevent accidental actions
- Refactor and optimize the code
- Minor fix: adjust the displayed language (en → cn)
v1.2
New features
- Show the longest check-in streak on the Challenge Details screen, with a toggle to display total check-in days
- Also show consecutive check-in days on the Review screen, with a toggle to display total check-in days
- Add a computed field for consecutive check-in days
- Add four challenge durations for users to choose from
Improvements
- Allow users to enter the Check-in screen by tapping the icon on the Start screen
- Enlarge habit tap targets to make checking in easier
- Improve the wording and display of titles and subtitles in Settings
- Add a HEX-to-RGB conversion method (not yet used)
v1.3
New features
- Add reminders: users can enable daily reminders in Settings and choose a reminder time
Improvements
- Automatically refresh screens at midnight to show the new day's content
- Improve challenge completion logic to navigate to the Completion screen as soon as the challenge period ends
- Update light and dark color schemes to match the system appearance
- Adjust fonts and interface spacing to improve the overall layout
- Reorganize Settings groups and buttons for better readability and usability
- Improve SwiftUI Preview support for component-level development and debugging
v1.4
New features
- Add notes: press and hold a habit to add a note, then view notes on the Review and Challenge Details screens
- Add haptic feedback
- Add appearance settings so users can choose light mode, dark mode, or follow the system
Improvements
- Add tips to introduce new features
- Improve item names in Settings
- Remove redundant code
v2.0
New features
- Add sharing: generate an image of check-in results and share it
- Add the “Daily Quote” feature with motivational quotes retrieved from an API
- Add gradient backgrounds
- Add options to rate and share the app
Improvements
- Update the Privacy Policy, Support, and related pages
- Revise screen titles and standardize screen names
- Make minor code changes and remove redundant structures
v2.1
New features
- Extend computed fields with a challenge's total check-in days and longest streak
- Add animated color blocks to the Completion screen for a more lively, celebratory experience
Improvements
- Refine the Challenge History, Challenge Details, and Notes screens for a more consistent appearance
- Add animation to the launch screen to improve the first-use experience
- Adjust theme color HEX values for better color harmony
- Fine-tune date and number formatting for readability
- Continue improving Preview support for component-level development and debugging
- Handle exceptional date values to improve stability
v2.2
Improvements
- Adjust the Review screen layout to better organize its content
- Remove unnecessary files and simplify the project structure
v2.3
New features
- Implement challenge data import and export
- Export challenges as .bin files
- Import challenge data from .bin files
- Add bulk deletion of archived challenges for more efficient management
Improvements
- Add a .gitignore file to exclude sensitive local information and prevent accidental commits
- Update the ShareSheet callback with a completion parameter to report whether sharing was completed
- Fix the Review screen title failing to resize dynamically when scrolling
- Fine-tune number formatting
v2.4
New features
- Add an introduction screen (OnboardingView) to guide new and existing users through the app's core features
- Add a challenge end-date field; new challenges inherit the previous challenge's duration by default
Improvements
- Streamline startup: open directly to the Check-in screen, removing the “Start Challenge” button step
- Adjust Daily Quote selection so that a given date consistently produces the same content
- Improve Challenge History interactions by leaving edit mode automatically after a successful export or deletion
- Fix some screens not refreshing promptly when the date changes
- Fix a mismatch between the initialized challenge duration and the actual habit cycle
- Add check-in animations and screen transitions
- Update some icon styles
Code refactoring
- Improve file organization: change the project from the default Folder structure to Group
- Break large views into smaller components based on their responsibilities to improve maintainability
- Split data models into separate files by type
- Introduce the AppFlowState state machine to centrally manage flow states for the introduction, start/end, and main screens
- Use a single source of truth for data such as the current challenge across main views
v3.0
New features
- Add LLM dependencies and AI-generated daily summaries
- Implement local AI model loading and integration to improve generation efficiency and privacy
- Add a daily summary field and a daily summary list screen for viewing summaries in one place
- Implement daily summary import and export for data migration and backup
- Add introductory information about AI features
Improvements
- Add mirror URLs to support resource access from mainland China
- Fix failures when importing challenge end dates
- Open external links within the app for a smoother experience
- Improve background rendering logic to reduce UI jumps
v26.0
Improvements
- Add support for iOS 26
- Adopt the Liquid Glass design language
- Add Foundation Models as the preferred option for generating summaries