Release 0.27.1 (#9181)

* Release 0.27.1

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Render job test: wait for the cancelled job's reservation to be released

The worker drops a job's reservation just after the job turns terminal, so
checking admitted bytes right after wait_timeout raced (10 of 40 local runs
failed). Poll with a deadline, as dielectric_tests does.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
bherbruck
2026-10-29 23:34:23 -04:00
committed by GitHub
parent b596bfc730
commit 8f1b456275
3 changed files with 24 additions and 19 deletions
Generated
+17 -17
View File
@@ -4210,7 +4210,7 @@ dependencies = [
[[package]]
name = "solidcraft"
version = "0.27.0"
version = "0.27.1"
dependencies = [
"block2 0.6.2",
"eframe",
@@ -4246,11 +4246,11 @@ dependencies = [
[[package]]
name = "solidcraft-3dx-client"
version = "0.27.0"
version = "0.27.1"
[[package]]
name = "solidcraft-cli"
version = "0.27.0"
version = "0.27.1"
dependencies = [
"image",
"log",
@@ -4262,7 +4262,7 @@ dependencies = [
[[package]]
name = "solidcraft-derive"
version = "0.27.0"
version = "0.27.1"
dependencies = [
"proc-macro2",
"quote",
@@ -4271,7 +4271,7 @@ dependencies = [
[[package]]
name = "solidcraft-doc"
version = "0.27.0"
version = "0.27.1"
dependencies = [
"log",
"serde",
@@ -4288,7 +4288,7 @@ dependencies = [
[[package]]
name = "solidcraft-engine"
version = "0.27.0"
version = "0.27.1"
dependencies = [
"image",
"log",
@@ -4309,7 +4309,7 @@ dependencies = [
[[package]]
name = "solidcraft-geom"
version = "0.27.0"
version = "0.27.1"
dependencies = [
"serde",
"serde_json",
@@ -4318,7 +4318,7 @@ dependencies = [
[[package]]
name = "solidcraft-gpu"
version = "0.27.0"
version = "0.27.1"
dependencies = [
"image",
"log",
@@ -4338,7 +4338,7 @@ dependencies = [
[[package]]
name = "solidcraft-io"
version = "0.27.0"
version = "0.27.1"
dependencies = [
"cadmpeg-core",
"cadmpeg-ir",
@@ -4362,7 +4362,7 @@ dependencies = [
[[package]]
name = "solidcraft-kernel"
version = "0.27.0"
version = "0.27.1"
dependencies = [
"log",
"proptest",
@@ -4382,7 +4382,7 @@ dependencies = [
[[package]]
name = "solidcraft-mcp"
version = "0.27.0"
version = "0.27.1"
dependencies = [
"serde_json",
"solidcraft-engine",
@@ -4391,7 +4391,7 @@ dependencies = [
[[package]]
name = "solidcraft-render"
version = "0.27.0"
version = "0.27.1"
dependencies = [
"image",
"moxcms",
@@ -4405,7 +4405,7 @@ dependencies = [
[[package]]
name = "solidcraft-sketch"
version = "0.27.0"
version = "0.27.1"
dependencies = [
"harfrust",
"serde",
@@ -4418,14 +4418,14 @@ dependencies = [
[[package]]
name = "solidcraft-space-mouse"
version = "0.27.0"
version = "0.27.1"
dependencies = [
"serde",
]
[[package]]
name = "solidcraft-ui-egui"
version = "0.27.0"
version = "0.27.1"
dependencies = [
"arboard",
"egui",
@@ -4455,7 +4455,7 @@ dependencies = [
[[package]]
name = "solidcraft-web"
version = "0.27.0"
version = "0.27.1"
dependencies = [
"eframe",
"egui",
@@ -5998,7 +5998,7 @@ checksum = "e450f9b2ed1dff33c94c12589a87338689467b9c4f5d8a5710bd09a847d2c8a7"
[[package]]
name = "xtask"
version = "0.27.0"
version = "0.27.1"
dependencies = [
"proc-macro2",
"serde",
+1 -1
View File
@@ -5,7 +5,7 @@ members = ["crates/*", "apps/*", "xtask"]
exclude = ["vendor"]
[workspace.package]
version = "0.27.0"
version = "0.27.1"
edition = "2024"
license = "MIT OR Apache-2.0"
rust-version = "1.95"
+6 -1
View File
@@ -514,7 +514,12 @@ fn preflight_and_start_reject_excessive_pixel_work_without_reserving_a_job() {
s.execute("render.cancel", &json!({"job":id})).unwrap();
let status = s.render_job_handle(id).unwrap().wait_timeout(std::time::Duration::from_secs(10)).unwrap();
assert_eq!(status.progress.phase, solidcraft_render::job::Phase::Cancelled);
assert_eq!(raytrace_host.admitted_bytes(), 0);
// The worker drops its reservation just after the job turns terminal.
let deadline = std::time::Instant::now() + std::time::Duration::from_secs(10);
while raytrace_host.admitted_bytes() != 0 {
assert!(std::time::Instant::now() < deadline, "worker did not release the cancelled job's reservation");
std::thread::yield_now();
}
assert!(Arc::ptr_eq(&doc, &s.doc));
assert_eq!(before, (s.revision, s.evaluations, s.is_dirty(), s.undo.len(), s.redo.len()));
s.set_render_job_host(Some(host.clone())).unwrap();