diff --git a/CHANGELOG.md b/CHANGELOG.md index ce645a4..a06f71d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,48 @@ All notable changes to this project will be documented in this file. +## [0.8.0] - 2026-09-02 + +### βš™οΈ Miscellaneous Tasks + +- *(ci)* Pin stable toolchain and allow the new chunks_exact_to_as_chunks lint + +### ⚑ Performance + +- *(imgproc)* SIMD-accelerate compare_hist +- *(imgproc)* SIMD-accelerate compare_hist +- *(ci)* Run the sequential (non-parallel) test suite in CI + +### πŸ› Bug Fixes + +- *(imgproc)* Address review comments for histogram module +- *(imgproc)* Guard calc_back_project against zero-width images +- *(imgproc)* Address Qodo review comments for SIMD compare_hist +- *(wasm)* Address Qodo review findings on histogram bindings +- Address Qodo review findings on histogram examples + +### πŸ“š Documentation + +- Record the release workflow and merge policy in CLAUDE.md +- Add histogram/CLAHE examples (Rust + WASM) and update READMEs + +### πŸ•ΈοΈ WebAssembly & Emscripten + +- *(wasm)* Expose histogram module bindings + +### πŸš€ Features + +- *(imgproc)* Add histogram module +- *(imgproc)* Add parallel support to histogram module + +### 🚜 Refactor + +- *(imgproc)* Use as_chunks instead of allowing the new clippy lint + +### πŸ§ͺ Testing + +- *(imgproc)* Move histogram module tests into src/imgproc/tests.rs + ## [0.7.1] - 2026-08-10 ### βš™οΈ Miscellaneous Tasks diff --git a/Cargo.toml b/Cargo.toml index 5a1b509..e35cce0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "purecv" -version = "0.7.1" +version = "0.8.0" authors = ["Walter Perdan "] edition = "2021" rust-version = "1.88" @@ -86,7 +86,7 @@ members = ["crates/wasm"] exclude = ["crates/no-std-smoke"] [workspace.package] -version = "0.7.1" +version = "0.8.0" authors = ["Walter Perdan "] edition = "2021" description = "A pure Rust, high-performance computer vision library focused on safety and portability." diff --git a/MAINTAINERS.md b/MAINTAINERS.md index f8ba2d9..a07207f 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -28,7 +28,11 @@ Publishing a new version requires a mix of manual changelog curation and automat 2. Verify that all CI checks (Formatting, Clippy, Tests for `parallel` and `simd`) are passing on the latest commit. ### Step 2: Bump the Version -Update the version number in the `Cargo.toml` file of the workspace in [package] and [workspace.package] sections. +Update the version number in the `Cargo.toml` file of the workspace in [package] and [workspace.package] sections, and in the root `package.json`. + +Also check `README.md` and `crates/wasm/README.md` for hardcoded version strings in +installation snippets (e.g. `purecv = "0.6"`) β€” these don't update automatically and +are easy to miss. Search for the old version number across both files before moving on. ### Step 3: Generate the Local Changelog We use `git-cliff` to parse the conventional commits and update the historical changelog. Run the following command in the root directory: diff --git a/README.md b/README.md index 0feb0df..ddf2178 100644 --- a/README.md +++ b/README.md @@ -87,7 +87,7 @@ Add the following to your `Cargo.toml`: ```toml [dependencies] -purecv = "0.6" +purecv = "0.8" ``` PureCV's minimum supported Rust version (MSRV) is **1.88**. @@ -105,7 +105,7 @@ PureCV's minimum supported Rust version (MSRV) is **1.88**. ### `no_std` / embedded support Build with `--no-default-features` to run on bare-metal targets such as the -ESP32 (`purecv = { version = "0.6", default-features = false }`). Only `core` +ESP32 (`purecv = { version = "0.8", default-features = false }`). Only `core` and `alloc` are required (an allocator must be provided by the target). | Module | `no_std` | Notes | @@ -121,7 +121,7 @@ features gives the scalar, single-threaded code paths. ```toml [dependencies] -purecv = { version = "0.6", default-features = false } +purecv = { version = "0.8", default-features = false } ``` ```rust @@ -150,14 +150,14 @@ To enable the `ndarray` feature: ```toml [dependencies] -purecv = { version = "0.6", features = ["ndarray"] } +purecv = { version = "0.8", features = ["ndarray"] } ``` To enable SIMD + Parallel for maximum performance: ```toml [dependencies] -purecv = { version = "0.6", features = ["parallel", "simd"] } +purecv = { version = "0.8", features = ["parallel", "simd"] } ``` ### Usage Example diff --git a/crates/wasm/pkg/package.json b/crates/wasm/pkg/package.json index 923a255..989b496 100644 --- a/crates/wasm/pkg/package.json +++ b/crates/wasm/pkg/package.json @@ -5,7 +5,7 @@ "Walter Perdan \u003chttps://github.com/kalwalt\u003e" ], "description": "A pure Rust, high-performance computer vision library focused on safety and portability.", - "version": "0.7.1", + "version": "0.8.0", "license": "LGPL-2.1-or-later", "repository": { "type": "git", diff --git a/package.json b/package.json index dada5ed..a9f0e00 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "purecv", - "version": "0.7.1", + "version": "0.8.0", "description": "A pure Rust, high-performance computer vision library focused on safety and portability.", "private": true, "scripts": {