This checklist is the canonical release path for Forensics++.
- Confirm
package.json,src/config/app.ts,index.htmland the README badge use the intended version. - Move relevant entries from
CHANGELOG.mdunder Unreleased into the new release section. - Install exactly the locked dependency tree with
npm ci. - Do not add real evidence, credentials, private email or customer data to tests or fixtures.
npm run verify
npm run smoke:prod
npm run smoke:settings
npm run release:package -- --variant web
npm run build:standalone
npm run smoke:standalone
npm run release:package -- --variant standalone
# Leave dist/ ready for the website deployment.
npm run build
npm audit --omit=dev --registry=https://registry.npmjs.org
git diff --checkBrowser smoke tests require Chrome or Chromium; set CHROME_PATH when it is not at a standard macOS/Linux location. The standalone smoke verifies UI/hash routes over file:// without disabling browser file security. Worker analysis requires serving the unpacked package over HTTP. The web build is for domain-root hosting with SPA fallback for non-indexable tools.
For interface changes, also run the development server and full layout audit:
npm run dev -- --port 5174
AUDIT_URL=http://localhost:5174 npm run audit:layoutReview the generated report and representative desktop screenshots before release.
- Commit the complete source tree; do not commit
dist/,release/,node_modules/, audit screenshots or local environment files. - Confirm the release commit uses the maintainer identity
DyNooob <i@digiforensics.cn>. - Push the reviewed commit to
mainon the configured publishing remote:
git push <publishing-remote> mainUse the repository's configured publishing remote. Do not change its URL in a release commit, and do not push the release branch to an unrelated mirror. A source mirror may be kept for read-only reference, but it must not receive release pushes.
- Confirm the source verification succeeds on the publishing service.
- Confirm the build check succeeds, if the publishing service provides one.
- Verify the legal page, PWA manifest, CyberChef entry and several tool routes on the deployed site.
After the deployed build is verified:
git tag -a vX.Y.Z -m "Forensics++ vX.Y.Z"
git push <publishing-remote> vX.Y.ZThe local release commands verify the source, build dist/, create ForensicsPP-vX.Y.Z-static.zip, and write SHA256SUMS.txt. Publish both verified variant ZIPs, the checksum file and docs/releases/vX.Y.Z.md through the configured release service or static file host. Source publication and static package publication are separate steps.
本地发布命令会重新验证源码、构建 dist/、生成静态 ZIP 与 SHA-256 校验文件。将两种分发 ZIP、校验文件和对应的中英文 Release Notes 上传到配置的发布服务或静态文件站点。源码发布与静态包发布分开处理。dist/ 和 release/ 都不提交到 main。
Do not use git push --tags for a release. Push the reviewed version tag explicitly so unrelated local tags are never published.
发布时不要使用 git push --tags,只推送本次确认过的版本标签,避免把其他本地标签一并发布。
Revert the release commit through a normal review process or push a reviewed corrective commit to the configured publishing remote. Do not restore an old generated dist/ tree over the source repository.