OHIF Viewer v3.13
July 2026

New Features
Smart Scrollbar
Navigating large image series just got easier. The new Smart Scrollbar highlights which images in a series have finished loading, so you always know how much is ready to view at a glance.
By default, scrolling moves smoothly through the images that are already loaded, meaning less time spent waiting on images that are still downloading — with the ability to jump to any slice with a click. It's especially handy for large studies or slower connections, giving you a more responsive experience and a clear visual sense of loading progress.
Learn more about the Smart Scrollbar component and see details on how to customize it.

New Study List
OHIF now ships with an all-new Study List out of the box. It improves quality of life with easier study preview and launch capabilities, while retaining all of the customization and flexibility of the previous version.
Check it out in our public demo and see our documentation to learn more.

Appearance Themes & UI-next Component Library
We've completed the migration of all OHIF viewer components to the UI-next library. The new library features a modern UI, better support for adaptive and mobile environments, and a simple preview function that lets you see a component in action before building with it.
OHIF now also supports dynamic theming of viewer components, including a theme previewer with many default and custom options. See the Colors & Theming page for guidance, or see how to enable the Appearance dialog.

Labelmap Segmentation
Following community feedback, we've revamped the one-click segmentation tool to greatly improve performance and usability. The tool now detects and applies region borders on PET with greater accuracy and less delay during calculation.
The resulting ROI can be presented as a preview or automatically accepted for seamless editing with other labelmap segmentation tools.
We've also improved labelmap segmentation and fixed bugs across the board, resulting in a smoother, less resource-intensive experience overall.

Cornerstone 5.0
Cornerstone3D has received a major overhaul focused on improved performance and ease of use across the board. Some of the highlights include:
- Redesigned viewport architecture: a new GenericViewport base with explicit, per-data-type render paths (planar CPU/GPU, video, ECG, whole-slide imaging, and 3D volume), cleanly separating camera state, viewport presentation, and data presentation.
- New data-type support & rendering features: a dedicated ECG viewport for DICOM waveforms, volume cropping, configurable 3D sampling distance, render stats, and image smoothing/sharpening for stack and volume viewports.
- Upgraded core foundation: bumped to vtk.js 34.x, a new single-source metadata module, and a toolchain migration from yarn/bun to pnpm.
- Guided upgrade path: codemods ship in the 5.x registry (including a generic-viewport transform) to automate much of the migration from 4.x.

