
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 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) 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) 17 authors added to this release (alphabetical) (+) denotes first-time contributors 🥳 Aniket (docs) - @Aniketsy + Carol Willing - @willingc Caroline Malin-Mayor - @cmalinmayor + Constantin Aronssohn - @cnstt David Stansby - @dstansby Draga Doncila Pop - @DragaDoncila Grzegorz Bokota (docs) - @Czaki Jacopo Abramo - @jacopoabramo Kabilar Gunalan - @kabilar LiudengZhang - @LiudengZhang Lorenzo Gaifas - @brisvag Margot Chazotte - @MargotCh Melissa Weber Mendonça - @melissawm Peter Newstein - @pnewstein + Peter Sobolewski - @psobolewskiPhD Tim Monko (docs) - @TimMonko Wulin Teo - @wulinteousa2-hash + 18 reviewers added to this release (alphabetical) (+) denotes first-time contributors 🥳 Aniket (docs) - @Aniketsy + 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 Tim Monko (docs) - @TimMonko Wulin Teo - @wulinteousa2-hash +
