[!NOTE] Please considering donating! It will help me sustain Chiri's development. ❤️ https://liberapay.com/chloe
New
- Added a list of third-party licenses in the "About" settings subtab.
- Added a "working days" scheduling option. You can choose your working days, and Chiri will calculate the next matching day when scheduling tasks.
- Added an option to display a badge for the app icon, which displays the amount of overdue tasks.
- Added an option to export CalDAV accounts as a .mobileconfig file.
- Added an option to manage dates for a task in the task batch actions bar.
- Added an option to wrap task titles onto multiple lines.
- Added brief descriptions for server types explaining their purpose and aim.
- Added categorized predefined filters for dates, statuses, priorities, and organization. Some presets also provide task-creation defaults.
- Added diagnostics reports and log exports to the Data & diagnostics settings.
- Added Disroot Cloud as a managed CalDAV server type. Supports logging in via browser, as well as manual credentials as login methods.
- Added more sort options for accounts, calendars, and tags in the sidebar.
- Added Mozilla Autopush as a WebDAV Push provider, along with provider availability checks, diagnostics, and configurable VAPID enforcement.
- Added network settings for connectivity probes, request timeouts, and system, HTTP, SOCKS, or disabled proxy modes, plus a more informative offline banner.
- Added options for configurable progress increments, and for choosing what happens when an "In Process" task is checked off.
- Added previews for task-item badges in settings.
- Added Recently Deleted safety controls and batch actions, including configurable retention, automatic cleanup, optional move-to-Recently Deleted confirmation, and parent/subtask deletion behavior.
- Added reset-to-default controls for badge and editor settings.
- Added search to the keyboard shortcuts settings.
- Added Stalwart as a self-hosted CalDAV server type. Supports OAuth, as well as manual credentials as login methods.
- Added status as a task sort option.
- Added the ability for dragging in the collapsed view of the sidebar.
- Added the ability to choose a saved filter as the default view when Chiri launches.
- Added the ability to enable, disable, and reorder notification actions, with multiple configurable snooze durations and duration units.
- Added the ability to group tasks.
- Added the ability to move completed tasks to the bottom.
- Added the release date for an update release to the changelog modal's header description.
- Linux: Added full support for AppImage, as well as the option to integrate the app to your desktop.
- Linux: Chiri now has distribution support for Fedora Copr.
- macOS: Added an option for integrated window decorations.
- macOS: Added app-menu navigation for views, filters, calendars, and tags.
- macOS: Added dock-menu actions for creating tasks, syncing, and opening views and saved filters.
- Windows: Chiri is now officially code signed! A special thank you goes to the SignPath Foundation, which made this possible in the first place 🩵
- Windows: Chiri now has official distribution support for Scoop.
- Windows: Chiri now has official distribution support for WinGet.
Changes
- Added a banner for new calendars and tags when a custom default color is selected in the "Defaults" subtab.
- Added a secondary "View" label to tooltips in the sidebar's collapsed view for views like All Tasks and Recently Deleted.
- Added a tooltip for the "Move" button in the task batch actions bar explaining why the button is disabled if no CalDAV accounts have been added.
- Added inline task and subtask creation inputs in the task list and task editor.
- Added the "Test Connection" button in the context menu for an account item in the sidebar.
- Animations are now motion safe where possible, which should respect the user's system "prefers reduced motion" preference.
- Calendars in the "Move to Calendar" modal are now grouped by account.
- Changed the background of the onboarding to display a solid color instead of a backdrop blur.
- Changed the calendar picker in the destination step of the "Import" modal to use the same picker as the "Move to Calendar" modal.
- Changing the progress in the "Defaults" settings subtab now also changes the status with it.
- Chiri now provides clearer connection notices, test results, errors, OAuth flow messages, and general CalDAV diagnostics.
- Chiri now restores the user's last view immediately during startup.
- Creating a new task now scrolls the task list to where the new task is located.
- Enabling WebDAV Push now requires at least one CalDAV account.
- Improved banners in task editor by having them use the same app design language as everywhere else.
- Improved sort dropdowns by adding consistent visual paddings and spacings.
- Improved the engine logic and parser for .mobileconfig files.
- Improved the experience for account items in the sidebar.
- Previously, if the account item had a long name, it would get awkwardly cut off in the middle due to the new calendar / account menu buttons. Now, it displays as much as it can unless you hover over the account item, which will reveal the buttons.
- Hovering over the account item will now extend the hover to the whole width of the account item, instead of just the collapsible / expandable area, unless you hover over one of the buttons on the right, in which case the hover will only be shown to the button your cursor is at.
- Improved the visual state of read-only and disabled fields in the task editor.
- Improved username and password placeholders and labels to be consistent for all server types.
- Improved warning banner messages for all server types.
- Modified the task history entry logic for tasks to now account for a task being imported. Previously, this would incorrectly display a task as being "created".
- Modified the tooltip in the sidebar's collapsed view to differentiate local calendars compared to account calendars.
- Moved helper text for Principal URL and Calendar Home URL fields in the account modals to instead be displayed with tooltips.
- Moved "Sort Direction" in sort dropdowns to instead appear just as an icon in the "Sort By" flyout.
- Onboarding can now be skipped and replayed later from the Data & diagnostics settings.
- Re-organized settings into clearer App, Tasks, Accounts, and Help categories, with new Navigation, Safety, Status & progress, Data & diagnostics, Network, Push, Sync, Scheduling, and List & layout subtabs.
- Re-organized the "Defaults" settings subtab and added new options.
- Added a new "Status & progress" subtab.
- Refactored modals to use consistent greying-out behavior while adding items.
- Refactored the add account modal to have better cancel buttons & logic between steps.
- Refactored the batch task tags modal to include the cancel button and to not apply changes immediately.
- Refactored the test connection behavior to be more consistent.
- Refreshed the visual design for toasts, and also made them unified and more consistent.
- Slightly improved the design for an interstitial OAuth step for managed server types which provide logging in via the browser.
- Task badges now provide tooltips, and more badges can be clicked to navigate or edit related task data.
- Task editor now differentiates subtasks from regular tasks.
- The active priority in task editor now has a neutral text color.
- The "Add a subtask" button for the task item context menu now creates a subtask and opens the task editor panel instead of summoning a modal.
- The "In Process" status now has a new icon and a new color.
- The onboarding experience now includes startup & window steps.
- The sidebar now displays an icon for when account is disconnected, as well as when an account is (re)connecting.
- The UI for the repeat / recurrence modal has been significantly improved.
- Now follows the same design language as the date / reminders modals.
- Added a summary card.
- The "X" close button in modals will now be in the top right if a modal header has a description (otherwise, in the center).
- Tweaked the account step in onboarding. Now when you already have an account added, and decide to go to previous steps, Chiri can gracefully provide a fallback instead of showing the adding account process again.
- Tweaked the visual design of the task history modal by grouping entries by date.
- Visual tweaks for the task batch actions bar in collapsed state.
- When a CalDAV account is disconnected, if the WebDAV Push feature is enabled, WebDAV Push listeners will now be unregistered.
- When dragging an unsupported file to the Chiri app window, we now correctly display an unsupported file toast.
- Linux: The tray is now disabled by default for GNOME users if a tray host is missing.
- Linux: The tray now uses a new engine, ksni, which replaces the old libayatana-appindicator backend. As such, the tray behavior might be slightly different.
- macOS: Notifications now use the Time Sensitive interruption level.
Removed
- Removed the old global deletion-confirmation controls, including the separate permanent-deletion toggle. Permanent deletions now always require confirmation, while moving tasks to Recently Deleted has its own optional setting.
- Removed "View" as a notification action because it was redundant with the notification's other actions. It displayed a modal containing essentially the same notification actions.
- On supported platforms, clicking on a notification now highlights the task item.
- Linux: Removed the "Enable window decorations" setting option due to it being rather unreliable. The new default behavior is auto-detection.
- macOS: Removed the redundant "Delete Task" option in the app menu.
Fixes
- Fixed a potentially rare legacy migration data loss bug.
- Fixed an issue where a task's due-date badge could fail to show its overdue styling.
- Fixed an issue where a user could add reminders to a task in the task editor while simultaneously having the "Reminders" suboption under "Enable notifications" disabled.
- Fixed an issue where a user could receive notifications for a deleted task.
- Fixed an issue where an incorrect publisher name was used for Chiri for platforms like Windows.
- Fixed an issue where calendars created by Apple Reminders would be displayed with a placeholder calendar name in Chiri.
- Fixed an issue where cancelled tasks could still trigger notifications.
- Fixed an issue where clearing a subtask title could delete the subtask.
- Fixed an issue where, during onboarding, toasts might not be displayed.
- Fixed an issue where file extension filtering in the "Import" modal did not function correctly and accepted any extension.
- Fixed an issue where if the app runs into a runtime error, the app continues to run in the background but the actual tray icon is not displayed.
- Fixed an issue where, in the "Manual" sort mode, the cursor is the grab hand when hovering over a task.
- Fixed an issue where OAuth accounts like Fastmail, Nextcloud and others could receive 401 Unauthorized errors by introducing stronger expiry checks.
- Fixed an issue where right clicking a specific place in the accounts section in the sidebar could incorrectly open the browser context menu instead of Chiri's dedicated context menu.
- Fixed an issue where Runbox server type accounts were failing to be added due to an unaccounted HTTPS -> HTTP redirect.
- Fixed an issue where syncing could cause an unrelated task to appear under a selected tag.
- Fixed an issue where the edit account modal would unnecessarily send a request to a CalDAV server if only the account display name field changed.
- Fixed an issue where the priority value of "none" was hardcoded when adding subtasks. Now it respects the "default priority" setting value.
- Fixed an issue where the search bar in the emoji tab in the icon/emoji picker could get cut off as you scrolled.
- Fixed an issue where the time picker modal was missing a border around the footer area.
- Fixed an issue where the yellow color for the Tokyo Night color scheme was inconsistent with the actual color values in the documentation.
- Fixed an issue where toasts were not always dismissed automatically.
- Fixed borders for color pickers being inconsistent.
- Fixed color-scheme fallback issues, including dark-only schemes appearing in light mode and removed schemes leaving invalid settings behind.
- Fixed deleted subtasks appearing in the "Export" modal.
- Fixed faulty drag boundaries appearing in the sidebar's collapsed view.
- Fixed inconsistent title placeholders for tasks in read-only mode in the task editor.
- Fixed links not being reliably opened externally in the changelog & update modals.
- Fixed local calendars incorrectly having the "Server Order" option be available.
- Fixed logging being polluted:
- Connectivity checks past initial startup are now only logged if their state changes.
- Removed NotificationManagerMock registration spam.
- Collapsed identifier migration marker logs.
- Removed duplicate push manager initialized log.
- Fixed not being able to scroll in the account modals.
- Fixed render flashing issues in the icon/emoji picker.
- Fixed server types in the add account modal not having consistent cancel logic.
- Fixed stale pending deletion tombstones for tasks.
- Fixed status & progress fields being coupled together in task editor. You can now hide / show them independently of each other.
- Fixed the calendar field UI being inconsistent for tasks in read-only mode in the task editor.
- Fixed the cancel button not being present in the edit account modal.
- Fixed the cancel button not being present in the export modal.
- Fixed the Ctrl/Cmd+Delete shortcut for deleting tasks not working in the Recently Deleted view.
- Fixed the "recently deleted" toast appearing for discardable (non-modified) tasks.
- Fixed the search bar in the icon/emoji picker to now be more consistent with the rest of the app.
- Fixed the settings modal being unexpectedly smaller if the Chiri window was resized to be small.
- Fixed the WebDAV Push status text always being displayed in the account modal when testing a connection, regardless if WebDAV Push has been enabled or not.
- Linux: Fixed an issue where a user could not log in to Fastmail via OAuth by adding a
MimeTypeproperty to the .desktop file. - Linux: Fixed an issue where hovering over the tray icon would not display the title (and the description on supported desktop environments).
- Linux: Fixed AppImage unintentionally having self-updating functionality disabled.
- macOS: Fixed an issue where the "Select All" option in the menu did not select all tasks in the task list.
- macOS: Fixed an issue where the "Window" submenu in the app menu was missing quite a lot of options compared to any other app.
- macOS: Fixed being able to check updates in the app menu if Chiri was installed via a managed source (like Homebrew).
- Windows: Fixed an issue where pressing Ctrl+F twice could make the WebView2's search bar to appear.
📥 Downloads
Windows
- x64 Installer (.msi)
- ARM64 Installer (.msi)
- x64 Portable Installer (.exe)
- ARM64 Portable Installer (.exe)