FHIRcast Extension
OHIF now has a dedicated FHIRcast mode. Built intentionally as a standalone, external extension, it's a clean example of how OHIF can be tailored and extended for specialized workflows.
- Loads studies straight from a FHIR server: connect OHIF directly to modern health-data servers and pull in imaging studies, with secure sign-in, so images can come from the systems your organization already uses.
- Views ECG and waveform studies: a dedicated viewport for displaying DICOM ECG and other waveform recordings alongside regular imaging.
- One-click study export: right-click to download the current study as a DICOM ZIP file for easy sharing or archiving.
We've also published extensive user documentation, including quick-start tutorial videos. Check it out in our Modes gallery.
General Improvements
- OHIF has switched to pnpm as its package manager. Frozen lockfiles mean installs are fully reproducible with the exact dependency tree in pnpm-lock.yaml, and version-scoped overrides let us apply tighter, more surgical security patches. This upgrade also means installs are faster and lighter on disk storage!
- The OHIF team continues to prioritize increased test coverage across our libraries. We are also working on reducing the cost for community members to contribute tests of their own, which we will have more about in the next update. If you are interested in contributing test coverage to OHIF/Cornerstone, please let us know!
All Changes
- feat(segmentation): replace One Click Segment with ClickSegmentTool (PR#6135)
- feat: Add extensibility for tmtv and segmentation modes (PR#6128)
- feat(next): native Generic Viewport migration (useNextViewports) (PR#6101)
- feat(ui-next): Adds appearance dialog with theme presets and custom theme support (PR#6041)
- feat: Update to use pnpm (PR#6031)
- feat(llm): add instructions md file for claude and other LLM tools (PR#6017)
- feat(WorkListUINext): New Study List (WorkListUINext) (PR#6005)
- feat(tests): Add tests for duplicating contour segments (PR#6002)
- feat(testing): OHIF Test Agent Skills (PR#5993)
- feat: Add customization URL parameter (PR#5992)
- feat(slice scrollbar): Integrate ViewportSliceProgressScrollbar with customizations and docs (PR#5960)
- feat(component): Adds SmartScrollbar to ui-next - OHIF-2558 (PR#5924)
- feat(ui-next): Adds toggle state for ToolButton and Crosshair example (PR#5914)
- feat(ecg): add DICOM ECG waveform extension (PR#5856)
- feat: Add support for labelmap seg images in any supported tsuid (also for compressed bitmap) (PR#5806)
- fix(security): update dependencies to patch CVEs (PR#6169)
- fix(cornerstone): bump cornerstone3D to 5.6.8 (PR#6165)
- fix(worklist): disable supportsFuzzyMatching on staticWado AWS sources so patient-name search doesn't return empty (PR#6163)
- fix(cornerstone): bump cornerstone3D to 5.6.7 (PR#6161)
- fix(crosshairs): keep Crosshairs active alongside brush/zoom/pan in MPR (PR#6157)
- fix(deps): pin websocket-driver to 0.7.5 (PR#6156)
- fix(cornerstone): bump cornerstone3D to 5.6.4 for mobile volume rendering (PR#6155)
- fix(dynamic-volume): restore kinetic analysis and segment stats on 4D volumes (PR#6149)
- fix(onboarding): use shepherd.js 15 directly to fix tour positioning crash (PR#6148)
- fix(cli): link and unlink extensions/modes with pnpm instead of yarn (PR#6144)
- fix(ui): clean up remaining legacy ui usage (PR#6140)
- fix(app): appearance modal provider scope, worklist preview persistence, and tag browser label overflow (PR#6136)
- fix: Several new worklist issues (PR#6130)
- fix(security): ignore decompress security vulnerability (PR#6125)
- fix: recipe config cleanup, report-only CSP, logout redirect validation (PR#6124)
- fix(test): stabilize DICOM Tag Browser scrollbar screenshot (PR#6118)
- fix(ci): deploy docs with Netlify CLI monorepo filter (PR#6115)
- fix(wsi): mount WSI/SM viewports via setDisplaySets (PR#6107)
- fix(hotkeyBindings): consolidate Escape hotkey behavior for contour drawing tools (PR#6104)
- fix(pt): resolve Philips PET private SUV bulkdata before scaling (PR#6096)
- fix: Release deploy of docs (PR#6095)
- fix: pnpm related dependency bugs - nothing funcitonal (PR#6094)
- fix(security): Update dependencies to fix security vulnerabilities. (PR#6085)
- fix(docs): remove stray tool-call tags breaking the MDX build (PR#6081)
- fix: pnpm deploy bugs for docs and viewer-dev (PR#6077)
- fix: Fix the deployment to viewer-dev caused by missing .npmrc (PR#6076)
- fix(security): Patch axios vulnerabilities. (PR#6063)
- fix(security): Add tmp as a resolution to fix security vulnerability. (PR#6044)
- fix: ohif tests to run with cornerstone 3d 5.0 (PR#6043)
- fix(colors): Replace hardcoded colors with theme tokens (PR#6040)
- fix(segmentation): restore navigation for duplicated contour segments (PR#6038)
- fix(security): Update various dependencies to fix security vulnerabilities. (PR#6023)
- fix(seg): prevent viewport orientation change when loading SEG in manual grid layout (PR#6021)
- fix: remove waitForVolumeLoad from main toolbar page object (PR#6004)
- fix(security): Patch axios security vulnerabilities. (PR#5998)
- Fix: Segmentation Hide All fails when switching from 2D to 3D fourUp (PR#5995)
- fix(measurement-tracking): restore tracked state on undo after Delete all (PR#5994)
- fix(ToolGroupService): Centralize tool binding persistence and provide API to add and remove persisted bindings. (PR#5989)
- fix(config url): Hardening fetch options. (PR#5985)
- fix(security): Patch protobufjs for CVE-2026-41242. (PR#5974)
- fix(security): refine dynamic config URL trust policy and document trusted-origin behavior (PR#5973)
- fix(seg): prevent segmentations from spreading to all viewports before hydration confirmation in 3D four-up (PR#5967)
- fix(MetadataProvider): Correctly assign imageId for multiframe images and remove unused frame information retrieval method (PR#5965)
- fix(configuration): Harden dynamic datasource URL trust boundaries and credential handling. (PR#5963)
- fix: Enhance multiframe instance handling and improve instance valida… (PR#5956)
- fix: ignore auth in git (PR#5955)
- fix(cornerstone): read FrameOfReferenceUID from display set in viewport service (PR#5950)
- fix: A couple of changes to enable cs3d integration build (PR#5944)
- fix(security): Update yarn.lock that was missed in PR #5936. (PR#5940)
- fix(security): update dependencies to fix security vulnerabilities (PR#5936)
- fix(defaultRouteInit): pass sorted display sets to hanging protocol for deterministic viewport order (PR#5933)
- fix: remove thresholdRange label in double-range tool settings (PR#5931)
- fix: prevent black viewport when navigating series with client-created segmentation (PR#5919)
- fix(measurements): read displayName in SplineROI and PlanarFreehandROI reports (PR#5908)
- fix(measurement): Restore viewport interactivity when deleting in-progress Spline or Livewire measurement (PR#5905)
- fix(segmentation): restrict overlay segmentation menu to same frame of reference as viewport background display set (PR#5900)
- fix(security): Bump flattened version to address CVE-2026-32141. (PR#5897)
- fix(security): Bump tar version to address CVE-2026-31802. (PR#5893)
- fix(sr-hydration): enable hydration and arrow navigation for 3D SR measurements (PR#5887)
- fix: Modalities in study list should select starts with as primary (PR#5886)
- fix(Threshold tool): Threshold tool no longer becomes deselected when the Dynamic option is selected (PR#5884)
- fix(security): Bump svgo and tar to fix vulnerabilities. (PR#5877)
- fix(seg hydration): auto-hydrate RT struct on second load with disableConfirmationPrompts (PR#5875)
- fix(segmentation): Display "No description S:{series number} {modality}" for segmentations with no label. (PR#5874)
- fix(SR): Added support for spline and live wire SR items. (PR#5870)
- fix(security): Address various security vulnerabilities. (PR#5869)
- fix(microscopy): rename measurement in microscopy mode (PR#5866)
- fix(window level): The window level value is not displayed by default on all the viewports when selecting common/custom layout and TMTV. (PR#5865)
- fix(segmentation): segment bidirectional tool error and show toast notification when no segment is drawn (PR#5861)
- fix: Use newer ONNX version and load without errors (PR#5854)
- fix capture not maintaining flip/rotate state (PR#5843)
- fix(security): CVE-2026-27212 patched. Various dependency updates as a result of CVE-2026-26996. (PR#5830)
- fix: prevent viewer crash when opening DICOM Tag Browser from empty viewport - OHIF-2351 (PR#5827)
- fix(security): Bump tar to 7.5.9 and lerna to 9.0.4 to fix CVE-2026-26960. (PR#5824)
- fix: palette color 8 encoded 16 (PR#5823)
- fix(ui-next): Add validation for opacity and border inputs in the segmentation panel - OHIF-2332 (PR#5819)
- fix(dicom-pdf): enhance PDF loading with authentication support (PR#5816)
- fix(colors): Replace hardcoded black with background color token (PR#5815)
- fix(usAnnotation): Prevent error after JSON download (PR#5814)
- fix: Published version should match (PR#5813)
- fix(RTStruct): RTSTRUCT contours rendered on first slice for multi-frame images without IPP (PR#5811)
- fix(dicom-tag-browser): Prevent long series names from overlapping - OHIF-2406 (PR#5809)
- fix: Missing tag (PR#5808)
- fix(microscopy): Prevent measurement clearing on viewport resize (PR#5796)
- fix(security): Use a resolution for axios to address CVE-2026-25639. (PR#5793)
- fix: Better handle octet stream case (PR#5789)
- fix(app): display study not found message for all modes (PR#5752)
- fix: Add a single version number with commit process (PR#5746)
- fix(segmentation overlay): update viewport ds list upon seg delete - OHIF-2425 (PR#5729)
- fix(cine): prevent crash on second view/hydration of SR series (PR#5724)
- fix(colors): Replaces legacy colors with ui-next colors (PR#5351)
- chore(deps): bump @cornerstonejs to 5.6.1 and @kitware/vtk.js to 36.4.1 (PR#6147)
- chore(testing): Flock lock for playwright tests; Pin node version for OHIF; add more workers (PR#6099)
- chore(testing): Playwright tests for contour segmentation create, update, delete interactions (PR#6091)
- chore(testing): Setup new self-hosted test runner (PR#6067)
- chore: Fix netlify deploy by updating various @babel dependencies. (PR#6049)
- chore: Fix netlify deploy. (PR#6047)
- chore: update Cornerstone3D to v4.21.7 (PR#5964)
- chore(refactor): use public appConfig getter instead of private _appConfig field (PR#5923)
- chore(tests): contour segment interactions e2e tests - rename and togglevisibility (PR#5891)
- chore(test): add FreehandROI test that MEASUREMENT_ADDED does not fire when clicking annotation text (PR#5846)
- chore(security): Updates for running bun audit during CI and dependabot PR version update settings (PR#5835)
- chore(deps): bump webpack from 5.95.0 to 5.105.0 (PR#5795)
- chore(ci): move to next version [BUMP BETA] (PR#5790)
- chore(deps): bump lodash from 4.17.21 to 4.17.23 - OHIF-2438 (PR#5744)
- chore(deps): bump lodash-es from 4.17.21 to 4.17.23 - OHIF-2441 (PR#5736)
- chore(deps): bump diff from 4.0.2 to 4.0.4 - OHIF-2449 (PR#5731)
- test(core): use fake timers in Queue unit tests to stop CI flakes (PR#6134)
- test: add E2E test for contour combine intersect and subtract operations (PR#6131)
- test(segmentation): switch getSegmentCount to expect(rows).toHaveCount in panel specs (PR#6105)
- test(contour): Add the ContourSegmentToggleLock.spec.ts test file to test contour locking (PR#6072)
- test(contour): contour interactions delete segment (PR#6069)
- test(contour): contour color change coverage (PR#6042)
- test(contour): add test for RT contour position after viewport maximize/restore (PR#6036)
- test(e2e): update Playwright screenshots and add better tests and assertions for area calculations (PR#6022)
- test(segmentation): add e2e test for deleting segmentation on second reload (PR#6013)
- test(e2e): replace waitForVolumeLoad with viewport render waits (PR#6000)
- test( zoomIn-tool): verify horizontal flip is preserved in magnified view (PR#5983)
- test(ContourSegNavigation): Add e2e tests for contour segmentation navigation (PR#5834)
- docs(site): add ui-next component documentation and upgrade Docusaurus (PR#6102)
- ui(ContextMenuViewport): move to ui-next with theme support (PR#6008)
- revert: rename DisplaySet.frameOfReferenceUID back to FrameOfReferenceUID (PR#5943)
- refactor(tests): update viewport page object usage to async and update all effected tests (PR#5927)
- Update to use beta 5.0 of CS3D (PR#5904)
- Add combined build (PR#5895)
- Update CS3D 4.18.2 (PR#5837)
- Add copy to clipboard option for capture (PR#5720)
- Reformat in HP MPR (PR#5717)