From 0413b711285a30a875b9a4855f7f7be6477bb099 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 5 Oct 2026 14:14:37 +0000 Subject: [PATCH 1/2] chore: release v0.4.2 --- CHANGELOG.md | 27 +++++++++++++++++++++++++++ Cargo.lock | 2 +- Cargo.toml | 2 +- 3 files changed, 29 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d83d395..4fb5885 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,33 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), ## [Unreleased] +## [0.4.2](https://github.com/tachsin/photonoxide/compare/v0.4.1...v0.4.2) - 2026-10-05 + +### Added + +- *(bench)* a benchmark harness: fixed problems timed at a stated accuracy, and `photonoxide bench` ([#135](https://github.com/tachsin/photonoxide/pull/135)) +- *(fdfd)* GMRES preconditioned by a multigrid cycle for high-contrast 3D problems ([#144](https://github.com/tachsin/photonoxide/pull/144)) +- *(job)* job files in JSON and YAML as well as TOML, the same job in each ([#145](https://github.com/tachsin/photonoxide/pull/145)) +- *(fdfd)* QMR for complex symmetric matrices on the curl-curl operator's symmetric similarity, twice as fast ([#149](https://github.com/tachsin/photonoxide/pull/149)) +- *(bench)* the bandwidth each iterative solve reaches, its bytes counted by the kernels, against the triad ([#152](https://github.com/tachsin/photonoxide/pull/152)) +- *(bench)* the direct solvers' systems exported as Matrix Market files, and photonoxide's factorization timed on them ([#153](https://github.com/tachsin/photonoxide/pull/153)) + +### Fixed + +- *(fdfd)* a 3D port's guided mode whose plane crosses PMLs goes forward, not backward ([#136](https://github.com/tachsin/photonoxide/pull/136)) + +### Performance + +- *(job)* a sweep's points solved side by side on rayon's threads, recorded in order ([#146](https://github.com/tachsin/photonoxide/pull/146)) +- *(fdfd)* the 3D direct solver orders its LU by nested dissection, twice as fast as COLAMD at 40³ cells ([#147](https://github.com/tachsin/photonoxide/pull/147)) +- *(fdfd)* QMR's vector work fused into two passes on rayon's threads, deterministic sums, nothing allocated an iteration ([#148](https://github.com/tachsin/photonoxide/pull/148)) +- the examples that sweep by hand solve their points side by side, through parallel::map_in_order ([#151](https://github.com/tachsin/photonoxide/pull/151)) + +### Documentation + +- *(fdfd)* parallel ILU(0) measured on our matrices, both halves, and not used ([#150](https://github.com/tachsin/photonoxide/pull/150)) +- photonoxide's direct solvers against PARDISO and MUMPS, where the difference comes from, and what would close it in pure Rust ([#143](https://github.com/tachsin/photonoxide/pull/143)) ([#155](https://github.com/tachsin/photonoxide/pull/155)) + ## [0.4.1](https://github.com/tachsin/photonoxide/compare/v0.4.0...v0.4.1) - 2026-10-04 ### Added diff --git a/Cargo.lock b/Cargo.lock index 7d7bcf5..34948e0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3305,7 +3305,7 @@ dependencies = [ [[package]] name = "photonoxide" -version = "0.4.1" +version = "0.4.2" dependencies = [ "faer", "genoxide", diff --git a/Cargo.toml b/Cargo.toml index e19ea6d..41d8222 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "photonoxide" -version = "0.4.1" +version = "0.4.2" edition = "2024" rust-version = "1.95" description = "Validated photonics for Rust: materials with provenance, mode solvers, 2D and 3D FDFD with S-parameters and adjoints, circuits and compact models, with a live studio" From e30fe0115ea1374f15eed563e0bf90aaf610dbb5 Mon Sep 17 00:00:00 2001 From: tachsin Date: Mon, 5 Oct 2026 17:15:21 +0300 Subject: [PATCH 2/2] chore: the changelog's link to #143, an issue, left out --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4fb5885..9ebf0df 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -31,7 +31,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), ### Documentation - *(fdfd)* parallel ILU(0) measured on our matrices, both halves, and not used ([#150](https://github.com/tachsin/photonoxide/pull/150)) -- photonoxide's direct solvers against PARDISO and MUMPS, where the difference comes from, and what would close it in pure Rust ([#143](https://github.com/tachsin/photonoxide/pull/143)) ([#155](https://github.com/tachsin/photonoxide/pull/155)) +- photonoxide's direct solvers against PARDISO and MUMPS, where the difference comes from, and what would close it in pure Rust ([#155](https://github.com/tachsin/photonoxide/pull/155)) ## [0.4.1](https://github.com/tachsin/photonoxide/compare/v0.4.0...v0.4.1) - 2026-10-04