From 022996f63a0f0fbe9dbda3da61f3063226de3bc8 Mon Sep 17 00:00:00 2001 From: "Sergey \"Shnatsel\" Davidoff" Date: Sun, 20 Sep 2026 15:22:18 +0100 Subject: [PATCH 1/3] Release v1.0 --- CHANGELOG.md | 14 +++++++++++--- Cargo.lock | 4 ++-- Cargo.toml | 4 ++-- README.md | 14 ++++++++++++-- fearless_simd/Cargo.toml | 2 +- fearless_simd/README.md | 8 ++++++++ fearless_simd_macros/Cargo.toml | 2 +- fearless_simd_macros/README.md | 6 +++--- 8 files changed, 40 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 51e9178f..9d96ade3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,15 +6,21 @@ Subheadings to categorize changes are `added, changed, deprecated, removed, fixe --> -The latest published Fearless SIMD release is [0.7.0](#070-2026-08-11) which was released on 2026-08-11. -You can find its changes [documented below](#070-2026-08-11). +The latest published Fearless SIMD release is [1.0.0](#100-2026-09-20) which was released on 2026-09-20, +alongside `fearless_simd_macros` 0.1.0. +You can find their changes [documented below](#100-2026-09-20). ## [Unreleased] This release has an [MSRV][] of 1.89. +## [1.0.0][] (2026-09-20) + +This release has an [MSRV][] of 1.89. + ### Added +- Added the optional `#[simd]` attribute in `fearless_simd_macros` 0.1.0 to annotate SIMD-generic functions. The first argument can be a SIMD token, vector, mask, reference, or user-defined wrapper implementing `ExtractToken`. The core library does not depend on the macro crate. ([#347][], [#383][] by [@Shnatsel][]) - Added `Native` to `SimdFloatElement` and `SimdIntElement` to select native-width vectors in scalar-generic code ([#378][] by [@Shnatsel][]). - Added the public `ExtractToken` trait for SIMD tokens, vectors, masks, references, and user-defined wrappers. - Added `reverse` for all SIMD vector and mask types. ([#356][] by [@Shnatsel][]) @@ -407,8 +413,10 @@ No changelog was kept for this release. [#371]: https://github.com/linebender/fearless_simd/pull/371 [#377]: https://github.com/linebender/fearless_simd/pull/377 [#378]: https://github.com/linebender/fearless_simd/pull/378 +[#383]: https://github.com/linebender/fearless_simd/pull/383 -[Unreleased]: https://github.com/linebender/fearless_simd/compare/v0.7.0...HEAD +[Unreleased]: https://github.com/linebender/fearless_simd/compare/v1.0.0...HEAD +[1.0.0]: https://github.com/linebender/fearless_simd/compare/v0.7.0...v1.0.0 [0.7.0]: https://github.com/linebender/fearless_simd/compare/v0.6.0...v0.7.0 [0.6.0]: https://github.com/linebender/fearless_simd/compare/v0.5.0...v0.6.0 [0.5.0]: https://github.com/linebender/fearless_simd/compare/v0.4.1...v0.5.0 diff --git a/Cargo.lock b/Cargo.lock index 617c09ae..39283205 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -299,7 +299,7 @@ checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" [[package]] name = "fearless_simd" -version = "1.0.0-rc.2" +version = "1.0.0" dependencies = [ "libm", ] @@ -325,7 +325,7 @@ dependencies = [ [[package]] name = "fearless_simd_macros" -version = "0.1.0-rc.1" +version = "0.1.0" dependencies = [ "proc-macro2", "quote", diff --git a/Cargo.toml b/Cargo.toml index 0f44b925..0024f10c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -77,9 +77,9 @@ clippy.wildcard_dependencies = "warn" clippy.uninlined_format_args = "allow" [workspace.dependencies] -fearless_simd = { path = "fearless_simd", version = "1.0.0-rc.2", default-features = false } +fearless_simd = { path = "fearless_simd", version = "1.0.0", default-features = false } fearless_simd_dev_macros = { path = "fearless_simd_dev_macros" } -fearless_simd_macros = { path = "fearless_simd_macros", version = "0.1.0-rc.1" } +fearless_simd_macros = { path = "fearless_simd_macros", version = "0.1.0" } proc-macro2 = "1.0.95" syn = { version = "3.0.4", default-features = false, features = [ "full", diff --git a/README.md b/README.md index 2145dc33..4b547050 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,14 @@ attribute is provided by the separately versioned [`fearless_simd_macros` companion package](./fearless_simd_macros/README.md); the core package does not depend on it. +Add the core library and optional macro to your `Cargo.toml`: + +```toml +[dependencies] +fearless_simd = "1.0" +fearless_simd_macros = "0.1" +``` + ## Motivation This crate provides a way to use SIMD safely, both via intrinsics and safe abstractions, while containing remarkably little `unsafe` code itself. @@ -63,8 +71,10 @@ It benefited from conversations with Luca Versari, though he is not responsible This version of Fearless SIMD has been verified to compile with **Rust 1.89** and later. -Future versions of Fearless SIMD might increase the Rust version requirement. -It will not be treated as a breaking change and as such can even happen with small patch releases. +Future versions of Fearless SIMD might increase the Rust version requirement. This will be accompanied by a minor version bump. + +If you require a fixed MSRV, we recommend using Cargo's [MSRV-aware resolver](https://doc.rust-lang.org/edition-guide/rust-2024/cargo-resolver.html) which will not select a version that fails to build. +We will provide [security backports](fearless_simd/SECURITY.md) to older Rust versions released within the last 3 years. ## Community diff --git a/fearless_simd/Cargo.toml b/fearless_simd/Cargo.toml index 762c4e15..8871999d 100644 --- a/fearless_simd/Cargo.toml +++ b/fearless_simd/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "fearless_simd" -version = "1.0.0-rc.2" +version = "1.0.0" license.workspace = true edition.workspace = true repository.workspace = true diff --git a/fearless_simd/README.md b/fearless_simd/README.md index 35f84d6e..a2407830 100644 --- a/fearless_simd/README.md +++ b/fearless_simd/README.md @@ -14,6 +14,14 @@ +Add the core library and optional `#[simd]` macro to your `Cargo.toml`: + +```toml +[dependencies] +fearless_simd = "1.0" +fearless_simd_macros = "0.1" +``` + -The latest published Fearless SIMD release is [1.0.0](#100-2026-09-20) which was released on 2026-09-20, +The latest published Fearless SIMD release is [1.0.0](#100-2026-09-21) which was released on 2026-09-21, alongside `fearless_simd_macros` 0.1.0. -You can find their changes [documented below](#100-2026-09-20). +You can find their changes [documented below](#100-2026-09-21). ## [Unreleased] This release has an [MSRV][] of 1.89. -## [1.0.0][] (2026-09-20) +## [1.0.0][] (2026-09-21) This release has an [MSRV][] of 1.89. From f719888a2189b2549fbf9ba22b91697c9f4013e3 Mon Sep 17 00:00:00 2001 From: "Sergey \"Shnatsel\" Davidoff" Date: Mon, 21 Sep 2026 19:37:12 +0100 Subject: [PATCH 3/3] Un-mess-up README --- README.md | 8 -------- fearless_simd/README.md | 18 ++++++++++-------- fearless_simd/src/lib.rs | 10 ++++++++++ 3 files changed, 20 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 4b547050..66c9a983 100644 --- a/README.md +++ b/README.md @@ -29,14 +29,6 @@ attribute is provided by the separately versioned [`fearless_simd_macros` companion package](./fearless_simd_macros/README.md); the core package does not depend on it. -Add the core library and optional macro to your `Cargo.toml`: - -```toml -[dependencies] -fearless_simd = "1.0" -fearless_simd_macros = "0.1" -``` - ## Motivation This crate provides a way to use SIMD safely, both via intrinsics and safe abstractions, while containing remarkably little `unsafe` code itself. diff --git a/fearless_simd/README.md b/fearless_simd/README.md index a2407830..59e83ad1 100644 --- a/fearless_simd/README.md +++ b/fearless_simd/README.md @@ -14,14 +14,6 @@ -Add the core library and optional `#[simd]` macro to your `Cargo.toml`: - -```toml -[dependencies] -fearless_simd = "1.0" -fearless_simd_macros = "0.1" -``` -