# NativeCAD 0.23.1 "Fedoseyev" — FreeCAD exports rebuild on recompute

**182 tools, unchanged from 0.23.0.** The command schema is unchanged (1.64.0). Installs on 0.17.2 and later pick this release up through the self-update.

* **`.FCStd` exports rebuild in FreeCAD and in graders.** `cad_export_body {format:"fcstd"}` writes no stored shapes, and in 0.23.0 FreeCAD opened the document "Up-to-date": `recompute()` did nothing and every PartDesign Body read as a null shape, so a grader that opens and recomputes the file scored 0 geometry on every NativeCAD output (CADSB-100443). Every `<Object>` is now written with `Touched="1"`, and the first `recompute()` rebuilds every sketch and feature. A file exported by 0.23.0 still opens; mark it to recompute (Ctrl+Shift+R) or `touch()` each object before `recompute()`.
* **Also in this build:** metal-printing DFM packs in `cad_dfm_check` (EBM, binder jet, metal FFF, DED/WAAM/EBAM, cold spray, metal jetting, MoldJet, metal DLP) and a metal post-processing chain; a 128 KiB `cad_help` schema answer; cylinder and cone patch imprint in mesh to B-rep. The cadbench rig fix (CADSF-101953) is repo tooling, not in the bundle.

See `packages/mcp/CHANGELOG.md` under `## 0.23.1`.

## Gates

* **bundle-smoke over stdio, on the shipped `.mcpb` and `.plugin`.** `cadsolver 0.23.1`, tools/list 182, staged git a66aea1e.
* **FreeCAD 1.1.0 recompute, on a `.FCStd` exported by the shipped bundle.** A 40 x 20 x 10 mm pad with a 6 mm hole: 11 objects Touched on open, the Body null before `recompute()`, then valid with volume 7717.257 mm³, equal to NativeCAD's. The same file from 0.23.0 recomputes 0 objects and leaves the Body null.

**Downloads:** https://featureboard.ai/nativecad/releases/nativecad-mcp-0.23.1.mcpb, https://featureboard.ai/nativecad/releases/nativecad-mcp-0.23.1.plugin and https://featureboard.ai/nativecad/releases/nativecad-mcp-0.23.1.tgz, plus the kernel library https://featureboard.ai/nativecad/releases/nativecad-kernel-0.3.2.tgz (`latest.json` lists bytes and sha256).

```
0c790d3d73e2130227e6f56fff3ffd7b2147f312848e1bb9012b94b13e06c8bf  nativecad-mcp-0.23.1.mcpb
5eb3d0a6598d042dd6144a66bae8d3976b7ec35effb3116bd95780c0e8329890  nativecad-mcp-0.23.1.plugin
be478657c1299b61f8e30375f17483b28349ada15135ecc92e6ed4f5b2d3c97b  nativecad-mcp-0.23.1.tgz
ddbff515ae856b23af40afcfbb1bfab11757de16d50748d4b1c54d46ad8f3056  nativecad-kernel-0.3.2.tgz
```

**Build.** Built in the Cowork VM from origin/master `a66aea1e` (the CADSB-100443 fix), with this release commit's version bump, CHANGELOG and install-line embeds applied, and `SOURCE_DATE_EPOCH` set to 1792305313 (that commit's time). `dist/server.min.js` (sha256 `6722e9aa…`) is identical in the `.tgz`, the `.mcpb` and the `.plugin`.
