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 fabd85f82..6a8f5e68e 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 658093159..318ecca8f 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 aeb58fd40..978874d38 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 6a8f5e68e..b8c6127ba 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 318ecca8f..9403f16bf 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 9403f16bf..c79312adf 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 b8c6127ba..2d84daadb 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 c79312adf..39abeca39 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"