SolidCraft is open-source parametric 3D CAD in Rust: sketch, constrain, extrude, and change a
parameter to watch the timeline rebuild. Documentation
· try it in the browser ·
contributing ·
issues. AI agents can model with it over MCP:
solidcraft-cli mcp (how).
What's new in SolidCraft 0.19.0-nightly.20261022.67.1 is listed below, and the
ROADMAP lists
the known limitations. Designs from every earlier version open in this one.
Upgrading from 0.7 or earlier. 0.8 changed the Linux app ID to ai.storyteller.solidcraft:
flatpak update offers to replace the old app, and the .deb, .rpm and AppImage remove the old
menu entry.
Upgrading from 0.5 or earlier. 0.6 renamed SolveCraft to SolidCraft and made the zip
container the default save format. .solvecraft designs, old settings folders and
SOLVECRAFT_* variables are still picked up, and solvecraft-cli still forwards to
solidcraft-cli. Want plain JSON? Use File ▸ Save As JSON… or --save design.json. On
macOS, replace SolveCraft.app with SolidCraft.app. Details:
compatibility notes.
Documentation, the browser app and the Flatpak feed use the SolidCraft project Pages URLs.
Which file?
- Windows:
SolidCraft-0.19.0-nightly.20261022.67.1-windows-x64.exeruns as is. Or install the.msi, or unzip the
-portable.zip(x64, x86 and arm64). - macOS 11+ (Apple silicon and Intel): open the
.dmgand dragSolidCraft.apponto Applications.
The CLI is insolidcraft-cli-0.19.0-nightly.20261022.67.1-macos-universal.zip. - Linux (x86_64 and aarch64, glibc 2.35+): the
.AppImage(chmod +x, then run it), the
.debor.rpm, the.flatpak(flatpak install --user <file>), the.snap
(sudo snap install --dangerous <file>, orsudo snap install solidcraftfrom the Snap Store), or the.tar.gz. - FreeBSD:
tar -xzf solidcraft-0.19.0-nightly.20261022.67.1-freebsd-x86_64.tar.gz --strip-components 1 -C /usr/local. - Web:
solidcraft-web-0.19.0-nightly.20261022.67.1.zipis a static site to host yourself. SHA256SUMS.txt:sha256sum -c SHA256SUMS.txt --ignore-missing.- Files without a version in the name (
solidcraft-windows-x64.msi,solidcraft-linux-x86_64.AppImage, …)
are the same packages under fixed names, for download links that always fetch the latest release.
For Flatpak feed installation and updates, add Flathub for the required runtime before
installing SolidCraft; keep both remotes in the same user installation:
flatpak remote-add --user --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
flatpak remote-add --user --if-not-exists solidcraft https://docs.solidcraft.io/flatpak/solidcraft.flatpakrepo
flatpak install --user solidcraft ai.storyteller.solidcraft
flatpak run ai.storyteller.solidcraftA remote added from the old bherbruck.github.io address no longer finds updates: run
flatpak remote-modify --user --url=https://docs.solidcraft.io/flatpak/repo/ solidcraft, then
flatpak update --user.
Flatpak installs from 0.7 or earlier use the old ID ai.storyteller.solvecraft: flatpak update --user
offers to replace it with ai.storyteller.solidcraft, and settings move along.
Single-file .flatpak bundles include the runtime repository address; missing runtimes
still need an internet connection. Linux installation details.
The builds aren't signed yet. On macOS, right-click SolidCraft.app in Applications and choose
Open the first time (or run xattr -dr com.apple.quarantine /Applications/SolidCraft.app).
On Windows, SmartScreen may say "Windows protected your PC": More info, then Run anyway.
Licences are built in (Help ▸ About ▸ Licences, solidcraft-cli licences); the packages also
install THIRD-PARTY-LICENSES.txt.
What's Changed
- ui-egui tests: hold OK's evaluation where a test checks it is computing by @raykholo in #4040
- Kernel paused: label new kernel issues, PRs and discussions (#3992) by @jyviko in #3994
- Display plans and the model cache for large STEP assemblies (#2814) by @jyviko in #4021
- Align takes planes and the origin by @bherbruck in #4248
- Face names: pieces of a split face keep their numbers across evaluations (#3902) by @bherbruck in #3991
- Thread: turn a shaft thicker than a modelled thread down to its major diameter by @bherbruck in #4256
- Release 0.18.3 by @bherbruck in #4270
- Startup: don't wait for system fonts before the first frame by @bherbruck in #4283
- Windows: take the foreground when the window first appears by @bherbruck in #4284
- Start page: nothing waits on files or pictures by @bherbruck in #4295
- Windows: keep the restored window's title bar within reach by @bherbruck in #4299
- Main green: revert the start page change (#4295) and fix the format 28 test by @bherbruck in #4335
- No camera animation: view changes and orbits apply at once by @bherbruck in #4296
- Start page: nothing waits on files or pictures (again) by @bherbruck in #4349
- Sketch tools come back in the variant used last by @bherbruck in #4308
- 3D mouse: choose which motion drives each axis by @nomadsgalaxy in #2782
- Release 0.18.4 by @bherbruck in #4362
- solid.mirror: copies join their source's component; follow the saved placement by @NOWN-DEV in #1938
- Tapped Hole: keep Custom selection and edit nominal diameter (#2440) by @amolinari-autotex in #2441
- Parameters: a new parameter's expression starts blank, and Tab selects a field (#2919) by @phanoob in #3096
- Clicking a parameter suggestion inserts it (#3257) by @phanoob in #3260
- Center circle through a snapped point stays on it (#3099) by @phanoob in #3277
- Fuzzer: a chamfer may add material, as a fillet may by @Tyler-Chiriboga in #3868
- Sketch trim and extend refuse an offset's ends instead of undoing silently (#3917) by @raykholo in #3918
- Restyle the vertical history sidebar (#2028) by @Nathan-Dane in #3953
- fix: midpoint tool rejects two lines (#3805) by @Mauznemo in #3836
- CLI: --help prints usage to stdout and exits 0 (#1818) by @DuBearte in #1828
- Bug report: clarify the form and retain margins on resize (#2244) by @takuto-NA in #2246
- Dialogs picking a plane show the origin planes in the view (#2581) by @DuBearte in #2618
- Rename box: Tab (and leaving the box) keeps the new name (#3313) by @DuBearte in #3336
- IGES import: separate closed pieces of one part come in as separate solids (#3928) by @bherbruck in #3972
- Extrude preview: a cut from an empty root is no longer refused (#3085) by @raykholo in #3363
- Sketch Dimension:
name = valuedefines a user parameter (#2916) by @dannyow in #3638 - Export Current View as DXF includes shown sketches (#3708) by @raykholo in #3780
- Navigation: opt-in free orbit and shared Normal to Selection by @crono2250 in #1912
- Chamfer: a cutter that would reach into a nearby wall is not used by @bherbruck in #4539
- Bring back the view-change glide; keep orbit, pan and zoom instant by @bherbruck in #4596
- Implement compact workspace layout (#2029) by @Nathan-Dane in #4533
- Add official themes: SolidCraft 95, Cupertino, Nord and more by @bherbruck in #4602
- Release 0.19.0 by @bherbruck in #4603
- Make the web offline test independent of timing by @bherbruck in #4620
- Viewport: leave out placements of an instanced mesh that are out of view (#4646) by @oursland in #4647
New Contributors
Full Changelog: v0.18.2-nightly.20261021.63.1...v0.19.0-nightly.20261022.67.1