Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 13 additions & 5 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,20 @@
This changelog tracks the current release line. Historical phase notes
and stale roadmap entries have been removed from the public documentation set.

## [Unreleased]
## [0.7.5] - 2026-07-22

Staged workspace version: `0.7.4`.

- Compatibility exception: this candidate is an explicitly source-incompatible
`0.7.x` patch. It is staged only; it has not been published or tagged.
- Compatibility exception: this release is an explicitly source-incompatible
`0.7.x` patch against the published `0.7.3` API. The reviewed compatibility
evidence and migration notes cover the complete contracted surface.
- Adds persistent, high-throughput owned batch decoding for JPEG 2000 and
HTJ2K, including prepared-input reuse, homogeneous exact-integer output
groups, CPU decode, and resident/external-destination CUDA and Metal paths.
- Publishes `j2k-ml`, the thin Burn 0.21 adapter for ordinary rank-4 `U8`,
`U16`, and `I16` tensors. The codec remains responsible for parsing,
grouping, and decoding; the adapter owns only tensor allocation and guarded
CPU/CUDA/Metal interop.
- Fixes Metal stacked multi-tile batch output and removes redundant same-queue
synchronization while preserving strict completion and status validation.
- Removes the pass-through `j2k_core::DecoderContext<C>` type and its
`j2k::DecoderContext` re-export. Construct and pass the concrete context
directly: `J2kContext::new()` (or `Default`) for `j2k`, and
Expand Down
42 changes: 21 additions & 21 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ exclude = [
]

[workspace.package]
version = "0.7.4"
version = "0.7.5"
edition = "2021"
rust-version = "1.96"
license = "MIT OR Apache-2.0"
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ Use lower-level crates only when you need a specific integration point:
| JPEG-to-HTJ2K coefficient-domain transcode | `j2k-transcode` |
| CUDA adapters | `j2k-jpeg-cuda`, `j2k-cuda`, `j2k-transcode-cuda` |
| Metal adapters | `j2k-jpeg-metal`, `j2k-metal`, `j2k-transcode-metal` |
| Experimental Burn 0.21 native integer batch adapter | `j2k-ml` (unpublished) |
| Burn 0.21 native integer batch adapter | `j2k-ml` |
| Tile compression codecs | `j2k-tilecodec` |
| Command-line inspection and JPEG-to-HTJ2K smoke transcode | `j2k-cli` |

Expand All @@ -181,7 +181,7 @@ The names `statumen` and `wsi-dicom` are not current package names.
## Support and evidence

The living codec support matrix is
[docs/public-support.md](docs/public-support.md). The experimental Burn batch
[docs/public-support.md](docs/public-support.md). The Burn batch
adapter has a narrower, explicit boundary in
[docs/j2k-ml.md](docs/j2k-ml.md). Hardware measurements and their publication
qualifications are recorded separately in
Expand Down
6 changes: 3 additions & 3 deletions crates/j2k-cli/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@ path = "src/main.rs"
doc = false

[dependencies]
j2k = { path = "../j2k", version = "=0.7.4" }
j2k-jpeg = { path = "../j2k-jpeg", version = "=0.7.4" }
j2k-transcode = { path = "../j2k-transcode", version = "=0.7.4" }
j2k = { path = "../j2k", version = "=0.7.5" }
j2k-jpeg = { path = "../j2k-jpeg", version = "=0.7.5" }
j2k-transcode = { path = "../j2k-transcode", version = "=0.7.5" }

[dev-dependencies]
j2k-test-support = { path = "../j2k-test-support" }
Expand Down
8 changes: 4 additions & 4 deletions crates/j2k-compare/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ publish = false
ignored = ["cc"]

[dependencies]
j2k-core = { path = "../j2k-core", version = "=0.7.4" }
j2k-native = { path = "../j2k-native", version = "=0.7.4" }
j2k = { path = "../j2k", version = "=0.7.4" }
j2k-test-support = { path = "../j2k-test-support", version = "=0.7.4" }
j2k-core = { path = "../j2k-core", version = "=0.7.5" }
j2k-native = { path = "../j2k-native", version = "=0.7.5" }
j2k = { path = "../j2k", version = "=0.7.5" }
j2k-test-support = { path = "../j2k-test-support", version = "=0.7.5" }
image = { workspace = true }
openjpeg-sys = { workspace = true }

Expand Down
6 changes: 3 additions & 3 deletions crates/j2k-cuda-runtime/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -48,13 +48,13 @@ cuda-oxide-jpeg-decode = []
cuda-oxide-jpeg-encode = []

[dependencies]
j2k-codec-math = { path = "../j2k-codec-math", version = "=0.7.4" }
j2k-core = { path = "../j2k-core", version = "=0.7.4" }
j2k-codec-math = { path = "../j2k-codec-math", version = "=0.7.5" }
j2k-core = { path = "../j2k-core", version = "=0.7.5" }
libloading = { workspace = true }
thiserror = { workspace = true }

[build-dependencies]
j2k-codec-math = { path = "../j2k-codec-math", version = "=0.7.4" }
j2k-codec-math = { path = "../j2k-codec-math", version = "=0.7.5" }

