napari 0.7.1#
⚠️ Note: these release notes are still in draft while 0.7.1a1 is in prerelease testing. ⚠️
Thu, May 14, 2026
We’re happy to announce the release of napari 0.7.1! napari is a fast, interactive, multi-dimensional image viewer for Python. It’s designed for browsing, annotating, and analyzing large multi-dimensional images. It’s built on top of Qt (for the GUI), vispy (for performant GPU-based rendering), and the scientific Python stack (numpy, scipy).
For more information, examples, and documentation, please visit our website, https://napari.org.
napari follows EffVer (Intended Effort Versioning); this is a Meso release containing awesome new features, but some effort may be needed when updating previous projects to use this version.
Highlights#
Add points layer face and border colorbar (#8624)
New Features#
Add points layer face and border colorbar (#8624)
Improvements#
Add handler for show message when napari fails to import (#8609)
Add example driving computation from gui (#8658)
Example: Enhance theme sample widget with theme colors, widgets (#8662)
Do not connect to children events of EventedDict items if there is no callback (#8673)
ENH: For multiscale 2d: store materialized thumbnail_level (#8715)
Canvas based font size (#8770)
Enh, minor, builtins: use urllib (and defer) instead of requests if reading a remote script path (#8785)
Perf: Defer importing scipy.spatial (#8789)
Revert the switch from Welcome widget to Welcome overlay from #8117 (#8793)
Add handler for show message when napari fails to import v2 (#8803)
Update text in mac installer to improve UX (#8806)
Fix: Use Python’s tokenize script decoding for builtin reader (#8838)
Add note for user how to reset the reader preference (#8848)
Ensure all napari and plugin commands use . instead of : (#8883)
Improve dask check to support more dask-backed array types (#8896)
Fix floating widgets and use custom title bar in all cases (#8898)
Set pixel as default scalebar unit (#8900)
Turn off contrast/color controls when surface has
vertex_colors(#8909)Actually use theme type from npe contrib (#8915)
Do not add a new colormap if one already exists in napari (#8924)
Improve sizing of dims ordering popup (#8952)
Performance#
ENH: For multiscale 2d: store materialized thumbnail_level (#8715)
Enh, minor, builtins: use urllib (and defer) instead of requests if reading a remote script path (#8785)
Perf: Defer importing scipy.spatial (#8789)
Revert the switch from Welcome widget to Welcome overlay from #8117 (#8793)
Improve dask check to support more dask-backed array types (#8896)
Use pep562 to defer AVAILABLE_LABELS_COLORMAPS which imports skimage.color -> scipy.linalg (#8903)
Bug Fixes#
fix: clims for non-numpy arrays with out-of-view translate (#8756)
Fix TypeError with anisotropic data in 3D ray intersections (#8812)
Reuse QMarginSlidersPopup between rightclicks (#8819)
Fix: Use Python’s tokenize script decoding for builtin reader (#8838)
Fix: Blocks dims slider widget creation feedback to dims model (#8840)
Fix: play button loop mode duplication (#8841)
Improve dask check to support more dask-backed array types (#8896)
Fix floating widgets and use custom title bar in all cases (#8898)
Wrap Labels multiscale data in MultiScaleData object in setter (#8922)
Fix Labels show_selected_label being silently dropped after color shuffle (#8947)
Documentation#
Fix typo in 0.7.0 release notes (docs#967)
Remove draft note from 0.7.0 release notes. (docs#968)
Reorganize cards in homepage (docs#970)
Rename “latest” version switch to “dev” (docs#971)
Use stable version for dev docs bundle links (docs#973)
Remove mention of unmaintained plugin in quick start (docs#976)
Rename navbar entries (API and Contribute) (docs#978)
Update team page (docs#980)
Add “Edit on Github” to secondary sidebar (docs#982)
Add deprecation warning section in contributing guide (docs#984)
Enable search as you type and remove sidebar search (docs#989)
Use flexible search field for navbar (docs#991)
Add more info about example tags and _.py (docs#994)
Remove napari-hub from navbar and add to sidebar (docs#995)
Update deprecation warning guidance to use
FutureWarning(docs#997)Update Jupyter notebook example screenshot (docs#1003)
Add release notes for 0.7.1a1 (docs#1009)
Example: Enhance theme sample widget with theme colors, widgets (#8662)
Add note to Camera.angles docstring about quaternion normalisation (#8864)
Docs: Bump lower version of napari-sphinx-theme (#8886)
Example: Comparison of messages in napari (notifications, logs, etc) (#8914)
Replace v (shorter) with viewer in the examples (#8940)
Other Pull Requests#
ci(dependabot): bump the github-actions group with 3 updates (docs#975)
Fix minor typos (docs#1005)
ci(dependabot): bump the github-actions group with 3 updates (docs#1006)
Update workflows to python 3.14 (#8666)
Improve typing in qt_dims_slider and clean local functions (#8683)
Drop triangle from 3.14 docs dependencies (#8703)
Use viewer-based caching for font manager (#8761)
Enable
TC003- typing-only-standard-library-import rule in ruff config (#8791)Solve “Could not resolve type hint for required parameter ‘qt_viewer’.” (#8792)
Add app-model to mypy task dependencies and fix errors (#8794)
Update
coverage,dask,fsspec,hypothesis,ipython,numpy,pint,pygments,pyside6,qtconsole,superqt(#8796)Move from
appdirstoplatformdirs(#8797)[pre-commit.ci] pre-commit autoupdate (#8800)
Enable TC002 ruff rule (#8804)
Fix layerlist_context by move Calable from TYPE_CHECKING block (#8805)
Add zizmor security CI check (#8811)
Ban expensive import in ruff (#8815)
Remove
trianglefromnapari[all](#8824)Add a Linux aarch64 test run (py313, pyqt6) to –pre, PR, and comprehensive tests (#8825)
[maint] Use ubuntu-slim 1 vCPU runners for simple jobs (#8826)
[maint] Add
bermudato testing dependencies (#8827)[pre-commit.ci] pre-commit autoupdate (#8831)
Add more debug information on fail to import Qt (#8834)
maint: replace
StringEnumbase class with withStrEnum(#8835)Do not import builtins from core (and forbid doing so) (#8842)
ci(dependabot): bump the actions group with 8 updates (#8844)
Remove sentinel leftover from
napari.utils.misc(#8846)Fix checking autogenerated type stubs (#8847)
Deprecate str_to_rgb which is unused (#8849)
Revert Citation validator from ubuntu-slim to use ubuntu-latest (#8851)
Deprecate make_default_color_array (#8852)
Dependabot cooldown (#8853)
Test against conda packages using pixi (#8855)
Use bash script instead of docker image for checking PR labels (#8856)
Check untyped defs in labels (#8861)
add jasper-tms to citation (#8862)
Rename tox test step names to include ‘qt_backend’ (#8866)
Update
hypothesis,npe2,pandas,pillow,pydantic-extra-types,pyqt6(#8868)[pre-commit.ci] pre-commit autoupdate (#8869)
Deprecate color_dict_to_colormap with FutureWarning (#8871)
Update
hypothesis,lxml,magicgui,platformdirs,pytest,rich,virtualenv(#8876)Add session type to –info (#8880)
Improve make_release workflow’s release steps (#8882)
[pre-commit.ci] pre-commit autoupdate (#8884)
ci(dependabot): bump the actions group with 4 updates (#8889)
Restore ability to push changes to napari-bot/napari repo (#8891)
Checkout only citation.cff in milestone checker (#8892)
Use hynek for build wheel (#8893)
Deprecate image_reader_to_layerdata_reader (#8895)
Finish typing bounding box and brush circle overlays (#8902)
Update
hypothesis,lxml,pydantic,pydantic-extra-types,virtualenv,xarray(#8906)[pre-commit.ci] pre-commit autoupdate (#8908)
Update
certifi,hypothesis,ipython,matplotlib,pydantic,pydantic-settings(#8920)[pre-commit.ci] pre-commit autoupdate (#8923)
Scalar base data setter (#8925)
Instead of checking if milestone is added, add the milestone on merge (#8926)
Don’t use random floats for image layer data in screenshot tests (#8945)
[pre-commit.ci] pre-commit autoupdate (#8951)
Fix auto milestone workflow (#8954)
Explicitly pass the repository name in command setting milestone (#8955)
18 reviewers added to this release (alphabetical)#
(+) denotes first-time contributors 🥳
Carol Willing - @willingc
Caroline Malin-Mayor - @cmalinmayor +
Constantin Aronssohn - @cnstt
David Stansby - @dstansby
Davin Potts - @applio
Draga Doncila Pop - @DragaDoncila
github-advanced-security[bot] - @github-advanced-security[bot]
Grzegorz Bokota (docs) - @Czaki
Jacopo Abramo - @jacopoabramo
Juan Nunez-Iglesias - @jni
Lorenzo Gaifas - @brisvag
Lucien Hinderling - @hinderling
Margot Chazotte - @MargotCh
Melissa Weber Mendonça - @melissawm
Peter Sobolewski - @psobolewskiPhD
Wulin Teo - @wulinteousa2-hash +