Skip to content

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