Skip to content

chore(deps): update @kitware/vtk.js to 36.4.1#2804

Open
sedghi wants to merge 5 commits into
mainfrom
cornerstonevtkupdate
Open

chore(deps): update @kitware/vtk.js to 36.4.1#2804
sedghi wants to merge 5 commits into
mainfrom
cornerstonevtkupdate

Conversation

@sedghi

@sedghi sedghi commented Jul 13, 2026

Copy link
Copy Markdown
Member

Summary

Updates @kitware/vtk.js from 35.5.3 to 36.4.1 across all consuming packages:

  • @cornerstonejs/core
  • @cornerstonejs/tools
  • @cornerstonejs/labelmap-interpolation
  • @cornerstonejs/polymorphic-segmentation

The lockfile picks up vtk.js's own transitive changes for this major version: the @babel/preset-env peer dependency is dropped, xmlbuilder2 is bumped to 4.x, and @types/webxr is re-pinned.

Testing

  • All vtk.js-consuming packages build cleanly against 36.4.1 (tsc + tsc-alias pass for core, tools, labelmap-interpolation, and polymorphic-segmentation).

Summary by CodeRabbit

  • Improvements
    • Updated the underlying visualization engine to a newer version across labeling, segmentation, and tooling packages for better compatibility.
  • Chores
    • Reduced the workspace minimum release age threshold to enable faster releases.
  • Testing
    • Adjusted browser test/example bundling so the Node built-in url module is not pulled into browser builds, preventing test failures in Chrome.

Bump @kitware/vtk.js from 35.5.3 to 36.4.1 across core, tools,
labelmap-interpolation, and polymorphic-segmentation. All packages
build cleanly against the new major version.
@coderabbitai

coderabbitai Bot commented Jul 13, 2026

Copy link
Copy Markdown

Review Change Stack

Important

Review skipped

Review was skipped due to path filters

⛔ Files ignored due to path filters (2)
  • tests/screenshots/chromium/genericViewport/genericLabelmapOverlapPlayground.spec.ts/viewport.png is excluded by !**/*.png
  • tests/screenshots/chromium/genericViewport/genericLabelmapSliceRenderingTools.spec.ts/sphereBrush.png is excluded by !**/*.png

CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including **/dist/** will override the default block on the dist directory, by removing the pattern from both the lists.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 266d109c-5e74-4c0c-963a-b88ce770e969

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Updates @kitware/vtk.js from 35.5.3 to 36.4.1 across four package manifests, disables Node’s url module in browser bundling configurations, and reduces minimumReleaseAge from 2880 to 30.

Changes

VTK.js dependency alignment

Layer / File(s) Summary
Update VTK.js versions
packages/core/package.json, packages/tools/package.json, packages/labelmap-interpolation/package.json, packages/polymorphic-segmentation/package.json
Updates dependency and peer dependency versions to 36.4.1.
Disable browser url fallback
karma.conf.js, utils/ExampleRunner/template-*.js
Disables Node’s url module in browser bundle configurations and documents the related dependency chain.

Workspace release configuration

Layer / File(s) Summary
Lower minimum release age
pnpm-workspace.yaml
Changes minimumReleaseAge from 2880 to 30.

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

Suggested reviewers: wayfarer3130

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description includes summary and testing, but it omits the required Context, Changes & Results, and Checklist sections. Add the missing template sections, including Context, Changes & Results, and the checklist items with checked boxes.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title is concise, semantic-release formatted, and accurately describes the vtk.js version update.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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 cornerstonevtkupdate

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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@pnpm-workspace.yaml`:
- Line 21: Update the minimumReleaseAge workspace configuration from 30 minutes
back to 2880 minutes, restoring the 48-hour release-age threshold.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 0ddc1283-07bb-4165-954f-08122a2d9178

📥 Commits

Reviewing files that changed from the base of the PR and between 966a318 and 5e112e0.

📒 Files selected for processing (1)
  • pnpm-workspace.yaml

Comment thread pnpm-workspace.yaml
linkWorkspacePackages: true
preferWorkspacePackages: true
minimumReleaseAge: 2880
minimumReleaseAge: 30

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔒 Security & Privacy | 🟠 Major | ⚡ Quick win

Restore the 48-hour release-age threshold before merging.

Reducing minimumReleaseAge to 30 minutes weakens protection against newly published compromised or typosquatted packages. Revert this temporary CI setting to 2880 before merge.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@pnpm-workspace.yaml` at line 21, Update the minimumReleaseAge workspace
configuration from 30 minutes back to 2880 minutes, restoring the 48-hour
release-age threshold.

sedghi added 3 commits July 13, 2026 13:57
vtk.js 36.4.1 pulls in xmlbuilder2@4 -> @oozcitak/url which requires
node's built-in 'url' module. Webpack 5 does not polyfill node core
modules, so the Karma browser bundle failed to resolve it, breaking the
vtk.js XMLReader module chain and cascading into every core test. Stub
'url' to false since XML url parsing is not exercised by the tests.
Same @oozcitak/url -> require('url') issue as the Karma fix, but in the
rspack example build used by the Playwright suite. Add url: false to both
example-build fallback blocks. Verified by building htj2kVolumeBasic.
vtk.js 36 fixes label outline border detection to include cardinal
neighbors (Kitware/vtk-js@70bc9fa26), flipping one seg-edge pixel per
image to the full label color. Refresh the two affected snapshots.
Verified locally: main render matches these baselines at 0px on the same
machine, so the update reflects CI's rendering.
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