[dev-dependencies]
j2k-test-support = { path = "../j2k-test-support" }
Expand Down
10 changes: 5 additions & 5 deletions crates/j2k-cuda/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,11 @@ cuda-runtime = [
cuda-profiling = ["cuda-runtime", "j2k-cuda-runtime/cuda-profiling"]

[dependencies]
j2k-core = { path = "../j2k-core", version = "=0.7.4" }
j2k-cuda-runtime = { path = "../j2k-cuda-runtime", version = "=0.7.4", optional = true }
j2k = { path = "../j2k", version = "=0.7.4" }
j2k-native = { path = "../j2k-native", version = "=0.7.4" }
j2k-profile = { path = "../j2k-profile", version = "=0.7.4" }
j2k-core = { path = "../j2k-core", version = "=0.7.5" }
j2k-cuda-runtime = { path = "../j2k-cuda-runtime", version = "=0.7.5", optional = true }
j2k = { path = "../j2k", version = "=0.7.5" }
j2k-native = { path = "../j2k-native", version = "=0.7.5" }
j2k-profile = { path = "../j2k-profile", version = "=0.7.5" }
thiserror = { workspace = true }

[dev-dependencies]
Expand Down
8 changes: 4 additions & 4 deletions crates/j2k-jpeg-cuda/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,10 @@ cuda-runtime = [
]

[dependencies]
j2k-core = { path = "../j2k-core", version = "=0.7.4" }
j2k-cuda-runtime = { path = "../j2k-cuda-runtime", version = "=0.7.4", optional = true }
j2k-jpeg = { path = "../j2k-jpeg", version = "=0.7.4" }
j2k-profile = { path = "../j2k-profile", version = "=0.7.4" }
j2k-core = { path = "../j2k-core", version = "=0.7.5" }
j2k-cuda-runtime = { path = "../j2k-cuda-runtime", version = "=0.7.5", optional = true }
j2k-jpeg = { path = "../j2k-jpeg", version = "=0.7.5" }
j2k-profile = { path = "../j2k-profile", version = "=0.7.5" }
thiserror = { workspace = true }

[dev-dependencies]
Expand Down
8 changes: 4 additions & 4 deletions crates/j2k-jpeg-metal/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@ name = "j2k_jpeg_metal"
path = "src/lib.rs"

[dependencies]
j2k-core = { path = "../j2k-core", version = "=0.7.4" }
j2k-jpeg = { path = "../j2k-jpeg", version = "=0.7.4" }
j2k-metal-support = { path = "../j2k-metal-support", version = "=0.7.4" }
j2k-profile = { path = "../j2k-profile", version = "=0.7.4" }
j2k-core = { path = "../j2k-core", version = "=0.7.5" }
j2k-jpeg = { path = "../j2k-jpeg", version = "=0.7.5" }
j2k-metal-support = { path = "../j2k-metal-support", version = "=0.7.5" }
j2k-profile = { path = "../j2k-profile", version = "=0.7.5" }
thiserror = { workspace = true }

[target.'cfg(target_os = "macos")'.dependencies]
Expand Down
6 changes: 3 additions & 3 deletions crates/j2k-jpeg/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,9 @@ bench-libjpeg-turbo = []
bench-internals = []

[dependencies]
j2k-codec-math = { path = "../j2k-codec-math", version = "=0.7.4" }
j2k-core = { path = "../j2k-core", version = "=0.7.4" }
j2k-profile = { path = "../j2k-profile", version = "=0.7.4" }
j2k-codec-math = { path = "../j2k-codec-math", version = "=0.7.5" }
j2k-core = { path = "../j2k-core", version = "=0.7.5" }
j2k-profile = { path = "../j2k-profile", version = "=0.7.5" }
thiserror = { workspace = true }
memchr = { workspace = true }
rayon = { workspace = true }
Expand Down
8 changes: 4 additions & 4 deletions crates/j2k-jpeg/fuzz/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion crates/j2k-metal-support/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ name = "j2k_metal_support"
path = "src/lib.rs"

[dependencies]
j2k-core = { path = "../j2k-core", version = "=0.7.4" }
j2k-core = { path = "../j2k-core", version = "=0.7.5" }
log = { workspace = true }

[target.'cfg(target_os = "macos")'.dependencies]
Expand Down
12 changes: 6 additions & 6 deletions crates/j2k-metal/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,12 @@ name = "j2k_metal"
path = "src/lib.rs"

[dependencies]
j2k-codec-math = { path = "../j2k-codec-math", version = "=0.7.4" }
j2k-core = { path = "../j2k-core", version = "=0.7.4" }
j2k = { path = "../j2k", version = "=0.7.4" }
j2k-native = { path = "../j2k-native", version = "=0.7.4" }
j2k-metal-support = { path = "../j2k-metal-support", version = "=0.7.4" }
j2k-profile = { path = "../j2k-profile", version = "=0.7.4" }
j2k-codec-math = { path = "../j2k-codec-math", version = "=0.7.5" }
j2k-core = { path = "../j2k-core", version = "=0.7.5" }
j2k = { path = "../j2k", version = "=0.7.5" }
j2k-native = { path = "../j2k-native", version = "=0.7.5" }
j2k-metal-support = { path = "../j2k-metal-support", version = "=0.7.5" }
j2k-profile = { path = "../j2k-profile", version = "=0.7.5" }
thiserror = { workspace = true }

[target.'cfg(target_os = "macos")'.dependencies]
Expand Down
Loading
Loading