From 61f438d4714a0b4def1a00d5c08b4f0ecae0f7ae Mon Sep 17 00:00:00 2001 From: gabriel Date: Mon, 6 Jul 2026 20:16:13 +0200 Subject: [PATCH] chore: drop hand-written Unreleased changelog sections release-please owns the changelogs; the manual sections from #48 make its release PR permanently conflicting. Their content remains in the PR description and commit history. --- packages/python/CHANGELOG.md | 14 -------------- packages/python/Cargo.lock | 2 +- packages/rust/core/CHANGELOG.md | 27 --------------------------- 3 files changed, 1 insertion(+), 42 deletions(-) diff --git a/packages/python/CHANGELOG.md b/packages/python/CHANGELOG.md index fe89cb3..8b12a52 100644 --- a/packages/python/CHANGELOG.md +++ b/packages/python/CHANGELOG.md @@ -1,19 +1,5 @@ # Changelog -## Unreleased - -### Bug Fixes - -* Inherits the core dithering-correctness fixes: brightness-neutral ordered dither, - grayscale threshold scaling, auto tone-mapping clamps, and the perceptual - shadows/highlights pivot. -* Validate image dimensions and `accent_idx` at the FFI boundary, returning `ValueError` - instead of panicking the Rust extension on malformed input. - -### Other - -* Expose `tone_compress`, `gamut_compress`, and `rgb_to_oklab_buffer` on the `_rs` module - for tooling, and repair `scripts/pipeline.py` to the current API. ## [5.0.8](https://github.com/OpenDisplay/epaper-dithering/compare/epaper-dithering-v5.0.7...epaper-dithering-v5.0.8) (2026-07-06) diff --git a/packages/python/Cargo.lock b/packages/python/Cargo.lock index da6d7f3..16694ee 100644 --- a/packages/python/Cargo.lock +++ b/packages/python/Cargo.lock @@ -43,7 +43,7 @@ dependencies = [ [[package]] name = "epaper-dithering-core" -version = "4.0.0" +version = "4.0.1" dependencies = [ "rayon", ] diff --git a/packages/rust/core/CHANGELOG.md b/packages/rust/core/CHANGELOG.md index 3886e9d..cd66598 100644 --- a/packages/rust/core/CHANGELOG.md +++ b/packages/rust/core/CHANGELOG.md @@ -1,32 +1,5 @@ # Changelog -## Unreleased - -### Bug Fixes - -* **ordered dither:** use the standard zero-mean Bayer normalization `((v+0.5)/16 − 0.5)`. - The previous matrix had mean −1/32 and darkened every ordered-dithered image by ~8/255. -* **ordered dither:** scale the threshold amplitude to the palette's quantization step for - grayscale palettes (`1/(levels−1)`) so dense ramps (GRAYSCALE_16) are no longer swamped - by full-range dither noise; mono/color palettes are unchanged. -* **tone:** clamp the auto dynamic-range remap to `[0, 1]` so percentile outliers saturate - at the display black/white points instead of extrapolating past them (dark outliers were - crushed to pure black). -* **tone:** honor `strength` and preserve chroma for near-black pixels in the auto compressor; - clamp skewness before `powf` to avoid a NaN that could poison every output pixel on - high-key images. -* **tone:** pivot the shadows/highlights S-curve at perceptual mid-gray (gamma space) rather - than linear 0.5 (≈ sRGB 188), and clamp the strength inputs to `[0, 1]`. -* **types:** `ImageBuffer::new` now validates dimensions (panics on zero width / ragged - buffer) instead of silently truncating in release builds. - -### Performance - -* Fold the sRGB→XYZ→LMS conversion into Ottosson's single combined matrix (and matching - inverse), halving the per-pixel matrix work in OKLab conversion. -* **ordered dither:** precompute a per-threshold gamma LUT, removing three `powf` calls per - pixel (~13% faster); output is byte-identical. -* **gamut:** hoist the O(n²) palette-edge geometry out of the per-pixel loop. ## [4.0.1](https://github.com/OpenDisplay/epaper-dithering/compare/epaper-dithering-core-v4.0.0...epaper-dithering-core-v4.0.1) (2026-07-05)