Skip to content

chore(dicom-codec): raise jpeg-lossless-decoder-js to 2.2.1 - #96

Open
wayfarer3130 wants to merge 1 commit into
mainfrom
chore/jpeg-lossless-decoder-2.2.1
Open

chore(dicom-codec): raise jpeg-lossless-decoder-js to 2.2.1#96
wayfarer3130 wants to merge 1 commit into
mainfrom
chore/jpeg-lossless-decoder-2.2.1

Conversation

@wayfarer3130

@wayfarer3130 wayfarer3130 commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

What changes

@cornerstonejs/jpeg-lossless-decoder-js moves from ^2.2.0 to ^2.2.1.
Two files change, and six lines.

2.2.1 restores the author metadata that npm dropped from the published package:
the manifest declared the author as an array, which npm does not accept, so
2.2.0 carried no attribution at all. 2.2.1 is also the first version that CI
published, so it carries a provenance attestation and 2.2.0 does not.

The decoded pixels cannot change

release/cjs/lossless.cjs and release/cjs/lossless.cjs.map are
byte-identical between 2.2.0 and 2.2.1. Only README.md and package.json
differ between the two tarballs:

$ diff -rq a/package b/package
Files a/package/README.md and b/package/README.md differ
Files a/package/package.json and b/package/package.json differ

The 102 dicom-codec tests pass, 7 skipped, and that count includes both
byte-exact JPEG Lossless comparisons. The .70 SV1 fixture is the regression
case for the end-of-scan fix, and it fails on any decoder without the fix.

This pull request is also a CodSpeed control

A benchmark that this pull request flags is noise, because the executed code
does not change. That makes this a useful measurement of the reports
themselves.

main holds a real baseline for the first time in a while. The merge of #94
(acc43f1) did not seed one: build (big-endian) failed with wget exit
code 4, a transient network error while it fetched cmake 3.17.4, and one
non-success among the nine build jobs makes bench.yml's gate skip the bench —
while the Bench run still reports success. Re-running that job and then
dispatching bench.yml on main seeded the baseline (run 34608677463,
codspeed-bench success).

pnpm-workspace.yaml needs no change here, so the gate benches dicom-codec
alone rather than a full sweep. Its minimumReleaseAgeExclude entry names the
package and no version, so a new release of the package installs without an
edit. A version-pinned entry, which is what pnpm writes by itself, would have
failed this install.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Bug Fixes
    • Updated JPEG lossless decoding support to version 2.2.1 for improved compatibility and reliability.

@cornerstonejs/jpeg-lossless-decoder-js 2.2.1 restores the author metadata that
npm dropped from the published package: the manifest declared the author as an
array, which npm does not accept, so 2.2.0 carried no attribution at all. 2.2.1
is also the first version that CI published, so it carries a provenance
attestation, and 2.2.0 does not.

The decoded pixels cannot change. release/cjs/lossless.cjs and
release/cjs/lossless.cjs.map are byte-identical between 2.2.0 and 2.2.1, and
only README.md and package.json differ between the two tarballs.

Verified: the 102 dicom-codec tests pass, 7 skipped, including both byte-exact
JPEG Lossless comparisons.

pnpm-workspace.yaml needs no change. Its minimumReleaseAgeExclude entry names
the package and no version, so a new release of the package installs without an
edit here. A version-pinned entry, which is what pnpm writes by itself, would
have failed this install.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Sep 11, 2026

Copy link
Copy Markdown

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 9cbe316f-185b-4a74-ad9b-8be130e8314b

📥 Commits

Reviewing files that changed from the base of the PR and between acc43f1 and f7ae09a.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (1)
  • packages/dicom-codec/package.json

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The DICOM codec package updates @cornerstonejs/jpeg-lossless-decoder-js from ^2.2.0 to ^2.2.1.

Changes

DICOM codec dependency

Layer / File(s) Summary
Update JPEG lossless decoder version
packages/dicom-codec/package.json
The dependency range changes from ^2.2.0 to ^2.2.1.

Priority: ⬇️ Low

Estimated code review effort: 1 (Trivial) | ~2 minutes

Change: Other

Merge Risk: ⚪ Minimal · up to f7ae0

This dependency-only update has no identified runtime or integration risk and is ready to merge.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely identifies the dependency update from the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/jpeg-lossless-decoder-2.2.1

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@codspeed-hq

codspeed-hq Bot commented Sep 11, 2026

Copy link
Copy Markdown

Merging this PR will regress 2 benchmarks

⚡ 2 improved benchmarks
❌ 2 regressed benchmarks
✅ 63 untouched benchmarks
⏩ 66 skipped benchmarks1

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Benchmark BASE HEAD Efficiency
instantiate+destroy JpegXLDecoder x50 5.8 ms 7.1 ms -18.36%
encode to JPEG XL lossy d=1.0 (.112) 1.3 s 1.5 s -10.86%
JPEG XL Lossless colour (.110) 297.5 ms 176.5 ms +68.58%
encode CT 512x512x16bit lossy d=1.0 — warm 1.6 s 1.4 s +11.96%

Tip

Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.


Comparing chore/jpeg-lossless-decoder-2.2.1 (f7ae09a) with main (acc43f1)

Open in CodSpeed

Footnotes

  1. 66 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant