Published May 29, 2026 | Version v0.7.1rc2
Software Open

napari: a multi-dimensional image viewer for Python

Authors/Creators

  • 1. Chan Zuckerberg Initiative
  • 2. Harvard Medical School
  • 3. napari; University of Warsaw, Faculty of Mathematics, Informatics, and Mechanics
  • 4. Monash eResearch Centre, Monash University
  • 5. The Jackson Laboratory
  • 6. napari
  • 7. MRC-LMB
  • 8. Monash University
  • 9. Iber Lab - ETH Zürich
  • 10. Quansight
  • 11. Quansight Labs
  • 12. European Molecular Biology Laboratory, Genome Biology Unit, Heidelberg, Germany
  • 13. University of Minnesota — Twin Cities
  • 14. Willing Consulting
  • 15. Kyoto University
  • 16. Chan Zuckerberg Biohub
  • 17. Leibniz-IPHT, Jena, Germany
  • 18. iLABS, Inc.
  • 19. Harvard Medical School, BIDMC
  • 20. EPFL Center for Imaging
  • 21. SETI Institute/NASA ARC
  • 22. University of California, Santa Cruz
  • 23. Heidelberg University, Germany
  • 24. University of Colorado Anschutz
  • 25. Laboratory for Optics and Biosciences, Ecole Polytechnique, INSERM, CNRS, Palaiseau, France
  • 26. Unaffiliated
  • 27. Imaging Methods Core Facility at Biocev, Charles University
  • 28. Friedrich Miescher Institute for Biomedical Research (FMI), Basel (Switzerland)
  • 29. EMBL Heidelberg, Germany
  • 30. Pioneering Research Institute, RIKEN
  • 31. University of California, Irvine
  • 32. Dartmouth College
  • 33. Tel Aviv University, Israel
  • 34. Ramona Optics Inc, Durham, North Carolina, USA
  • 35. University College London
  • 36. The University of Tokyo / LPIXEL Inc.
  • 37. Naval Nuclear Laboratory
  • 38. Swiss Federal Institute of Technology (EPFL), Lausanne, Switzerland
  • 39. Calico Life Sciences LLC
  • 40. Universitätsmedizin Greifswald
  • 41. Kobe University
  • 42. Chan Zuckerberg Initiative Foundation
  • 43. UCL & The Alan Turing Institute
  • 44. HHMI Janelia Research Campus
  • 45. EMBL Heidelberg
  • 46. MetaCell
  • 47. Delft University of Technology
  • 48. Apex Systems
  • 49. Sainsbury Wellcome Centre - University College London
  • 50. University of California, Los Angeles
  • 51. Georg-August-Universität Göttingen
  • 52. University Hospital Würzburg - Institute of Neuroradiology
  • 53. University of Oregon
  • 54. Kavli Institute for Systems Neuroscience at NTNU, Trondheim, Norway
  • 55. Algarve Centre of Marine Sciences (CCMAR)
  • 56. Yikes LLC
  • 57. Department of Electrical and Electronic Engineering, Stellenbosch University
  • 58. EPFL
  • 59. Brown University
  • 60. NanoString Technologies, Inc.
  • 61. European Bioinformatics Institute - European Molecular Biology Laboratory
  • 62. University of Wisconsin-Madison
  • 63. AI lab for Living Technologies, University Medical Centre Utrecht (The Netherlands)
  • 64. DFG cluster of excellence 'Physics of Life', TU Dresden
  • 65. Houston Methodist Research Institute
  • 66. Aix Marseille University, CNRS, Fresnel, I2M, IBDM, Turing Centre for Living systems
  • 67. TU-Dresden / EPFL
  • 68. ETH Zurich / University of Zurich
  • 69. Tobeva Software
  • 70. European Molecular Biology Laboratory (EMBL)
  • 71. Baylor College of Medicine
  • 72. Chinese Academy of Sciences - SIAT, Shenzhen, China
  • 73. Data Science Lab, University of Bern, Switzerland
  • 74. Katana Labs
  • 75. Galgotias University
  • 76. Institute of Cell Biology, University of Bern, Switzerland

Description

napari 0.7.1

⚠️ Note: these release notes are still in draft while 0.7.1rc1 is in prerelease testing. ⚠️

Wed, May 27, 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

The napari 0.7.1 release is mainly a bug fix release, but it also includes some new features and improvements. Here are some of the highlights:

Signed Windows bundle

Starting with the napari 0.7.1 release, our bundle on Windows is now signed with a NumFOCUS certificate, like our macOS bundle has been. This means that you should be able to run napari without any warnings about the application being from an unknown publisher. This is an important step forward for our Windows users, as it enhances security and trust in our application, especially in managed IT environments where unsigned applications may be blocked by default.

The certificate is issued for the NumFOCUS foundation, which supports napari and a large number of other open source projects.

If you encounter any issues related to this change, please let us know!

Selection of the rendered level for multiscale layers

Prior to napari 0.7.1, when rendering a multiscale layer:

  • in 3D display, napari would always render the lowest resolution level of the pyramid
  • in 2D display, the pyramid level would be automatically selected based on the viewport

Thanks to #8917, users can now select a multiscale level to render. For the case of 3D display, for example, this allows for choosing a higher resolution rendering than before, as long as the selected level can fit within GPU texture limits. Meanwhile, for 2D display, you can fix the resolution level, which can be useful for annotation or previewing data prior to an analysis or export step.

Colorbars for points layer

