napari 0.6.3#
⚠️ Note: these release notes are still in draft while 0.6.3 is in release candidate testing. ⚠️
Wed, Jul 23, 2025
We’re happy to announce the release of napari 0.6.3!
napari is a fast, interactive, multi-dimensional image viewer for Python. It’s designed for exploring, annotating, and analyzing multi-dimensional images. It’s built on Qt (for the GUI), VisPy (for performant GPU-based rendering), and the scientific Python stack (NumPy, SciPy, and friends).
For more information, examples, and documentation, please visit our website: https://napari.org/
Highlights#
A Zoom with a View 🔍#
Pardon the play on words, but you can now zoom directly to a region of interest in the viewer by holding Alt
and dragging with the mouse (#8004). The camera will pan and zoom to fit the selected region, making it much easier to focus on specific areas of your data. This feature works in both 2D and 3D views.
Fine Tuning Thick Slicing from the GUI 📏#
Thick slicing controls are now available in the GUI (#6146)! This allows you to project multiple slices together using different modes (sum, mean, max, and min) for better visualization of your multidimensional data. You can access the thickness controls by right-clicking on the dimension sliders to open a popup to change the margins either symmetrically or asymmetrical and projection mode settings are now available per layer in the layer controls widget.
Windows: Access ~~Denied~~ Fixed 🪟#
A critical Windows-specific bug that caused Access Violation errors has been resolved (#8122)! This longstanding issue would cause napari to stop displaying layers due to various events and often occurred at seemingly non-reproducible times, and required a full restart of napari. The fix ensures proper cleanup and syncing of GPU resources, also reducing memory usage on all platforms. If you were an effected user, you may recall it as Access Violation
, 0x000000000000001C
if triggered without a plugin, or 0x000000000000034C
if triggered with a plugin.
Improved PySide6 Support 🛠️#
Napari now has improved support for PySide6 (#7887), resolving various compatibility issues and segfaults. This update enhances stability across platforms and prepares napari for the future as Qt5 approaches end-of-life.
New Features#
Qt controls for thick slicing (#6146)
Add automatic area and perimeter measurement for shapes + action (#7262)
Tiling canvas overlays (#7836)
Use information about units when calculate scale of layers when render (#7889)
Add ‘zoom-box’ to the viewer (#8004)
Add hot-reload for the devs (#8007)
Add viewbox coordinates to events and Cursor (#8130)
Improvements#
Allow use functions from PartSegCore-compiled-backend as numba alternative for data to texture mapping (#6617)
Enable testing on recent PySide6 (#7887)
Implement pasting spatial information into higher dimensions (#7973)
Improve performance and memory usage of editing Shapes layer (#8006)
[Update] Added
remove
andremove_selected
in Shapes and Points (#8031)Colorblind friendly image sample of kidney and lily (#8090)
Add Features using Features Table widget (#8093)
Added fixed seed and tested the value. (#8097)
Add keybinding (CtrlCmd-up/down) to select layer above/below (#8119)
Performance#
Allow use functions from PartSegCore-compiled-backend as numba alternative for data to texture mapping (#6617)
Bug Fixes#
ensure sync when taking a screenshot (#8064)
Set the dimensions of the label equal to the maximum value of the layers world (#8098)
Updated code to use current symbol and border width for new points. (#8102)
Improve performance and memory usage of editing Shapes layer (#8006 again) (#8109)
Prevent Windows Access Violation with GPU resource cleanup on layer removal (#8122)
API Changes#
Add viewbox coordinates to events and Cursor (#8130)
Documentation#
Update docs constraints and pyprojecttoml for npe2 (#8075)
Typo ismhow -> imshow (#8084)
Replace deprecated
view_*()
method from examples (#8091)Comment the HEX codes of each color theme and where they’re used (#8099)
New example for affine transformations in 3D using meshio and stl (#8103)
Added a try it out now section to README.md for using uv. (#8107)
Update README wording about scikit-image example (#8125)
Autogenerate images of parts of the viewer (docs#621)
Update instructions on how to update constraints files (docs#672)
Updates to NAP-9: Multiple Views (docs#730)
Update building your first plugin guide (docs#753)
Update version switcher for 0.6.2 (docs#754)
Update Release Guide (docs#755)
Fix information about
site-packages
directory (docs#756)Add empty release notes for 0.6.3 (docs#757)
Add roadmap to sidebar links (docs#760)
Refactor contributing guide landing page (docs#761)
Reorganize homepage with grid columns (docs#767)
Fix sidebar roadmap link (docs#768)
Fix Image Annotation example (docs#777)
Add website colors to community resources (docs#779)
Update napari.org homepage to remove the
imshow
“button” (docs#780)Add instructions for headless docs build on Wayland (docs#781)
Add module docstrings to scripts (docs#787)
Update pre-commit config to add some python checkers (docs#788)
Group event docs in order (docs#789)
Add 0.6.3 release notes draft for release candidate (docs#792)
Add “useful features” page (docs#796)
Add introductory paragraph to starting an event loop api doc (docs#797)
Other Pull Requests#
Add codespell support (config, workflow to detect/not fix) and make it fix few typos (#7619)
Move export ROI and export figure implementations into
QtViewer
(#7950)[pre-commit.ci] pre-commit autoupdate (#8062)
Block the recent pytest-qt version on python 3.10 to keep PySide2 support in testing. (#8067)
Add configurable suffix for test artifacts (#8069)
[Update] Added
pop
forPoints
andShapes
(#8072)Update
coverage
,hypothesis
,ipython
,pillow
,psygnal
,pytest-qt
,tensorstore
,xarray
(#8073)[pre-commit.ci] pre-commit autoupdate (#8074)
Move non-qt file actions from qactions module (#8076)
Move more view actions from qaction to actions (#8077)
Report benchmark on non skipped status (#8086)
Enable SIM117 ruff rule (#8088)
Remove dotenv from dev dependencies (#8089)
Add deprecation warning for view_<layer_type> functions (#8092)
Revert #8006 Improve performance and memory usage of editing Shapes layer (#8104)
Example from SciPy 2025 tutorial; image warping (#8111)
Improve stability of tests by ensuring cleaning of QtViewer instances (#8113)
Do not crash test with leaked graph if test failed (#8123)
[pre-commit.ci] pre-commit autoupdate (#8124)
Cleanup of
test_qt_utils.py
(#8129)Update triggered_target_build.yml regex to ensure we match on hyphen (docs#764)
19 reviewers added to this release (alphabetical)#
(+) denotes first-time contributors 🥳
andrew sweet - @andy-sweet
Carol Willing (docs) - @willingc
Constantin Aronssohn - @cnstt
Daniel Althviz Moré - @dalthviz
Davis Bennett - @d-v-b
Draga Doncila Pop - @DragaDoncila
Grzegorz Bokota (docs) - @Czaki
Jacopo Abramo - @jacopoabramo
jaime rodraguez-guerra - @jaimergp
Juan Nunez-Iglesias - @jni
Lorenzo Gaifas (docs) - @brisvag
Lukasz Migas - @lukasz-migas
Melissa Weber Mendonça - @melissawm
Peter Sobolewski (docs) - @psobolewskiPhD
Rahul Kumar - @rahul713rk
rwkozar - @rwkozar
Wouter-Michiel Vierdag - @melonora
Yaroslav Halchenko - @yarikoptic