|
| 1 | +# NoteConnection v1.6.0 Release Update Report |
| 2 | + |
| 3 | +## 1. Comparison Baseline |
| 4 | + |
| 5 | +- **Project**: NoteConnection |
| 6 | +- **Target release**: `v1.6.0` |
| 7 | +- **Diff range**: `v1.3.0..HEAD` |
| 8 | +- **Baseline tag timestamp**: `2026-01-24 20:37:25 +0800` |
| 9 | +- **Current head**: `7f3bb04` (`2026-03-23 19:20:27 +0800`) |
| 10 | + |
| 11 | +## 2. Quantitative Change Summary |
| 12 | + |
| 13 | +- **Commits (no merges)**: `104` |
| 14 | +- **Files changed**: `297` |
| 15 | +- **Code/doc churn**: `+125,500 / -10,075` |
| 16 | + |
| 17 | +Top change concentration (by added lines): |
| 18 | + |
| 19 | +1. `src/`: `+29,116` (`115` files) |
| 20 | +2. `build/`: `+24,851` (`15` files) |
| 21 | +3. `docs/`: `+21,589` (`38` files) |
| 22 | +4. `path_mode/`: `+10,798` (`27` files) |
| 23 | +5. `scripts/`: `+10,394` (`40` files) |
| 24 | +6. `src-tauri/`: `+8,889` (`17` files) |
| 25 | + |
| 26 | +Quality scope expansion: |
| 27 | + |
| 28 | +- **Test files added/updated**: `53` |
| 29 | +- **Contract tests**: `38` |
| 30 | +- **New NoteMD backend module files**: `13` |
| 31 | +- **New/updated CI workflows**: `6` |
| 32 | + |
| 33 | +## 3. Major Engineering Changes Since v1.3.0 |
| 34 | + |
| 35 | +### A. Runtime Architecture and Desktop Shell |
| 36 | + |
| 37 | +- Migrated and hardened a Tauri-first runtime (`src-tauri/` introduced and expanded). |
| 38 | +- Removed legacy Electron runtime files and switched to sidecar-driven desktop packaging. |
| 39 | +- Implemented single-window orchestration behavior between Tauri and Godot path mode flows. |
| 40 | +- Added safer close behavior and visibility handoff logic for runtime window switching. |
| 41 | + |
| 42 | +### B. NoteMD End-to-End Integration |
| 43 | + |
| 44 | +- Added full NoteMD backend subsystem under `src/notemd/`: |
| 45 | + - `BatchProcessor`, `FileProcessor`, `Translator`, `ContentGenerator` |
| 46 | + - `MermaidProcessor`, `FormulaFixer`, `DuplicateDetector` |
| 47 | + - `NotemdService`, typed request/response contracts |
| 48 | +- Added frontend integration (`src/frontend/notemd.html`, `notemd.js`, `notemd.css`). |
| 49 | +- Stabilized Browse/file/folder/save picker interaction path in Tauri integration. |
| 50 | +- Enforced user guidance for PDF import workflow (`PDF -> Mineru -> Markdown`). |
| 51 | + |
| 52 | +### C. Godot Path Mode and UX |
| 53 | + |
| 54 | +- Expanded `path_mode/` with new scenes, renderer logic, panel system, and embedding panel hooks. |
| 55 | +- Improved Path UI behavior, tree rendering, settings flow, and bridge synchronization. |
| 56 | +- Fixed Godot window visibility and deprecated API usage paths. |
| 57 | + |
| 58 | +### D. Mobile Export and Multi-Pipeline Support |
| 59 | + |
| 60 | +- Expanded dual Android strategy: |
| 61 | + - Capacitor Android pipeline (`android/`) |
| 62 | + - Tauri Android pipeline (`src-tauri/gen/android/...`, runner/patch scripts) |
| 63 | +- Added Java compatibility alignment and prerequisite verification tooling. |
| 64 | +- Updated Android package/application metadata and build scripts for release consistency. |
| 65 | + |
| 66 | +### E. Reliability, Security, and Operational Governance |
| 67 | + |
| 68 | +- Added FixRisk operational workflow and strict evidence support. |
| 69 | +- Added SBOM generation + attestation + verification scripts/contracts. |
| 70 | +- Added privacy manifest, sidecar signature, pathbridge strict schema, and detox pipeline verifications. |
| 71 | +- Added wasm parity verification/benchmarking and historical guardrails. |
| 72 | + |
| 73 | +### F. Build Performance and Dev Productivity |
| 74 | + |
| 75 | +- Added low-memory Tauri build wrappers: |
| 76 | + - `scripts/run-tauri-build.js` |
| 77 | + - low-memory policy updates in `scripts/run-tauri-android.js` |
| 78 | + - release profile controls in `src-tauri/Cargo.toml` |
| 79 | +- Added sidecar preflight (`scripts/ensure-sidecar-ready.js`) to skip redundant rebuilds in warm dev loops. |
| 80 | +- Enabled TypeScript incremental compile cache (`tsconfig.json` incremental options). |
| 81 | + |
| 82 | +## 4. Version Synchronization for v1.6.0 |
| 83 | + |
| 84 | +Updated to `1.6.0`: |
| 85 | + |
| 86 | +- `package.json` |
| 87 | +- `package-lock.json` (top-level and root package entry) |
| 88 | +- `src-tauri/tauri.conf.json` |
| 89 | +- `src-tauri/src/lib.rs` (About dialog display string) |
| 90 | +- `android/app/build.gradle` (`versionName 1.6.0`, `versionCode 16000`) |
| 91 | + |
| 92 | +README synchronization completed: |
| 93 | + |
| 94 | +- `README.md` (EN + ZH sections) |
| 95 | +- `docs/en/README.md` |
| 96 | +- `docs/zh/README.md` |
| 97 | + |
| 98 | +## 5. Platform Release Matrix (v1.6.0) |
| 99 | + |
| 100 | +| Platform | Version | Artifact(s) | Status | |
| 101 | +|---|---|---|---| |
| 102 | +| npm package | `1.6.0` | publish target from `package.json` | Ready | |
| 103 | +| Windows Desktop (Tauri x64) | `1.6.0` | `src-tauri/target/release/bundle/nsis/NoteConnection_1.6.0_x64-setup.exe` | Built | |
| 104 | +| Windows Desktop (Tauri MSI) | `1.6.0` | `src-tauri/target/release/bundle/msi/NoteConnection_1.6.0_x64_en-US.msi` | Built | |
| 105 | +| Android (Capacitor debug) | `1.6.0` | `android/app/build/outputs/apk/debug/app-debug.apk` | Built | |
| 106 | +| Android (Tauri universal APK) | `1.6.0` | `src-tauri/gen/android/app/build/outputs/apk/universal/release/app-universal-release-unsigned.apk` | Artifact available | |
| 107 | +| Android (Tauri universal AAB) | `1.6.0` | `src-tauri/gen/android/app/build/outputs/bundle/universalRelease/app-universal-release.aab` | Artifact available | |
| 108 | + |
| 109 | +Tauri Android metadata snapshot: |
| 110 | + |
| 111 | +- `src-tauri/gen/android/app/build/outputs/apk/universal/release/output-metadata.json` |
| 112 | +- `versionName: "1.6.0"` |
| 113 | +- `versionCode: 1006000` |
| 114 | + |
| 115 | +Capacitor Android metadata snapshot: |
| 116 | + |
| 117 | +- `android/app/build/outputs/apk/debug/output-metadata.json` |
| 118 | +- `versionName: "1.6.0"` |
| 119 | +- `versionCode: 16000` |
| 120 | + |
| 121 | +## 6. Verification Evidence (This Release Pass) |
| 122 | + |
| 123 | +Successful commands: |
| 124 | + |
| 125 | +1. `npm run build:mini` |
| 126 | +2. `npm run verify:fixrisk:issues` |
| 127 | +3. `npm run tauri:build:mini` |
| 128 | +4. `npm run mobile:build:capacitor` |
| 129 | +5. `npm run mobile:build:both` (full dual mobile pipeline run) |
| 130 | + |
| 131 | +FixRisk status: |
| 132 | + |
| 133 | +- `FR-001..FR-008`, `FR-010..FR-015`: `VERIFIED-CLOSED` |
| 134 | +- `FR-009`: `VERIFIED-PENDING` (operational evidence freshness/threshold pending) |
| 135 | + |
| 136 | +## 7. Known Risk Notes |
| 137 | + |
| 138 | +1. **Intermittent Tauri Android rebuild OOM on this host**: |
| 139 | + - Repeated `npm run tauri:android:build:universal` retries can fail in Rust Android target compilation with memory allocation aborts. |
| 140 | + - Previously generated `v1.6.0` universal APK/AAB artifacts are present and version-aligned. |
| 141 | +2. **FR-009 remains operationally pending**: |
| 142 | + - Functional checks pass, but strict large-graph physical-device evidence must be refreshed for complete closure. |
| 143 | + |
| 144 | +## 8. Release Recommendation |
| 145 | + |
| 146 | +**Go** for `v1.6.0` GitHub + npm synchronization, with two operational notes: |
| 147 | + |
| 148 | +1. Publish the current desktop and Android artifacts already generated for `1.6.0`. |
| 149 | +2. Run Tauri Android rebuild on a higher-memory CI/host before final Android artifact rotation if reproducibility from clean state is required. |
| 150 | + |
0 commit comments