The points allows coloring points based of their feature values; in napari 0.7.1 we added support for colorbars (#8624), so you can now easily see the mapping between feature values and colors, just like the colorbars for image colormapping. This is especially useful when you have a large number of points and want to quickly understand the distribution of feature values.

<img width="1019" height="783" alt="napari_colorbar" src="https://github.com/user-attachments/assets/1522aa7c-3520-4e41-85e6-99e9a91c47ee" />

Scalebar with units

In previous versions of napari, if you added A scale bar using View > Scale Bar > Scale Bar visible, it was shown with no units. In napari 0.7.1 we now set default unit to pixel in #8900 and also add calculation of units for scale bar based on currently added layers in #8907, if they have units set.

Lock layer to prevent accidental deletions

In #8736 we added initial lock mechanism for layers. When a layer is locked, it cannot be accidentally deleted or destructively modified. This is especially useful when you have a complex project with many layers and want to prevent accidental changes to important layers. Note: the layer controls are not affected by the lock at this time. In the future we plan to expand this feature to prevent not only deletion but also other modifications.

New Features

  • Add points layer face and border colorbar (#8624)

Improvements

  • Add handler for show message when napari fails to import (#8609)
  • 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)
  • UX: Add Layer.locked property to protect layers from accidental deletion (#8736)
  • Enh, minor, builtins: use urllib (and defer) instead of requests if reading a remote script path (#8785)
  • Perf: Defer importing scipy.spatial (#8789)
  • 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)
  • Set pixel as default scalebar unit (#8900)
  • ScaleBar units from layers (#8907)
  • Turn off contrast/color controls when surface has vertex_colors (#8909)
  • Actually use theme type from npe contrib (#8915)
  • Add multiscale level lock for scalar field layers (#8917)
  • Do not add a new colormap if one already exists in napari (#8924)
  • Improve sizing of dims ordering popup (#8952)
  • typing: add type hints to napari/utils/shortcuts.py (#8983)

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)
  • 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

  • Add max depth_value to avoid clipping volumes in 3d (#8809) (#8810)
  • 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)
  • Wrap Labels multiscale data in MultiScaleData object in setter (#8922)
  • Fix Labels show_selected_label being silently dropped after color shuffle (#8947)
  • Fix Volume visual crash when adding invisible scalar field in 3D (#8968)

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)
  • Update multiscale documentation to describe new level selection (docs#1004)
  • Add release notes for 0.7.1a1 (docs#1009)
  • Add sample databases (docs#1010)
  • Minimal all-contributors setup (docs#1011)
  • Add Carlos to Core Team page (docs#1012)
  • Update release notes for 0.7.1 (docs#1019)
  • Add Curtis and Brian to SC members (docs#1020)
  • Add Windows bundle signing and reputation info (docs#1022)
  • Fix: pyqt6 for conda install instructions (docs#1023)
  • Document layer locking in napari GUI and API (docs#1025)
  • Clean up button css for homepage and gallery (docs#1026)
  • 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)
  • Replace v (shorter) with viewer in the examples (#8940)
  • Add Carlos Rodríguez-Reza to core team section of citation file (#8971)
  • Unpin sphinx for docs (#8993)
  • add Yann-P to Citation.cff (#8994)
  • Add units to Dims docstring and clarify Layer.units (#8996)

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)
  • Remove "auto author assign" workflow (docs#1008)
  • 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 appdirs to platformdirs (#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 triangle from napari[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 bermuda to testing dependencies (#8827)
  • [pre-commit.ci] pre-commit autoupdate (#8831)
  • Add more debug information on fail to import Qt (#8834)
  • maint: replace StringEnum base class with with StrEnum (#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)
  • 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)
  • Adapt tests that use zarr to work on zarr < 3 and zarr > 3.2.0 (#8943)
  • Don't use random floats for image layer data in screenshot tests (#8945)
  • Update coverage, fsspec, hypothesis, pydantic, pydantic-settings, tensorstore, tifffile, virtualenv (#8949)
  • [pre-commit.ci] pre-commit autoupdate (#8951)
  • Fix auto milestone workflow (#8954)
  • Explicitly pass the repository name in command setting milestone (#8955)
  • Update python version used to generate title and body of update constraints PR (#8957)
  • Use gh release create instead of softprops/action-gh-release (#8958)
  • Remove CODEOWNERS (#8959)
  • Restore testing on windows-latest (Revert 5d6ab46) (#8960)
  • ci(dependabot): bump the actions group across 1 directory with 8 updates (#8963)
  • Pass token to make gh working in create release workflow (#8964)
  • Next fix of release workflow by pass directly dist/* (#8966)
  • Try to fix passing prerelease to gh release create (#8969)
  • Explicitly set repository in make release workflow (#8970)
  • Update hypothesis, pandas, pyside6, pytest-rerunfailures, virtualenv (#8981)
  • In vispy overalys use **kwargs instead of synchronizing signature (#8982)
  • Update numpy, tensorstore, tifffile (#8986)
  • [pre-commit.ci] pre-commit autoupdate (#8988)
  • Bump vispy to 0.16.2 (#8992)
  • Docs: Bump napari-sphinx-theme to use sticky banners (#8997)
  • Deprecate scale_bar.unit (#9007)

22 authors added to this release (alphabetical)

(+) denotes first-time contributors 🥳

22 reviewers added to this release (alphabetical)

(+) denotes first-time contributors 🥳

Notes

If you use this software, please cite it using these metadata.

Files

napari/napari-v0.7.1rc2.zip

Files (3.9 MB)

Name Size Download all
md5:80fa732e7207b7d35c783a3e14a6725c
3.9 MB Preview Download

Additional details

Related works

Is supplement to
Software: https://github.com/napari/napari/tree/v0.7.1rc2 (URL)

Software