📦 Release Notes - v0.7.0
⚠️ 更新前重要提示
- 在更新到本版本之前,请务必导出 Prompt Manager 数据!
- 本版本修改了提示词的存储位置,如未提前导出,可能造成数据丢失。
操作步骤:
- 在 Gemini Voyager 中打开 Prompt Manager
- 点击“Export”下载 JSON 备份
- 更新后点击“Import”导入恢复
⚠️ Important: Before Updating
- Please export your Prompt Manager data before updating!
- This version changes where prompts are stored. Failing to export may result in data loss.
Steps:
- Open Prompt Manager in Gemini Voyager
- Click "Export" to download your prompts as JSON
- After updating, click "Import" to restore your prompts
English
✨ What's New
- Unified storage: Prompt Manager now uses
localStorage(notchrome.storage.sync); behavior aligns with Folder Manager. Data persists across reinstalls and directory moves. - Core refactor: layered architecture (
src/core,src/features), Facades (Timeline,FolderManager), focused managers, unified services (LoggerService,StorageService,DOMService), stronger types, robust errors (AppError). - Testing & DX: Vitest + jsdom; all tests passing (18/18); reliable mocks for browser APIs.
🎯 Why This Change?
chrome.storage.syncis tied to extension ID, causing data loss when IDs change (dev/prod switches, different build folders). UsinglocalStorageties data to gemini.google.com instead.
🗂️ Storage Summary
- Using
localStorage: prompt items; prompt panel position/lock; folder structure and contents. - Using
chrome.storage.sync: language preference; timeline settings; other global preferences.
🛠 Migration Notes (Contributors)
- Use
Timelinefacade andFolderManager(with internal managers andFolderStorageService). - See
REFACTORING_SUMMARY.mdfor architecture and APIs.
📦 Bundle Size & Performance
- No significant bundle change. Refactor reduces duplication and improves maintainability. Storage migration is transparent at runtime.
中文
✨ 更新内容
- 统一存储:Prompt Manager 使用
localStorage(不再用chrome.storage.sync),与 Folder Manager 一致。重装扩展或移动目录时数据仍可保留。 - 核心重构:分层架构(
src/core、src/features)、外观类(Timeline、FolderManager)、聚焦管理器、统一服务(LoggerService、StorageService、DOMService)、更强类型与健壮错误(AppError)。 - 测试与开发体验:采用 Vitest + jsdom,18/18 全部通过;完善浏览器 API Mock。
🎯 为什么要改?
chrome.storage.sync与扩展 ID 绑定,切换开发/生产或更换构建目录会导致 ID 变化并可能丢失数据;改用localStorage让数据与 gemini.google.com 绑定。
🗂️ 存储一览
- 使用
localStorage:提示词数据、提示面板位置与锁定状态、文件夹结构与内容。 - 使用
chrome.storage.sync:语言偏好、时间轴设置、其他全局偏好。
🛠 迁移须知(贡献者)
- 使用
Timeline外观类与FolderManager(搭配内部管理器与FolderStorageService)。 - 详细架构与 API 见
REFACTORING_SUMMARY.md。
📦 包体积与性能
- 包体积无显著变化;重构减少重复、提升可维护性;存储迁移在运行时自动完成。
Full Changelog: v0.6.5...v0.7.0