From 4896c02548a7506ef362b5b8da39181a552f384e Mon Sep 17 00:00:00 2001 From: Greg von Nessi Date: Wed, 20 May 2026 21:42:32 +0100 Subject: [PATCH] Release echidna 0.11.0 + echidna-optim 0.13.1 (coordinated) --- CHANGELOG.md | 22 ++++++++++++++++++++-- Cargo.toml | 2 +- README.md | 4 ++-- SECURITY.md | 23 +++++++++++++---------- echidna-optim/Cargo.toml | 4 ++-- 5 files changed, 38 insertions(+), 17 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 457de72..6ecb176 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,9 +7,27 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] -### Added +## [0.11.0] - 2026-05-20 + +**Coordinated release:** `echidna` 0.11.0 and `echidna-optim` 0.13.1. +`echidna-optim`'s dep on `echidna` updated from `0.10.0` to `0.11.0`. + +Minor bump: adds new public API (simba trait implementations for +`DualVec`). No existing types changed and no numerical behaviour +changed. + +### Added (echidna) + +- **simba traits for `DualVec`**: implemented `SimdValue`, + `PrimitiveSimdValue`, `SubsetOf`, `AbsDiffEq`, `RelativeEq`, `UlpsEq`, + `Field`, `ComplexField`, and `RealField`, so `DualVec` can be + used as a scalar type inside `nalgebra` matrices and solvers. The + implementations mirror the existing `Dual` simba impls. -- **simba traits for DualVec**: implemented traits `SimdValue`, `PrimitiveSimdValue`, `SubsetOf`, `AbsDiffEq`, `RelativeEq`, `UlpsEq`, `Field`, `ComplexField`, `RealField` for `DualVec`. +### Changed (echidna-optim, 0.13.1) + +- `echidna` dep updated from `0.10.0` to `0.11.0` (follows the + coordinated release; `echidna-optim`'s public API is unchanged). ## [0.10.0] - 2026-04-24 diff --git a/Cargo.toml b/Cargo.toml index 102ba7c..a9afec8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,7 +3,7 @@ members = [".", "echidna-optim"] [package] name = "echidna" -version = "0.10.0" +version = "0.11.0" edition = "2021" rust-version = "1.93" description = "A high-performance automatic differentiation library for Rust" diff --git a/README.md b/README.md index 7635fb1..91c3b89 100644 --- a/README.md +++ b/README.md @@ -47,7 +47,7 @@ Add to `Cargo.toml`: ```toml [dependencies] -echidna = "0.10" +echidna = "0.11" ``` ### Gradient via reverse mode @@ -158,7 +158,7 @@ assert!((d2_dxdy - 2.0).abs() < 1e-6); Enable features in `Cargo.toml`: ```toml -echidna = { version = "0.10", features = ["bytecode", "taylor"] } +echidna = { version = "0.11", features = ["bytecode", "taylor"] } ``` ## API diff --git a/SECURITY.md b/SECURITY.md index 09072b2..4b1c3df 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -4,24 +4,27 @@ | Crate | Version | Supported | |-----------------|------------|-----------| -| `echidna` | >= 0.10.0 | Yes | -| `echidna-optim` | >= 0.13.0 | Yes | -| `echidna` | < 0.10.0 | No | -| `echidna-optim` | < 0.13.0 | No | +| `echidna` | >= 0.11.0 | Yes | +| `echidna-optim` | >= 0.13.1 | Yes | +| `echidna` | < 0.11.0 | No | +| `echidna-optim` | < 0.13.1 | No | Only the latest release of each crate receives security updates. -`echidna` 0.10.0 and `echidna-optim` 0.13.0 are a coordinated release -(`echidna-optim` 0.13.0 depends on `echidna = "0.10.0"`). +`echidna` 0.11.0 and `echidna-optim` 0.13.1 are a coordinated release +(`echidna-optim` 0.13.1 depends on `echidna = "0.11.0"`). -0.10.0 is a minor bump over 0.9.0 driven by the `wgpu` 28 → 29 -transitive major; echidna's own public API is unchanged. No new -numerical correctness issues were introduced in 0.9.0 → 0.10.0. +0.11.0 is a minor bump over 0.10.0: it adds simba trait implementations +for `DualVec` (new public API for using `DualVec` as a scalar +inside `nalgebra`). echidna's existing types are unchanged. No new +numerical correctness issues were introduced in 0.10.0 → 0.11.0. ### Known issues in unsupported versions -Pre-0.10.0 `echidna` carries the following known numerical correctness +Pre-0.11.0 `echidna` carries the following known numerical correctness bugs — see the CHANGELOG for per-version detail: +- **0.10.0**: no known numerical correctness bugs; unsupported only + because `echidna` 0.11.0 supersedes it. - **0.9.0**: no known numerical correctness bugs; unsupported only because it targets wgpu 28, which is no longer maintained upstream and received no patches after `wgpu 29.0.0` (2026-03-18). diff --git a/echidna-optim/Cargo.toml b/echidna-optim/Cargo.toml index 6bcc23b..2f0f86b 100644 --- a/echidna-optim/Cargo.toml +++ b/echidna-optim/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "echidna-optim" -version = "0.13.0" +version = "0.13.1" edition = "2021" rust-version = "1.93" description = "Optimization solvers and implicit differentiation for echidna" @@ -12,7 +12,7 @@ keywords = ["optimization", "differentiation", "implicit", "gradient", "scientif categories = ["mathematics", "science", "algorithms"] [dependencies] -echidna = { version = "0.10.0", path = "..", features = ["bytecode"] } +echidna = { version = "0.11.0", path = "..", features = ["bytecode"] } num-traits = "0.2" faer = { version = "0.24", optional = true }