Skip to content

Commit 05038fa

Browse files
committed
chore: prepare v2.6.0 release
1 parent 5cee8ac commit 05038fa

9 files changed

Lines changed: 30 additions & 19 deletions

File tree

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ jobs:
4646
set -euo pipefail
4747
version="$(node -p "JSON.parse(require('fs').readFileSync('package.json', 'utf8')).version")"
4848
commit_hash="$(git rev-parse --short HEAD)"
49-
base_name="FlashMaster-${version}-${commit_hash}"
49+
base_name="FlashMaster-${version}+${commit_hash}"
5050
{
5151
echo "version=${version}"
5252
echo "commit_hash=${commit_hash}"

AGENTS.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -109,8 +109,9 @@ After updating:
109109
`CHANGELOG-zh.txt`.
110110
- If the app version is bumped, update `package.json`; the build will append the
111111
FlashMaster Git short hash automatically.
112-
- Do not manually edit `__FDNEXT_VERSION__`; it is derived in `vite.config.js` from
113-
the fdnext package version and submodule Git short hash.
112+
- Do not manually edit `__FDNEXT_VERSION__` or `__FDNEXT_COMMIT_HASH__`; they are
113+
derived in `vite.config.js` from the fdnext package version and submodule Git
114+
short hash.
114115
- Stage the submodule pointer update itself, plus any app, changelog, or version
115116
files that intentionally changed.
116117

@@ -144,10 +145,11 @@ Manual smoke test:
144145
## Versioning And Changelog
145146

146147
- `package.json` contains the base app version.
147-
- `vite.config.js` exposes `VERSION` as `<package version>-<git short hash>`.
148-
- `vite.config.js` exposes `__FDNEXT_VERSION__` as `<fdnext package version>-<fdnext
149-
git short hash>`.
150-
- Changelog display uses only the main version without the commit hash.
148+
- `vite.config.js` exposes `VERSION` as `<package version>+<git short hash>`.
149+
- `vite.config.js` exposes the fdnext package version and Git short hash through
150+
`__FDNEXT_VERSION__` and `__FDNEXT_COMMIT_HASH__`; the UI displays them as
151+
`<fdnext package version>+<fdnext git short hash>`.
152+
- Changelog state uses only the main version without SemVer build metadata.
151153
- Changelog source files live at the repository root:
152154
- `CHANGELOG.txt`
153155
- `CHANGELOG-zh.txt`

CHANGELOG-zh.txt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
FlashMaster by PeratX <peratx@itxtech.org>
22
版权所有 (c) 2019-2026 iTX Technologies
33
===================================
4-
版本 2.6.0-dev(快照日期:2026-07-16
4+
版本 2.6.0(发布日期:2026-08-26
55

66
FlashMaster 更新:
7+
- 将 FlashMaster 与 fdnext 版本显示统一为 SemVer 构建元数据格式(`x.x.x+hash`);单文件产物名同步使用该格式,更新日志状态仍按基础版本记录。
78
- 重组 Commercial Banner 能力弹窗,将能力按应用与平台、数据与自动化、系统工程与专项技术分组,并将操作文案调整为低压力的“讨论需求”和更简洁的“查看能力”。
89
- 优化高密度工作台的明暗主题:分别建立深色与浅色中性色阶,拉开浅色模式页面、面板和激活导航层级;消除主题切换后进入主界面时 Market Pulse 上方的瞬时浅色条,并让深色输入框与面板层级更协调;平衡设置页侧栏,并将 PN/Flash ID 主输入操作统一为聚焦的“解析 + 搜索”。搜索页查询为空时,搜索、解析及标题栏快捷按钮保持不可点击;既有面板边框和 Market Pulse 紧凑尺寸保持不变。
910
- 稳定移动端 Safari 的 Market Pulse:多行情源更新改为合并稳定资产集合并锚定当前可见 ticker,可见槽位复用 DOM;CSS 驱动滚动改为独立周期续播,不再依赖无限动画边界与负延迟恢复,避免整排 ticker 短暂切换和自动滚动卡顿,同时保留横向拖动交互。
@@ -14,7 +15,8 @@ FlashMaster 更新:
1415
- 加固内嵌解析器降级流程:Worker 超时或传输失败后立即终止并禁用,当前及后续请求直接降级,避免重复等待 30 秒。
1516

1617
fdnext v3.2.0 更新要点:
17-
- 内嵌解析器同步 fdnext v3.2.0 最新快照(99bd6b7)。
18+
- 内嵌解析器同步 fdnext v3.2.0 正式版(5b2e3df)。
19+
- 更新 FDB V86 关联:当 PN 与 Flash ID 的 NAND die profile 或每 CE die 拓扑明确冲突时裁剪关联;信息缺失或拓扑不完整时继续 fail-open 保留,不把未知信息判为冲突。
1820
- 扩展 Micron DRAM 料号解码覆盖,并将 DRAM 拓扑默认值限制在已识别 token 上,避免未知料号模式被推断出缺乏依据的拓扑信息。
1921
- 扩展 Biwin、ESMT、ISSI、Kingston、KIOXIA、Longsys、Micron、Nanya、Samsung、SanDisk、SK hynix、SpecTek、Winbond、YMTC 等重点厂商的料号解码、目录与搜索资源,新增和完善 DRAM、HBM、Raw NAND、SPI NAND、eMMC、eMCP、UFS、SSD、GDDR7 与 CXMT 结构;统一新版 SanDisk iNAND eMMC/UFS token 解码并保留旧版覆盖,同时去重 Micron PN 资源。
2022
- 扩展 ESMT、ISSI、Macronix、Samsung 旧版大页 NAND、Winbond Parallel NAND 及其他旧版 NAND/MCP 的 Flash ID 覆盖;优化 KIOXIA plane 映射与 SanDisk MCP 解码,并补充 YMTC X4-6080 plane 数量。

CHANGELOG.txt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
FlashMaster by PeratX <peratx@itxtech.org>
22
Copyright (c) 2019-2026 iTX Technologies
33
===================================
4-
Version 2.6.0-dev (Snapshot date: 2026-07-16)
4+
Version 2.6.0 (Release date: 2026-08-26)
55

66
FlashMaster updates:
7+
- Standardized FlashMaster and fdnext version display on SemVer build metadata syntax (`x.x.x+hash`); single-file artifact names use the same version form, while changelog state continues to track the base version.
78
- Reorganized the Commercial Banner capabilities dialog into application/platform, data/automation, and systems/specialized-engineering groups, with lower-pressure “Discuss a project” and concise “View capabilities” actions.
89
- Refined the dense workstation themes with separate dark and light neutral ramps, clearer light-mode page, panel, and active-navigation hierarchy, no transient light strip above Market Pulse after switching themes, better-aligned dark input surfaces, a balanced Settings side rail, and focused PN/Flash ID decode-and-search actions. Search, decode, and header shortcut actions now remain disabled while a search query is empty. The established panel borders and compact Market Pulse size remain unchanged.
910
- Stabilized Market Pulse on mobile Safari: quote sources now merge into a stable asset set while preserving the current visible ticker, visible slots reuse their DOM nodes, and CSS-driven scrolling continues through independent cycles instead of relying on an infinite-animation boundary and negative-delay resume. This prevents brief full-row ticker swaps and auto-scroll stalls while retaining horizontal drag behavior.
@@ -14,7 +15,8 @@ FlashMaster updates:
1415
- Hardened embedded parser failover: a timed-out or broken worker is now terminated and disabled so the current and subsequent operations fall back without repeated 30-second waits.
1516

1617
fdnext v3.2.0 highlights:
17-
- Integrated the latest fdnext v3.2.0 snapshot (99bd6b7) in the embedded parser.
18+
- Integrated the fdnext v3.2.0 release (5b2e3df) in the embedded parser.
19+
- Updated FDB V86 relations so PN and Flash ID links with explicitly conflicting NAND die profiles or per-CE die topology are removed, while incomplete or incoherent topology remains fail-open instead of being treated as a mismatch.
1820
- Expanded Micron DRAM part-number decoding coverage and gated DRAM topology defaults on recognized tokens, preventing unknown patterns from receiving speculative topology values.
1921
- Expanded PN decoding, catalogs, and search resources across Biwin, ESMT, ISSI, Kingston, KIOXIA, Longsys, Micron, Nanya, Samsung, SanDisk, SK hynix, SpecTek, Winbond, YMTC, and other priority vendors, covering broader DRAM, HBM, Raw NAND, SPI NAND, eMMC, eMCP, UFS, SSD, GDDR7, and CXMT structures. Modern SanDisk iNAND eMMC/UFS token decoding is unified while legacy coverage remains available, and duplicate Micron PN resources were removed.
2022
- Expanded Flash ID coverage for ESMT, ISSI, Macronix, Samsung legacy large-page NAND, Winbond parallel NAND, and other legacy NAND/MCP identifiers; refined KIOXIA plane mapping and SanDisk MCP decoding, and added the YMTC X4-6080 plane count.

docs/DEPLOYMENT.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,21 +43,21 @@ pnpm build
4343
```bash
4444
pnpm build:singlefile
4545
```
46-
*输出:* `dist-singlefile/FlashMaster-<version>-<commitHash>.html`
46+
*输出:* `dist-singlefile/FlashMaster-<version>+<commitHash>.html`
4747
*包含:* 完整的解析引擎、UI 图标、厂商 Logo、行情脉搏(联网时可用)及基础统计。
4848

4949
### 精简单文件 (Nano Flavor)
5050
```bash
5151
pnpm build:singlefile:nano
5252
```
53-
*输出:* `dist-singlefile/FlashMaster-<version>-<commitHash>-nano.html`
53+
*输出:* `dist-singlefile/FlashMaster-<version>+<commitHash>-nano.html`
5454
*特点:* 极致精简,无行情功能、无统计代码、不包含 `lightweight-charts` 库,默认关闭 ER 外部报告链接。适合完全物理隔离的环境。
5555

5656
### HTTP-only 单文件 (Pico Flavor)
5757
```bash
5858
pnpm build:singlefile:pico
5959
```
60-
*输出:* `dist-singlefile/FlashMaster-<version>-<commitHash>-pico.html`
60+
*输出:* `dist-singlefile/FlashMaster-<version>+<commitHash>-pico.html`
6161
*特点:* 不内嵌 fdnext 解析引擎,应用始终通过 HTTP API 查询远端 fdnext 服务,并默认关闭 ER 外部报告链接。适合统一维护服务端解析资源、前端只作为轻量入口的部署。
6262

6363
ER 外部报告链接可通过构建变量控制:

src/services/versionInfo.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,12 @@ export const getEmbeddedBuildMetadata = () => ({
99
export const formatFdnextVersion = (server, fallbackBuild = {}) => {
1010
const version = String(server?.version || fallbackBuild.version || 'dev').trim() || 'dev';
1111
const commitHash = String(server?.build?.commitHash || fallbackBuild.commitHash || '').trim();
12-
return commitHash && commitHash !== 'dev' ? `${version}-${commitHash}` : version;
12+
if (!commitHash || commitHash === 'dev') {
13+
return version;
14+
}
15+
const legacySuffix = `-${commitHash}`;
16+
const baseVersion = (version.endsWith(legacySuffix) ? version.slice(0, -legacySuffix.length) : version).split('+')[0];
17+
return `${baseVersion}+${commitHash}`;
1318
};
1419

1520
export const getEmbeddedVersion = () => {

src/store/index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -127,8 +127,8 @@ const getProjectVersion = () => {
127127

128128
const getChangelogVersion = (version = getProjectVersion()) => {
129129
const value = String(version || "").trim();
130-
const buildHash = value.match(/-([0-9a-f]{7,40}|dev)$/i)?.[1];
131-
return buildHash || value;
130+
const versionWithoutBuildMetadata = value.split("+")[0];
131+
return versionWithoutBuildMetadata.replace(/-([0-9a-f]{7,40})$/i, "");
132132
};
133133

134134
const getSeenChangelogVersion = () => {

vite.config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ const commitHash = (() => {
2222
return 'dev';
2323
}
2424
})();
25-
const appVersion = `${packageJson.version}-${commitHash}`;
25+
const appVersion = `${packageJson.version}+${commitHash}`;
2626
const fdnextCommitHash = (() => {
2727
try {
2828
return execSync('git -C vendor/fdnext rev-parse --short=7 HEAD', { encoding: 'utf8' }).trim();

0 commit comments

Comments
 (0)