From 46ab7b7a777e0ac5d4f25bd30aa1e70b4ef8e068 Mon Sep 17 00:00:00 2001 From: Kristof Schroeder Date: Tue, 11 Aug 2026 23:39:37 +0200 Subject: [PATCH] chore(deps): bump approx-chol 0.4.0 -> 0.5.0 The dependency dropped `original_n` from the serialized `Factor` and bumped its own FACTOR_FORMAT_VERSION, so within's `Preconditioner` wire format shifts v12 -> v13 transitively. Fixture regenerated; v12 becomes the pre-bump negative. --- CHANGELOG.md | 4 ++++ Cargo.lock | 4 ++-- crates/within/Cargo.toml | 2 +- .../tests/fixtures/preconditioner_v11.postcard | Bin 470 -> 0 bytes .../tests/fixtures/preconditioner_v13.postcard | Bin 0 -> 478 bytes crates/within/tests/wire_format_fixture.rs | 10 +++++----- 6 files changed, 12 insertions(+), 8 deletions(-) delete mode 100644 crates/within/tests/fixtures/preconditioner_v11.postcard create mode 100644 crates/within/tests/fixtures/preconditioner_v13.postcard diff --git a/CHANGELOG.md b/CHANGELOG.md index 34851869..d0d90e4e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ and this project follows [Semantic Versioning](https://semver.org/). ## [Unreleased] +### Changed + +- **BREAKING:** The serialized `Preconditioner` wire format changed (v12 → v13) with the `approx-chol` 0.4 → 0.5 bump; 0.3.0 bytes no longer decode. + ### Fixed - A design carrying varying slopes on two distinct factors could fail preconditioner construction with `matrix is not symmetric`, when rounding left the two triangles of the exact Schur complement unequal (#229). diff --git a/Cargo.lock b/Cargo.lock index 21cdd58e..2d272ab3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -25,9 +25,9 @@ checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" [[package]] name = "approx-chol" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ceecf5e5bb6136d3c335eec5aac88f17b284b68e22d710ebeec66417fa410830" +checksum = "affa21d606ec089747ab3ef1baff8feac12b5c115e42d4451b01668c9acded56" dependencies = [ "num-traits", "rand 0.10.2", diff --git a/crates/within/Cargo.toml b/crates/within/Cargo.toml index aff769f6..97b48c75 100644 --- a/crates/within/Cargo.toml +++ b/crates/within/Cargo.toml @@ -12,7 +12,7 @@ categories.workspace = true [dependencies] schwarz-precond = { workspace = true, features = ["serde"] } -approx-chol = { version = "0.4.0", features = ["serde"] } +approx-chol = { version = "0.5.0", features = ["serde"] } serde = { workspace = true, features = ["rc"] } postcard.workspace = true ndarray = "0.17" diff --git a/crates/within/tests/fixtures/preconditioner_v11.postcard b/crates/within/tests/fixtures/preconditioner_v11.postcard deleted file mode 100644 index 845123afb23b36328ede951758316bec7e3a1047..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 470 zcmZQzVr5}vV_;-pWno}qVFR&%kc|NhKG+jWGcz$WFoSe60TIc%nV6X&7CnGkh(v=7 zWMpL2Q{)usoADVW4{|WjI#dV$2ZQ_jA@q3|ZI7LQ-yYS$5LIy9FkLWuKSUm8>V12l zgTq2W;H!Nkl!oycSs55v85z0GS=Xn{Tky<2>DRxzwc7XgKeMq>pKurEF$M-6Pmd&F z+avo`w_CY>;(cbH23EIke|%!X4aq;d_Fvg!aa`Ns!Txj8Y6E#M-L+?6Vr10?2f|}} MbQ&5<`(ZRY09#V1;Q#;t diff --git a/crates/within/tests/fixtures/preconditioner_v13.postcard b/crates/within/tests/fixtures/preconditioner_v13.postcard new file mode 100644 index 0000000000000000000000000000000000000000..6f8e07a28f8c26de6f2802041b8c579f1efccca0 GIT binary patch literal 478 zcmZQzVr5}vV_;-pWno}qVFR&%kc|NhKG+jWGcz$WFoSe60TIc%nV6X&7CnGkh(tFx z^mMTR4P|6x)KlaX>6`Hxqz2?@pp~eO{tpKC_e1FOFxnnF|Gqt{qamu`x?#Ft^nQpu z%+&k#Ku3p#g1}e%NGJ{CGeRBB%E-ud&bmHr-hyZLDZl>Rt<}D_|EZ0Q`h>eM4>B8?Ek6C (Vec, Vec, Vec, Vec) { // The frustrated (f-slope, g) pair pins a signed operator with Scaled coords and a Cover. @@ -96,7 +96,7 @@ fn pre_bump_fixture_no_longer_decodes() { } /// Generate the wire-format fixture. Run with `--ignored` to overwrite -/// `crates/within/tests/fixtures/preconditioner_v12.postcard`. Intended for +/// `crates/within/tests/fixtures/preconditioner_v13.postcard`. Intended for /// intentional wire-format bumps only; CI runs the non-ignored tests above. #[test] #[ignore] @@ -117,7 +117,7 @@ fn regenerate_wire_format_fixture() { let bytes = postcard::to_stdvec(prec).expect("serialize"); let mut path = PathBuf::from(env!("CARGO_MANIFEST_DIR")); - path.push("tests/fixtures/preconditioner_v12.postcard"); + path.push("tests/fixtures/preconditioner_v13.postcard"); let mut out = std::fs::File::create(&path).expect("create fixture file"); out.write_all(&bytes).expect("write fixture bytes"); eprintln!("wrote {} bytes to {}", bytes.len(), path.display());