From 32b836fbc5e27efcec4c566d36816e56f856bda3 Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Sun, 25 Oct 2026 09:04:17 -0400 Subject: [PATCH 1/5] Release 0.11.0 Co-Authored-By: Claude Opus 5.5 --- Cargo.lock | 42 +++++++++++++++++++++--------------------- Cargo.toml | 2 +- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index fabd85f8..6a8f5e68 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1465,7 +1465,7 @@ checksum = "b97b65636e5b9ef369943878ac74335ba1c55c1cb6adbf1e2c293c624248d693" [[package]] name = "figcraft" -version = "0.10.0" +version = "0.11.0" dependencies = [ "arboard", "craft-window", @@ -1491,7 +1491,7 @@ dependencies = [ [[package]] name = "figcraft-cli" -version = "0.10.0" +version = "0.11.0" dependencies = [ "figcraft-doc", "figcraft-engine", @@ -1505,7 +1505,7 @@ dependencies = [ [[package]] name = "figcraft-collab" -version = "0.10.0" +version = "0.11.0" dependencies = [ "base64 0.22.1", "chrono", @@ -1521,7 +1521,7 @@ dependencies = [ [[package]] name = "figcraft-collab-net" -version = "0.10.0" +version = "0.11.0" dependencies = [ "base64 0.22.1", "figcraft-collab", @@ -1544,7 +1544,7 @@ dependencies = [ [[package]] name = "figcraft-color" -version = "0.10.0" +version = "0.11.0" dependencies = [ "kurbo", "serde", @@ -1553,7 +1553,7 @@ dependencies = [ [[package]] name = "figcraft-doc" -version = "0.10.0" +version = "0.11.0" dependencies = [ "figcraft-color", "figcraft-geom", @@ -1565,7 +1565,7 @@ dependencies = [ [[package]] name = "figcraft-engine" -version = "0.10.0" +version = "0.11.0" dependencies = [ "base64 0.22.1", "craft-docpath", @@ -1593,7 +1593,7 @@ dependencies = [ [[package]] name = "figcraft-format" -version = "0.10.0" +version = "0.11.0" dependencies = [ "figcraft-doc", "figcraft-pathops", @@ -1608,7 +1608,7 @@ dependencies = [ [[package]] name = "figcraft-geom" -version = "0.10.0" +version = "0.11.0" dependencies = [ "kurbo", "serde", @@ -1616,7 +1616,7 @@ dependencies = [ [[package]] name = "figcraft-layout" -version = "0.10.0" +version = "0.11.0" dependencies = [ "figcraft-doc", "figcraft-geom", @@ -1624,7 +1624,7 @@ dependencies = [ [[package]] name = "figcraft-mcp" -version = "0.10.0" +version = "0.11.0" dependencies = [ "base64 0.22.1", "figcraft-collab-net", @@ -1640,7 +1640,7 @@ dependencies = [ [[package]] name = "figcraft-pathops" -version = "0.10.0" +version = "0.11.0" dependencies = [ "figcraft-doc", "figcraft-geom", @@ -1649,7 +1649,7 @@ dependencies = [ [[package]] name = "figcraft-pdf" -version = "0.10.0" +version = "0.11.0" dependencies = [ "figcraft-color", "figcraft-doc", @@ -1666,7 +1666,7 @@ dependencies = [ [[package]] name = "figcraft-plugin" -version = "0.10.0" +version = "0.11.0" dependencies = [ "figcraft-color", "serde", @@ -1679,7 +1679,7 @@ dependencies = [ [[package]] name = "figcraft-render" -version = "0.10.0" +version = "0.11.0" dependencies = [ "crc32fast", "figcraft-color", @@ -1697,7 +1697,7 @@ dependencies = [ [[package]] name = "figcraft-server" -version = "0.10.0" +version = "0.11.0" dependencies = [ "crc32fast", "ctrlc", @@ -1721,7 +1721,7 @@ dependencies = [ [[package]] name = "figcraft-svg" -version = "0.10.0" +version = "0.11.0" dependencies = [ "base64 0.22.1", "figcraft-color", @@ -1737,7 +1737,7 @@ dependencies = [ [[package]] name = "figcraft-text" -version = "0.10.0" +version = "0.11.0" dependencies = [ "figcraft-doc", "figcraft-geom", @@ -1751,7 +1751,7 @@ dependencies = [ [[package]] name = "figcraft-ui-egui" -version = "0.10.0" +version = "0.11.0" dependencies = [ "base64 0.22.1", "chrono", @@ -1777,7 +1777,7 @@ dependencies = [ [[package]] name = "figcraft-web" -version = "0.10.0" +version = "0.11.0" dependencies = [ "eframe", "egui", @@ -5881,7 +5881,7 @@ checksum = "9440ea3e5aeabb0ac63af70daf835274065238cdd0cec83418f417eae38bacee" [[package]] name = "xtask" -version = "0.10.0" +version = "0.11.0" dependencies = [ "figcraft-engine", "serde_json", diff --git a/Cargo.toml b/Cargo.toml index 65809315..318ecca8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,7 +6,7 @@ exclude = ["plugins"] # default-members = ["crates/*", "apps/figcraft", "apps/figcraft-cli", "xtask"] [workspace.package] -version = "0.10.0" +version = "0.11.0" edition = "2024" license = "MIT OR Apache-2.0" rust-version = "1.95" From 4b76c407d5a42d824524e7b95a7bcfbed47e8d16 Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Sun, 25 Oct 2026 09:14:05 -0400 Subject: [PATCH 2/5] macOS signing: keep the temporary keychain until the build has signed with it import-cert.sh deleted its whole private temp directory on exit, and the keychain lives there, so codesign failed with "The specified item could not be found in the keychain" in the release build. Co-Authored-By: Claude Opus 5.5 --- packaging/macos/import-cert.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packaging/macos/import-cert.sh b/packaging/macos/import-cert.sh index aeb58fd4..978874d3 100755 --- a/packaging/macos/import-cert.sh +++ b/packaging/macos/import-cert.sh @@ -19,7 +19,9 @@ fi TMP_BASE="${RUNNER_TEMP:-${TMPDIR:-/tmp}}" TMP="$(mktemp -d "${TMP_BASE}/figcraft-signing.XXXXXX")" -trap 'rm -rf "$TMP"' EXIT +# Remove only the decoded certificate: the keychain lives in the same directory and codesign +# needs it until the workflow's "Remove temporary keychain" step deletes it. +trap 'rm -f "${CERT:-}"' EXIT KEYCHAIN="$TMP/figcraft-signing.keychain-db" CERT="$TMP/figcraft-signing.p12" KC_PASS="${KEYCHAIN_PASSWORD:-$(openssl rand -hex 24)}" From 22c15e3206314a57b605125201ef89e7b9bc911d Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Sun, 25 Oct 2026 09:14:22 -0400 Subject: [PATCH 3/5] Release 0.11.1 Co-Authored-By: Claude Opus 5.5 --- Cargo.lock | 42 +++++++++++++++++++++--------------------- Cargo.toml | 2 +- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6a8f5e68..b8c6127b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1465,7 +1465,7 @@ checksum = "b97b65636e5b9ef369943878ac74335ba1c55c1cb6adbf1e2c293c624248d693" [[package]] name = "figcraft" -version = "0.11.0" +version = "0.11.1" dependencies = [ "arboard", "craft-window", @@ -1491,7 +1491,7 @@ dependencies = [ [[package]] name = "figcraft-cli" -version = "0.11.0" +version = "0.11.1" dependencies = [ "figcraft-doc", "figcraft-engine", @@ -1505,7 +1505,7 @@ dependencies = [ [[package]] name = "figcraft-collab" -version = "0.11.0" +version = "0.11.1" dependencies = [ "base64 0.22.1", "chrono", @@ -1521,7 +1521,7 @@ dependencies = [ [[package]] name = "figcraft-collab-net" -version = "0.11.0" +version = "0.11.1" dependencies = [ "base64 0.22.1", "figcraft-collab", @@ -1544,7 +1544,7 @@ dependencies = [ [[package]] name = "figcraft-color" -version = "0.11.0" +version = "0.11.1" dependencies = [ "kurbo", "serde", @@ -1553,7 +1553,7 @@ dependencies = [ [[package]] name = "figcraft-doc" -version = "0.11.0" +version = "0.11.1" dependencies = [ "figcraft-color", "figcraft-geom", @@ -1565,7 +1565,7 @@ dependencies = [ [[package]] name = "figcraft-engine" -version = "0.11.0" +version = "0.11.1" dependencies = [ "base64 0.22.1", "craft-docpath", @@ -1593,7 +1593,7 @@ dependencies = [ [[package]] name = "figcraft-format" -version = "0.11.0" +version = "0.11.1" dependencies = [ "figcraft-doc", "figcraft-pathops", @@ -1608,7 +1608,7 @@ dependencies = [ [[package]] name = "figcraft-geom" -version = "0.11.0" +version = "0.11.1" dependencies = [ "kurbo", "serde", @@ -1616,7 +1616,7 @@ dependencies = [ [[package]] name = "figcraft-layout" -version = "0.11.0" +version = "0.11.1" dependencies = [ "figcraft-doc", "figcraft-geom", @@ -1624,7 +1624,7 @@ dependencies = [ [[package]] name = "figcraft-mcp" -version = "0.11.0" +version = "0.11.1" dependencies = [ "base64 0.22.1", "figcraft-collab-net", @@ -1640,7 +1640,7 @@ dependencies = [ [[package]] name = "figcraft-pathops" -version = "0.11.0" +version = "0.11.1" dependencies = [ "figcraft-doc", "figcraft-geom", @@ -1649,7 +1649,7 @@ dependencies = [ [[package]] name = "figcraft-pdf" -version = "0.11.0" +version = "0.11.1" dependencies = [ "figcraft-color", "figcraft-doc", @@ -1666,7 +1666,7 @@ dependencies = [ [[package]] name = "figcraft-plugin" -version = "0.11.0" +version = "0.11.1" dependencies = [ "figcraft-color", "serde", @@ -1679,7 +1679,7 @@ dependencies = [ [[package]] name = "figcraft-render" -version = "0.11.0" +version = "0.11.1" dependencies = [ "crc32fast", "figcraft-color", @@ -1697,7 +1697,7 @@ dependencies = [ [[package]] name = "figcraft-server" -version = "0.11.0" +version = "0.11.1" dependencies = [ "crc32fast", "ctrlc", @@ -1721,7 +1721,7 @@ dependencies = [ [[package]] name = "figcraft-svg" -version = "0.11.0" +version = "0.11.1" dependencies = [ "base64 0.22.1", "figcraft-color", @@ -1737,7 +1737,7 @@ dependencies = [ [[package]] name = "figcraft-text" -version = "0.11.0" +version = "0.11.1" dependencies = [ "figcraft-doc", "figcraft-geom", @@ -1751,7 +1751,7 @@ dependencies = [ [[package]] name = "figcraft-ui-egui" -version = "0.11.0" +version = "0.11.1" dependencies = [ "base64 0.22.1", "chrono", @@ -1777,7 +1777,7 @@ dependencies = [ [[package]] name = "figcraft-web" -version = "0.11.0" +version = "0.11.1" dependencies = [ "eframe", "egui", @@ -5881,7 +5881,7 @@ checksum = "9440ea3e5aeabb0ac63af70daf835274065238cdd0cec83418f417eae38bacee" [[package]] name = "xtask" -version = "0.11.0" +version = "0.11.1" dependencies = [ "figcraft-engine", "serde_json", diff --git a/Cargo.toml b/Cargo.toml index 318ecca8..9403f16b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,7 +6,7 @@ exclude = ["plugins"] # default-members = ["crates/*", "apps/figcraft", "apps/figcraft-cli", "xtask"] [workspace.package] -version = "0.11.0" +version = "0.11.1" edition = "2024" license = "MIT OR Apache-2.0" rust-version = "1.95" From 149f59cd14914f8c40392c80b7b688bc25aea7af Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Sun, 25 Oct 2026 09:44:13 -0400 Subject: [PATCH 4/5] Web: build the browser wasm with opt-level z to stay under the 24 MiB gate The 0.11.1 release's Web job failed: the wasm was 25,248,590 bytes, over packaging/web/package.sh's 25,165,824-byte limit. opt-level z brings it to 23,306,645 bytes (measured locally with the release's craft-fonts ref, wasm-bindgen 0.2.129 and wasm-opt -Oz). Co-Authored-By: Claude Opus 5.5 --- Cargo.toml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 9403f16b..c79312ad 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -122,7 +122,8 @@ codegen-units = 4 # wasm32-unknown-unknown always aborts on panic, so panic = "abort" changes nothing there. [profile.web-release] inherits = "release" -opt-level = "s" +# "z", not "s": 1.9 MB smaller (24.0 MiB -> 22.2 MiB after wasm-opt, 0.11.1), back under the gate. +opt-level = "z" lto = "fat" codegen-units = 1 debug = false From d4a303d4708602a9df1738960852d18b185a616b Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Sun, 25 Oct 2026 09:44:44 -0400 Subject: [PATCH 5/5] Release 0.11.2 Co-Authored-By: Claude Opus 5.5 --- Cargo.lock | 42 +++++++++++++++++++++--------------------- Cargo.toml | 2 +- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b8c6127b..2d84daad 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1465,7 +1465,7 @@ checksum = "b97b65636e5b9ef369943878ac74335ba1c55c1cb6adbf1e2c293c624248d693" [[package]] name = "figcraft" -version = "0.11.1" +version = "0.11.2" dependencies = [ "arboard", "craft-window", @@ -1491,7 +1491,7 @@ dependencies = [ [[package]] name = "figcraft-cli" -version = "0.11.1" +version = "0.11.2" dependencies = [ "figcraft-doc", "figcraft-engine", @@ -1505,7 +1505,7 @@ dependencies = [ [[package]] name = "figcraft-collab" -version = "0.11.1" +version = "0.11.2" dependencies = [ "base64 0.22.1", "chrono", @@ -1521,7 +1521,7 @@ dependencies = [ [[package]] name = "figcraft-collab-net" -version = "0.11.1" +version = "0.11.2" dependencies = [ "base64 0.22.1", "figcraft-collab", @@ -1544,7 +1544,7 @@ dependencies = [ [[package]] name = "figcraft-color" -version = "0.11.1" +version = "0.11.2" dependencies = [ "kurbo", "serde", @@ -1553,7 +1553,7 @@ dependencies = [ [[package]] name = "figcraft-doc" -version = "0.11.1" +version = "0.11.2" dependencies = [ "figcraft-color", "figcraft-geom", @@ -1565,7 +1565,7 @@ dependencies = [ [[package]] name = "figcraft-engine" -version = "0.11.1" +version = "0.11.2" dependencies = [ "base64 0.22.1", "craft-docpath", @@ -1593,7 +1593,7 @@ dependencies = [ [[package]] name = "figcraft-format" -version = "0.11.1" +version = "0.11.2" dependencies = [ "figcraft-doc", "figcraft-pathops", @@ -1608,7 +1608,7 @@ dependencies = [ [[package]] name = "figcraft-geom" -version = "0.11.1" +version = "0.11.2" dependencies = [ "kurbo", "serde", @@ -1616,7 +1616,7 @@ dependencies = [ [[package]] name = "figcraft-layout" -version = "0.11.1" +version = "0.11.2" dependencies = [ "figcraft-doc", "figcraft-geom", @@ -1624,7 +1624,7 @@ dependencies = [ [[package]] name = "figcraft-mcp" -version = "0.11.1" +version = "0.11.2" dependencies = [ "base64 0.22.1", "figcraft-collab-net", @@ -1640,7 +1640,7 @@ dependencies = [ [[package]] name = "figcraft-pathops" -version = "0.11.1" +version = "0.11.2" dependencies = [ "figcraft-doc", "figcraft-geom", @@ -1649,7 +1649,7 @@ dependencies = [ [[package]] name = "figcraft-pdf" -version = "0.11.1" +version = "0.11.2" dependencies = [ "figcraft-color", "figcraft-doc", @@ -1666,7 +1666,7 @@ dependencies = [ [[package]] name = "figcraft-plugin" -version = "0.11.1" +version = "0.11.2" dependencies = [ "figcraft-color", "serde", @@ -1679,7 +1679,7 @@ dependencies = [ [[package]] name = "figcraft-render" -version = "0.11.1" +version = "0.11.2" dependencies = [ "crc32fast", "figcraft-color", @@ -1697,7 +1697,7 @@ dependencies = [ [[package]] name = "figcraft-server" -version = "0.11.1" +version = "0.11.2" dependencies = [ "crc32fast", "ctrlc", @@ -1721,7 +1721,7 @@ dependencies = [ [[package]] name = "figcraft-svg" -version = "0.11.1" +version = "0.11.2" dependencies = [ "base64 0.22.1", "figcraft-color", @@ -1737,7 +1737,7 @@ dependencies = [ [[package]] name = "figcraft-text" -version = "0.11.1" +version = "0.11.2" dependencies = [ "figcraft-doc", "figcraft-geom", @@ -1751,7 +1751,7 @@ dependencies = [ [[package]] name = "figcraft-ui-egui" -version = "0.11.1" +version = "0.11.2" dependencies = [ "base64 0.22.1", "chrono", @@ -1777,7 +1777,7 @@ dependencies = [ [[package]] name = "figcraft-web" -version = "0.11.1" +version = "0.11.2" dependencies = [ "eframe", "egui", @@ -5881,7 +5881,7 @@ checksum = "9440ea3e5aeabb0ac63af70daf835274065238cdd0cec83418f417eae38bacee" [[package]] name = "xtask" -version = "0.11.1" +version = "0.11.2" dependencies = [ "figcraft-engine", "serde_json", diff --git a/Cargo.toml b/Cargo.toml index c79312ad..39abeca3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,7 +6,7 @@ exclude = ["plugins"] # default-members = ["crates/*", "apps/figcraft", "apps/figcraft-cli", "xtask"] [workspace.package] -version = "0.11.1" +version = "0.11.2" edition = "2024" license = "MIT OR Apache-2.0" rust-version = "1.95"