Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Releases: napari/napari

0.6.6

16 Oct 09:25
59ea184

Choose a tag to compare

napari 0.6.6

Wed, Oct 15, 2025

We're happy to announce the release of napari 0.6.6!
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

This a small bugfix release, following up the changes in 0.6.5.

Zooming in the dark?

In the previous release we accidentally made the zoom tool added in v0.6.3 invisible. Whoops! No worries, it's back 🔍.

"Open with napari"

When using the napari bundle, it will now detect when a file can be opened with napari based on the extension. This allows you to use the open with > menu from your operative system to open files with napari!

image showing a context menu with the the open with > napari option available

PS: Since we did quite a few changes behind the scenes on this new version of the bundle, you might experience some issues. Don't hesitate to open an issue or contact us on zulip if you do!

Improvements

  • Update menuinst configuration with file type associations (#8359)

Bug Fixes

  • Fix shape selection in a single plane when shapes are on multiple planes (#8335)
  • Fix invisible zoom box (#8344)
  • Bump console version to fix ipykernel bug (#8360)

Build Tools

  • Bump console version to fix ipykernel bug (#8360)

Documentation

  • Update release notes v0.6.6 (docs#868)
  • Add info about manual trigger of conda update to release guide (docs#859)
  • Fix version switcher for 0.6.5 (docs#861)
  • Remove trailing comma in version switcher json (docs#862)
  • Add release notes for v0.6.6 (docs#866)
  • Update release notes v0.6.6, the revenge (docs#869)

Other Pull Requests

  • Add a new attr_to_settr utility function and simplify layer control widgets layer to widget setup (#8274)
  • [pre-commit.ci] pre-commit autoupdate (#8275)
  • ci(dependabot): bump the actions group with 9 updates (#8324)
  • Delay settings import to avoid circular import (#8327)
  • Add info about conda forge manual trigger to release checklist (#8328)
  • Add sponsor badge and reorganize badges into groups (#8343)
  • Fix vispy error traceback (#8346)
  • Migrate license settings to modern standards (#8350)

7 authors added to this release (alphabetical)

(+) denotes first-time contributors 🥳

8 reviewers added to this release (alphabetical)

(+) denotes first-time contributors 🥳

0.6.6rc3

16 Oct 08:26
59ea184

Choose a tag to compare

0.6.6rc3 Pre-release
Pre-release

napari 0.6.6

Wed, Oct 15, 2025

We're happy to announce the release of napari 0.6.6!
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

This a small bugfix release, following up the changes in 0.6.5.

Zooming in the dark?

In the previous release we accidentally made the zoom tool added in v0.6.3 invisible. Whoops! No worries, it's back 🔍.

"Open with napari"

When using the napari bundle, it will now detect when a file can be opened with napari based on the extension. This allows you to use the open with > menu from your operative system to open files with napari!

image showing a context menu with the the open with > napari option available

PS: Since we did quite a few changes behind the scenes on this new version of the bundle, you might experience some issues. Don't hesitate to open an issue or contact us on zulip if you do!

Improvements

  • Update menuinst configuration with file type associations (#8359)

Bug Fixes

  • Fix shape selection in a single plane when shapes are on multiple planes (#8335)
  • Fix invisible zoom box (#8344)
  • Bump console version to fix ipykernel bug (#8360)

Build Tools

  • Bump console version to fix ipykernel bug (#8360)

Documentation

  • Update release notes v0.6.6 (docs#868)
  • Add info about manual trigger of conda update to release guide (docs#859)
  • Fix version switcher for 0.6.5 (docs#861)
  • Remove trailing comma in version switcher json (docs#862)
  • Add release notes for v0.6.6 (docs#866)
  • Update release notes v0.6.6, the revenge (docs#869)

Other Pull Requests

  • Add a new attr_to_settr utility function and simplify layer control widgets layer to widget setup (#8274)
  • [pre-commit.ci] pre-commit autoupdate (#8275)
  • ci(dependabot): bump the actions group with 9 updates (#8324)
  • Delay settings import to avoid circular import (#8327)
  • Add info about conda forge manual trigger to release checklist (#8328)
  • Add sponsor badge and reorganize badges into groups (#8343)
  • Fix vispy error traceback (#8346)
  • Migrate license settings to modern standards (#8350)

7 authors added to this release (alphabetical)

(+) denotes first-time contributors 🥳

8 reviewers added to this release (alphabetical)

(+) denotes first-time contributors 🥳

0.6.6rc2

10 Oct 10:56
51b966a

Choose a tag to compare

0.6.6rc2 Pre-release
Pre-release

napari 0.6.6

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

Fri, Oct 10, 2025

We're happy to announce the release of napari 0.6.6!
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

This a small bugfix release, following up the changes in 0.6.5.

Bug Fixes

  • Fix invisible zoom box (#8344)

Documentation

  • Add release notes for v0.6.6 (docs#866)

Other Pull Requests

  • Add a new attr_to_settr utility function and simplify layer control widgets layer to widget setup (#8274)
  • ci(dependabot): bump the actions group with 9 updates (#8324)
  • Delay settings import to avoid circular import (#8327)
  • Add info about conda forge manual trigger to release checklist (#8328)

3 authors added to this release (alphabetical)

(+) denotes first-time contributors 🥳

6 reviewers added to this release (alphabetical)

(+) denotes first-time contributors 🥳

0.6.6rc1

10 Oct 08:31
51b966a

Choose a tag to compare

0.6.6rc1 Pre-release
Pre-release

napari 0.6.6

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

Fri, Oct 10, 2025

We're happy to announce the release of napari 0.6.6!
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

This a small bugfix release, following up the changes in 0.6.5.

Bug Fixes

  • Fix invisible zoom box (#8344)

Documentation

  • Add release notes for v0.6.6 (docs#866)

Other Pull Requests

  • Add a new attr_to_settr utility function and simplify layer control widgets layer to widget setup (#8274)
  • ci(dependabot): bump the actions group with 9 updates (#8324)
  • Delay settings import to avoid circular import (#8327)
  • Add info about conda forge manual trigger to release checklist (#8328)

3 authors added to this release (alphabetical)

(+) denotes first-time contributors 🥳

6 reviewers added to this release (alphabetical)

(+) denotes first-time contributors 🥳

0.6.6rc0

09 Oct 11:50
51b966a

Choose a tag to compare

0.6.6rc0 Pre-release
Pre-release

napari 0.6.6

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

Fri, Oct 10, 2025

We're happy to announce the release of napari 0.6.6!
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

This a small bugfix release, following up the changes in 0.6.5.

Bug Fixes

  • Fix invisible zoom box (#8344)

Documentation

  • Add release notes for v0.6.6 (docs#866)

Other Pull Requests

  • Add a new attr_to_settr utility function and simplify layer control widgets layer to widget setup (#8274)
  • ci(dependabot): bump the actions group with 9 updates (#8324)
  • Delay settings import to avoid circular import (#8327)
  • Add info about conda forge manual trigger to release checklist (#8328)

3 authors added to this release (alphabetical)

(+) denotes first-time contributors 🥳

6 reviewers added to this release (alphabetical)

(+) denotes first-time contributors 🥳

0.6.5

02 Oct 02:18
v0.6.5
d2ec944

Choose a tag to compare

napari 0.6.5

Wed, Oct 1, 2025

We're happy to announce the release of napari 0.6.5!
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

This a sizeable release containing a few new exciting features and a lot of bugfixes.

EffVer and no more alpha

It is our first release officially following the EffVer versioning scheme. We also took this occasion to (finally!) remove the Alpha qualifier from the project (#8288), to better reflect the reality of the extensive use of napari in production. Note that these changes are just formally bringing up to date the state of the project: our development continues as before!

Define a startup script for custom launch behaviour

Do you have a code snippet that you always find yourself running after you launch napari? No more! You can now put this code in a script and set its path in the new startup script setting (#8188), and it will be executed every time napari opens. It's just a python script, so sky's the limit :) We found it particularly useful for adding custom colormaps, setting up the scale bar just right, or automatically launching our favourite plugin on startup.

Screenshot of the application settings menu highlighting the field for the startup script path

Automatically tiled overlays and ColorBar overlay

Canvas overlays such as scale_bar, text_overlay, and colorbar overlay are now automatically tiling (#7836), preventing annoying overlap and making them easier to use without having to manage positioning. Wait, colorbar overlay you said? You heard it right! This is a new overlay (#7832) that shows a color bar legend, and it works with any layer which uses a colormap. All of this works seamlessly with multiple overlays and even grid mode:

import napari

viewer = napari.Viewer()

# enable grid with stride 2 to get layers split two-by-two
viewer.grid.enabled = True
viewer.grid.stride = 2

# set the scale bar to gridded mode so it appears in each grid box
viewer.scale_bar.visible = True
viewer.scale_bar.gridded = True

layers = viewer.open_sample('napari', 'lily')

# enable color bars
for layer in layers:
    layer.colorbar.visible = True

Image depicting the napari viewer in grid mode with scale bars and color bars enabled

Alternatively, you may also activate the colorbar (and other layer-related overlays such as bounding_box) from the graphical interface by right clicking on selected layers in the layerlist and toggling the relative entries in the Visualization submenu (#8319).

Task manager will now try to prevent losing unfinished work

We added a new task manager (#8211) which automatically registers any running thread_worker, showing a confirmation dialog if you attempt to close napari while a task is running.

New remove and pop methods for Points and Shapes

Points and Shapes can now be easily removed, not just added :P (#8031 and #8072).

A few shiny new updates to our website and documentation

napari.org can now be visited in dark mode (docs#840)! You could try out this new relaxing colorscheme while exploring the new overhauled Preferences documentation section 😉 (docs#834).
There's also new sections on viewer overlays and layer overlays, to better explain how to use these old and new tools.
Our release notes page also received a glow-up (docs#838), displaying past release highlights in collapsible boxes in the timeline. This should make it easier to quickly catch up when updating across multiple releases!

Extra dependencies for development moved to dependency groups

A note for our contributors and plugin developers: we transferred our dev-related extra dependencies to the new python dependency groups (#8227). The installation is therefore slightly different, for example: pip install napari --group testing instead of pip install napari[testing]. The previous method will continue to work, but we will likely remove the old optional-dependences approach in a future release.

New Features

  • Add color bar overlay (#7832)
  • Tiling canvas overlays (#7836)
  • Add pop() for Points and Shapes (#8072)
  • add option to define startup script in settings (#8188)
  • use Selection class in shapes layer (#8297)

Improvements

  • Add remove() in Shapes and Points (#8031)
  • Example from SciPy 2025 tutorial; image warping (#8111)
  • Add a tasks manager status for plugins actions and napari processes (#8211)
  • Use single settings path for all uv tool run (#8250)
  • Add "Hide completed" checkbox to Tracks layer for improved visualization (#8253)
  • Handle affine layer metadata when splitting RGB images (#8256)
  • Update the Shapes select_all_shapes action to allow selection in all modes and add notification of number (#8292)
  • Implement toggling colorbar and bounding box in layerlist context menu (#8319)
  • Add warning for big stride when toggling grid mode (#8320)

Bug Fixes

  • Layer controls widgets refactor (#7355)
  • Fix effect of scaling when converting shapes to labels (#8098)
  • Fix disappearing points (#8223)
  • Fix shape position by using a stable algorithm for sorting z_position (#8232)
  • Remove console print action shortcut to prevent collision with command palette shortcut (#8233)
  • Do not update thumbnail on Labels empty slice (#8251)
  • Handle affine layer metadata when splitting RGB images (#8256)
  • fix slice_from_axis to wrap zarr in dask to keep lazy behavior (#8260)
  • Add menu-xdg to XPRA containers (#8263)
  • Check for zarr in images_to_stack and use da.stack instead of np.stack (#8267)
  • Better handling of remote zarr (#8268)
  • Use custom logger formatting to most of argument to string (#8305)

Documentation

  • Use EffVer (#8243)
  • Use shared workflows for build docs (#8308)
  • Bump napari-sphinx-theme in deps and constraints (#8315)
  • Update release notes 0.6.5 for full release (docs#855)
  • Add funding information to the home page (docs#818)
  • Update version switcher for 0.6.4 (docs#826)
  • Fix version switcher URL to prevent problems with unversioned pages (docs#827)
  • Update documentation for dependencies groups (docs#829)
  • Update and restructure the preferences guide (docs#834)
  • Fix @jaimergp's last name (docs#835)
  • Auto generate release index with highlights and timeline (docs#838)
  • Add EffVer to release guide and link to checklist template (docs#839)
  • Enable dark mode for website (docs#840)
  • Add draft of 0.6.5 release notes (docs#845)
  • Add documentation for startup script. (docs#846)
  • Add some info about running python scripts via cli (docs#847...
Read more

0.6.5rc3

01 Oct 17:00
d2ec944

Choose a tag to compare

0.6.5rc3 Pre-release
Pre-release

napari 0.6.5

Wed, Oct 1, 2025

We're happy to announce the release of napari 0.6.5!
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

This a sizeable release containing a few new exciting features and a lot of bugfixes.

EffVer and no more alpha

It is our first release officially following the EffVer versioning scheme. We also took this occasion to (finally!) remove the Alpha qualifier from the project (#8288), to better reflect the reality of the extensive use of napari in production. Note that these changes are just formally bringing up to date the state of the project: our development continues as before!

Define a startup script for custom launch behaviour

Do you have a code snippet that you always find yourself running after you launch napari? No more! You can now put this code in a script and set its path in the new startup script setting (#8188), and it will be executed every time napari opens. It's just a python script, so sky's the limit :) We found it particularly useful for adding custom colormaps, setting up the scale bar just right, or automatically launching our favourite plugin on startup.

Screenshot of the application settings menu highlighting the field for the startup script path

Automatically tiled overlays and ColorBar overlay

Canvas overlays such as scale_bar, text_overlay, and colorbar overlay are now automatically tiling (#7836), preventing annoying overlap and making them easier to use without having to manage positioning. Wait, colorbar overlay you said? You heard it right! This is a new overlay (#7832) that shows a color bar legend, and it works with any layer which uses a colormap. All of this works seamlessly with multiple overlays and even grid mode:

import napari

viewer = napari.Viewer()

# enable grid with stride 2 to get layers split two-by-two
viewer.grid.enabled = True
viewer.grid.stride = 2

# set the scale bar to gridded mode so it appears in each grid box
viewer.scale_bar.visible = True
viewer.scale_bar.gridded = True

layers = viewer.open_sample('napari', 'lily')

# enable color bars
for layer in layers:
    layer.colorbar.visible = True

Image depicting the napari viewer in grid mode with scale bars and color bars enabled

Alternatively, you may also activate the colorbar (and other layer-related overlays such as bounding_box) from the graphical interface by right clicking on selected layers in the layerlist and toggling the relative entries in the Visualization submenu (#8319).

Task manager will now try to prevent losing unfinished work

We added a new task manager (#8211) which automatically registers any running thread_worker, showing a confirmation dialog if you attempt to close napari while a task is running.

New remove and pop methods for Points and Shapes

Points and Shapes can now be easily removed, not just added :P (#8031 and #8072).

A few shiny new updates to our website and documentation

napari.org can now be visited in dark mode (docs#840)! You could try out this new relaxing colorscheme while exploring the new overhauled Preferences documentation section 😉 (docs#834).
There's also new sections on viewer overlays and layer overlays, to better explain how to use these old and new tools.
Our release notes page also received a glow-up (docs#838), displaying past release highlights in collapsible boxes in the timeline. This should make it easier to quickly catch up when updating across multiple releases!

Extra dependencies for development moved to dependency groups

A note for our contributors and plugin developers: we transferred our dev-related extra dependencies to the new python dependency groups (#8227). The installation is therefore slightly different, for example: pip install napari --group testing instead of pip install napari[testing]. The previous method will continue to work, but we will likely remove the old optional-dependences approach in a future release.

New Features

  • Add color bar overlay (#7832)
  • Tiling canvas overlays (#7836)
  • Add pop() for Points and Shapes (#8072)
  • add option to define startup script in settings (#8188)
  • use Selection class in shapes layer (#8297)

Improvements

  • Add remove() in Shapes and Points (#8031)
  • Example from SciPy 2025 tutorial; image warping (#8111)
  • Add a tasks manager status for plugins actions and napari processes (#8211)
  • Use single settings path for all uv tool run (#8250)
  • Add "Hide completed" checkbox to Tracks layer for improved visualization (#8253)
  • Handle affine layer metadata when splitting RGB images (#8256)
  • Update the Shapes select_all_shapes action to allow selection in all modes and add notification of number (#8292)
  • Implement toggling colorbar and bounding box in layerlist context menu (#8319)
  • Add warning for big stride when toggling grid mode (#8320)

Bug Fixes

  • Layer controls widgets refactor (#7355)
  • Fix effect of scaling when converting shapes to labels (#8098)
  • Fix disappearing points (#8223)
  • Fix shape position by using a stable algorithm for sorting z_position (#8232)
  • Remove console print action shortcut to prevent collision with command palette shortcut (#8233)
  • Do not update thumbnail on Labels empty slice (#8251)
  • Handle affine layer metadata when splitting RGB images (#8256)
  • fix slice_from_axis to wrap zarr in dask to keep lazy behavior (#8260)
  • Add menu-xdg to XPRA containers (#8263)
  • Check for zarr in images_to_stack and use da.stack instead of np.stack (#8267)
  • Better handling of remote zarr (#8268)
  • Use custom logger formatting to most of argument to string (#8305)

Documentation

  • Use EffVer (#8243)
  • Use shared workflows for build docs (#8308)
  • Bump napari-sphinx-theme in deps and constraints (#8315)
  • Update release notes 0.6.5 for full release (docs#855)
  • Add funding information to the home page (docs#818)
  • Update version switcher for 0.6.4 (docs#826)
  • Fix version switcher URL to prevent problems with unversioned pages (docs#827)
  • Update documentation for dependencies groups (docs#829)
  • Update and restructure the preferences guide (docs#834)
  • Fix @jaimergp's last name (docs#835)
  • Auto generate release index with highlights and timeline (docs#838)
  • Add EffVer to release guide and link to checklist template (docs#839)
  • Enable dark mode for website (docs#840)
  • Add draft of 0.6.5 release notes (docs#845)
  • Add documentation for startup script. (docs#846)
  • Add some info about running python scripts via cli (docs#847...
Read more

0.6.5rc2

01 Oct 15:17
d2ec944

Choose a tag to compare

0.6.5rc2 Pre-release
Pre-release

napari 0.6.5

Wed, Oct 1, 2025

We're happy to announce the release of napari 0.6.5!
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

This a sizeable release containing a few new exciting features and a lot of bugfixes.

EffVer and no more alpha

It is our first release officially following the EffVer versioning scheme. We also took this occasion to (finally!) remove the Alpha qualifier from the project (#8288), to better reflect the reality of the extensive use of napari in production. Note that these changes are just formally bringing up to date the state of the project: our development continues as before!

Define a startup script for custom launch behaviour

Do you have a code snippet that you always find yourself running after you launch napari? No more! You can now put this code in a script and set its path in the new startup script setting (#8188), and it will be executed every time napari opens. It's just a python script, so sky's the limit :) We found it particularly useful for adding custom colormaps, setting up the scale bar just right, or automatically launching our favourite plugin on startup.

Screenshot of the application settings menu highlighting the field for the startup script path

Automatically tiled overlays and ColorBar overlay

Canvas overlays such as scale_bar, text_overlay, and colorbar overlay are now automatically tiling (#7836), preventing annoying overlap and making them easier to use without having to manage positioning. Wait, colorbar overlay you said? You heard it right! This is a new overlay (#7832) that shows a color bar legend, and it works with any layer which uses a colormap. All of this works seamlessly with multiple overlays and even grid mode:

import napari

viewer = napari.Viewer()

# enable grid with stride 2 to get layers split two-by-two
viewer.grid.enabled = True
viewer.grid.stride = 2

# set the scale bar to gridded mode so it appears in each grid box
viewer.scale_bar.visible = True
viewer.scale_bar.gridded = True

layers = viewer.open_sample('napari', 'lily')

# enable color bars
for layer in layers:
    layer.colorbar.visible = True

Image depicting the napari viewer in grid mode with scale bars and color bars enabled

Alternatively, you may also activate the colorbar (and other layer-related overlays such as bounding_box) from the graphical interface by right clicking on selected layers in the layerlist and toggling the relative entries in the Visualization submenu (#8319).

Task manager will now try to prevent losing unfinished work

We added a new task manager (#8211) which automatically registers any running thread_worker, showing a confirmation dialog if you attempt to close napari while a task is running.

New remove and pop methods for Points and Shapes

Points and Shapes can now be easily removed, not just added :P (#8031 and #8072).

A few shiny new updates to our website and documentation

napari.org can now be visited in dark mode (docs#840)! You could try out this new relaxing colorscheme while exploring the new overhauled Preferences documentation section 😉 (docs#834).
There's also new sections on viewer overlays and layer overlays, to better explain how to use these old and new tools.
Our release notes page also received a glow-up (docs#838), displaying past release highlights in collapsible boxes in the timeline. This should make it easier to quickly catch up when updating across multiple releases!

Extra dependencies for development moved to dependency groups

A note for our contributors and plugin developers: we transferred our dev-related extra dependencies to the new python dependency groups (#8227). The installation is therefore slightly different, for example: pip install napari --group testing instead of pip install napari[testing]. The previous method will continue to work, but we will likely remove the old optional-dependences approach in a future release.

New Features

  • Add color bar overlay (#7832)
  • Tiling canvas overlays (#7836)
  • Add pop() for Points and Shapes (#8072)
  • add option to define startup script in settings (#8188)
  • use Selection class in shapes layer (#8297)

Improvements

  • Add remove() in Shapes and Points (#8031)
  • Example from SciPy 2025 tutorial; image warping (#8111)
  • Add a tasks manager status for plugins actions and napari processes (#8211)
  • Use single settings path for all uv tool run (#8250)
  • Add "Hide completed" checkbox to Tracks layer for improved visualization (#8253)
  • Handle affine layer metadata when splitting RGB images (#8256)
  • Update the Shapes select_all_shapes action to allow selection in all modes and add notification of number (#8292)
  • Implement toggling colorbar and bounding box in layerlist context menu (#8319)
  • Add warning for big stride when toggling grid mode (#8320)

Bug Fixes

  • Layer controls widgets refactor (#7355)
  • Fix effect of scaling when converting shapes to labels (#8098)
  • Fix disappearing points (#8223)
  • Fix shape position by using a stable algorithm for sorting z_position (#8232)
  • Remove console print action shortcut to prevent collision with command palette shortcut (#8233)
  • Do not update thumbnail on Labels empty slice (#8251)
  • Handle affine layer metadata when splitting RGB images (#8256)
  • fix slice_from_axis to wrap zarr in dask to keep lazy behavior (#8260)
  • Add menu-xdg to XPRA containers (#8263)
  • Check for zarr in images_to_stack and use da.stack instead of np.stack (#8267)
  • Better handling of remote zarr (#8268)
  • Use custom logger formatting to most of argument to string (#8305)

Documentation

  • Use EffVer (#8243)
  • Use shared workflows for build docs (#8308)
  • Bump napari-sphinx-theme in deps and constraints (#8315)
  • Update release notes 0.6.5 for full release (docs#855)
  • Add funding information to the home page (docs#818)
  • Update version switcher for 0.6.4 (docs#826)
  • Fix version switcher URL to prevent problems with unversioned pages (docs#827)
  • Update documentation for dependencies groups (docs#829)
  • Update and restructure the preferences guide (docs#834)
  • Fix @jaimergp's last name (docs#835)
  • Auto generate release index with highlights and timeline (docs#838)
  • Add EffVer to release guide and link to checklist template (docs#839)
  • Enable dark mode for website (docs#840)
  • Add draft of 0.6.5 release notes (docs#845)
  • Add documentation for startup script. (docs#846)
  • Add some info about running python scripts via cli (docs#847...
Read more

0.6.5rc1

01 Oct 04:18
v0.6.5rc1
1f36807

Choose a tag to compare

0.6.5rc1 Pre-release
Pre-release

napari 0.6.5

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

Fri, Sep 26, 2025

We're happy to announce the release of napari 0.6.5!
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

Define a startup script for custom launch behaviour

Do you have a code snippet that you always find yourself running after you launch napari? No more! You can now put this code in a script and set its path in the new startup script setting (#8188), and it will be executed every time napari opens. It's just a python script, so sky's the limit :) We found it particularly useful for adding custom colormaps, setting up the scale bar just right, or automatically launching our favourite plugin on startup.

Screenshot of the application settings menu highlighting the field for the startup script path

Automatically tiled overlays and ColorBar overlay

Canvas overlays such as scale_bar, text_overlay, and colorbar overlay are now automatically tiling (#7836), preventing annoying overlap and making them easier to use without having to manage positioning. Wait, colorbar overlay you said? You heard it right! This is a new overlay (#7832)that shows a color bar legend, and it works with any layer which uses a colormap. All of this works seamlessly with multiple overlays and even grid mode:

import napari

viewer = napari.Viewer()

# enable grid with stride 2 to get layers split two-by-two
viewer.grid.enabled = True
viewer.grid.stride = 2

# set the scale bar to gridded mode so it appears in each grid box
viewer.scale_bar.visible = True
viewer.scale_bar.gridded = True

layers = viewer.open_sample('napari', 'lily')

# enable color bars
for layer in layers:
    layer.colorbar.visible = True

Image depicting the napari viewer in grid mode with scale bars and color bars enabled

Task manager will now try to prevent losing unfinished work

We added a new task manager (#8211) which automatically registers any running thread_worker, showing a confirmation dialog if you attempt to close napari while a task is running.

New remove() and pop() methods for Points and Shapes

Points and Shapes can now be easily removed, not just added :P (#8031 and #8072).

A new and updated guide on napari Preferences

Our documentation on the napari Preferences has received a major overhaul! Check it out here!

TODO: does this link work?

  • Migrate non-user extras to dependency-groups (#8227)
  • [maint] Drop alpha mentions (#8288)
  • Auto generate release index with highlights and timeline (docs#838)

New Features

  • Add color bar overlay (#7832)
  • Tiling canvas overlays (#7836)
  • Add pop() for Points and Shapes (#8072)
  • add option to define startup script in settings (#8188)
  • use Selection class in shapes layer (#8297)

Improvements

  • Add remove() in Shapes and Points (#8031)
  • Example from SciPy 2025 tutorial; image warping (#8111)
  • Add a tasks manager status for plugins actions and napari processes (#8211)
  • Use single settings path for all uv tool run (#8250)
  • Add "Hide completed" checkbox to Tracks layer for improved visualization (#8253)
  • Handle affine layer metadata when splitting RGB images (#8256)
  • Update the Shapes select_all_shapes action to allow selection in all modes and add notification of number (#8292)

Bug Fixes

  • Layer controls widgets refactor (#7355)
  • Fix effect of scaling when converting shapes to labels (#8098)
  • Fix disappearing points (#8223)
  • Fix shape position by using a stable algorithm for sorting z_position (#8232)
  • Remove console print action shortcut to prevent collision with command palette shortcut (#8233)
  • Do not update thumbnail on Labels empty slice (#8251)
  • Handle affine layer metadata when splitting RGB images (#8256)
  • fix slice_from_axis to wrap zarr in dask to keep lazy behavior (#8260)
  • Add menu-xdg to XPRA containers (#8263)
  • Check for zarr in images_to_stack and use da.stack instead of np.stack (#8267)
  • Better handling of remote zarr (#8268)
  • Use custom logger formatting to most of argument to string (#8305)

Documentation

  • Use EffVer (#8243)
  • Use shared workflows for build docs (#8308)
  • Bump napari-sphinx-theme in deps and constraints (#8315)
  • Add funding information to the home page (docs#818)
  • Update version switcher for 0.6.4 (docs#826)
  • Fix version switcher URL to prevent problems with unversioned pages (docs#827)
  • Update documentation for dependencies groups (docs#829)
  • Update and restructure the preferences guide (docs#834)
  • Fix @jaimergp's last name (docs#835)
  • Auto generate release index with highlights and timeline (docs#838)
  • Add EffVer to release guide and link to checklist template (docs#839)
  • Enable dark mode for website (docs#840)
  • Add draft of 0.6.5 release notes (docs#845)
  • Add documentation for startup script. (docs#846)
  • Add some info about running python scripts via cli (docs#847)
  • Add note about workers registration as tasks and close confirmation dialog when closing napari GUI via close button (docs#851)
  • Release notes v0.6.5 (docs#853)

Other Pull Requests

  • Improve workflow naming by prefixing triage- doc- make- (#8159)
  • Move the test that requires make_napari_viewer from test_qt_viewer (#8176)
  • Bump superqt min version (#8212)
  • Change headless setup for Windows and Linux to pyvista/setup-headless-display-action (#8216)
  • Update coverage, hypothesis, pint, pyopengl, virtualenv, xarray (#8221)
  • [pre-commit.ci] pre-commit autoupdate (#8222)
  • Use global register for units in ScaleBar (#8226)
  • Wait until viewer show in the test in make_napari_viewer (#8228)
  • Update Qt backends used in tests to test more on Qt6 than Qt5 (#8229)
  • Change properties for features usage in the Vectors layer controls (#8231)
  • Add cache for pooch on CI for Linux jobs (#8235)
  • Temporary increase timeout of macOS jobs (#8237)
  • Update coverage, hypothesis, ipython, matplotlib, pyside6, pytest-rerunfailures, tifffile (#8239)
  • ci(dependabot): bump the actions group with 6 updates (#8240)
  • Make connect_setattr handle value conversion for widgets like checkboxes (#8244)
  • Update fsspec, hypothesis, pytest, pytest-rerunfailures, xarray ([#...
Read more

0.6.5rc0

26 Sep 21:27
e951c0b

Choose a tag to compare

0.6.5rc0 Pre-release
Pre-release

napari 0.6.5

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

Fri, Sep 26, 2025

We're happy to announce the release of napari 0.6.5!
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

Define a startup script for custom launch behaviour

Do you have a code snippet that you always find yourself running after you launch napari? No more! You can now put this code in a script and set its path in the new startup script setting (#8188), and it will be executed every time napari opens. It's just a python script, so sky's the limit :) We found it particularly useful for adding custom colormaps, setting up the scale bar just right, or automatically launching our favourite plugin on startup.

Screenshot of the application settings menu highlighting the field for the startup script path

Automatically tiled overlays and ColorBar overlay

Canvas overlays such as scale_bar, text_overlay, and colorbar overlay are now automatically tiling (#7836), preventing annoying overlap and making them easier to use without having to manage positioning. Wait, colorbar overlay you said? You heard it right! This is a new overlay (#7832)that shows a color bar legend, and it works with any layer which uses a colormap. All of this works seamlessly with multiple overlays and even grid mode:

import napari

viewer = napari.Viewer()

# enable grid with stride 2 to get layers split two-by-two
viewer.grid.enabled = True
viewer.grid.stride = 2

# set the scale bar to gridded mode so it appears in each grid box
viewer.scale_bar.visible = True
viewer.scale_bar.gridded = True

layers = viewer.open_sample('napari', 'lily')

# enable color bars
for layer in layers:
    layer.colorbar.visible = True

Image depicting the napari viewer in grid mode with scale bars and color bars enabled

Task manager will now try to prevent losing unfinished work

We added a new task manager (#8211) which automatically registers any running thread_worker, showing a confirmation dialog if you attempt to close napari while a task is running.

New remove() and pop() methods for Points and Shapes

Points and Shapes can now be easily removed, not just added :P (#8031 and #8072).

A new and updated guide on napari Preferences

Our documentation on the napari Preferences has received a major overhaul! Check it out here!

TODO: does this link work?

  • Migrate non-user extras to dependency-groups (#8227)
  • [maint] Drop alpha mentions (#8288)
  • Auto generate release index with highlights and timeline (docs#838)

New Features

  • Add color bar overlay (#7832)
  • Tiling canvas overlays (#7836)
  • Add pop() for Points and Shapes (#8072)
  • add option to define startup script in settings (#8188)
  • use Selection class in shapes layer (#8297)

Improvements

  • Add remove() in Shapes and Points (#8031)
  • Example from SciPy 2025 tutorial; image warping (#8111)
  • Add a tasks manager status for plugins actions and napari processes (#8211)
  • Use single settings path for all uv tool run (#8250)
  • Add "Hide completed" checkbox to Tracks layer for improved visualization (#8253)
  • Handle affine layer metadata when splitting RGB images (#8256)
  • Update the Shapes select_all_shapes action to allow selection in all modes and add notification of number (#8292)

Bug Fixes

  • Layer controls widgets refactor (#7355)
  • Fix effect of scaling when converting shapes to labels (#8098)
  • Fix disappearing points (#8223)
  • Fix shape position by using a stable algorithm for sorting z_position (#8232)
  • Remove console print action shortcut to prevent collision with command palette shortcut (#8233)
  • Do not update thumbnail on Labels empty slice (#8251)
  • Handle affine layer metadata when splitting RGB images (#8256)
  • fix slice_from_axis to wrap zarr in dask to keep lazy behavior (#8260)
  • Add menu-xdg to XPRA containers (#8263)
  • Check for zarr in images_to_stack and use da.stack instead of np.stack (#8267)
  • Better handling of remote zarr (#8268)
  • Use custom logger formatting to most of argument to string (#8305)

Documentation

  • Use EffVer (#8243)
  • Use shared workflows for build docs (#8308)
  • Bump napari-sphinx-theme in deps and constraints (#8315)
  • Add funding information to the home page (docs#818)
  • Update version switcher for 0.6.4 (docs#826)
  • Fix version switcher URL to prevent problems with unversioned pages (docs#827)
  • Update documentation for dependencies groups (docs#829)
  • Update and restructure the preferences guide (docs#834)
  • Fix @jaimergp's last name (docs#835)
  • Auto generate release index with highlights and timeline (docs#838)
  • Add EffVer to release guide and link to checklist template (docs#839)
  • Enable dark mode for website (docs#840)
  • Add draft of 0.6.5 release notes (docs#845)
  • Add documentation for startup script. (docs#846)
  • Add some info about running python scripts via cli (docs#847)
  • Add note about workers registration as tasks and close confirmation dialog when closing napari GUI via close button (docs#851)
  • Release notes v0.6.5 (docs#853)

Other Pull Requests

  • Improve workflow naming by prefixing triage- doc- make- (#8159)
  • Move the test that requires make_napari_viewer from test_qt_viewer (#8176)
  • Bump superqt min version (#8212)
  • Change headless setup for Windows and Linux to pyvista/setup-headless-display-action (#8216)
  • Update coverage, hypothesis, pint, pyopengl, virtualenv, xarray (#8221)
  • [pre-commit.ci] pre-commit autoupdate (#8222)
  • Use global register for units in ScaleBar (#8226)
  • Wait until viewer show in the test in make_napari_viewer (#8228)
  • Update Qt backends used in tests to test more on Qt6 than Qt5 (#8229)
  • Change properties for features usage in the Vectors layer controls (#8231)
  • Add cache for pooch on CI for Linux jobs (#8235)
  • Temporary increase timeout of macOS jobs (#8237)
  • Update coverage, hypothesis, ipython, matplotlib, pyside6, pytest-rerunfailures, tifffile (#8239)
  • ci(dependabot): bump the actions group with 6 updates (#8240)
  • Make connect_setattr handle value conversion for widgets like checkboxes (#8244)
  • Update fsspec, hypothesis, pytest, pytest-rerunfailures, xarray ([#...
Read more