You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: add backup and restore functionality with encryption options
- Implemented BackupSection component for managing backup packages.
- Added functionality to export and import data in CSV and JSON formats.
- Introduced options for encrypted backups with passphrase support.
- Enhanced user experience with validation and preview of backup packages.
- Updated WidgetCenter to handle new 'coming soon' feature for official widgets.
- Added legacy data detection and import functions in the Tauri API.
- Defined LegacyDataInfo type in the types module for better type safety.
Copy file name to clipboardExpand all lines: CHANGELOG.md
+11-1Lines changed: 11 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
5
5
6
6
---
7
7
8
-
## [2.0.0] - 2026-06-12
8
+
## [2.0.0] - 2026-07-17
9
9
10
10
### Added
11
11
@@ -45,6 +45,9 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
45
45
-**Local API server governance** — hardened all API server routes to enforce widget-scoped API token scopes and reject unscoped or revoked tokens.
46
46
-**Offline test harness scripts** — added `scripts/offline-journey-tests.sh` and `scripts/migration-rehearsal.sh` for local critical-journey and migration validation.
47
47
-**VS Code extension sidebar home page redesign** — added connection status badge, focus-mode indicator, today's VS Code time card, language/project breakdown with progress bars, top desktop apps, and cleaner action buttons; sidebar API calls now include `X-Api-Token` and `X-Client-Id` headers for local API governance compatibility.
48
+
-**Legacy 1.x data import prompt** — when the default profile is empty and a legacy 1.x database (e.g. upgraded from 1.4.4) is detected, Settings now shows a one-time dialog asking whether to import the existing data. An "Import legacy data" button is also shown below the current profile card.
49
+
-**Backend commands for legacy data import** — added `detect_legacy_data` and `import_legacy_data` commands to support the new import flow.
50
+
48
51
49
52
### Changed
50
53
@@ -71,9 +74,16 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
71
74
-**`getProjectDisplayName` helper** in `src/utils/format.ts` with unit tests: prefers `project_name`, falls back to the basename of `project_path`, and finally returns the localized `dashboard:unknownProject` label.
72
75
-**`dashboard:unknownProject`** i18n key across all desktop locales (`en`, `zh-CN`, `zh-TW`, `ja`, `ko`, `fr`, `de`, `es`).
73
76
-**`unknownProject`** runtime string to the VS Code extension i18n module, used by the extension dashboard panel when a project name is missing.
77
+
-**Profile switching UI entry removed** — the profile switch buttons in Settings > Profiles are no longer shown. The `switch_profile` backend command remains available for API/internal use.
78
+
-**Legacy data migration is now user-confirmed** — startup no longer silently imports legacy 1.x data into the default profile. Importing now requires explicit confirmation via the new prompt or button, and is applied on the next restart through a pending-import flag.
79
+
-**Desktop pet widget temporarily disabled** — the pet widget is marked as “Coming Soon ” in the Widget Center; its title, description, and add button are grayed out and disabled. A backend guard in `create_widget` also rejects `widget_type == "pet"` to prevent creation through any path.
80
+
-**Profile creation button disabled** — the “Create profile” button in Settings > Profiles is temporarily disabled and the creation dialog is hidden.
74
81
75
82
### Fixed
76
83
84
+
-**Backup & Restore UI/UX** — rewrote the Settings page into a clear export/import card layout, added explicit file-selection feedback, a step-by-step validate-then-restore flow, and native notifications on success.
85
+
-**Restore feedback** — restoring a backup now shows a clear status message instead of failing silently; encrypted backups correctly prompt for the passphrase before applying.
86
+
-**Native confirmation dialogs in Settings** — replaced `window.confirm` with `@tauri-apps/plugin-dialog``confirm()` to prevent `dialog.confirm not allowed` errors in the Tauri webview.
77
87
-**Settings excluded apps could not be unchecked after saving** — fixed a path-normalization mismatch: the backend stores ignored app paths lowercased, but the frontend compared original-case paths, causing excluded apps to vanish from the list. The list now renders ignored apps directly with case-insensitive matching so they remain visible and togglable.
78
88
-**VS Code extension sidebar title showed raw `%timelens.homeView.name%`** — fixed invalid JSON in `vscode-extension/package.nls.json` and `vscode-extension/package.nls.zh-CN.json` (missing comma after `timelens.apiToken.description`), which prevented VS Code from resolving all `%...%` placeholder strings in `package.json`.
79
89
-**Profile switching reliability** — fixed a bug where switching profiles could result in a "connection refused" error or missing profiles because `current_profile_id` was stored inside the encrypted profile database.
0 commit comments