新增能力:实现可编辑 DOCX 导出、通用主题样式翻译、Markdown 基础工具栏、统一导出菜单与导出进度提示;14 套主题支持纸张、页边距、字体、段落、代码、图片、图表、封面、页眉页脚和页码映射。 问题修复:修复精确预览放大后的右侧留白、保存与导出默认路径、Desktop DOCX 媒体捕获超时、品牌改名后的安装目录迁移,并统一主题展示名称。 兼容与部署:产品更名为墨呈/MorphDoc,保留 NSIS 安装身份;Desktop 内置 Pandoc 3.9.0.2,字体包支持安装向导可选与独立分发;Docker 内置 Chromium、Pandoc 和正式字体,支持离线部署。 发布规则:新增 release/v<version> 唯一产物目录、Docker 镜像 tar.gz、Web 部署 ZIP、manifest.json 和 SHA256SUMS.txt;正式字体迁入版本化仓库目录并由 Git LFS 管理。 验证结果:全项目测试、类型检查、生产构建、git diff --check、14 主题 DOCX 与视觉矩阵、Web API、Desktop 安装版、Word/WPS 可编辑性和字体门禁全部通过;离线镜像经 docker load 复验且容器保持 healthy。 发布产物:Desktop 安装器与 ZIP、字体安装器与 ZIP、Web 镜像压缩包、离线部署包、发行说明和校验清单已整理至本地 release/v0.6.0。Windows EXE 当前未进行 Authenticode 签名,仅按公司内部发布风险规则分发。
72 lines
2.4 KiB
Markdown
72 lines
2.4 KiB
Markdown
# 发版规则
|
|
|
|
## 唯一产物目录
|
|
|
|
所有正式分发文件必须统一归集到仓库根目录下的:
|
|
|
|
```text
|
|
release/v<semver>/
|
|
```
|
|
|
|
`release/`、`output/`、`apps/desktop/out/`、`apps/desktop/.runtime/`、
|
|
`tmp/` 以及门禁报告均是本地中间产物或发布产物,必须保持 Git 忽略。
|
|
大型二进制不得直接提交到普通 Git 历史。
|
|
|
|
正式目录只能由 `npm run release:stage` 生成。脚本先写入同一文件系统中的
|
|
`.stage-*` 临时目录,完成镜像封包、清单和校验和后再原子改名;目标版本
|
|
目录已经存在时必须拒绝覆盖。
|
|
|
|
## 标准目录内容
|
|
|
|
每个版本至少包含:
|
|
|
|
```text
|
|
release/v<version>/
|
|
├── MorphDoc-<version>-x86_64-Setup.exe
|
|
├── MorphDoc-<version>-x86_64.zip
|
|
├── MorphDoc-FontPack-<id>-<font-version>-x86_64-Setup.exe
|
|
├── MorphDoc-FontPack-<id>-<font-version>.zip
|
|
├── MorphDoc-Web-<version>-image.tar.gz
|
|
├── MorphDoc-Web-<version>-deploy.zip
|
|
├── manifest.json
|
|
├── SHA256SUMS.txt
|
|
└── RELEASE-NOTES.md
|
|
```
|
|
|
|
Docker 镜像必须通过 `docker save` 导出并使用 gzip 压缩。Web 部署 ZIP 必须
|
|
包含 Compose、Nginx、环境变量示例和离线加载说明。`manifest.json` 记录
|
|
版本、Git 提交、镜像 ID、文件大小和 SHA-256;`SHA256SUMS.txt` 用于分发后
|
|
独立校验。
|
|
|
|
## 正式字体资产
|
|
|
|
正式字体固定存放于:
|
|
|
|
```text
|
|
font-packs/assets/<font-pack-id>/<semver>/
|
|
```
|
|
|
|
TTF、OTF、WOFF 和 WOFF2 必须由 Git LFS 跟踪。新增或升级字体前必须完成
|
|
许可证、来源、内部字族名、文档嵌入权限、字节数和 SHA-256 审查;任何内容
|
|
变化都必须提升字体包 SemVer。克隆后需要先执行 `git lfs pull`,构建器不会
|
|
下载或使用系统字体代替缺失资产。
|
|
|
|
## 发版步骤
|
|
|
|
1. 完成全量测试、类型检查、生产构建和视觉门禁。
|
|
2. 构建 Desktop 安装包、便携 ZIP 和字体附件。
|
|
3. 构建并验证版本化 Docker 镜像。
|
|
4. 准备 `docs/releases/v<version>.md`。
|
|
5. 执行:
|
|
|
|
```powershell
|
|
npm run release:stage -- --version <version> --image md-to-pdf:v<version>
|
|
```
|
|
|
|
6. 逐项核验 `SHA256SUMS.txt`,并从离线归档重新加载 Docker 镜像。
|
|
7. 创建内容完整的 `release:` 提交。
|
|
8. 创建 annotated `v<version>` 标签,标签说明与发布提交正文一致。
|
|
|
|
安装器公开分发前应完成 Authenticode 签名;未签名产物只能按内部发布风险
|
|
规则分发。
|