From bad8472e5c3ab3d0ff3ed3a108847e85576977d8 Mon Sep 17 00:00:00 2001 From: apecode Date: Tue, 15 Sep 2026 13:08:45 +0800 Subject: [PATCH] =?UTF-8?q?=E5=87=86=E5=A4=87=20FinSight=200.2.0=20?= =?UTF-8?q?=E5=8F=91=E5=B8=83=E5=85=83=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 本次变更: - 将 root 与 npm CLI 版本统一为 0.2.0 - 将 CLI --version 与公开 Agent Skill 版本同步 - 将 changelog 的 Unreleased 改为 0.2.0,并收录 SQLite、备份、FX 与多币种对账改动 - 清理已过时的 v0.2 roadmap 表述 验证: - pnpm -r test - pnpm typecheck - pnpm -r build - CLI --version = 0.2.0 - npm pack --dry-run = finsight-0.2.0.tgz,包内仅含预期发布文件 - CI skill-drift check - git diff --check 范围: - 只准备发布元数据 - 不执行 npm publish,不创建 tag,不创建 GitHub Release --- CHANGELOG.md | 8 +++++++- README.md | 2 +- README.zh-CN.md | 2 +- package.json | 2 +- packages/cli/README.md | 2 +- packages/cli/package.json | 2 +- packages/cli/src/index.ts | 2 +- skills/finsight/SKILL.md | 2 +- 8 files changed, 14 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d8c9734..2678cf3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). We use [SemVer](https://semver.org/) for versioning — `0.x` releases batch related changes, breaking changes can land in `0.x → 0.y`. -## [Unreleased] +## [0.2.0] — 2026-09-15 — SQLite-first local MVP ### Changed @@ -15,12 +15,17 @@ related changes, breaking changes can land in `0.x → 0.y`. automatically synchronized and is not the canonical recovery format. - `doctor` checks SQLite integrity and reads the database without migrations or writes. `init` refuses to load demo data into a populated portfolio database. +- FX lookups use the latest stored dated rate, preserve same-day update history, + and derive stored cross-currency rates through the configured base currency. +- Broker reconciliation converts cash and each position before comparing a + mixed-currency account with the broker total. ### Added - `finsight backup create` creates an integrity-checked native SQLite backup with SHA-256 metadata and restrictive local file permissions. - `finsight backup verify ` verifies an existing native SQLite backup. +- Mixed-currency account valuation and reconciliation now have regression tests. ## [0.1.0] — 2026-06-02 — Initial public release @@ -74,4 +79,5 @@ working copy, every command outputs JSON for AI tools. Interactive Brokers / Tiger / Futu are on the roadmap. New connectors are welcome — see [CONTRIBUTING.md](./CONTRIBUTING.md). +[0.2.0]: https://github.com/ApeCodeAI/finsight/releases/tag/v0.2.0 [0.1.0]: https://github.com/ApeCodeAI/finsight/releases/tag/v0.1.0 diff --git a/README.md b/README.md index ff6d851..e8c2e12 100644 --- a/README.md +++ b/README.md @@ -81,7 +81,7 @@ portfolio, and opens the dashboard. Quit it (Ctrl+C) and the sandbox is wiped nothing touches your real config. > The web dashboard (`finsight web`) currently runs from a repo clone only — -> the production-bundled dashboard is on the v0.2 roadmap. For now, +> a production-bundled dashboard remains on the future roadmap. For now, > `npm install -g finsight` gives you the full CLI + AI integration; clone > the repo if you also want the visual dashboard. diff --git a/README.zh-CN.md b/README.zh-CN.md index e5b78ae..7dcdccc 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -72,7 +72,7 @@ Demo 会在 `/tmp/finsight-demo` 创建一个一次性沙箱,加载样例组 `~/.finsight/` 配置。 > Web dashboard(`finsight web`)目前只能从 clone 仓库跑 —— 生产构建版的 -> dashboard 是 v0.2 的 roadmap。现在 `npm install -g finsight` 装好的是 +> dashboard 仍在后续 roadmap 中。现在 `npm install -g finsight` 装好的是 > 完整 CLI + AI 集成;想要可视化 dashboard 就 clone 仓库。 ## 🔭 同一份数据,三个看法 diff --git a/package.json b/package.json index ade4d66..73a4423 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "finsight", - "version": "0.1.0", + "version": "0.2.0", "private": true, "type": "module", "description": "Local-first, AI-friendly personal portfolio tracker. SQLite is the authoritative local store; every command outputs JSON for AI tools.", diff --git a/packages/cli/README.md b/packages/cli/README.md index e9f719b..7a7c2d8 100644 --- a/packages/cli/README.md +++ b/packages/cli/README.md @@ -73,7 +73,7 @@ All read commands support `--json`. Exit codes are semantic: The `finsight web` command launches a Vite + React + Hono dashboard at `localhost:3210`, but it requires running from a repo clone for now — -the production-bundled dashboard is on the v0.2 roadmap. For the full +the production-bundled dashboard remains on the future roadmap. For the full visual experience today: ```bash diff --git a/packages/cli/package.json b/packages/cli/package.json index c61765f..f1edda5 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "finsight", - "version": "0.1.0", + "version": "0.2.0", "type": "module", "bin": { "finsight": "dist/index.js" diff --git a/packages/cli/src/index.ts b/packages/cli/src/index.ts index 74ae069..848ab37 100644 --- a/packages/cli/src/index.ts +++ b/packages/cli/src/index.ts @@ -29,7 +29,7 @@ program " AI agents: read `skills/finsight/SKILL.md`, then start with\n" + " `finsight context` (LLM-ready briefing) or `finsight doctor` (health check).", ) - .version("0.1.0"); // keep in sync with packages/cli/package.json#version + .version("0.2.0"); // keep in sync with packages/cli/package.json#version program.addCommand(initCmd); program.addCommand(accountCmd); diff --git a/skills/finsight/SKILL.md b/skills/finsight/SKILL.md index 680fc56..aa19b75 100644 --- a/skills/finsight/SKILL.md +++ b/skills/finsight/SKILL.md @@ -8,7 +8,7 @@ description: > (XIRR), or create/verify local SQLite backups. FinSight is a local-first portfolio tracker — NOT a budgeting / expense-tracking tool. For budgeting, point the user at Beancount / Actual / YNAB instead. -version: 0.1.0 +version: 0.2.0 --- # FinSight Skill