Release 0.8.0 (#648)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
bherbruckandClaude Opus 5.5 authored and GitHub committed 2026-10-13 07:33:35 -04:00
1 parent 29258767ce
commit f5ae72057d
3 files changed
+65 -42

No files matched your search

+51 -28
View File
@@ -5,39 +5,62 @@ parameter to watch the timeline rebuild. [Documentation](https://bherbruck.githu
[issues](https://github.com/bherbruck/solidcraft/issues). AI agents can model with it over MCP: [issues](https://github.com/bherbruck/solidcraft/issues). AI agents can model with it over MCP:
`solidcraft-cli mcp` ([how](https://bherbruck.github.io/solidcraft/guide/mcp.html)). `solidcraft-cli mcp` ([how](https://bherbruck.github.io/solidcraft/guide/mcp.html)).
**Why 0.7:** this is a minor bump because the design file format moved to version 15 (sketches **Why 0.8:** this is a minor bump because the design file format moved to version 16, and
on cylinder caps and sheet metal panels need new references), and because it adds new features. because it adds many new features.
**What's new** **What's new**
- **Sketching on stacked extrudes works again.** Creating a sketch on the top face of an extrude - **Face actions work on far more faces.** Sketches, offset planes and press-pull now attach to
stacked on another failed with "operation failed" since 0.3 Cut, Hole and chamfer faces, each pattern or mirror copy, side walls a Join merged and the
([#489](https://github.com/bherbruck/solidcraft/issues/489)). It's fixed, and every flat face pieces a later feature split a face into
of the test models is now checked for this on every change. ([#625](https://github.com/bherbruck/solidcraft/pull/625)), to moved or pasted components
- **Select Other:** hold or right-click to pick something hidden under something else; click ([#610](https://github.com/bherbruck/solidcraft/pull/610)) and beside long thin holes
again to cycle through what's underneath. ([#629](https://github.com/bherbruck/solidcraft/pull/629)). Across the test models, flat-face
- **Tabs are named after their file** instead of "Untitled". actions pass 70% of the time, up from 61% (sketch 52% → 71%, offset plane 52% → 71%,
- **Modelling:** a flange angle and height per edge, Patch fills non-planar loops, sketches on press-pull 41% → 60%).
cylinder caps and on sheet metal faces, and a feature rename updates everything that refers to - **Fillet and chamfer** handle a single edge whose ends meet curved or slanted faces, and blend
it. smooth chains of edges ([#646](https://github.com/bherbruck/solidcraft/pull/646)): 83% → 93%
- **Fixes:** revolve with edges on the axis, shell and fillet with small rounds, Join keeps face of edges.
attachments, and STEP export writes each lump of a body as its own solid. - **New:** user-defined physical materials stored in the design, linked components (insert
- **Navigation and UI:** orbiting from empty space turns around the visible geometry, Ctrl+drag another design), saved body visibility, named views through `view.apply`, sketch text fonts,
orbits in every preset, toolbar drops land across labels and gaps, Combine previews before OK, corner reliefs, flanges on flanges, edge flanges that trim the base along their edge, grouped
and sketch constraints accept the sketch's own x / y axes. sketch tools, Home thumbnails, and an improved Select Other list.
- Opening a design reads its metadata and preview through a bounded, seekable reader; the docs - **Fixes:** filleting beside a modeled thread no longer freezes the app, a loft standing on a
and web app have link preview cards. face fuses with it, and many sheet metal, hole and sketch fixes.
- **Booleans are checked.** A Boolean retry that would change the part away from the tool is now
refused instead of returning wrong geometry, which fixes stray cuts
([#616](https://github.com/bherbruck/solidcraft/issues/616)). MCP feature replies include
warnings.
- **Opening a design** keeps the window draggable, shows progress, and can be cancelled with
Cancel or Esc.
- **Under the hood:** compact MCP replies, a kernel-neutral native B-rep format, and an opt-in
preview from the native cache while a design rebuilds.
- **Quality:** every ordinary action is run on every face, edge, vertex and body of the test
models; CI blocks regressions and the full matrix runs nightly.
- **Security:** private vulnerability reporting is on; see
[SECURITY.md](https://github.com/bherbruck/solidcraft/blob/main/SECURITY.md).
**File format.** Designs are now format 15 (`solidcraft/15`). SolidCraft 0.6 and older can't **File format 16.** Designs are now format 16 (`solidcraft/16`). SolidCraft 0.7 and older can't
open designs saved by 0.7, as a container or as JSON; keep a copy of a file you may still open open designs saved by 0.8, as a container or as JSON; keep a copy of a file you may still open
in 0.6. Files from every earlier version still open in 0.7. in 0.7. Files from every earlier version still open in 0.8.
**Linux app ID.** The Linux app ID is now `ai.storyteller.solidcraft` (it was
`ai.storyteller.solvecraft`). Flatpak users from the SolidCraft feed: `flatpak update` reports
the old app as end-of-life and asks to replace it; say yes, and your settings come along. The
`.deb`, `.rpm` and AppImage remove the old menu entry on upgrade or first launch.
**Known limitations** **Known limitations**
- Some faces still need the fixed-plane fallback for sketches: side faces Join merged from two - Some faces still can't take an attached sketch: after Revolve, Offset Face or Boss
extrudes ([#491](https://github.com/bherbruck/solidcraft/issues/491)), faces split by a later ([#494](https://github.com/bherbruck/solidcraft/issues/494)), sheet metal thickness faces
feature ([#492](https://github.com/bherbruck/solidcraft/issues/492)), Cut walls and chamfer ([#495](https://github.com/bherbruck/solidcraft/issues/495)), Loft, Sweep and Coil faces
faces ([#493](https://github.com/bherbruck/solidcraft/issues/493)), faces after Revolve, ([#561](https://github.com/bherbruck/solidcraft/issues/561)), faces after a Draft or a tapered
Offset Face or Boss ([#494](https://github.com/bherbruck/solidcraft/issues/494)) and sheet Extrude ([#563](https://github.com/bherbruck/solidcraft/issues/563)) and a Shell's rim
metal thickness faces ([#495](https://github.com/bherbruck/solidcraft/issues/495)). ([#564](https://github.com/bherbruck/solidcraft/issues/564)).
- A Hole on a sheet metal face is refused
([#560](https://github.com/bherbruck/solidcraft/issues/560)); some through-all holes along a
wall or beside curved faces still fail
([#559](https://github.com/bherbruck/solidcraft/issues/559)).
- Some fillets are still refused, such as along an outline of lines and arcs
([#431](https://github.com/bherbruck/solidcraft/issues/431)).
- Cutting a coaxial cylinder from a thin disc can lose a little volume - Cutting a coaxial cylinder from a thin disc can lose a little volume
([#500](https://github.com/bherbruck/solidcraft/issues/500)); an edge flange with different ([#500](https://github.com/bherbruck/solidcraft/issues/500)); an edge flange with different
per-edge angles leaves gaps at the corners per-edge angles leaves gaps at the corners
Generated
+13 -13
View File
@@ -3281,7 +3281,7 @@ dependencies = [
[[package]] [[package]]
name = "solidcraft" name = "solidcraft"
version = "0.7.0" version = "0.8.0"
dependencies = [ dependencies = [
"eframe", "eframe",
"egui", "egui",
@@ -3298,7 +3298,7 @@ dependencies = [
[[package]] [[package]]
name = "solidcraft-cli" name = "solidcraft-cli"
version = "0.7.0" version = "0.8.0"
dependencies = [ dependencies = [
"serde_json", "serde_json",
"solidcraft-engine", "solidcraft-engine",
@@ -3307,7 +3307,7 @@ dependencies = [
[[package]] [[package]]
name = "solidcraft-doc" name = "solidcraft-doc"
version = "0.7.0" version = "0.8.0"
dependencies = [ dependencies = [
"log", "log",
"serde", "serde",
@@ -3322,7 +3322,7 @@ dependencies = [
[[package]] [[package]]
name = "solidcraft-engine" name = "solidcraft-engine"
version = "0.7.0" version = "0.8.0"
dependencies = [ dependencies = [
"log", "log",
"serde", "serde",
@@ -3338,7 +3338,7 @@ dependencies = [
[[package]] [[package]]
name = "solidcraft-geom" name = "solidcraft-geom"
version = "0.7.0" version = "0.8.0"
dependencies = [ dependencies = [
"serde", "serde",
"serde_json", "serde_json",
@@ -3347,7 +3347,7 @@ dependencies = [
[[package]] [[package]]
name = "solidcraft-io" name = "solidcraft-io"
version = "0.7.0" version = "0.8.0"
dependencies = [ dependencies = [
"quick-xml", "quick-xml",
"serde", "serde",
@@ -3362,7 +3362,7 @@ dependencies = [
[[package]] [[package]]
name = "solidcraft-kernel" name = "solidcraft-kernel"
version = "0.7.0" version = "0.8.0"
dependencies = [ dependencies = [
"log", "log",
"serde", "serde",
@@ -3378,7 +3378,7 @@ dependencies = [
[[package]] [[package]]
name = "solidcraft-mcp" name = "solidcraft-mcp"
version = "0.7.0" version = "0.8.0"
dependencies = [ dependencies = [
"serde_json", "serde_json",
"solidcraft-engine", "solidcraft-engine",
@@ -3386,7 +3386,7 @@ dependencies = [
[[package]] [[package]]
name = "solidcraft-render" name = "solidcraft-render"
version = "0.7.0" version = "0.8.0"
dependencies = [ dependencies = [
"image", "image",
"serde", "serde",
@@ -3396,7 +3396,7 @@ dependencies = [
[[package]] [[package]]
name = "solidcraft-sketch" name = "solidcraft-sketch"
version = "0.7.0" version = "0.8.0"
dependencies = [ dependencies = [
"serde", "serde",
"serde_json", "serde_json",
@@ -3407,7 +3407,7 @@ dependencies = [
[[package]] [[package]]
name = "solidcraft-ui-egui" name = "solidcraft-ui-egui"
version = "0.7.0" version = "0.8.0"
dependencies = [ dependencies = [
"egui", "egui",
"egui-wgpu", "egui-wgpu",
@@ -3422,7 +3422,7 @@ dependencies = [
[[package]] [[package]]
name = "solidcraft-web" name = "solidcraft-web"
version = "0.7.0" version = "0.8.0"
dependencies = [ dependencies = [
"eframe", "eframe",
"egui", "egui",
@@ -4845,7 +4845,7 @@ checksum = "e450f9b2ed1dff33c94c12589a87338689467b9c4f5d8a5710bd09a847d2c8a7"
[[package]] [[package]]
name = "xtask" name = "xtask"
version = "0.7.0" version = "0.8.0"
dependencies = [ dependencies = [
"serde_json", "serde_json",
] ]
+1 -1
View File
@@ -5,7 +5,7 @@ members = ["crates/*", "apps/*", "xtask"]
exclude = ["vendor"] exclude = ["vendor"]
[workspace.package] [workspace.package]
version = "0.7.0" version = "0.8.0"
edition = "2024" edition = "2024"
license = "MIT OR Apache-2.0" license = "MIT OR Apache-2.0"
rust-version = "1.95" rust-version = "1.95"