From 49f837e89c9d215f330db81183fa42c4043d98f1 Mon Sep 17 00:00:00 2001 From: GF Date: Thu, 29 Oct 2026 08:40:08 -0400 Subject: [PATCH] chore(release): open 0.13.1 Bump the workspace and its exact internal pins to 0.13.1 and date the changelog. The semver baseline moves to v0.13.0: the 0.13.1 report and review compare with that tag, and the 0.13.0 report and review return to their tagged contents. No ordinary API item changed in any package; j2k-native adds five rustdoc-hidden items (the region row sink and the CPU region window helpers), so the patch release carries no break ledger. The fuzz lockfiles also pick up dependencies their manifests already required but the locks never recorded: j2k-core's libc and windows-sys, and in the j2k-t803 fuzz lock the zip 9 that the workspace requires in place of a stale 8.6.0 entry. Each new entry uses the root lock's version. --- CHANGELOG.md | 2 +- Cargo.lock | 60 ++-- Cargo.toml | 2 +- README.md | 5 +- SECURITY.md | 1 + crates/j2k-cli/Cargo.toml | 6 +- crates/j2k-codec-math/Cargo.toml | 2 +- crates/j2k-compare/Cargo.toml | 8 +- crates/j2k-cuda-j2k-engine/Cargo.toml | 10 +- crates/j2k-cuda-jpeg-engine/Cargo.toml | 10 +- crates/j2k-cuda-runtime/Cargo.toml | 6 +- crates/j2k-cuda-transcode-engine/Cargo.toml | 6 +- crates/j2k-cuda/Cargo.toml | 12 +- crates/j2k-jpeg-cuda/Cargo.toml | 10 +- crates/j2k-jpeg-metal/Cargo.toml | 8 +- crates/j2k-jpeg/Cargo.toml | 6 +- crates/j2k-jpeg/fuzz/Cargo.lock | 27 +- crates/j2k-metal-support/Cargo.toml | 2 +- crates/j2k-metal/Cargo.toml | 14 +- crates/j2k-ml/Cargo.toml | 16 +- crates/j2k-mpsgraph/Cargo.toml | 12 +- crates/j2k-native/Cargo.toml | 6 +- crates/j2k-native/fuzz/Cargo.lock | 8 +- crates/j2k-t803/Cargo.toml | 14 +- crates/j2k-t803/fuzz/Cargo.lock | 56 ++- crates/j2k-test-support/Cargo.toml | 4 +- crates/j2k-tilecodec/Cargo.toml | 2 +- crates/j2k-tilecodec/fuzz/Cargo.lock | 4 +- crates/j2k-transcode-cuda/Cargo.toml | 14 +- crates/j2k-transcode-metal/Cargo.toml | 18 +- crates/j2k-transcode-test-support/Cargo.toml | 6 +- crates/j2k-transcode/Cargo.toml | 12 +- crates/j2k-transcode/fuzz/Cargo.lock | 33 +- crates/j2k/Cargo.toml | 8 +- crates/j2k/fuzz/Cargo.lock | 31 +- docs/stable-api-1.0.md | 5 +- xtask/RELEASING.md | 10 +- .../public-api/public-api-review-0.13.0.yml | 6 +- .../public-api/public-api-review-0.13.1.yml | 174 ++++++++++ .../reviewed-public-api-diff-0.13.0.md | 4 +- .../reviewed-public-api-diff-0.13.1.md | 327 ++++++++++++++++++ xtask/src/semver.rs | 10 +- xtask/src/semver/tests.rs | 6 +- xtask/src/semver/tests/api_planning.rs | 2 +- xtask/src/semver/tests/command_boundaries.rs | 38 +- xtask/tests/command_orchestration.rs | 4 +- xtask/tests/command_orchestration/support.rs | 2 +- 47 files changed, 802 insertions(+), 227 deletions(-) create mode 100644 xtask/release-evidence/public-api/public-api-review-0.13.1.yml create mode 100644 xtask/release-evidence/public-api/reviewed-public-api-diff-0.13.1.md diff --git a/CHANGELOG.md b/CHANGELOG.md index e01053fd..53eff671 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ This changelog tracks the current release line. Historical phase notes and stale roadmap entries have been removed from the public documentation set. -## [Unreleased] +## [0.13.1] - 2026-10-29 - `CpuBatchDecoder` region and region-plus-reduced requests no longer allocate coefficient and IDWT buffers for whole resolution levels diff --git a/Cargo.lock b/Cargo.lock index aed2e75e..7b299514 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2496,7 +2496,7 @@ checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" [[package]] name = "j2k" -version = "0.13.0" +version = "0.13.1" dependencies = [ "criterion", "j2k-core", @@ -2511,7 +2511,7 @@ dependencies = [ [[package]] name = "j2k-alloc-probe" -version = "0.13.0" +version = "0.13.1" dependencies = [ "j2k-native", "j2k-profile", @@ -2521,7 +2521,7 @@ dependencies = [ [[package]] name = "j2k-cli" -version = "0.13.0" +version = "0.13.1" dependencies = [ "j2k", "j2k-jpeg", @@ -2531,7 +2531,7 @@ dependencies = [ [[package]] name = "j2k-codec-math" -version = "0.13.0" +version = "0.13.1" dependencies = [ "j2k-types", ] @@ -2551,7 +2551,7 @@ dependencies = [ [[package]] name = "j2k-core" -version = "0.13.0" +version = "0.13.1" dependencies = [ "libc", "thiserror 2.0.18", @@ -2560,7 +2560,7 @@ dependencies = [ [[package]] name = "j2k-cuda" -version = "0.13.0" +version = "0.13.1" dependencies = [ "criterion", "j2k", @@ -2577,11 +2577,11 @@ dependencies = [ [[package]] name = "j2k-cuda-build-support" -version = "0.13.0" +version = "0.13.1" [[package]] name = "j2k-cuda-j2k-engine" -version = "0.13.0" +version = "0.13.1" dependencies = [ "criterion", "j2k-codec-math", @@ -2595,7 +2595,7 @@ dependencies = [ [[package]] name = "j2k-cuda-jpeg-engine" -version = "0.13.0" +version = "0.13.1" dependencies = [ "j2k-codec-math", "j2k-core", @@ -2606,7 +2606,7 @@ dependencies = [ [[package]] name = "j2k-cuda-runtime" -version = "0.13.0" +version = "0.13.1" dependencies = [ "j2k-codec-math", "j2k-core", @@ -2618,7 +2618,7 @@ dependencies = [ [[package]] name = "j2k-cuda-transcode-engine" -version = "0.13.0" +version = "0.13.1" dependencies = [ "j2k-core", "j2k-cuda-build-support", @@ -2628,7 +2628,7 @@ dependencies = [ [[package]] name = "j2k-jpeg" -version = "0.13.0" +version = "0.13.1" dependencies = [ "criterion", "fearless_simd", @@ -2647,7 +2647,7 @@ dependencies = [ [[package]] name = "j2k-jpeg-cuda" -version = "0.13.0" +version = "0.13.1" dependencies = [ "criterion", "j2k-core", @@ -2663,7 +2663,7 @@ dependencies = [ [[package]] name = "j2k-jpeg-metal" -version = "0.13.0" +version = "0.13.1" dependencies = [ "criterion", "dispatch2", @@ -2682,7 +2682,7 @@ dependencies = [ [[package]] name = "j2k-metal" -version = "0.13.0" +version = "0.13.1" dependencies = [ "cc", "criterion", @@ -2703,7 +2703,7 @@ dependencies = [ [[package]] name = "j2k-metal-support" -version = "0.13.0" +version = "0.13.1" dependencies = [ "j2k-core", "j2k-test-support", @@ -2715,7 +2715,7 @@ dependencies = [ [[package]] name = "j2k-ml" -version = "0.13.0" +version = "0.13.1" dependencies = [ "burn-core", "burn-cubecl", @@ -2740,7 +2740,7 @@ dependencies = [ [[package]] name = "j2k-mpsgraph" -version = "0.13.0" +version = "0.13.1" dependencies = [ "j2k", "j2k-core", @@ -2759,7 +2759,7 @@ dependencies = [ [[package]] name = "j2k-mpsgraph-support" -version = "0.13.0" +version = "0.13.1" dependencies = [ "block2", "objc2", @@ -2770,7 +2770,7 @@ dependencies = [ [[package]] name = "j2k-native" -version = "0.13.0" +version = "0.13.1" dependencies = [ "criterion", "fearless_simd", @@ -2784,11 +2784,11 @@ dependencies = [ [[package]] name = "j2k-profile" -version = "0.13.0" +version = "0.13.1" [[package]] name = "j2k-python" -version = "0.13.0" +version = "0.13.1" dependencies = [ "j2k", "j2k-cuda", @@ -2805,7 +2805,7 @@ dependencies = [ [[package]] name = "j2k-t803" -version = "0.13.0" +version = "0.13.1" dependencies = [ "image", "j2k", @@ -2828,7 +2828,7 @@ dependencies = [ [[package]] name = "j2k-test-support" -version = "0.13.0" +version = "0.13.1" dependencies = [ "j2k-core", "j2k-native", @@ -2839,7 +2839,7 @@ dependencies = [ [[package]] name = "j2k-tilecodec" -version = "0.13.0" +version = "0.13.1" dependencies = [ "criterion", "flate2", @@ -2851,7 +2851,7 @@ dependencies = [ [[package]] name = "j2k-transcode" -version = "0.13.0" +version = "0.13.1" dependencies = [ "criterion", "j2k", @@ -2868,7 +2868,7 @@ dependencies = [ [[package]] name = "j2k-transcode-cuda" -version = "0.13.0" +version = "0.13.1" dependencies = [ "criterion", "j2k-core", @@ -2885,7 +2885,7 @@ dependencies = [ [[package]] name = "j2k-transcode-metal" -version = "0.13.0" +version = "0.13.1" dependencies = [ "criterion", "j2k-codec-math", @@ -2907,7 +2907,7 @@ dependencies = [ [[package]] name = "j2k-transcode-test-support" -version = "0.13.0" +version = "0.13.1" dependencies = [ "j2k-native", "j2k-transcode", @@ -2916,7 +2916,7 @@ dependencies = [ [[package]] name = "j2k-types" -version = "0.13.0" +version = "0.13.1" [[package]] name = "jni-sys" diff --git a/Cargo.toml b/Cargo.toml index a6fc5485..0f9f3374 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -35,7 +35,7 @@ members = [ "xtask", ] [workspace.package] -version = "0.13.0" +version = "0.13.1" edition = "2021" rust-version = "1.99.0" license = "MIT OR Apache-2.0" diff --git a/README.md b/README.md index e7041ae5..36ae8fee 100644 --- a/README.md +++ b/README.md @@ -233,8 +233,9 @@ J2K does not depend on any of them. ## Status -**Release status:** `0.13.0` is published and security-supported. See the -[changelog](CHANGELOG.md) for migration notes. +**Release status:** `0.13.0` is published and security-supported. This +workspace prepares `0.13.1`. See the [changelog](CHANGELOG.md) for migration +notes. `j2k`, `j2k-core`, `j2k-jpeg`, and `j2k-tilecodec` are the stable crates. The GPU, transcode, and ML crates are experimental: patch releases don't diff --git a/SECURITY.md b/SECURITY.md index 482dcfa8..a71a12f9 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -4,6 +4,7 @@ | Version | Status | | --- | --- | +| `0.13.1` | Current release candidate; not yet published | | `0.13.0` | Latest published and security-supported release | | `0.12.0` | Previous published release; security-supported | | `0.11.3` | Previous published release; security-supported | diff --git a/crates/j2k-cli/Cargo.toml b/crates/j2k-cli/Cargo.toml index 0551ca7a..d419ddd9 100644 --- a/crates/j2k-cli/Cargo.toml +++ b/crates/j2k-cli/Cargo.toml @@ -18,9 +18,9 @@ path = "src/main.rs" doc = false [dependencies] -j2k = { path = "../j2k", version = "=0.13.0" } -j2k-jpeg = { path = "../j2k-jpeg", version = "=0.13.0" } -j2k-transcode = { path = "../j2k-transcode", version = "=0.13.0" } +j2k = { path = "../j2k", version = "=0.13.1" } +j2k-jpeg = { path = "../j2k-jpeg", version = "=0.13.1" } +j2k-transcode = { path = "../j2k-transcode", version = "=0.13.1" } [dev-dependencies] j2k-test-support = { path = "../j2k-test-support" } diff --git a/crates/j2k-codec-math/Cargo.toml b/crates/j2k-codec-math/Cargo.toml index 2ea326fe..e8b0cb39 100644 --- a/crates/j2k-codec-math/Cargo.toml +++ b/crates/j2k-codec-math/Cargo.toml @@ -21,7 +21,7 @@ name = "j2k_codec_math" path = "src/lib.rs" [dependencies] -j2k-types = { path = "../j2k-types", version = "=0.13.0" } +j2k-types = { path = "../j2k-types", version = "=0.13.1" } [lints] workspace = true diff --git a/crates/j2k-compare/Cargo.toml b/crates/j2k-compare/Cargo.toml index 609a5983..084eecbd 100644 --- a/crates/j2k-compare/Cargo.toml +++ b/crates/j2k-compare/Cargo.toml @@ -13,10 +13,10 @@ publish = false ignored = ["cc"] [dependencies] -j2k-core = { path = "../j2k-core", version = "=0.13.0" } -j2k-native = { path = "../j2k-native", version = "=0.13.0" } -j2k = { path = "../j2k", version = "=0.13.0" } -j2k-test-support = { path = "../j2k-test-support", version = "=0.13.0" } +j2k-core = { path = "../j2k-core", version = "=0.13.1" } +j2k-native = { path = "../j2k-native", version = "=0.13.1" } +j2k = { path = "../j2k", version = "=0.13.1" } +j2k-test-support = { path = "../j2k-test-support", version = "=0.13.1" } image = { workspace = true } openjpeg-sys = { workspace = true } diff --git a/crates/j2k-cuda-j2k-engine/Cargo.toml b/crates/j2k-cuda-j2k-engine/Cargo.toml index 98eee738..48c0a4c2 100644 --- a/crates/j2k-cuda-j2k-engine/Cargo.toml +++ b/crates/j2k-cuda-j2k-engine/Cargo.toml @@ -33,13 +33,13 @@ cuda-oxide-htj2k-decode = [] cuda-oxide-htj2k-encode = [] [dependencies] -j2k-codec-math = { path = "../j2k-codec-math", version = "=0.13.0" } -j2k-core = { path = "../j2k-core", version = "=0.13.0" } -j2k-cuda-runtime = { path = "../j2k-cuda-runtime", version = "=0.13.0" } -j2k-types = { path = "../j2k-types", version = "=0.13.0" } +j2k-codec-math = { path = "../j2k-codec-math", version = "=0.13.1" } +j2k-core = { path = "../j2k-core", version = "=0.13.1" } +j2k-cuda-runtime = { path = "../j2k-cuda-runtime", version = "=0.13.1" } +j2k-types = { path = "../j2k-types", version = "=0.13.1" } [build-dependencies] -j2k-cuda-build-support = { path = "../j2k-cuda-build-support", version = "=0.13.0" } +j2k-cuda-build-support = { path = "../j2k-cuda-build-support", version = "=0.13.1" } [dev-dependencies] criterion = { workspace = true } diff --git a/crates/j2k-cuda-jpeg-engine/Cargo.toml b/crates/j2k-cuda-jpeg-engine/Cargo.toml index f968fd88..c5705c3c 100644 --- a/crates/j2k-cuda-jpeg-engine/Cargo.toml +++ b/crates/j2k-cuda-jpeg-engine/Cargo.toml @@ -29,13 +29,13 @@ cuda-oxide-jpeg-encode = [] cuda-oxide-jpeg-lossless-encode = [] [dependencies] -j2k-codec-math = { path = "../j2k-codec-math", version = "=0.13.0" } -j2k-core = { path = "../j2k-core", version = "=0.13.0" } -j2k-cuda-runtime = { path = "../j2k-cuda-runtime", version = "=0.13.0" } +j2k-codec-math = { path = "../j2k-codec-math", version = "=0.13.1" } +j2k-core = { path = "../j2k-core", version = "=0.13.1" } +j2k-cuda-runtime = { path = "../j2k-cuda-runtime", version = "=0.13.1" } [build-dependencies] -j2k-codec-math = { path = "../j2k-codec-math", version = "=0.13.0" } -j2k-cuda-build-support = { path = "../j2k-cuda-build-support", version = "=0.13.0" } +j2k-codec-math = { path = "../j2k-codec-math", version = "=0.13.1" } +j2k-cuda-build-support = { path = "../j2k-cuda-build-support", version = "=0.13.1" } [dev-dependencies] j2k-test-support = { path = "../j2k-test-support" } diff --git a/crates/j2k-cuda-runtime/Cargo.toml b/crates/j2k-cuda-runtime/Cargo.toml index a1a31b60..4bd6a77e 100644 --- a/crates/j2k-cuda-runtime/Cargo.toml +++ b/crates/j2k-cuda-runtime/Cargo.toml @@ -30,13 +30,13 @@ cuda-oxide = [ cuda-oxide-copy-u8 = [] [dependencies] -j2k-core = { path = "../j2k-core", version = "=0.13.0" } +j2k-core = { path = "../j2k-core", version = "=0.13.1" } libloading = { workspace = true } thiserror = { workspace = true } [build-dependencies] -j2k-codec-math = { path = "../j2k-codec-math", version = "=0.13.0" } -j2k-cuda-build-support = { path = "../j2k-cuda-build-support", version = "=0.13.0" } +j2k-codec-math = { path = "../j2k-codec-math", version = "=0.13.1" } +j2k-cuda-build-support = { path = "../j2k-cuda-build-support", version = "=0.13.1" } [dev-dependencies] j2k-test-support = { path = "../j2k-test-support" } diff --git a/crates/j2k-cuda-transcode-engine/Cargo.toml b/crates/j2k-cuda-transcode-engine/Cargo.toml index 64967f44..c286d254 100644 --- a/crates/j2k-cuda-transcode-engine/Cargo.toml +++ b/crates/j2k-cuda-transcode-engine/Cargo.toml @@ -27,11 +27,11 @@ cuda-profiling = ["j2k-cuda-runtime/cuda-profiling"] cuda-oxide-transcode = [] [dependencies] -j2k-core = { path = "../j2k-core", version = "=0.13.0" } -j2k-cuda-runtime = { path = "../j2k-cuda-runtime", version = "=0.13.0" } +j2k-core = { path = "../j2k-core", version = "=0.13.1" } +j2k-cuda-runtime = { path = "../j2k-cuda-runtime", version = "=0.13.1" } [build-dependencies] -j2k-cuda-build-support = { path = "../j2k-cuda-build-support", version = "=0.13.0" } +j2k-cuda-build-support = { path = "../j2k-cuda-build-support", version = "=0.13.1" } [dev-dependencies] j2k-test-support = { path = "../j2k-test-support" } diff --git a/crates/j2k-cuda/Cargo.toml b/crates/j2k-cuda/Cargo.toml index c6d317be..4c14627c 100644 --- a/crates/j2k-cuda/Cargo.toml +++ b/crates/j2k-cuda/Cargo.toml @@ -36,12 +36,12 @@ cuda-runtime = [ cuda-profiling = ["cuda-runtime", "j2k-cuda-j2k-engine/cuda-profiling"] [dependencies] -j2k-core = { path = "../j2k-core", version = "=0.13.0" } -j2k-cuda-j2k-engine = { path = "../j2k-cuda-j2k-engine", version = "=0.13.0", optional = true } -j2k-cuda-runtime = { path = "../j2k-cuda-runtime", version = "=0.13.0", optional = true } -j2k = { path = "../j2k", version = "=0.13.0" } -j2k-native = { path = "../j2k-native", version = "=0.13.0" } -j2k-profile = { path = "../j2k-profile", version = "=0.13.0" } +j2k-core = { path = "../j2k-core", version = "=0.13.1" } +j2k-cuda-j2k-engine = { path = "../j2k-cuda-j2k-engine", version = "=0.13.1", optional = true } +j2k-cuda-runtime = { path = "../j2k-cuda-runtime", version = "=0.13.1", optional = true } +j2k = { path = "../j2k", version = "=0.13.1" } +j2k-native = { path = "../j2k-native", version = "=0.13.1" } +j2k-profile = { path = "../j2k-profile", version = "=0.13.1" } rayon = { workspace = true, optional = true } thiserror = { workspace = true } diff --git a/crates/j2k-jpeg-cuda/Cargo.toml b/crates/j2k-jpeg-cuda/Cargo.toml index 16a8d739..1609adcb 100644 --- a/crates/j2k-jpeg-cuda/Cargo.toml +++ b/crates/j2k-jpeg-cuda/Cargo.toml @@ -29,11 +29,11 @@ cuda-runtime = [ ] [dependencies] -j2k-core = { path = "../j2k-core", version = "=0.13.0" } -j2k-cuda-jpeg-engine = { path = "../j2k-cuda-jpeg-engine", version = "=0.13.0", optional = true } -j2k-cuda-runtime = { path = "../j2k-cuda-runtime", version = "=0.13.0", optional = true } -j2k-jpeg = { path = "../j2k-jpeg", version = "=0.13.0" } -j2k-profile = { path = "../j2k-profile", version = "=0.13.0" } +j2k-core = { path = "../j2k-core", version = "=0.13.1" } +j2k-cuda-jpeg-engine = { path = "../j2k-cuda-jpeg-engine", version = "=0.13.1", optional = true } +j2k-cuda-runtime = { path = "../j2k-cuda-runtime", version = "=0.13.1", optional = true } +j2k-jpeg = { path = "../j2k-jpeg", version = "=0.13.1" } +j2k-profile = { path = "../j2k-profile", version = "=0.13.1" } thiserror = { workspace = true } [dev-dependencies] diff --git a/crates/j2k-jpeg-metal/Cargo.toml b/crates/j2k-jpeg-metal/Cargo.toml index 5be1cd50..6b8af875 100644 --- a/crates/j2k-jpeg-metal/Cargo.toml +++ b/crates/j2k-jpeg-metal/Cargo.toml @@ -19,10 +19,10 @@ name = "j2k_jpeg_metal" path = "src/lib.rs" [dependencies] -j2k-core = { path = "../j2k-core", version = "=0.13.0" } -j2k-jpeg = { path = "../j2k-jpeg", version = "=0.13.0" } -j2k-metal-support = { path = "../j2k-metal-support", version = "=0.13.0" } -j2k-profile = { path = "../j2k-profile", version = "=0.13.0" } +j2k-core = { path = "../j2k-core", version = "=0.13.1" } +j2k-jpeg = { path = "../j2k-jpeg", version = "=0.13.1" } +j2k-metal-support = { path = "../j2k-metal-support", version = "=0.13.1" } +j2k-profile = { path = "../j2k-profile", version = "=0.13.1" } thiserror = { workspace = true } [target.'cfg(target_os = "macos")'.dependencies] diff --git a/crates/j2k-jpeg/Cargo.toml b/crates/j2k-jpeg/Cargo.toml index 1527c28a..0b28a0c0 100644 --- a/crates/j2k-jpeg/Cargo.toml +++ b/crates/j2k-jpeg/Cargo.toml @@ -28,9 +28,9 @@ bench-libjpeg-turbo = [] bench-internals = [] [dependencies] -j2k-codec-math = { path = "../j2k-codec-math", version = "=0.13.0" } -j2k-core = { path = "../j2k-core", version = "=0.13.0" } -j2k-profile = { path = "../j2k-profile", version = "=0.13.0" } +j2k-codec-math = { path = "../j2k-codec-math", version = "=0.13.1" } +j2k-core = { path = "../j2k-core", version = "=0.13.1" } +j2k-profile = { path = "../j2k-profile", version = "=0.13.1" } thiserror = { workspace = true } memchr = { workspace = true } rayon = { workspace = true } diff --git a/crates/j2k-jpeg/fuzz/Cargo.lock b/crates/j2k-jpeg/fuzz/Cargo.lock index cf9c1118..6619399e 100644 --- a/crates/j2k-jpeg/fuzz/Cargo.lock +++ b/crates/j2k-jpeg/fuzz/Cargo.lock @@ -83,21 +83,23 @@ dependencies = [ [[package]] name = "j2k-codec-math" -version = "0.13.0" +version = "0.13.1" dependencies = [ "j2k-types", ] [[package]] name = "j2k-core" -version = "0.13.0" +version = "0.13.1" dependencies = [ + "libc", "thiserror", + "windows-sys", ] [[package]] name = "j2k-jpeg" -version = "0.13.0" +version = "0.13.1" dependencies = [ "fearless_simd", "j2k-codec-math", @@ -118,11 +120,11 @@ dependencies = [ [[package]] name = "j2k-profile" -version = "0.13.0" +version = "0.13.1" [[package]] name = "j2k-types" -version = "0.13.0" +version = "0.13.1" [[package]] name = "jobserver" @@ -252,6 +254,21 @@ dependencies = [ "wit-bindgen", ] +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + [[package]] name = "wit-bindgen" version = "0.57.1" diff --git a/crates/j2k-metal-support/Cargo.toml b/crates/j2k-metal-support/Cargo.toml index 8e6399df..81572d9e 100644 --- a/crates/j2k-metal-support/Cargo.toml +++ b/crates/j2k-metal-support/Cargo.toml @@ -19,7 +19,7 @@ name = "j2k_metal_support" path = "src/lib.rs" [dependencies] -j2k-core = { path = "../j2k-core", version = "=0.13.0" } +j2k-core = { path = "../j2k-core", version = "=0.13.1" } log = { workspace = true } [target.'cfg(target_os = "macos")'.dependencies] diff --git a/crates/j2k-metal/Cargo.toml b/crates/j2k-metal/Cargo.toml index e42a7cd4..e8e6c5c7 100644 --- a/crates/j2k-metal/Cargo.toml +++ b/crates/j2k-metal/Cargo.toml @@ -24,13 +24,13 @@ name = "j2k_metal" path = "src/lib.rs" [dependencies] -j2k-codec-math = { path = "../j2k-codec-math", version = "=0.13.0" } -j2k-core = { path = "../j2k-core", version = "=0.13.0" } -j2k = { path = "../j2k", version = "=0.13.0" } -j2k-native = { path = "../j2k-native", version = "=0.13.0" } -j2k-metal-support = { path = "../j2k-metal-support", version = "=0.13.0" } -j2k-profile = { path = "../j2k-profile", version = "=0.13.0" } -j2k-types = { path = "../j2k-types", version = "=0.13.0" } +j2k-codec-math = { path = "../j2k-codec-math", version = "=0.13.1" } +j2k-core = { path = "../j2k-core", version = "=0.13.1" } +j2k = { path = "../j2k", version = "=0.13.1" } +j2k-native = { path = "../j2k-native", version = "=0.13.1" } +j2k-metal-support = { path = "../j2k-metal-support", version = "=0.13.1" } +j2k-profile = { path = "../j2k-profile", version = "=0.13.1" } +j2k-types = { path = "../j2k-types", version = "=0.13.1" } thiserror = { workspace = true } [target.'cfg(target_os = "macos")'.dependencies] diff --git a/crates/j2k-ml/Cargo.toml b/crates/j2k-ml/Cargo.toml index 4e0c4089..9f50bace 100644 --- a/crates/j2k-ml/Cargo.toml +++ b/crates/j2k-ml/Cargo.toml @@ -37,24 +37,24 @@ metal = [ ] [dependencies] -j2k-core = { path = "../j2k-core", version = "=0.13.0" } +j2k-core = { path = "../j2k-core", version = "=0.13.1" } burn-core = { workspace = true } burn-cubecl = { workspace = true, optional = true } burn-cuda = { workspace = true, optional = true } burn-fusion = { workspace = true, optional = true } burn-ir = { workspace = true, optional = true } burn-wgpu = { workspace = true, optional = true } -j2k = { path = "../j2k", version = "=0.13.0" } -j2k-jpeg = { path = "../j2k-jpeg", version = "=0.13.0", optional = true } -j2k-cuda = { path = "../j2k-cuda", version = "=0.13.0", features = ["cuda-runtime"], optional = true } -j2k-cuda-runtime = { path = "../j2k-cuda-runtime", version = "=0.13.0", optional = true } -j2k-metal = { path = "../j2k-metal", version = "=0.13.0", optional = true } -j2k-metal-support = { path = "../j2k-metal-support", version = "=0.13.0", optional = true } +j2k = { path = "../j2k", version = "=0.13.1" } +j2k-jpeg = { path = "../j2k-jpeg", version = "=0.13.1", optional = true } +j2k-cuda = { path = "../j2k-cuda", version = "=0.13.1", features = ["cuda-runtime"], optional = true } +j2k-cuda-runtime = { path = "../j2k-cuda-runtime", version = "=0.13.1", optional = true } +j2k-metal = { path = "../j2k-metal", version = "=0.13.1", optional = true } +j2k-metal-support = { path = "../j2k-metal-support", version = "=0.13.1", optional = true } thiserror = { workspace = true } [dev-dependencies] criterion = { workspace = true } -j2k-native = { path = "../j2k-native", version = "=0.13.0" } +j2k-native = { path = "../j2k-native", version = "=0.13.1" } j2k-test-support = { path = "../j2k-test-support", features = ["j2k-native-fixtures"] } [target.'cfg(all(target_arch = "aarch64", target_os = "linux"))'.dev-dependencies] diff --git a/crates/j2k-mpsgraph/Cargo.toml b/crates/j2k-mpsgraph/Cargo.toml index 7c26fda6..6457d36a 100644 --- a/crates/j2k-mpsgraph/Cargo.toml +++ b/crates/j2k-mpsgraph/Cargo.toml @@ -17,14 +17,14 @@ all-features = true targets = [] [dependencies] -j2k = { path = "../j2k", version = "=0.13.0" } -j2k-core = { path = "../j2k-core", version = "=0.13.0" } -j2k-metal = { path = "../j2k-metal", version = "=0.13.0" } -j2k-metal-support = { path = "../j2k-metal-support", version = "=0.13.0" } +j2k = { path = "../j2k", version = "=0.13.1" } +j2k-core = { path = "../j2k-core", version = "=0.13.1" } +j2k-metal = { path = "../j2k-metal", version = "=0.13.1" } +j2k-metal-support = { path = "../j2k-metal-support", version = "=0.13.1" } thiserror = { workspace = true } [target.'cfg(all(target_arch = "aarch64", target_os = "macos"))'.dependencies] -j2k-mpsgraph-support = { path = "../j2k-mpsgraph-support", version = "=0.13.0" } +j2k-mpsgraph-support = { path = "../j2k-mpsgraph-support", version = "=0.13.1" } objc2 = { workspace = true } objc2-foundation = { workspace = true, features = [ "NSArray", @@ -37,7 +37,7 @@ objc2-metal-performance-shaders = { workspace = true } objc2-metal-performance-shaders-graph = { workspace = true } [dev-dependencies] -j2k-native = { path = "../j2k-native", version = "=0.13.0" } +j2k-native = { path = "../j2k-native", version = "=0.13.1" } j2k-test-support = { path = "../j2k-test-support", features = ["j2k-native-fixtures"] } [lints.rust] diff --git a/crates/j2k-native/Cargo.toml b/crates/j2k-native/Cargo.toml index cfb098de..8bd6cc63 100644 --- a/crates/j2k-native/Cargo.toml +++ b/crates/j2k-native/Cargo.toml @@ -30,9 +30,9 @@ fearless_simd = { workspace = true, optional = true } libm = { workspace = true } log = { workspace = true, optional = true } rayon = { workspace = true, optional = true } -j2k-profile = { path = "../j2k-profile", version = "=0.13.0", default-features = false } -j2k-codec-math = { path = "../j2k-codec-math", version = "=0.13.0" } -j2k-types = { path = "../j2k-types", version = "=0.13.0" } +j2k-profile = { path = "../j2k-profile", version = "=0.13.1", default-features = false } +j2k-codec-math = { path = "../j2k-codec-math", version = "=0.13.1" } +j2k-types = { path = "../j2k-types", version = "=0.13.1" } [dev-dependencies] criterion = { workspace = true } diff --git a/crates/j2k-native/fuzz/Cargo.lock b/crates/j2k-native/fuzz/Cargo.lock index 4374c194..b2af7317 100644 --- a/crates/j2k-native/fuzz/Cargo.lock +++ b/crates/j2k-native/fuzz/Cargo.lock @@ -82,14 +82,14 @@ dependencies = [ [[package]] name = "j2k-codec-math" -version = "0.13.0" +version = "0.13.1" dependencies = [ "j2k-types", ] [[package]] name = "j2k-native" -version = "0.13.0" +version = "0.13.1" dependencies = [ "fearless_simd", "j2k-codec-math", @@ -109,11 +109,11 @@ dependencies = [ [[package]] name = "j2k-profile" -version = "0.13.0" +version = "0.13.1" [[package]] name = "j2k-types" -version = "0.13.0" +version = "0.13.1" [[package]] name = "jobserver" diff --git a/crates/j2k-t803/Cargo.toml b/crates/j2k-t803/Cargo.toml index e02f69a5..90470286 100644 --- a/crates/j2k-t803/Cargo.toml +++ b/crates/j2k-t803/Cargo.toml @@ -29,14 +29,14 @@ metal-runner = ["runner", "dep:j2k-metal", "dep:objc2-metal"] [dependencies] image = { workspace = true, optional = true } -j2k = { path = "../j2k", version = "=0.13.0", optional = true } -j2k-codec-math = { path = "../j2k-codec-math", version = "=0.13.0", optional = true } +j2k = { path = "../j2k", version = "=0.13.1", optional = true } +j2k-codec-math = { path = "../j2k-codec-math", version = "=0.13.1", optional = true } j2k-compare = { path = "../j2k-compare", version = "=0.2.0", optional = true } -j2k-core = { path = "../j2k-core", version = "=0.13.0", optional = true } -j2k-native = { path = "../j2k-native", version = "=0.13.0", optional = true } -j2k-cuda = { path = "../j2k-cuda", version = "=0.13.0", optional = true } -j2k-cuda-runtime = { path = "../j2k-cuda-runtime", version = "=0.13.0", optional = true } -j2k-metal = { path = "../j2k-metal", version = "=0.13.0", optional = true } +j2k-core = { path = "../j2k-core", version = "=0.13.1", optional = true } +j2k-native = { path = "../j2k-native", version = "=0.13.1", optional = true } +j2k-cuda = { path = "../j2k-cuda", version = "=0.13.1", optional = true } +j2k-cuda-runtime = { path = "../j2k-cuda-runtime", version = "=0.13.1", optional = true } +j2k-metal = { path = "../j2k-metal", version = "=0.13.1", optional = true } serde = { workspace = true } serde_json = { workspace = true, features = ["float_roundtrip"] } sha2 = { workspace = true } diff --git a/crates/j2k-t803/fuzz/Cargo.lock b/crates/j2k-t803/fuzz/Cargo.lock index b6fba07d..200a6c23 100644 --- a/crates/j2k-t803/fuzz/Cargo.lock +++ b/crates/j2k-t803/fuzz/Cargo.lock @@ -65,6 +65,12 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + [[package]] name = "cpufeatures" version = "0.2.17" @@ -256,7 +262,7 @@ checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" [[package]] name = "j2k" -version = "0.13.0" +version = "0.13.1" dependencies = [ "j2k-core", "j2k-native", @@ -267,7 +273,7 @@ dependencies = [ [[package]] name = "j2k-codec-math" -version = "0.13.0" +version = "0.13.1" dependencies = [ "j2k-types", ] @@ -287,14 +293,16 @@ dependencies = [ [[package]] name = "j2k-core" -version = "0.13.0" +version = "0.13.1" dependencies = [ + "libc", "thiserror", + "windows-sys", ] [[package]] name = "j2k-native" -version = "0.13.0" +version = "0.13.1" dependencies = [ "fearless_simd", "j2k-codec-math", @@ -306,11 +314,11 @@ dependencies = [ [[package]] name = "j2k-profile" -version = "0.13.0" +version = "0.13.1" [[package]] name = "j2k-t803" -version = "0.13.0" +version = "0.13.1" dependencies = [ "image", "j2k", @@ -336,7 +344,7 @@ dependencies = [ [[package]] name = "j2k-test-support" -version = "0.13.0" +version = "0.13.1" dependencies = [ "j2k-core", "serde", @@ -346,7 +354,7 @@ dependencies = [ [[package]] name = "j2k-types" -version = "0.13.0" +version = "0.13.1" [[package]] name = "jobserver" @@ -417,6 +425,18 @@ dependencies = [ "pxfm", ] +[[package]] +name = "nix" +version = "0.31.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf20d2fde8ff38632c426f1165ed7436270b44f199fc55284c38276f9db47c3d" +dependencies = [ + "bitflags", + "cfg-if", + "cfg_aliases", + "libc", +] + [[package]] name = "num-traits" version = "0.2.19" @@ -717,6 +737,21 @@ version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a28ac98ddc8b9274cb41bb4d9d4d5c425b6020c50c46f25559911905610b4a88" +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + [[package]] name = "winnow" version = "1.0.4" @@ -745,14 +780,15 @@ dependencies = [ [[package]] name = "zip" -version = "8.6.0" +version = "9.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d04a6b5381502aa6087c94c669499eb1602eb9c5e8198e534de571f7154809b" +checksum = "6e04976da629d3b04204ba8105b396a193af8ad2583b2c79bfb3ab8af580a11e" dependencies = [ "crc32fast", "flate2", "indexmap", "memchr", + "nix", "typed-path", ] diff --git a/crates/j2k-test-support/Cargo.toml b/crates/j2k-test-support/Cargo.toml index 44b03eb8..65d01895 100644 --- a/crates/j2k-test-support/Cargo.toml +++ b/crates/j2k-test-support/Cargo.toml @@ -16,8 +16,8 @@ path = "src/lib.rs" j2k-native-fixtures = ["dep:j2k-native"] [dependencies] -j2k-core = { path = "../j2k-core", version = "=0.13.0" } -j2k-native = { path = "../j2k-native", version = "=0.13.0", optional = true } +j2k-core = { path = "../j2k-core", version = "=0.13.1" } +j2k-native = { path = "../j2k-native", version = "=0.13.1", optional = true } serde = { workspace = true } serde_json = { workspace = true } sha2 = { workspace = true } diff --git a/crates/j2k-tilecodec/Cargo.toml b/crates/j2k-tilecodec/Cargo.toml index 9e57604f..fe004598 100644 --- a/crates/j2k-tilecodec/Cargo.toml +++ b/crates/j2k-tilecodec/Cargo.toml @@ -19,7 +19,7 @@ name = "j2k_tilecodec" path = "src/lib.rs" [dependencies] -j2k-core = { path = "../j2k-core", version = "=0.13.0" } +j2k-core = { path = "../j2k-core", version = "=0.13.1" } thiserror = { workspace = true } flate2 = { workspace = true } zstd = { workspace = true } diff --git a/crates/j2k-tilecodec/fuzz/Cargo.lock b/crates/j2k-tilecodec/fuzz/Cargo.lock index 98216eaa..407a3e73 100644 --- a/crates/j2k-tilecodec/fuzz/Cargo.lock +++ b/crates/j2k-tilecodec/fuzz/Cargo.lock @@ -72,7 +72,7 @@ dependencies = [ [[package]] name = "j2k-core" -version = "0.13.0" +version = "0.13.1" dependencies = [ "libc", "thiserror", @@ -81,7 +81,7 @@ dependencies = [ [[package]] name = "j2k-tilecodec" -version = "0.13.0" +version = "0.13.1" dependencies = [ "flate2", "j2k-core", diff --git a/crates/j2k-transcode-cuda/Cargo.toml b/crates/j2k-transcode-cuda/Cargo.toml index d8aa1d88..5bd9bc41 100644 --- a/crates/j2k-transcode-cuda/Cargo.toml +++ b/crates/j2k-transcode-cuda/Cargo.toml @@ -31,16 +31,16 @@ cuda-runtime = [ cuda-profiling = ["cuda-runtime", "j2k-cuda-runtime/cuda-profiling", "j2k-cuda-transcode-engine/cuda-profiling"] [dependencies] -j2k-core = { path = "../j2k-core", version = "=0.13.0" } -j2k-transcode = { path = "../j2k-transcode", version = "=0.13.0" } -j2k-cuda-runtime = { path = "../j2k-cuda-runtime", version = "=0.13.0", optional = true } -j2k-cuda-transcode-engine = { path = "../j2k-cuda-transcode-engine", version = "=0.13.0", optional = true } -j2k-cuda-j2k-engine = { path = "../j2k-cuda-j2k-engine", version = "=0.13.0", optional = true } -j2k-native = { path = "../j2k-native", version = "=0.13.0" } +j2k-core = { path = "../j2k-core", version = "=0.13.1" } +j2k-transcode = { path = "../j2k-transcode", version = "=0.13.1" } +j2k-cuda-runtime = { path = "../j2k-cuda-runtime", version = "=0.13.1", optional = true } +j2k-cuda-transcode-engine = { path = "../j2k-cuda-transcode-engine", version = "=0.13.1", optional = true } +j2k-cuda-j2k-engine = { path = "../j2k-cuda-j2k-engine", version = "=0.13.1", optional = true } +j2k-native = { path = "../j2k-native", version = "=0.13.1" } [dev-dependencies] criterion = { workspace = true } -j2k-jpeg = { path = "../j2k-jpeg", version = "=0.13.0" } +j2k-jpeg = { path = "../j2k-jpeg", version = "=0.13.1" } j2k-test-support = { path = "../j2k-test-support" } j2k-transcode-test-support = { path = "../j2k-transcode-test-support" } sha2 = { workspace = true } diff --git a/crates/j2k-transcode-metal/Cargo.toml b/crates/j2k-transcode-metal/Cargo.toml index d9aa92f8..5c98f040 100644 --- a/crates/j2k-transcode-metal/Cargo.toml +++ b/crates/j2k-transcode-metal/Cargo.toml @@ -26,11 +26,11 @@ default = [] bench-internals = ["j2k-transcode/dev-support"] [dependencies] -j2k-codec-math = { path = "../j2k-codec-math", version = "=0.13.0" } -j2k-core = { path = "../j2k-core", version = "=0.13.0" } -j2k-metal-support = { path = "../j2k-metal-support", version = "=0.13.0" } -j2k-transcode = { path = "../j2k-transcode", version = "=0.13.0" } -j2k-types = { path = "../j2k-types", version = "=0.13.0" } +j2k-codec-math = { path = "../j2k-codec-math", version = "=0.13.1" } +j2k-core = { path = "../j2k-core", version = "=0.13.1" } +j2k-metal-support = { path = "../j2k-metal-support", version = "=0.13.1" } +j2k-transcode = { path = "../j2k-transcode", version = "=0.13.1" } +j2k-types = { path = "../j2k-types", version = "=0.13.1" } [target.'cfg(target_os = "macos")'.dependencies] objc2 = { workspace = true } @@ -40,10 +40,10 @@ objc2-metal = { workspace = true } [dev-dependencies] criterion = { workspace = true } rayon = { workspace = true } -j2k-metal = { path = "../j2k-metal", version = "=0.13.0" } -j2k-native = { path = "../j2k-native", version = "=0.13.0" } -j2k-jpeg = { path = "../j2k-jpeg", version = "=0.13.0" } -j2k-profile = { path = "../j2k-profile", version = "=0.13.0" } +j2k-metal = { path = "../j2k-metal", version = "=0.13.1" } +j2k-native = { path = "../j2k-native", version = "=0.13.1" } +j2k-jpeg = { path = "../j2k-jpeg", version = "=0.13.1" } +j2k-profile = { path = "../j2k-profile", version = "=0.13.1" } j2k-test-support = { path = "../j2k-test-support" } j2k-transcode-test-support = { path = "../j2k-transcode-test-support" } diff --git a/crates/j2k-transcode-test-support/Cargo.toml b/crates/j2k-transcode-test-support/Cargo.toml index 086931b0..e31dc94a 100644 --- a/crates/j2k-transcode-test-support/Cargo.toml +++ b/crates/j2k-transcode-test-support/Cargo.toml @@ -13,11 +13,11 @@ name = "j2k_transcode_test_support" path = "src/lib.rs" [dependencies] -j2k-transcode = { path = "../j2k-transcode", version = "=0.13.0", features = ["dev-support"] } -j2k-types = { path = "../j2k-types", version = "=0.13.0" } +j2k-transcode = { path = "../j2k-transcode", version = "=0.13.1", features = ["dev-support"] } +j2k-types = { path = "../j2k-types", version = "=0.13.1" } [dev-dependencies] -j2k-native = { path = "../j2k-native", version = "=0.13.0" } +j2k-native = { path = "../j2k-native", version = "=0.13.1" } [lints.rust] unsafe_code = "forbid" diff --git a/crates/j2k-transcode/Cargo.toml b/crates/j2k-transcode/Cargo.toml index 07108abb..4b11452b 100644 --- a/crates/j2k-transcode/Cargo.toml +++ b/crates/j2k-transcode/Cargo.toml @@ -23,12 +23,12 @@ dev-support = [] [dependencies] rayon = { workspace = true } -j2k-core = { path = "../j2k-core", version = "=0.13.0" } -j2k-codec-math = { path = "../j2k-codec-math", version = "=0.13.0" } -j2k-jpeg = { path = "../j2k-jpeg", version = "=0.13.0" } -j2k = { path = "../j2k", version = "=0.13.0" } -j2k-native = { path = "../j2k-native", version = "=0.13.0" } -j2k-profile = { path = "../j2k-profile", version = "=0.13.0", default-features = false } +j2k-core = { path = "../j2k-core", version = "=0.13.1" } +j2k-codec-math = { path = "../j2k-codec-math", version = "=0.13.1" } +j2k-jpeg = { path = "../j2k-jpeg", version = "=0.13.1" } +j2k = { path = "../j2k", version = "=0.13.1" } +j2k-native = { path = "../j2k-native", version = "=0.13.1" } +j2k-profile = { path = "../j2k-profile", version = "=0.13.1", default-features = false } [dev-dependencies] criterion = { workspace = true } diff --git a/crates/j2k-transcode/fuzz/Cargo.lock b/crates/j2k-transcode/fuzz/Cargo.lock index a514c0f3..ddbaa2db 100644 --- a/crates/j2k-transcode/fuzz/Cargo.lock +++ b/crates/j2k-transcode/fuzz/Cargo.lock @@ -89,7 +89,7 @@ dependencies = [ [[package]] name = "j2k" -version = "0.13.0" +version = "0.13.1" dependencies = [ "j2k-core", "j2k-native", @@ -100,21 +100,23 @@ dependencies = [ [[package]] name = "j2k-codec-math" -version = "0.13.0" +version = "0.13.1" dependencies = [ "j2k-types", ] [[package]] name = "j2k-core" -version = "0.13.0" +version = "0.13.1" dependencies = [ + "libc", "thiserror", + "windows-sys", ] [[package]] name = "j2k-jpeg" -version = "0.13.0" +version = "0.13.1" dependencies = [ "fearless_simd", "j2k-codec-math", @@ -127,7 +129,7 @@ dependencies = [ [[package]] name = "j2k-native" -version = "0.13.0" +version = "0.13.1" dependencies = [ "fearless_simd", "j2k-codec-math", @@ -139,11 +141,11 @@ dependencies = [ [[package]] name = "j2k-profile" -version = "0.13.0" +version = "0.13.1" [[package]] name = "j2k-transcode" -version = "0.13.0" +version = "0.13.1" dependencies = [ "j2k", "j2k-codec-math", @@ -165,7 +167,7 @@ dependencies = [ [[package]] name = "j2k-types" -version = "0.13.0" +version = "0.13.1" [[package]] name = "jobserver" @@ -326,6 +328,21 @@ dependencies = [ "wit-bindgen", ] +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + [[package]] name = "wit-bindgen" version = "0.57.1" diff --git a/crates/j2k/Cargo.toml b/crates/j2k/Cargo.toml index 09db841c..4f4c16fc 100644 --- a/crates/j2k/Cargo.toml +++ b/crates/j2k/Cargo.toml @@ -20,9 +20,9 @@ name = "j2k" path = "src/lib.rs" [dependencies] -j2k-core = { path = "../j2k-core", version = "=0.13.0" } -j2k-native = { path = "../j2k-native", version = "=0.13.0" } -j2k-types = { path = "../j2k-types", version = "=0.13.0" } +j2k-core = { path = "../j2k-core", version = "=0.13.1" } +j2k-native = { path = "../j2k-native", version = "=0.13.1" } +j2k-types = { path = "../j2k-types", version = "=0.13.1" } moxcms = { workspace = true } thiserror = { workspace = true } @@ -30,7 +30,7 @@ thiserror = { workspace = true } proptest = { workspace = true } criterion = { workspace = true } rayon = { workspace = true } -j2k-native = { path = "../j2k-native", version = "=0.13.0" } +j2k-native = { path = "../j2k-native", version = "=0.13.1" } j2k-test-support = { path = "../j2k-test-support", features = ["j2k-native-fixtures"] } [[bench]] diff --git a/crates/j2k/fuzz/Cargo.lock b/crates/j2k/fuzz/Cargo.lock index 27cf3741..704e1543 100644 --- a/crates/j2k/fuzz/Cargo.lock +++ b/crates/j2k/fuzz/Cargo.lock @@ -143,7 +143,7 @@ checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" [[package]] name = "j2k" -version = "0.13.0" +version = "0.13.1" dependencies = [ "j2k-core", "j2k-native", @@ -154,16 +154,18 @@ dependencies = [ [[package]] name = "j2k-codec-math" -version = "0.13.0" +version = "0.13.1" dependencies = [ "j2k-types", ] [[package]] name = "j2k-core" -version = "0.13.0" +version = "0.13.1" dependencies = [ + "libc", "thiserror", + "windows-sys", ] [[package]] @@ -177,7 +179,7 @@ dependencies = [ [[package]] name = "j2k-native" -version = "0.13.0" +version = "0.13.1" dependencies = [ "fearless_simd", "j2k-codec-math", @@ -189,11 +191,11 @@ dependencies = [ [[package]] name = "j2k-profile" -version = "0.13.0" +version = "0.13.1" [[package]] name = "j2k-test-support" -version = "0.13.0" +version = "0.13.1" dependencies = [ "j2k-core", "j2k-native", @@ -204,7 +206,7 @@ dependencies = [ [[package]] name = "j2k-types" -version = "0.13.0" +version = "0.13.1" [[package]] name = "jobserver" @@ -442,6 +444,21 @@ dependencies = [ "wit-bindgen", ] +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + [[package]] name = "wit-bindgen" version = "0.57.1" diff --git a/docs/stable-api-1.0.md b/docs/stable-api-1.0.md index bed9ad2a..7142cf7e 100644 --- a/docs/stable-api-1.0.md +++ b/docs/stable-api-1.0.md @@ -35,7 +35,10 @@ consumers to retain pooled surfaces until their GPU work completes. `0.8.0` could only be compared against `v0.7.5`, and `0.9.0` only against `v0.8.1`. `0.10.0` was compared directly with `v0.9.0` under a one-time exception for the crate split, which is now disabled. The current semver -baseline is `v0.12.0`. The `0.13.0` release is reviewed in the +baseline is `v0.13.0`. The `0.13.1` candidate is reviewed in the +[0.13.1 API review](../xtask/release-evidence/public-api/public-api-review-0.13.1.yml); +it changes no ordinary API item and only adds rustdoc-hidden `j2k-native` +items. The `0.13.0` release was compared with `v0.12.0` in the [0.13.0 API review](../xtask/release-evidence/public-api/public-api-review-0.13.0.yml). The review includes source migrations for exhaustive native encode option literals, JPEG enum matches, and the hidden quantization helper arguments. diff --git a/xtask/RELEASING.md b/xtask/RELEASING.md index 3727aaae..fb78176c 100644 --- a/xtask/RELEASING.md +++ b/xtask/RELEASING.md @@ -1,6 +1,7 @@ # Release Policy The `j2k` 0.13.0 public crate release is published and security-supported. +This workspace prepares the `j2k` 0.13.1 release. Its T.803 decoder conformance results are in [`T.803 conformance`](../docs/t803-conformance.md). The default backend is `Auto`: the CPU path is always available, and a GPU path is @@ -8,6 +9,12 @@ used only for shapes where it was tested and measured faster. ## Release status +Version `0.13.1` is a release candidate, compared with `v0.13.0` in its +[API report](release-evidence/public-api/reviewed-public-api-diff-0.13.1.md) +and [review](release-evidence/public-api/public-api-review-0.13.1.yml). +The 0.13.0 evidence below describes the published tag. The 0.13.1 candidate +requires fresh hosted and full CUDA/Metal validation for its exact commit. + Version `0.13.0` is published. Its [API report](release-evidence/public-api/reviewed-public-api-diff-0.13.0.md) compares with `v0.12.0`; the @@ -489,7 +496,7 @@ other item. Every `cargo xtask semver` run generates both passes, compares them with the committed files, and checks the added/removed fingerprints and the hidden-item count against -`xtask/release-evidence/public-api/public-api-review-0.13.0.yml`. A package with +`xtask/release-evidence/public-api/public-api-review-0.13.1.yml`. A package with hidden items must give a reason for them in that file. Any removed item must be listed in the review file with its package, a summary, @@ -511,6 +518,7 @@ item list into the docs. | Release | Compared with | Report | | --- | --- | --- | +| 0.13.1 candidate | 0.13.0 | [API diff](release-evidence/public-api/reviewed-public-api-diff-0.13.1.md), [review](release-evidence/public-api/public-api-review-0.13.1.yml) | | 0.13.0 | 0.12.0 | [API diff](release-evidence/public-api/reviewed-public-api-diff-0.13.0.md), [review](release-evidence/public-api/public-api-review-0.13.0.yml) | | 0.12.0 | 0.11.3 | [API diff](release-evidence/public-api/reviewed-public-api-diff-0.12.0.md), [review](release-evidence/public-api/public-api-review-0.12.0.yml) | | 0.8.0 | 0.7.5 | [API diff][v0.8.0-api-report]; review file lists every break | diff --git a/xtask/release-evidence/public-api/public-api-review-0.13.0.yml b/xtask/release-evidence/public-api/public-api-review-0.13.0.yml index 8a1a3503..2c602c91 100644 --- a/xtask/release-evidence/public-api/public-api-review-0.13.0.yml +++ b/xtask/release-evidence/public-api/public-api-review-0.13.0.yml @@ -210,10 +210,10 @@ reviews: j2k-native: removed_fingerprint: "none" added_fingerprint: "fnv1a64:7debc570e375354a" - hidden_count: 584 - hidden_fingerprint: "fnv1a64:0fb38a581f613d0f" + hidden_count: 579 + hidden_fingerprint: "fnv1a64:6ac1e6fb537f7bc6" rationale: "Compared the ordinary API with v0.12.0; existing signatures are unchanged. Adds selected wavelet extraction and shared wavelet type re-exports. It decodes the requested entropy bands without inverse DWT or color conversion and preserves exact reversible integer coefficients; existing pixel APIs retain their signatures. Also records the already-merged irreversible_quantization_profile option. Profiles supply per-component band weights; callers using Default or struct update syntax retain the previous no-profile behavior. Exhaustive native EncodeOptions literals must add irreversible_quantization_profile: None or use struct update syntax. Adds DecodingError::IncompletePlaneStore, returned when component planes reused without zeroing are not fully written; DecodingError is non_exhaustive." - hidden_rationale: "Adds an HT coding probe, parallel scratch toggle, and J2kClassicReconstruction hooks to the native implementation inventory. Existing classic adapters retain their defaults; supporting reversible midpoint reconstruction requires opting into the new reconstruction hooks. Also records the already-merged inverse_dwt97_reference, inverse_ict_reference, and irreversible_quantization_profile_scale_ceiling helpers. These are additive reference and profile-validation entry points. Adds irreversible_quantization_scale_bounds so facade rate search uses the same weighted-step limits as native quantization, including the HT coded-bitplane ceiling. Existing signatures and the legacy scale-ceiling helper remain compatible; no caller migration is required. irreversible_quantization_step_for_subband also takes the sub-band's decomposition level and the level count, so default 9/7 steps can be weighted by synthesis norm; callers pass both. Adds IrreversibleScaleEncoder so facade rate and PSNR search reuses one colour transform and DWT across quantization-scale candidates; each candidate equals the independent CPU encode at that scale. It is additive; no caller migration is required. Adds the ComponentRowSink trait and Image::decode_region_rows_for_integer_output_with_context, which hand a serial region decode's finished integer-output rows to a sink as disjoint rectangles instead of filling component planes; decodes that cannot stream hand their planes over as one rectangle. They are additive; existing region methods retain their signatures. Adds window_referenced_classic_plan_to_stores and window_referenced_htj2k_plan_to_stores, which return a copy of a referenced region plan whose sub-bands and IDWT levels hold only what its stores read, or None when that would not pay off; the facade's CPU batch executes the copy while GPU backends keep the shared whole-level plan. They are additive; no caller migration is required." + hidden_rationale: "Adds an HT coding probe, parallel scratch toggle, and J2kClassicReconstruction hooks to the native implementation inventory. Existing classic adapters retain their defaults; supporting reversible midpoint reconstruction requires opting into the new reconstruction hooks. Also records the already-merged inverse_dwt97_reference, inverse_ict_reference, and irreversible_quantization_profile_scale_ceiling helpers. These are additive reference and profile-validation entry points. Adds irreversible_quantization_scale_bounds so facade rate search uses the same weighted-step limits as native quantization, including the HT coded-bitplane ceiling. Existing signatures and the legacy scale-ceiling helper remain compatible; no caller migration is required. irreversible_quantization_step_for_subband also takes the sub-band's decomposition level and the level count, so default 9/7 steps can be weighted by synthesis norm; callers pass both. Adds IrreversibleScaleEncoder so facade rate and PSNR search reuses one colour transform and DWT across quantization-scale candidates; each candidate equals the independent CPU encode at that scale. It is additive; no caller migration is required." j2k-jpeg: removed_fingerprint: "fnv1a64:c2093d3bff880a40" added_fingerprint: "fnv1a64:dc6430a33ad716c8" diff --git a/xtask/release-evidence/public-api/public-api-review-0.13.1.yml b/xtask/release-evidence/public-api/public-api-review-0.13.1.yml new file mode 100644 index 00000000..1e7dd9c2 --- /dev/null +++ b/xtask/release-evidence/public-api/public-api-review-0.13.1.yml @@ -0,0 +1,174 @@ +version: 3 +baseline_tag: v0.13.0 +baseline_version: 0.13.0 +candidate_version: "0.13.1" +break_ledger: [] +reviews: + j2k-core: + removed_fingerprint: "none" + added_fingerprint: "none" + hidden_count: 226 + hidden_fingerprint: "fnv1a64:487523cc4e7f504e" + rationale: "Compared the complete ordinary API inventory against v0.13.0; no signatures were added, removed, or changed." + hidden_rationale: "Compared the complete hidden API inventory against v0.13.0; it is unchanged." + j2k-profile: + removed_fingerprint: "none" + added_fingerprint: "none" + hidden_count: 117 + hidden_fingerprint: "fnv1a64:a1546f56ae38f2e3" + rationale: "Compared the complete ordinary API inventory against v0.13.0; no signatures were added, removed, or changed." + hidden_rationale: "Compared the complete hidden API inventory against v0.13.0; it is unchanged." + j2k-types: + removed_fingerprint: "none" + added_fingerprint: "none" + hidden_count: 111 + hidden_fingerprint: "fnv1a64:6eaf63f068893d17" + rationale: "Compared the complete ordinary API inventory against v0.13.0; no signatures were added, removed, or changed." + hidden_rationale: "Compared the complete hidden API inventory against v0.13.0; it is unchanged." + j2k-codec-math: + removed_fingerprint: "none" + added_fingerprint: "none" + hidden_count: 0 + hidden_fingerprint: "none" + rationale: "Compared the complete ordinary API inventory against v0.13.0; no signatures were added, removed, or changed." + hidden_rationale: "Compared the complete hidden API inventory against v0.13.0; it is unchanged." + j2k-cuda-build-support: + removed_fingerprint: "none" + added_fingerprint: "none" + hidden_count: 0 + hidden_fingerprint: "none" + rationale: "Compared the complete ordinary API inventory against v0.13.0; no signatures were added, removed, or changed." + hidden_rationale: "Compared the complete hidden API inventory against v0.13.0; it is unchanged." + j2k-cuda-runtime: + removed_fingerprint: "none" + added_fingerprint: "none" + hidden_count: 255 + hidden_fingerprint: "fnv1a64:57c61a4568990ce6" + rationale: "Compared the complete ordinary API inventory against v0.13.0; no signatures were added, removed, or changed." + hidden_rationale: "Compared the complete hidden API inventory against v0.13.0; it is unchanged." + j2k-cuda-j2k-engine: + removed_fingerprint: "none" + added_fingerprint: "none" + hidden_count: 692 + hidden_fingerprint: "fnv1a64:684fbcddde38e1f1" + rationale: "Compared the complete ordinary API inventory against v0.13.0; no signatures were added, removed, or changed." + hidden_rationale: "Compared the complete hidden API inventory against v0.13.0; it is unchanged." + j2k-cuda-jpeg-engine: + removed_fingerprint: "none" + added_fingerprint: "none" + hidden_count: 205 + hidden_fingerprint: "fnv1a64:ad37da6966da1cfd" + rationale: "Compared the complete ordinary API inventory against v0.13.0; no signatures were added, removed, or changed." + hidden_rationale: "Compared the complete hidden API inventory against v0.13.0; it is unchanged." + j2k-cuda-transcode-engine: + removed_fingerprint: "none" + added_fingerprint: "none" + hidden_count: 84 + hidden_fingerprint: "fnv1a64:b2fcaa9b0171aba7" + rationale: "Compared the complete ordinary API inventory against v0.13.0; no signatures were added, removed, or changed." + hidden_rationale: "Compared the complete hidden API inventory against v0.13.0; it is unchanged." + j2k-metal-support: + removed_fingerprint: "none" + added_fingerprint: "none" + hidden_count: 11 + hidden_fingerprint: "fnv1a64:02139606f1202938" + rationale: "Compared the complete ordinary API inventory against v0.13.0; no signatures were added, removed, or changed." + hidden_rationale: "Compared the complete hidden API inventory against v0.13.0; it is unchanged." + j2k-mpsgraph-support: + removed_fingerprint: "none" + added_fingerprint: "none" + hidden_count: 0 + hidden_fingerprint: "none" + rationale: "Compared the complete ordinary API inventory against v0.13.0; no signatures were added, removed, or changed." + hidden_rationale: "Compared the complete hidden API inventory against v0.13.0; it is unchanged." + j2k-native: + removed_fingerprint: "none" + added_fingerprint: "none" + hidden_count: 584 + hidden_fingerprint: "fnv1a64:0fb38a581f613d0f" + rationale: "Compared the complete ordinary API inventory against v0.13.0; no signatures were added, removed, or changed." + hidden_rationale: "Adds the ComponentRowSink trait and Image::decode_region_rows_for_integer_output_with_context, which hand a serial region decode's finished integer-output rows to a sink as disjoint rectangles instead of filling component planes; decodes that cannot stream hand their planes over as one rectangle. Adds window_referenced_classic_plan_to_stores and window_referenced_htj2k_plan_to_stores, which return a copy of a referenced region plan whose sub-bands and IDWT levels hold only what its stores read, or None when that would not pay off; the facade's CPU batch executes the copy while GPU backends keep the shared whole-level plan. All five items are additions; no other hidden item changed and no caller migration is required." + j2k-jpeg: + removed_fingerprint: "none" + added_fingerprint: "none" + hidden_count: 701 + hidden_fingerprint: "fnv1a64:bd0cf738a0f96592" + rationale: "Compared the complete ordinary API inventory against v0.13.0; no signatures were added, removed, or changed." + hidden_rationale: "Compared the complete hidden API inventory against v0.13.0; it is unchanged." + j2k-tilecodec: + removed_fingerprint: "none" + added_fingerprint: "none" + hidden_count: 32 + hidden_fingerprint: "fnv1a64:eb677842559d9b0e" + rationale: "Compared the complete ordinary API inventory against v0.13.0; no signatures were added, removed, or changed." + hidden_rationale: "Compared the complete hidden API inventory against v0.13.0; it is unchanged." + j2k: + removed_fingerprint: "none" + added_fingerprint: "none" + hidden_count: 108 + hidden_fingerprint: "fnv1a64:01e74ad6c3ff416e" + rationale: "Compared the complete ordinary API inventory against v0.13.0; no signatures were added, removed, or changed." + hidden_rationale: "Compared the complete hidden API inventory against v0.13.0; it is unchanged." + j2k-transcode: + removed_fingerprint: "none" + added_fingerprint: "none" + hidden_count: 458 + hidden_fingerprint: "fnv1a64:449a76476549c1e2" + rationale: "Compared the complete ordinary API inventory against v0.13.0; no signatures were added, removed, or changed." + hidden_rationale: "Compared the complete hidden API inventory against v0.13.0; it is unchanged." + j2k-transcode-cuda: + removed_fingerprint: "none" + added_fingerprint: "none" + hidden_count: 20 + hidden_fingerprint: "fnv1a64:be22ca1d5e12b043" + rationale: "Compared the complete ordinary API inventory against v0.13.0; no signatures were added, removed, or changed." + hidden_rationale: "Compared the complete hidden API inventory against v0.13.0; it is unchanged." + j2k-jpeg-metal: + removed_fingerprint: "none" + added_fingerprint: "none" + hidden_count: 83 + hidden_fingerprint: "fnv1a64:79397ffc221464c3" + rationale: "Compared the complete ordinary API inventory against v0.13.0; no signatures were added, removed, or changed." + hidden_rationale: "Compared the complete hidden API inventory against v0.13.0; it is unchanged." + j2k-metal: + removed_fingerprint: "none" + added_fingerprint: "none" + hidden_count: 321 + hidden_fingerprint: "fnv1a64:41513c1e93413909" + rationale: "Compared the complete ordinary API inventory against v0.13.0; no signatures were added, removed, or changed." + hidden_rationale: "Compared the complete hidden API inventory against v0.13.0; it is unchanged." + j2k-transcode-metal: + removed_fingerprint: "none" + added_fingerprint: "none" + hidden_count: 49 + hidden_fingerprint: "fnv1a64:b4a8b53d5e10bb00" + rationale: "Compared the complete ordinary API inventory against v0.13.0; no signatures were added, removed, or changed." + hidden_rationale: "Compared the complete hidden API inventory against v0.13.0; it is unchanged." + j2k-jpeg-cuda: + removed_fingerprint: "none" + added_fingerprint: "none" + hidden_count: 133 + hidden_fingerprint: "fnv1a64:9aa724bde7af1618" + rationale: "Compared the complete ordinary API inventory against v0.13.0; no signatures were added, removed, or changed." + hidden_rationale: "Compared the complete hidden API inventory against v0.13.0; it is unchanged." + j2k-cuda: + removed_fingerprint: "none" + added_fingerprint: "none" + hidden_count: 193 + hidden_fingerprint: "fnv1a64:8a9b0ac701f08d00" + rationale: "Compared the complete ordinary API inventory against v0.13.0; no signatures were added, removed, or changed." + hidden_rationale: "Compared the complete hidden API inventory against v0.13.0; it is unchanged." + j2k-ml: + removed_fingerprint: "none" + added_fingerprint: "none" + hidden_count: 0 + hidden_fingerprint: "none" + rationale: "Compared the complete ordinary API inventory against v0.13.0; no signatures were added, removed, or changed." + hidden_rationale: "Compared the complete hidden API inventory against v0.13.0; it is unchanged." + j2k-mpsgraph: + removed_fingerprint: "none" + added_fingerprint: "none" + hidden_count: 0 + hidden_fingerprint: "none" + rationale: "Compared the complete ordinary API inventory against v0.13.0; no signatures were added, removed, or changed." + hidden_rationale: "Compared the complete hidden API inventory against v0.13.0; it is unchanged." diff --git a/xtask/release-evidence/public-api/reviewed-public-api-diff-0.13.0.md b/xtask/release-evidence/public-api/reviewed-public-api-diff-0.13.0.md index 1b9c1d32..555773a4 100644 --- a/xtask/release-evidence/public-api/reviewed-public-api-diff-0.13.0.md +++ b/xtask/release-evidence/public-api/reviewed-public-api-diff-0.13.0.md @@ -22,7 +22,7 @@ This report is generated by `cargo xtask semver --write-report`. Normal `cargo x | `j2k-cuda-transcode-engine` | `0.12.0` | `0.13.0` | `major` | 0 | 0 | `none` | `none` | 84 | `fnv1a64:b2fcaa9b0171aba7` | | `j2k-metal-support` | `0.12.0` | `0.13.0` | `major` | 3 | 0 | `none` | `fnv1a64:cb0fe39460064a9f` | 11 | `fnv1a64:02139606f1202938` | | `j2k-mpsgraph-support` | `0.12.0` | `0.13.0` | `major` | 0 | 0 | `none` | `none` | 0 | `none` | -| `j2k-native` | `0.12.0` | `0.13.0` | `major` | 12 | 0 | `none` | `fnv1a64:7debc570e375354a` | 584 | `fnv1a64:0fb38a581f613d0f` | +| `j2k-native` | `0.12.0` | `0.13.0` | `major` | 12 | 0 | `none` | `fnv1a64:7debc570e375354a` | 579 | `fnv1a64:6ac1e6fb537f7bc6` | | `j2k-jpeg` | `0.12.0` | `0.13.0` | `major` | 98 | 1 | `fnv1a64:c2093d3bff880a40` | `fnv1a64:dc6430a33ad716c8` | 701 | `fnv1a64:bd0cf738a0f96592` | | `j2k-tilecodec` | `0.12.0` | `0.13.0` | `major` | 0 | 0 | `none` | `none` | 32 | `fnv1a64:eb677842559d9b0e` | | `j2k` | `0.12.0` | `0.13.0` | `major` | 21 | 6 | `fnv1a64:ffea85eb442c661d` | `fnv1a64:6d29f512d27db446` | 108 | `fnv1a64:01e74ad6c3ff416e` | @@ -248,7 +248,7 @@ None. ### `j2k-native` -Baseline items: 410. Candidate items: 422. Computed release type: `major`. Rustdoc-hidden candidate items: 584. Full hidden-inventory fingerprint: `fnv1a64:0fb38a581f613d0f`. +Baseline items: 410. Candidate items: 422. Computed release type: `major`. Rustdoc-hidden candidate items: 579. Full hidden-inventory fingerprint: `fnv1a64:6ac1e6fb537f7bc6`. #### Removed or changed baseline API items diff --git a/xtask/release-evidence/public-api/reviewed-public-api-diff-0.13.1.md b/xtask/release-evidence/public-api/reviewed-public-api-diff-0.13.1.md new file mode 100644 index 00000000..87399764 --- /dev/null +++ b/xtask/release-evidence/public-api/reviewed-public-api-diff-0.13.1.md @@ -0,0 +1,327 @@ +# Reviewed public API diff for j2k 0.13.1 + +This report is generated by `cargo xtask semver --write-report`. Normal `cargo xtask semver` regenerates it in memory and fails if this committed file is stale. Every ordinary added/removed fingerprint and every full rustdoc-hidden candidate-inventory fingerprint requires an exact reviewed entry in `xtask/release-evidence/public-api/public-api-review-0.13.1.yml`; report regeneration never updates that review config. + +- Baseline registry version: `0.13.0` +- Baseline source snapshot: `v0.13.0` peeled to `501242621b7e7171fd7f8813a40cd0cb31a5f5a7` +- Candidate version: `0.13.1` +- Tool pins: Rust `1.99.0`, `cargo-semver-checks 0.51.0`, `cargo-public-api 0.52.0`, rustdoc `nightly-2026-08-13`, target `aarch64-apple-darwin` + +## Summary + +| Package | Baseline | Candidate | Computed release type | Added | Removed/changed | Removed fingerprint | Added fingerprint | Rustdoc-hidden items | Hidden inventory fingerprint | +| --- | --- | --- | --- | ---: | ---: | --- | --- | ---: | --- | +| `j2k-core` | `0.13.0` | `0.13.1` | `minor` | 0 | 0 | `none` | `none` | 226 | `fnv1a64:487523cc4e7f504e` | +| `j2k-profile` | `0.13.0` | `0.13.1` | `minor` | 0 | 0 | `none` | `none` | 117 | `fnv1a64:a1546f56ae38f2e3` | +| `j2k-types` | `0.13.0` | `0.13.1` | `minor` | 0 | 0 | `none` | `none` | 111 | `fnv1a64:6eaf63f068893d17` | +| `j2k-codec-math` | `0.13.0` | `0.13.1` | `minor` | 0 | 0 | `none` | `none` | 0 | `none` | +| `j2k-cuda-build-support` | `0.13.0` | `0.13.1` | `minor` | 0 | 0 | `none` | `none` | 0 | `none` | +| `j2k-cuda-runtime` | `0.13.0` | `0.13.1` | `minor` | 0 | 0 | `none` | `none` | 255 | `fnv1a64:57c61a4568990ce6` | +| `j2k-cuda-j2k-engine` | `0.13.0` | `0.13.1` | `minor` | 0 | 0 | `none` | `none` | 692 | `fnv1a64:684fbcddde38e1f1` | +| `j2k-cuda-jpeg-engine` | `0.13.0` | `0.13.1` | `minor` | 0 | 0 | `none` | `none` | 205 | `fnv1a64:ad37da6966da1cfd` | +| `j2k-cuda-transcode-engine` | `0.13.0` | `0.13.1` | `minor` | 0 | 0 | `none` | `none` | 84 | `fnv1a64:b2fcaa9b0171aba7` | +| `j2k-metal-support` | `0.13.0` | `0.13.1` | `minor` | 0 | 0 | `none` | `none` | 11 | `fnv1a64:02139606f1202938` | +| `j2k-mpsgraph-support` | `0.13.0` | `0.13.1` | `minor` | 0 | 0 | `none` | `none` | 0 | `none` | +| `j2k-native` | `0.13.0` | `0.13.1` | `minor` | 0 | 0 | `none` | `none` | 584 | `fnv1a64:0fb38a581f613d0f` | +| `j2k-jpeg` | `0.13.0` | `0.13.1` | `minor` | 0 | 0 | `none` | `none` | 701 | `fnv1a64:bd0cf738a0f96592` | +| `j2k-tilecodec` | `0.13.0` | `0.13.1` | `minor` | 0 | 0 | `none` | `none` | 32 | `fnv1a64:eb677842559d9b0e` | +| `j2k` | `0.13.0` | `0.13.1` | `minor` | 0 | 0 | `none` | `none` | 108 | `fnv1a64:01e74ad6c3ff416e` | +| `j2k-transcode` | `0.13.0` | `0.13.1` | `minor` | 0 | 0 | `none` | `none` | 458 | `fnv1a64:449a76476549c1e2` | +| `j2k-transcode-cuda` | `0.13.0` | `0.13.1` | `minor` | 0 | 0 | `none` | `none` | 20 | `fnv1a64:be22ca1d5e12b043` | +| `j2k-jpeg-metal` | `0.13.0` | `0.13.1` | `minor` | 0 | 0 | `none` | `none` | 83 | `fnv1a64:79397ffc221464c3` | +| `j2k-metal` | `0.13.0` | `0.13.1` | `minor` | 0 | 0 | `none` | `none` | 321 | `fnv1a64:41513c1e93413909` | +| `j2k-transcode-metal` | `0.13.0` | `0.13.1` | `minor` | 0 | 0 | `none` | `none` | 49 | `fnv1a64:b4a8b53d5e10bb00` | +| `j2k-jpeg-cuda` | `0.13.0` | `0.13.1` | `minor` | 0 | 0 | `none` | `none` | 133 | `fnv1a64:9aa724bde7af1618` | +| `j2k-cuda` | `0.13.0` | `0.13.1` | `minor` | 0 | 0 | `none` | `none` | 193 | `fnv1a64:8a9b0ac701f08d00` | +| `j2k-ml` | `0.13.0` | `0.13.1` | `minor` | 0 | 0 | `none` | `none` | 0 | `none` | +| `j2k-mpsgraph` | `0.13.0` | `0.13.1` | `minor` | 0 | 0 | `none` | `none` | 0 | `none` | + +## Published-package details + +### `j2k-core` + +Baseline items: 526. Candidate items: 526. Computed release type: `minor`. Rustdoc-hidden candidate items: 226. Full hidden-inventory fingerprint: `fnv1a64:487523cc4e7f504e`. + +#### Removed or changed baseline API items + +None. + +#### Added candidate API items + +None. + +### `j2k-profile` + +Baseline items: 1. Candidate items: 1. Computed release type: `minor`. Rustdoc-hidden candidate items: 117. Full hidden-inventory fingerprint: `fnv1a64:a1546f56ae38f2e3`. + +#### Removed or changed baseline API items + +None. + +#### Added candidate API items + +None. + +### `j2k-types` + +Baseline items: 638. Candidate items: 638. Computed release type: `minor`. Rustdoc-hidden candidate items: 111. Full hidden-inventory fingerprint: `fnv1a64:6eaf63f068893d17`. + +#### Removed or changed baseline API items + +None. + +#### Added candidate API items + +None. + +### `j2k-codec-math` + +Baseline items: 124. Candidate items: 124. Computed release type: `minor`. Rustdoc-hidden candidate items: 0. Full hidden-inventory fingerprint: `none`. + +#### Removed or changed baseline API items + +None. + +#### Added candidate API items + +None. + +### `j2k-cuda-build-support` + +Baseline items: 10. Candidate items: 10. Computed release type: `minor`. Rustdoc-hidden candidate items: 0. Full hidden-inventory fingerprint: `none`. + +#### Removed or changed baseline API items + +None. + +#### Added candidate API items + +None. + +### `j2k-cuda-runtime` + +Baseline items: 129. Candidate items: 129. Computed release type: `minor`. Rustdoc-hidden candidate items: 255. Full hidden-inventory fingerprint: `fnv1a64:57c61a4568990ce6`. + +#### Removed or changed baseline API items + +None. + +#### Added candidate API items + +None. + +### `j2k-cuda-j2k-engine` + +Baseline items: 5. Candidate items: 5. Computed release type: `minor`. Rustdoc-hidden candidate items: 692. Full hidden-inventory fingerprint: `fnv1a64:684fbcddde38e1f1`. + +#### Removed or changed baseline API items + +None. + +#### Added candidate API items + +None. + +### `j2k-cuda-jpeg-engine` + +Baseline items: 14. Candidate items: 14. Computed release type: `minor`. Rustdoc-hidden candidate items: 205. Full hidden-inventory fingerprint: `fnv1a64:ad37da6966da1cfd`. + +#### Removed or changed baseline API items + +None. + +#### Added candidate API items + +None. + +### `j2k-cuda-transcode-engine` + +Baseline items: 6. Candidate items: 6. Computed release type: `minor`. Rustdoc-hidden candidate items: 84. Full hidden-inventory fingerprint: `fnv1a64:b2fcaa9b0171aba7`. + +#### Removed or changed baseline API items + +None. + +#### Added candidate API items + +None. + +### `j2k-metal-support` + +Baseline items: 180. Candidate items: 180. Computed release type: `minor`. Rustdoc-hidden candidate items: 11. Full hidden-inventory fingerprint: `fnv1a64:02139606f1202938`. + +#### Removed or changed baseline API items + +None. + +#### Added candidate API items + +None. + +### `j2k-mpsgraph-support` + +Baseline items: 19. Candidate items: 19. Computed release type: `minor`. Rustdoc-hidden candidate items: 0. Full hidden-inventory fingerprint: `none`. + +#### Removed or changed baseline API items + +None. + +#### Added candidate API items + +None. + +### `j2k-native` + +Baseline items: 422. Candidate items: 422. Computed release type: `minor`. Rustdoc-hidden candidate items: 584. Full hidden-inventory fingerprint: `fnv1a64:0fb38a581f613d0f`. + +#### Removed or changed baseline API items + +None. + +#### Added candidate API items + +None. + +### `j2k-jpeg` + +Baseline items: 710. Candidate items: 710. Computed release type: `minor`. Rustdoc-hidden candidate items: 701. Full hidden-inventory fingerprint: `fnv1a64:bd0cf738a0f96592`. + +#### Removed or changed baseline API items + +None. + +#### Added candidate API items + +None. + +### `j2k-tilecodec` + +Baseline items: 31. Candidate items: 31. Computed release type: `minor`. Rustdoc-hidden candidate items: 32. Full hidden-inventory fingerprint: `fnv1a64:eb677842559d9b0e`. + +#### Removed or changed baseline API items + +None. + +#### Added candidate API items + +None. + +### `j2k` + +Baseline items: 804. Candidate items: 804. Computed release type: `minor`. Rustdoc-hidden candidate items: 108. Full hidden-inventory fingerprint: `fnv1a64:01e74ad6c3ff416e`. + +#### Removed or changed baseline API items + +None. + +#### Added candidate API items + +None. + +### `j2k-transcode` + +Baseline items: 427. Candidate items: 427. Computed release type: `minor`. Rustdoc-hidden candidate items: 458. Full hidden-inventory fingerprint: `fnv1a64:449a76476549c1e2`. + +#### Removed or changed baseline API items + +None. + +#### Added candidate API items + +None. + +### `j2k-transcode-cuda` + +Baseline items: 49. Candidate items: 49. Computed release type: `minor`. Rustdoc-hidden candidate items: 20. Full hidden-inventory fingerprint: `fnv1a64:be22ca1d5e12b043`. + +#### Removed or changed baseline API items + +None. + +#### Added candidate API items + +None. + +### `j2k-jpeg-metal` + +Baseline items: 186. Candidate items: 186. Computed release type: `minor`. Rustdoc-hidden candidate items: 83. Full hidden-inventory fingerprint: `fnv1a64:79397ffc221464c3`. + +#### Removed or changed baseline API items + +None. + +#### Added candidate API items + +None. + +### `j2k-metal` + +Baseline items: 280. Candidate items: 280. Computed release type: `minor`. Rustdoc-hidden candidate items: 321. Full hidden-inventory fingerprint: `fnv1a64:41513c1e93413909`. + +#### Removed or changed baseline API items + +None. + +#### Added candidate API items + +None. + +### `j2k-transcode-metal` + +Baseline items: 99. Candidate items: 99. Computed release type: `minor`. Rustdoc-hidden candidate items: 49. Full hidden-inventory fingerprint: `fnv1a64:b4a8b53d5e10bb00`. + +#### Removed or changed baseline API items + +None. + +#### Added candidate API items + +None. + +### `j2k-jpeg-cuda` + +Baseline items: 79. Candidate items: 79. Computed release type: `minor`. Rustdoc-hidden candidate items: 133. Full hidden-inventory fingerprint: `fnv1a64:9aa724bde7af1618`. + +#### Removed or changed baseline API items + +None. + +#### Added candidate API items + +None. + +### `j2k-cuda` + +Baseline items: 247. Candidate items: 247. Computed release type: `minor`. Rustdoc-hidden candidate items: 193. Full hidden-inventory fingerprint: `fnv1a64:8a9b0ac701f08d00`. + +#### Removed or changed baseline API items + +None. + +#### Added candidate API items + +None. + +### `j2k-ml` + +Baseline items: 133. Candidate items: 133. Computed release type: `minor`. Rustdoc-hidden candidate items: 0. Full hidden-inventory fingerprint: `none`. + +#### Removed or changed baseline API items + +None. + +#### Added candidate API items + +None. + +### `j2k-mpsgraph` + +Baseline items: 89. Candidate items: 89. Computed release type: `minor`. Rustdoc-hidden candidate items: 0. Full hidden-inventory fingerprint: `none`. + +#### Removed or changed baseline API items + +None. + +#### Added candidate API items + +None. diff --git a/xtask/src/semver.rs b/xtask/src/semver.rs index c5d1847d..9986b8bb 100644 --- a/xtask/src/semver.rs +++ b/xtask/src/semver.rs @@ -25,12 +25,12 @@ use compatibility::{semver_check_args, semver_check_release_type}; const CARGO_SEMVER_CHECKS_VERSION: &str = "0.51.0"; const SEMVER_TOOLCHAIN: &str = "1.99.0"; -const SEMVER_BASELINE_VERSION: &str = "0.12.0"; -const SEMVER_BASELINE_TAG: &str = "v0.12.0"; -const SEMVER_BASELINE_COMMIT: &str = "cf55ed0a90a9a3c65e4bcf387be967d6d1a83e88"; +const SEMVER_BASELINE_VERSION: &str = "0.13.0"; +const SEMVER_BASELINE_TAG: &str = "v0.13.0"; +const SEMVER_BASELINE_COMMIT: &str = "501242621b7e7171fd7f8813a40cd0cb31a5f5a7"; const API_DIFF_REPORT: &str = - "xtask/release-evidence/public-api/reviewed-public-api-diff-0.13.0.md"; -const API_REVIEW_CONFIG: &str = "xtask/release-evidence/public-api/public-api-review-0.13.0.yml"; + "xtask/release-evidence/public-api/reviewed-public-api-diff-0.13.1.md"; +const API_REVIEW_CONFIG: &str = "xtask/release-evidence/public-api/public-api-review-0.13.1.yml"; #[derive(Clone, Copy, Debug, Eq, PartialEq)] struct BaselineTransition<'a> { diff --git a/xtask/src/semver/tests.rs b/xtask/src/semver/tests.rs index 1e0d0e7b..4fef094c 100644 --- a/xtask/src/semver/tests.rs +++ b/xtask/src/semver/tests.rs @@ -272,7 +272,7 @@ fn report_has_one_published_details_section_without_consumed_transition() { assert_eq!(report.matches("## Published-package details").count(), 1); assert!(report.contains("Rustdoc-hidden candidate items: 1")); assert!(report.contains("Full hidden-inventory fingerprint: `fnv1a64:")); - assert!(report.contains("Baseline registry version: `0.12.0`")); + assert!(report.contains("Baseline registry version: `0.13.0`")); assert!(!report.contains("Active intentional-break transition:")); assert!(!report.contains("Required next semver baseline:")); } @@ -281,8 +281,8 @@ fn report_has_one_published_details_section_without_consumed_transition() { fn parses_review_config_and_rejects_unknown_fields() { let source = "\ version: 3 -baseline_tag: v0.12.0 -baseline_version: 0.12.0 +baseline_tag: v0.13.0 +baseline_version: 0.13.0 candidate_version: 0.11.0 break_ledger: - id: strict-decode-default diff --git a/xtask/src/semver/tests/api_planning.rs b/xtask/src/semver/tests/api_planning.rs index 63782cc8..604b38d3 100644 --- a/xtask/src/semver/tests/api_planning.rs +++ b/xtask/src/semver/tests/api_planning.rs @@ -89,7 +89,7 @@ fn package_diff_planning_distinguishes_published_and_new_packages() { assert!(diffs[1].removed.is_empty()); let report = render_report("0.7.4", &diffs, "0.52.0"); - assert!(report.contains("## New packages without a 0.12.0 registry baseline")); + assert!(report.contains("## New packages without a 0.13.0 registry baseline")); assert!(report.contains("- `j2k-future` `0.7.4`: 1 ordinary public API items")); assert!(report.contains("### `j2k`")); assert!(report.contains("```text\nremoved\n```")); diff --git a/xtask/src/semver/tests/command_boundaries.rs b/xtask/src/semver/tests/command_boundaries.rs index daac853c..0f04c82c 100644 --- a/xtask/src/semver/tests/command_boundaries.rs +++ b/xtask/src/semver/tests/command_boundaries.rs @@ -76,7 +76,7 @@ fn committed_candidate_semver_inputs_match_the_pinned_workspace_contract() { assert!(hidden.starts_with("# J2K 1.0 Rustdoc-Hidden Public API Snapshot")); let versions = workspace_package_versions().expect("workspace package versions"); - assert_eq!(versions.get("j2k").map(String::as_str), Some("0.13.0")); + assert_eq!(versions.get("j2k").map(String::as_str), Some("0.13.1")); assert!(versions.keys().collect::>().len() > 10); } @@ -91,36 +91,10 @@ fn baseline_revision_validation_accepts_only_the_pinned_commit() { #[test] fn committed_review_config_covers_the_exact_release_scope() { let config = load_review_config().expect("load committed API review config"); - assert_eq!(config.candidate_version, "0.13.0"); - assert_eq!( - config - .break_ledger - .iter() - .map(|entry| entry.id.as_str()) - .collect::>(), - BTreeSet::from([ - "jpeg-huffman-const", - "native-encode-profile-field", - "native-quantization-step-levels", - "jpeg-exhaustive-variants", - "irreversible-97-default-steps", - "reduced-decode-rejection", - "sample-conversion-and-quantization-bounds", - "cuda-batch-chunk-completion", - "jpeg-reference-conversion", - "direct-grayscale-plan-signed", - "gpu-signed-sample-conversion", - "cuda-engine-store-and-quantize-contracts", - "removed-cuda-oxide-j2k-ml", - "shared-batch-layout", - "extensible-batch-options", - "extensible-jpeg-color-transform", - "jpeg-outcome-recovery-field", - "jpeg-strict-completion", - "jpeg-required-interpretation", - "common-burn-result", - "extensible-burn-contract", - ]) + assert_eq!(config.candidate_version, "0.13.1"); + assert!( + config.break_ledger.is_empty(), + "patch release must not carry a consumed breaking-change ledger" ); let expected_packages = SEMVER_BASELINE_PACKAGES .iter() @@ -183,7 +157,7 @@ fn semver_check_command_uses_the_computed_candidate_release_type() { "--package", "j2k-core", "--baseline-version", - "0.12.0", + "0.13.0", "--release-type", "major", "--color", diff --git a/xtask/tests/command_orchestration.rs b/xtask/tests/command_orchestration.rs index 0ef6d107..e4d516ac 100644 --- a/xtask/tests/command_orchestration.rs +++ b/xtask/tests/command_orchestration.rs @@ -119,8 +119,8 @@ fn release_critical_orchestrators_run_from_the_workspace_without_real_cargo() { assert!(log.contains("package -p j2k-cli --no-verify")); #[cfg(target_os = "macos")] { - assert!(log.contains("git rev-parse v0.12.0^{commit}")); - assert!(log.contains("git show v0.12.0:xtask/api/stable-api-1.0.public-api.txt")); + assert!(log.contains("git rev-parse v0.13.0^{commit}")); + assert!(log.contains("git show v0.13.0:xtask/api/stable-api-1.0.public-api.txt")); } } diff --git a/xtask/tests/command_orchestration/support.rs b/xtask/tests/command_orchestration/support.rs index 14e166df..1770c7bc 100644 --- a/xtask/tests/command_orchestration/support.rs +++ b/xtask/tests/command_orchestration/support.rs @@ -60,7 +60,7 @@ impl Harness { fs::write( &git, format!( - "#!/bin/sh\nprintf 'git %s\\n' \"$*\" >> '{}'\nif [ \"$1\" = status ]; then exit 0; fi\nif [ \"$1\" = config ] && [ \"$2\" = --get ] && [ \"$3\" = remote.origin.url ]; then printf '%s\\n' 'git@example.invalid:frames-sg/j2k.git'; exit 0; fi\nif [ \"$1\" = rev-parse ] && [ \"$2\" = 'v0.12.0^{{commit}}' ]; then printf '%s\\n' 'cf55ed0a90a9a3c65e4bcf387be967d6d1a83e88'; exit 0; fi\nif [ \"$1\" = show ] && [ \"$2\" = 'v0.12.0:xtask/api/stable-api-1.0.public-api.txt' ]; then exec cat '{}'; fi\nif [ \"$1\" = rev-parse ] && [ \"${{2#v}}\" != \"$2\" ]; then printf 'unexpected release revision: %s\\n' \"$2\" >&2; exit 97; fi\nif [ \"$1\" = show ] && [ \"${{2#v}}\" != \"$2\" ]; then printf 'unexpected release object: %s\\n' \"$2\" >&2; exit 97; fi\nexec \"{}\" \"$@\"\n", + "#!/bin/sh\nprintf 'git %s\\n' \"$*\" >> '{}'\nif [ \"$1\" = status ]; then exit 0; fi\nif [ \"$1\" = config ] && [ \"$2\" = --get ] && [ \"$3\" = remote.origin.url ]; then printf '%s\\n' 'git@example.invalid:frames-sg/j2k.git'; exit 0; fi\nif [ \"$1\" = rev-parse ] && [ \"$2\" = 'v0.13.0^{{commit}}' ]; then printf '%s\\n' '501242621b7e7171fd7f8813a40cd0cb31a5f5a7'; exit 0; fi\nif [ \"$1\" = show ] && [ \"$2\" = 'v0.13.0:xtask/api/stable-api-1.0.public-api.txt' ]; then exec cat '{}'; fi\nif [ \"$1\" = rev-parse ] && [ \"${{2#v}}\" != \"$2\" ]; then printf 'unexpected release revision: %s\\n' \"$2\" >&2; exit 97; fi\nif [ \"$1\" = show ] && [ \"${{2#v}}\" != \"$2\" ]; then printf 'unexpected release object: %s\\n' \"$2\" >&2; exit 97; fi\nexec \"{}\" \"$@\"\n", log.display(), baseline_snapshot.display(), real_git.display()