napari 0.7.0#

⚠️ Note: these release notes are still in draft while 0.7.0 is in release candidate testing. ⚠️

Fri, Jan 09, 2026

We’re happy to announce the release of napari 0.7.0! 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 Macro release containing awesome new features, but may require dedication of some significant time when upgrading projects to use this version.

Highlights#

More detail coming soon…

Grid Overlay#

  • Add grid overlay (#7827)

  • Multilayer features table (#8189)

  • Fix camera angles‽ (#8281)

  • Remove numpydoc as a base and testing dependency (#8338)

  • (WIP) Histogram (#8391)

  • Texture tiling (#8395)

  • Fix overlay initialization and layer addition slowdown (#8443)

  • Remove PySide2 support (#8450)

New Features#

  • Add grid overlay (#7827)

  • Use information about units when calculate scale of layers when render (#7889)

  • Cursor overlay (#8017)

  • Multilayer features table (#8189)

  • Better text overlay (and subclasses) (#8236)

  • (WIP) Histogram (#8391)

Improvements#

  • Add a seed argument to built-in samples with random seeds (#8317)

  • Enh: clarify Points selection keybinding behavior: select_in_slice not append by default, add new select_append_in_slice (#8339)

  • Enh: Improve zarr reading by builtins (#8355)

  • ENH: Speedup multiple shapes removal by concat’ing and np.deleting as a batch (#8375)

  • Reordering default colormap to split channels (#8383)

  • change default blending mode of images on split RGB (#8385)

  • Texture tiling (#8395)

  • Enh: simple speed up of Shapes _extent_data (#8401)

  • Set viewer dimension based on number of axis labels (#8436)

Performance#

  • ENH: Speedup multiple shapes removal by concat’ing and np.deleting as a batch (#8375)

  • Enh: simple speed up of Shapes _extent_data (#8401)

  • Fix unnecessary overlay initialization on scenegraph update (#8423)

  • Fix overlay initialization and layer addition slowdown (#8443)

Bug Fixes#

  • Fix camera angles‽ (#8281)

  • bugfix & refactor: Use events for shape multiselection (#8332)

  • Fix conversion of vector images to coordinates of vectors (#8366)

  • initialize label selection spinbox to a correct value (#8382)

  • Bugfix: update magicgui layer combobox if a layer is renamed (#8412)

  • bugfix: Ensure that edge_width is accounted for when using polygon lasso (#8414)

  • Fix Shapes thumbnail z ordering (#8417)

  • Fix unnecessary overlay initialization on scenegraph update (#8423)

  • Fix overlay initialization and layer addition slowdown (#8443)

  • Bugfix: ensure triangle colors are updated properly when using polygon lasso (#8469)

  • Speed up the deletion of layers by deduplicating the function calls (#8479)

API Changes#

  • Expose force_sync context manager (#7908)

Build Tools#

  • Bump urllib3 from 2.5.0 to 2.6.0 in /resources (#8484)

Documentation#

  • Create 3D_vectors_through_time.py (#8461)

  • Fix and improve dock_widgets docstrings (#8494)

  • Remove deprecated view_* methods from docs materials (docs#864)

  • Proposed roadmap updates for Q3 (docs#873)

  • Enhance documentation build process with pixi integration and Windows… (docs#876)

  • Pixi cross platform support (docs#879)

  • Refactor contributor docs: prioritize pixi for local builds (docs#880)

  • Reorg of the Usage section of the docs (docs#881)

  • Modernize type annotation to use builtins (docs#883)

  • Update dark mode colors (docs#884)

  • Remove outdated mentions about PySide2 in documentation (docs#889)

  • Explain accessing dock widget wrappers (docs#892)

Other Pull Requests#

  • Add codespell support (config, workflow to detect/not fix) and make it fix few typos (#7619)

  • Clipping planes control widget (#7993)

  • Add cell tracking example (#8051)

  • TYP: overload for labeled_particles incorrectly notes Literal[True]=... as default for return_density (#8114)

  • Decompose Layer code by move slicing to specialized class (#8254)

  • Update hypothesis, psygnal (#8310)

  • Add information about pyside 6 in error information (#8313)

  • Remove numpydoc as core dependency, instead use docstring_parser (#8334)

  • Remove deprecated napari.view_* methods (#8337)

  • Add inertia to camera for panning and rotation (#8349)

  • [pre-commit.ci] pre-commit autoupdate (#8354)

  • Remove string translation from PR checklist (#8362)

  • Use coverage upload from shared workflows (#8367)

  • Specify napari revision in build and deploy docs workflow (#8368)

  • [pre-commit.ci] pre-commit autoupdate (#8369)

  • Switch PyPI downloads badge in README (#8374)

  • Update citation file for 0.7.0 (#8384)

  • [pre-commit.ci] pre-commit autoupdate (#8386)

  • Add check if PR author is in citation.cff (#8388)

  • skip check if author in citation.cff if bot created PR (#8392)

  • Explicitly turn on full checkout for CircleCI (#8396)

  • ci(dependabot): bump the actions group with 3 updates (#8400)

  • Exclude dependabot from PR author check (#8409)

  • Fix cff check for bots (#8420)

  • Set custom font (#8426)

  • Update certifi, coverage, dask, fsspec, hypothesis, imageio, ipython, matplotlib, numpy, pandas, pillow, pint, psutil, psygnal, pydantic, pyqt6, pyside6, pytest, pytest-rerunfailures, pyyaml, rich, scipy, tensorstore, tifffile, toolz, virtualenv, wrapt, xarray (#8441)

  • [pre-commit.ci] pre-commit autoupdate (#8442)

  • Stop updating python 3.10 docs constraints (#8444)

  • Remove shim setting and warning dialog (#8448)

  • Block problematic numba in docs constraints (#8454)

  • Use new logos! (#8457)

  • [pre-commit.ci] pre-commit autoupdate (#8458)

  • ci(dependabot): bump the actions group across 1 directory with 7 updates (#8460)

  • Finish typing napari.layers.image (#8462)

  • Bugfix: For FeatureTable edit test, check the QAbstractItemView.State and not isPersistentEditorOpen (#8463)

  • Move Ashley Anderson citation to core team section (#8467)

  • Change exclude to extend-exclude in ruff config (#8468)

  • Fix constraints upgrade scripts (#8473)

  • Fix coverage upload in comprehensive tests (#8474)

  • Remove building of npe1 menu items for Plugins and Sample menus (#8476)

  • First emit warning, then replace projection mode when convert image to labels (#8481)

  • Finish typing utils.progress (#8485)

  • Maint: Update test_prereleases.yml to bump retries to 3 (#8488)

  • Block numba 0.62.0 for docs constraints (#8490)

  • [pre-commit.ci] pre-commit autoupdate (#8491)

  • ci(dependabot): bump the github-actions group with 4 updates (docs#856)

  • Allow to redeploy docs after merge new commits to main branch (docs#874)

  • Add mdformat to pre-commit config (docs#878)

  • Explicitly turn on blobless checkout for CircleCI (docs#882)

  • ci(dependabot): bump the github-actions group with 3 updates (docs#885)

  • ci(dependabot): bump the github-actions group with 3 updates (docs#890)

13 authors added to this release (alphabetical)#

(+) denotes first-time contributors 🥳

19 reviewers added to this release (alphabetical)#

(+) denotes first-time contributors 🥳