Skip to content

Tags: napari/docs

Tags

v0.5.5

Toggle v0.5.5's commit message

Verified

This tag was signed with the committer’s verified signature.
jni Juan Nunez-Iglesias
*Thu, Dec 12, 2024*

We’re happy to announce the release of napari 0.5.5! (You might have noticed it's been a hot minute since our last release — the team has been busy on the conference circuit (watch [our talk at PyConAU](https://youtu.be/EYmTLGwScBI?si=5SUqxVYuhyAmlD6H)!), defending their PhDs, and more! We are now back to our regularly-scheduled programming. 😂

napari is a fast, interactive, multi-dimensional image viewer for Python. It’s designed for exploring, annotating, and analyzing multi-dimensional images. It’s built on Qt (for the GUI), VisPy (for performant GPU-based rendering), and the scientific Python stack (NumPy, SciPy, and friends).

For more information, examples, and documentation, please visit our website: https://napari.org/

This release continues the 0.5 tradition of churning out the bug fixes and
enhancements, with 24 pull requests total in that category. If you are a user
of oblique plane rendering, you'll appreciate
[#7422](napari/napari#7422), which fixes the plane
calculation when data is anisotropic.

And, did you have a hole in your heart where high-quality 3D labels rendering
should have been? Check out
[#7431](napari/napari#7431), in which [Ashley
Anderson](https://github.com/aganders3) has (again) improved the quality of 3D
labels by filling the (apparent, but fictional) holes in labels at the borders
of a volume. Before/after gif:

![movie showing before and after of labels rendering at the borders of a
volume](https://github.com/user-attachments/assets/728505be-d212-417b-a29e-7228761ffed3)

Additionally, [Grzegorz Bokota](https://github.com/Czaki) has again sped up
launch time for Shapes layers by porting all the edge triangulation code to
numba ([#7268](napari/napari#7268)). As part of that
work he also created a fantastic developer example explaining how the edge
triangulation works, which you can find at
[examples/dev/triangle_edge.py](https://github.com/napari/napari/blob/b2edccd6e40e04467ccfeec0257c2160783f7187/examples/dev/triangle_edge.py).
Give it a read and a play if you want to peek under the hood of the Shapes
layer!

```{raw} html
<figure>
  <video width="100%" controls autoplay loop muted playsinline>
    <source src="../_static/images/triangle-edge.webm" type="video/webm" />
    <source src="../_static/images/triangle-edge.mp4" type="video/mp4" />
    <img src="../_static/images/triangle-edge.png"
      title="Your browser does not support the video tag"
      alt="napari viewer showing a shapes layer and associated layers depicting the triangulation of the elements of the Shapes layer."
    >
  </video>
</figure>
```

Did you miss a napari error or warning while reading these notes? We don't
blame you! Those missed notifications will be a thing of the past with
[#7220](napari/napari#7220), which will keep
notifications open if the napari window is not in focus. Whew!

Finally, for the zarrventurous among you, napari 0.5.5 is ready for zarr v3,
coming soon to a PyPI near you!
([#7215](napari/napari#7215)) If you are using or
testing the zarr 3.0.0 betas, try them with napari! We hope you'll be
pleasantly surprised. 😊

As always, we thank all the contributors to this napari release and all the
previous ones! We welcome [Carol Willing](https://github.com/willingc) and
[Tim Monko](https://github.com/TimMonko) to the list of contributors. Read on
for all the changes in this version!

Read on for all the changes in this version!

- Do not start notification timer if window is not active. ([#7220](napari/napari#7220))
- Speedup triangulation of edges ([#7268](napari/napari#7268))
- [Enh] Double-click to zoom in on the clicked location (alt to zoom out) ([#7286](napari/napari#7286))
- Highlight Shapes and Points layer data only when active ([#7289](napari/napari#7289))
- Remove keybinding full stops ([#7304](napari/napari#7304))
- Add example doc comparing `screenshot` and `export_figure` ([#7319](napari/napari#7319))
- [Enh] Add a `Merge to RGB` contextual menu item ([#7322](napari/napari#7322))
- Enable mouse pan and zoom when no active layer is available ([#7408](napari/napari#7408))
- Add metadata event to Layer class ([#7416](napari/napari#7416))
- Update normal calculation for labels isosurface rendering ([#7431](napari/napari#7431))

- Use `font_size` setting to control `napari-console` font-size ([#6753](napari/napari#6753))
- Add from maximized to fullscreen mode interactions handling and allow using `Alt-Tab` while on fullscreen on Windows ([#7308](napari/napari#7308))
- Fix bounding box to not contain only shape interior but also edges ([#7332](napari/napari#7332))
- Clean selected data in Shapes layer when setting data ([#7336](napari/napari#7336))
- fix `iso_gradient_mode` in constructor call ([#7340](napari/napari#7340))
- Fix using transform mode when having layers with a different number of dimensions ([#7342](napari/napari#7342))
- fix: change highlight only on zoom and mouse press ([#7386](napari/napari#7386))
- Don't show plane normal controls unless layer has 3 or more dimensions and change controls order (plane controls under depiction combobox) ([#7395](napari/napari#7395))
- Enable mouse pan and zoom when no active layer is available ([#7408](napari/napari#7408))
- bug fix: have layerlist consume return, not pass to viewer ([#7417](napari/napari#7417))
- Prevent errors when interacting with selected non-visible layers ([#7418](napari/napari#7418))
- [bugfix] implement proper world to data normal transformation ([#7422](napari/napari#7422))
- Turn off 'flash' in `screenshot`/`export_figure` examples ([#7427](napari/napari#7427))
- Update surface shading control combobox when value is set programatically ([#7432](napari/napari#7432))

- update scale_bar example to include new attributes ([#7309](napari/napari#7309))
- Add example doc comparing `screenshot` and `export_figure` ([#7319](napari/napari#7319))
- Add reminder about version added directive in PR template ([#7359](napari/napari#7359))
- Update the docstrings and comments for status checker thread ([#7381](napari/napari#7381))
- Update `to_screenshot` and `export_figure` example docstrings ([#7426](napari/napari#7426))
- Turn off 'flash' in `screenshot`/`export_figure` examples ([#7427](napari/napari#7427))
- Add draft release notes for 0.5.5 ([docs#536](#536))
- Add linkcheck step to be run once a week ([docs#474](#474))
- Fix broken links detected by make linkcheck-files ([docs#484](#484))
- Add 0.5.4 to the version switcher ([docs#500](#500))
- Document the SPEC-0 rule for bundled Python ([docs#501](#501))
- Update docs to remove flake8, isort mentions and add ruff ([docs#502](#502))
- Highlight Jupyter option in gallery examples ([docs#503](#503))
- Add community calendar link to landing page ([docs#504](#504))
- Add information about `qt_viewer` fixture ([docs#505](#505))
- Add information that `qt_viewer` fixture `hide` the viewer ([docs#506](#506))
- Update release guide anchor ([docs#507](#507))
- Minor improvement to provider annotations ([docs#510](#510))
- Add notes about versionadded/versionchanged directives to dev guide ([docs#512](#512))
- Update Step 4 of development set up to clarify qt backends ([docs#516](#516))
- Update benchmarks.md to use conda napari-env ([docs#518](#518))
- Add contributing text and link about CI ([docs#519](#519))
- Update finding_and_installing_plugins.md ([docs#521](#521))
- [Labels] Add more prominent info about the next label keybind and fix n_dimensional (deprecated) ([docs#522](#522))
- Update NAP-6 to remove mention of context menu ([docs#525](#525))
- Move Andy Sweet from core-devs to emeritus core-devs ([docs#530](#530))

- Add testing for drag and drop events/behavior on `QtLayerList` ([#6699](napari/napari#6699))
- Fix zarr 3.0 compatibility ([#7215](napari/napari#7215))
- Add more tests for Qt processors ([#7280](napari/napari#7280))
- Update `coverage`, `dask`, `fsspec`, `hypothesis`, `imageio`, `ipython`, `napari-console`, `pillow`, `psutil`, `qtconsole`, `qtpy`, `rich`, `tensorstore`, `toolz`, `tqdm`, `virtualenv`, `xarray` ([#7287](napari/napari#7287))
- Block zarr 3.0.0a5, 3.0.0a6 ([#7305](napari/napari#7305))
- [pre-commit.ci] pre-commit autoupdate ([#7307](napari/napari#7307))
- ci(dependabot): bump peter-evans/create-pull-request from 6 to 7 in the actions group ([#7311](napari/napari#7311))
- Change `Layer.create` type annotation to accept any Mapping ([#7317](napari/napari#7317))
- [pre-commit.ci] pre-commit autoupdate ([#7324](napari/napari#7324))
- Fix double reporting of leaked widgets ([#7326](napari/napari#7326))
- Improve docstrings and code flow of `ShapeList.outline` add missed return in thread status ([#7337](napari/napari#7337))
- Add screenshot test for highlights visibility when layer selection/active layer changes ([#7339](napari/napari#7339))
- [miant] update binder to use conda nightly and jupyter-remote-desktop-proxy ([#7352](napari/napari#7352))
- Update `dask`, `hypothesis`, `pint` ([#7358](napari/napari#7358))
- Add setting Windows resolution step for prereleases testing workflow and some tests fixes ([#7360](napari/napari#7360))
- [pre-commit.ci] pre-commit autoupdate ([#7361](napari/napari#7361))
- Add maintainer and contributor documentation about workflow automation near the configuration ([#7365](napari/napari#7365))
- Stop testing PySide6 on python 3.9 ([#7368](napari/napari#7368))
- fix: remove "openblas_set_num_threads not found" warning by add missed break ([#7369](napari/napari#7369))
- Isolate keybinding tests using pytest.mark ([#7375](napari/napari#7375))
- Add python-dotenv to dev dependencies ([#7377](napari/napari#7377))
- mark slow local tests ([#7383](napari/napari#7383))
- Speed up bigtiff test using `np.empty` and smaller data ([#7384](napari/napari#7384))
- Update `coverage`, `dask`, `hypothesis`, `tensorstore` ([#7385](napari/napari#7385))
- [pre-commit.ci] pre-commit autoupdate ([#7388](napari/napari#7388))
- [Maint] drop unused `n_dimensional` property of Labels ([#7389](napari/napari#7389))
- [pre-commit.ci] pre-commit autoupdate ([#7424](napari/napari#7424))
- [tests] add tests for Layer._world_to_displayed_data_normal ([#7435](napari/napari#7435))
- [pre-commit.ci] pre-commit autoupdate ([#7439](napari/napari#7439))
- Remove lucyleeow from qt/ codeowners ([#7441](napari/napari#7441))
- [Maint] Fix labeler action by using proper syntax ([docs#523](#523))
- Update labeler.yml to check subfolders ([docs#526](#526))
- Fix linkchecker ([docs#528](#528))

(+) denotes first-time contributors 🥳

- [andrew sweet](https://github.com/napari/docs/commits?author=andy-sweet) - @andy-sweet
- [Ashley Anderson](https://github.com/napari/napari/commits?author=aganders3) - @aganders3
- [Carol Willing](https://github.com/napari/napari/commits?author=willingc) ([docs](https://github.com/napari/docs/commits?author=willingc))  - @willingc +
- [clement caporal](https://github.com/napari/napari/commits?author=ClementCaporal) - @ClementCaporal
- [Daniel Althviz Moré](https://github.com/napari/napari/commits?author=dalthviz) - @dalthviz
- [Grzegorz Bokota](https://github.com/napari/napari/commits?author=Czaki) ([docs](https://github.com/napari/docs/commits?author=Czaki))  - @Czaki
- [jaime rodriguez-guerra](https://github.com/napari/docs/commits?author=jaimergp) - @jaimergp
- [Juan Nunez-Iglesias](https://github.com/napari/napari/commits?author=jni) ([docs](https://github.com/napari/docs/commits?author=jni))  - @jni
- [Lucy Liu](https://github.com/napari/napari/commits?author=lucyleeow) ([docs](https://github.com/napari/docs/commits?author=lucyleeow))  - @lucyleeow
- [Melissa Weber Mendonça](https://github.com/napari/napari/commits?author=melissawm) ([docs](https://github.com/napari/docs/commits?author=melissawm))  - @melissawm
- [Peter Sobolewski](https://github.com/napari/napari/commits?author=psobolewskiPhD) ([docs](https://github.com/napari/docs/commits?author=psobolewskiPhD))  - @psobolewskiPhD
- [Tim Monko](https://github.com/napari/napari/commits?author=TimMonko) - @TimMonko +

(+) denotes first-time contributors 🥳

- [Ashley Anderson](https://github.com/napari/napari/commits?author=aganders3) - @aganders3
- [Carol Willing](https://github.com/napari/napari/commits?author=willingc) ([docs](https://github.com/napari/docs/commits?author=willingc))  - @willingc +
- [Daniel Althviz Moré](https://github.com/napari/napari/commits?author=dalthviz) - @dalthviz
- [Davis Bennett](https://github.com/napari/docs/commits?author=d-v-b) - @d-v-b
- [Draga Doncila Pop](https://github.com/napari/docs/commits?author=DragaDoncila) - @DragaDoncila
- [Genevieve Buckley](https://github.com/napari/docs/commits?author=GenevieveBuckley) - @GenevieveBuckley
- [Grzegorz Bokota](https://github.com/napari/napari/commits?author=Czaki) ([docs](https://github.com/napari/docs/commits?author=Czaki))  - @Czaki
- [Juan Nunez-Iglesias](https://github.com/napari/napari/commits?author=jni) ([docs](https://github.com/napari/docs/commits?author=jni))  - @jni
- [Lorenzo Gaifas](https://github.com/napari/docs/commits?author=brisvag) - @brisvag
- [Lucy Liu](https://github.com/napari/napari/commits?author=lucyleeow) ([docs](https://github.com/napari/docs/commits?author=lucyleeow))  - @lucyleeow
- [Melissa Weber Mendonça](https://github.com/napari/napari/commits?author=melissawm) ([docs](https://github.com/napari/docs/commits?author=melissawm))  - @melissawm
- [Peter Sobolewski](https://github.com/napari/napari/commits?author=psobolewskiPhD) ([docs](https://github.com/napari/docs/commits?author=psobolewskiPhD))  - @psobolewskiPhD
- [Tim Monko](https://github.com/napari/napari/commits?author=TimMonko) - @TimMonko +
- [Wouter-Michiel Vierdag](https://github.com/napari/docs/commits?author=melonora) - @melonora

v0.5.2

Toggle v0.5.2's commit message

Verified

This tag was signed with the committer’s verified signature.
jni Juan Nunez-Iglesias
*Tuesday, Aug 13, 2024*

We’re happy to announce the release of napari 0.5.2!

napari is a fast, interactive, multi-dimensional image viewer for Python. It’s designed for exploring, annotating, and analyzing multi-dimensional images. It’s built on Qt (for the GUI), VisPy (for performant GPU-based rendering), and the scientific Python stack (NumPy, SciPy, and friends).

For more information, examples, and documentation, please visit our website: https://napari.org/

This is primarily a bug-fix release, but we snuck a couple of new features in
there, including smoother, prettier, better rendering of Labels volumes in 3D
([#7100](napari/napari#7100)) and the ability to
display scale bar at a fixed length in world coordinates, rather than having it
resize dynamically to take up a small part of the screen
([#7167](napari/napari#7100)).

See below for the full list of changes!

- Add option for smoother labels rendering in 3D ([#7100](napari/napari#7100))
- Add optional fixed `length` parameter to scale bar  ([#7167](napari/napari#7167))

- Update shortcuts.py to have `Enter` be primary Shapes completion ([#7063](napari/napari#7063))
- Change shortcuts `_mark_conflicts` logic to always compare between strings representations of shortcuts ([#7124](napari/napari#7124))
- Allow easy call single benchmark ([#7145](napari/napari#7145))

- [bugfix] update Point size slider on selection (current_size event) ([#7137](napari/napari#7137))
- Disconnect all dims events when closing viewer ([#7140](napari/napari#7140))
- Update event connection order ([#7150](napari/napari#7150))
- Run slider animation without using timer ([#7158](napari/napari#7158))
- Emit highlight event only if selection changed ([#7162](napari/napari#7162))
- [Bugfix] Only import darkdetect when needed ([#7163](napari/napari#7163))
- FIX `QtViewer._open_files_dialog` handing of `stack` ([#7172](napari/napari#7172))

- Update example annotate_segmentation_with_text.py to add link to the tutorial ([#7134](napari/napari#7134))
- Document command ID naming conventions ([docs#405](#405))
- Turn on warnings as error option for sphinx build ([docs#409](#409))
- Update version switcher for v0.5.1 ([docs#468](#468))
- Add documentation for run benchmark under debugger ([docs#470](#470))
- Update installation notes about macOS arm processors and Qt5 backends  ([docs#471](#471))
- Fix docs CI ([docs#472](#472))
- Add October and July workshops from 2023 ([docs#473](#473))
- Add 0.5.2 release notes ([docs#476](#476))
- Remove warning and update date on 0.5.2 release notes ([docs#478](#478))

- [pre-commit.ci] pre-commit autoupdate ([#7000](napari/napari#7000))
- Add CI action to check that set milestone is the next release ([#7083](napari/napari#7083))
- Use app-model `KeyBinding.to_text` and `KeyCode.os_symbol` over `Shortcut` logic ([#7113](napari/napari#7113))
- Add some basic codeowners ([#7118](napari/napari#7118))
- Clean action manager to avoid side effects during tests ([#7120](napari/napari#7120))
- [maint] Drop singularity action to fix failed container action ([#7121](napari/napari#7121))
- Remove `post` identifier in fetching release notes ([#7125](napari/napari#7125))
- Update `coverage`, `hypothesis`, `magicgui`, `matplotlib`, `napari-plugin-manager`, `npe2`, `pytest`, `tensorstore`, `tifffile`, `tqdm`, `xarray` ([#7138](napari/napari#7138))
- ci(dependabot): bump the actions group across 1 directory with 2 updates ([#7147](napari/napari#7147))
- [Maint] Update version_denylist.txt to block mpl 3.9.1 on windows ([#7154](napari/napari#7154))
- [Maint] Increase timeout in `test_async_out_of_bounds_layer_loaded` to 500 ms ([#7157](napari/napari#7157))
- Use `delete` instead of `get`method for delete `ready to merge` label ([#7160](napari/napari#7160))
- [pre-commit.ci] pre-commit autoupdate ([#7161](napari/napari#7161))
- fix: typo in shape model name ([#7166](napari/napari#7166))
- Update `dask`, `hypothesis`, `magicgui`, `matplotlib`, `pyyaml` ([#7169](napari/napari#7169))
- Update docs constraints to pin sphinx<8 ([#7170](napari/napari#7170))
- Move parallel setting for coverage calculation to tox.ini ([#7173](napari/napari#7173))
- Clarify workflow names ([#7174](napari/napari#7174))
- correct typos in comments ([#7175](napari/napari#7175))
- MNT Parametrize `test_open_files_dialog` to check for `stack` `True` and `False` ([#7176](napari/napari#7176))
- Update `babel`, `hypothesis`, `lxml`, `numpydoc`, `tifffile` ([#7179](napari/napari#7179))
- Remove `post` identifier when determine deploy directory ([docs#467](#467))

(+) denotes first-time contributors 🥳

- [andrew sweet](https://github.com/napari/napari/commits?author=andy-sweet) - @andy-sweet
- [Antoine J.-F. Salomon](https://github.com/napari/napari/commits?author=AJFSalomon) - @AJFSalomon +
- [Ashley Anderson](https://github.com/napari/napari/commits?author=aganders3) - @aganders3
- [Daniel Althviz Moré](https://github.com/napari/napari/commits?author=dalthviz) - @dalthviz
- [Grzegorz Bokota](https://github.com/napari/napari/commits?author=Czaki) ([docs](https://github.com/napari/docs/commits?author=Czaki))  - @Czaki
- [Johannes Soltwedel](https://github.com/napari/napari/commits?author=jo-mueller) - @jo-mueller
- [Juan Nunez-Iglesias](https://github.com/napari/docs/commits?author=jni) - @jni
- [kyle i. s. harrington](https://github.com/napari/docs/commits?author=kephale) - @kephale
- [Lorenzo Gaifas](https://github.com/napari/napari/commits?author=brisvag) - @brisvag
- [Lucy Liu](https://github.com/napari/napari/commits?author=lucyleeow) ([docs](https://github.com/napari/docs/commits?author=lucyleeow))  - @lucyleeow
- [Melissa Weber Mendonça](https://github.com/napari/napari/commits?author=melissawm) ([docs](https://github.com/napari/docs/commits?author=melissawm))  - @melissawm
- [Peter Sobolewski](https://github.com/napari/napari/commits?author=psobolewskiPhD) - @psobolewskiPhD

(+) denotes first-time contributors 🥳

- [andrew sweet](https://github.com/napari/napari/commits?author=andy-sweet) - @andy-sweet
- [Antoine J.-F. Salomon](https://github.com/napari/napari/commits?author=AJFSalomon) - @AJFSalomon +
- [Ashley Anderson](https://github.com/napari/napari/commits?author=aganders3) - @aganders3
- [Draga Doncila Pop](https://github.com/napari/docs/commits?author=DragaDoncila) - @DragaDoncila
- [Grzegorz Bokota](https://github.com/napari/napari/commits?author=Czaki) ([docs](https://github.com/napari/docs/commits?author=Czaki))  - @Czaki
- [Johannes Soltwedel](https://github.com/napari/napari/commits?author=jo-mueller) - @jo-mueller
- [Jordão Bragantini](https://github.com/napari/docs/commits?author=JoOkuma) - @JoOkuma
- [Juan Nunez-Iglesias](https://github.com/napari/docs/commits?author=jni) - @jni
- [Lorenzo Gaifas](https://github.com/napari/napari/commits?author=brisvag) - @brisvag
- [Lucy Liu](https://github.com/napari/napari/commits?author=lucyleeow) ([docs](https://github.com/napari/docs/commits?author=lucyleeow))  - @lucyleeow
- [Melissa Weber Mendonça](https://github.com/napari/napari/commits?author=melissawm) ([docs](https://github.com/napari/docs/commits?author=melissawm))  - @melissawm
- [Peter Sobolewski](https://github.com/napari/napari/commits?author=psobolewskiPhD) - @psobolewskiPhD
- [Wouter-Michiel Vierdag](https://github.com/napari/docs/commits?author=melonora) - @melonora

v0.5.2rc1

Toggle v0.5.2rc1's commit message

Verified

This tag was signed with the committer’s verified signature.
jni Juan Nunez-Iglesias
⚠️ *Note: these release notes are still in draft while 0.5.2 is in re…

…lease

candidate testing.* ⚠️

*Monday, Aug 12, 2024*

We’re happy to announce the release of napari 0.5.2!

napari is a fast, interactive, multi-dimensional image viewer for Python. It’s designed for exploring, annotating, and analyzing multi-dimensional images. It’s built on Qt (for the GUI), VisPy (for performant GPU-based rendering), and the scientific Python stack (NumPy, SciPy, and friends).

For more information, examples, and documentation, please visit our website: https://napari.org/

This is primarily a bug-fix release, but we snuck a couple of new features in
there, including smoother, prettier, better rendering of Labels volumes in 3D
([#7100](napari/napari#7100)) and the ability to
display scale bar at a fixed length in world coordinates, rather than having it
resize dynamically to take up a small part of the screen
([#7167](napari/napari#7100)).

See below for the full list of changes!

- Add option for smoother labels rendering in 3D ([#7100](napari/napari#7100))
- Add optional fixed `length` parameter to scale bar  ([#7167](napari/napari#7167))

- Update shortcuts.py to have `Enter` be primary Shapes completion ([#7063](napari/napari#7063))
- Change shortcuts `_mark_conflicts` logic to always compare between strings representations of shortcuts ([#7124](napari/napari#7124))
- Allow easy call single benchmark ([#7145](napari/napari#7145))

- [bugfix] update Point size slider on selection (current_size event) ([#7137](napari/napari#7137))
- Disconnect all dims events when closing viewer ([#7140](napari/napari#7140))
- Update event connection order ([#7150](napari/napari#7150))
- Run slider animation without using timer ([#7158](napari/napari#7158))
- Emit highlight event only if selection changed ([#7162](napari/napari#7162))
- [Bugfix] Only import darkdetect when needed ([#7163](napari/napari#7163))
- FIX `QtViewer._open_files_dialog` handing of `stack` ([#7172](napari/napari#7172))

- Update example annotate_segmentation_with_text.py to add link to the tutorial ([#7134](napari/napari#7134))
- Document command ID naming conventions ([docs#405](#405))
- Turn on warnings as error option for sphinx build ([docs#409](#409))
- Update version switcher for v0.5.1 ([docs#468](#468))
- Add documentation for run benchmark under debugger ([docs#470](#470))
- Update installation notes about macOS arm processors and Qt5 backends  ([docs#471](#471))
- Fix docs CI ([docs#472](#472))
- Add October and July workshops from 2023 ([docs#473](#473))
- Add 0.5.2 release notes ([docs#476](#476))

- [pre-commit.ci] pre-commit autoupdate ([#7000](napari/napari#7000))
- Add CI action to check that set milestone is the next release ([#7083](napari/napari#7083))
- Use app-model `KeyBinding.to_text` and `KeyCode.os_symbol` over `Shortcut` logic ([#7113](napari/napari#7113))
- Add some basic codeowners ([#7118](napari/napari#7118))
- Clean action manager to avoid side effects during tests ([#7120](napari/napari#7120))
- [maint] Drop singularity action to fix failed container action ([#7121](napari/napari#7121))
- Remove `post` identifier in fetching release notes ([#7125](napari/napari#7125))
- Update `coverage`, `hypothesis`, `magicgui`, `matplotlib`, `napari-plugin-manager`, `npe2`, `pytest`, `tensorstore`, `tifffile`, `tqdm`, `xarray` ([#7138](napari/napari#7138))
- ci(dependabot): bump the actions group across 1 directory with 2 updates ([#7147](napari/napari#7147))
- [Maint] Update version_denylist.txt to block mpl 3.9.1 on windows ([#7154](napari/napari#7154))
- [Maint] Increase timeout in `test_async_out_of_bounds_layer_loaded` to 500 ms ([#7157](napari/napari#7157))
- Use `delete` instead of `get`method for delete `ready to merge` label ([#7160](napari/napari#7160))
- [pre-commit.ci] pre-commit autoupdate ([#7161](napari/napari#7161))
- fix: typo in shape model name ([#7166](napari/napari#7166))
- Update `dask`, `hypothesis`, `magicgui`, `matplotlib`, `pyyaml` ([#7169](napari/napari#7169))
- Update docs constraints to pin sphinx<8 ([#7170](napari/napari#7170))
- Move parallel setting for coverage calculation to tox.ini ([#7173](napari/napari#7173))
- Clarify workflow names ([#7174](napari/napari#7174))
- correct typos in comments ([#7175](napari/napari#7175))
- MNT Parametrize `test_open_files_dialog` to check for `stack` `True` and `False` ([#7176](napari/napari#7176))
- Update `babel`, `hypothesis`, `lxml`, `numpydoc`, `tifffile` ([#7179](napari/napari#7179))
- Remove `post` identifier when determine deploy directory ([docs#467](#467))

(+) denotes first-time contributors 🥳

- [andrew sweet](https://github.com/napari/napari/commits?author=andy-sweet) - @andy-sweet
- [Antoine J.-F. Salomon](https://github.com/napari/napari/commits?author=AJFSalomon) - @AJFSalomon +
- [Ashley Anderson](https://github.com/napari/napari/commits?author=aganders3) - @aganders3
- [Daniel Althviz Moré](https://github.com/napari/napari/commits?author=dalthviz) - @dalthviz
- [Grzegorz Bokota](https://github.com/napari/napari/commits?author=Czaki) ([docs](https://github.com/napari/docs/commits?author=Czaki))  - @Czaki
- [Johannes Soltwedel](https://github.com/napari/napari/commits?author=jo-mueller) - @jo-mueller
- [Juan Nunez-Iglesias](https://github.com/napari/docs/commits?author=jni) - @jni
- [kyle i. s. harrington](https://github.com/napari/docs/commits?author=kephale) - @kephale
- [Lorenzo Gaifas](https://github.com/napari/napari/commits?author=brisvag) - @brisvag
- [Lucy Liu](https://github.com/napari/napari/commits?author=lucyleeow) ([docs](https://github.com/napari/docs/commits?author=lucyleeow))  - @lucyleeow
- [Melissa Weber Mendonça](https://github.com/napari/napari/commits?author=melissawm) ([docs](https://github.com/napari/docs/commits?author=melissawm))  - @melissawm
- [Peter Sobolewski](https://github.com/napari/napari/commits?author=psobolewskiPhD) - @psobolewskiPhD

(+) denotes first-time contributors 🥳

- [andrew sweet](https://github.com/napari/napari/commits?author=andy-sweet) - @andy-sweet
- [Antoine J.-F. Salomon](https://github.com/napari/napari/commits?author=AJFSalomon) - @AJFSalomon +
- [Ashley Anderson](https://github.com/napari/napari/commits?author=aganders3) - @aganders3
- [Draga Doncila Pop](https://github.com/napari/docs/commits?author=DragaDoncila) - @DragaDoncila
- [Grzegorz Bokota](https://github.com/napari/napari/commits?author=Czaki) ([docs](https://github.com/napari/docs/commits?author=Czaki))  - @Czaki
- [Johannes Soltwedel](https://github.com/napari/napari/commits?author=jo-mueller) - @jo-mueller
- [Jordão Bragantini](https://github.com/napari/docs/commits?author=JoOkuma) - @JoOkuma
- [Juan Nunez-Iglesias](https://github.com/napari/docs/commits?author=jni) - @jni
- [Lorenzo Gaifas](https://github.com/napari/napari/commits?author=brisvag) - @brisvag
- [Lucy Liu](https://github.com/napari/napari/commits?author=lucyleeow) ([docs](https://github.com/napari/docs/commits?author=lucyleeow))  - @lucyleeow
- [Melissa Weber Mendonça](https://github.com/napari/napari/commits?author=melissawm) ([docs](https://github.com/napari/docs/commits?author=melissawm))  - @melissawm
- [Peter Sobolewski](https://github.com/napari/napari/commits?author=psobolewskiPhD) - @psobolewskiPhD
- [Wouter-Michiel Vierdag](https://github.com/napari/docs/commits?author=melonora) - @melonora

v0.5.1

Toggle v0.5.1's commit message

Verified

This tag was signed with the committer’s verified signature.
jni Juan Nunez-Iglesias
*Thursday, Jul 25, 2024*

We're happy to announce the release of napari 0.5.1!

napari is a fast, interactive, multi-dimensional image viewer for Python.
It's designed for exploring, annotating, and analyzing multi-dimensional
images. It's built on Qt (for the GUI), VisPy (for performant GPU-based
rendering), and the scientific Python stack (NumPy, SciPy, and friends).

For more information, examples, and documentation, please visit our website:
https://napari.org/

napari 0.5.1 is a bugfix release hot on the heels of
[napari 0.5.0](release_0_5_0). It fixes a critical bug with creating viewers
multiple times within a single IPython/Jupyter session
([#7106](napari/napari#7106)), as well as regressions
with viewing multiscale 3D time series
([#7103](napari/napari#7103)) and with converting image
layers to labels layers ([#7095](napari/napari#7095)).

It also fixes a bug with NumPy 2 support
([#7104](napari/napari#7104)) and our storing of layer
axis info when using the `channel_axis` keyword argument for images
([#7089](napari/napari#7089)).

Read on for the full list of changes since the last version from just two weeks
ago!

- [enh] add an `add_plane` convenience method to ClippingPlaneList ([#6921](napari/napari#6921))
- Cleanup _image_key_bindings ([#7116](napari/napari#7116))
- Add napari-plugin-manager to optional info list ([#7117](napari/napari#7117))

- Move the _is_created assignment to the top ([#5078](napari/napari#5078))
- [Bugfix] Fix logic in setting settings using env vars. ([#6669](napari/napari#6669))
- Fix handling of units and axis_labels in add_image ([#7089](napari/napari#7089))
- Fix label conversion with proj mode ([#7095](napari/napari#7095))
- Account for displayed dimensions in multiscale translate adjustment ([#7103](napari/napari#7103))
- fix call of np.clip in _update_thumbnail ([#7104](napari/napari#7104))
- Always add `Empty` context key, even if `action` is already registered ([#7106](napari/napari#7106))
- fix condition of adding asterix, when save reader of path ([#7112](napari/napari#7112))
- Normalize path when searching for a plugin to open file ([#7127](napari/napari#7127))

- Add link to partners in README.md ([#7069](napari/napari#7069))
- Restore README image ([#7098](napari/napari#7098))
- Update docs constraints files for new napari-sphinx-theme release ([#7111](napari/napari#7111))
- Update release notes for 0.5.1 with new PRs ([docs#466](#466))
- Update Bundled App Installation Instructions ([docs#74](#74))
- Update Makefile to be consistent ([docs#448](#448))
- Use plausible configuration by the PyData Sphinx Theme ([docs#453](#453))
- More fixes to contributing documentation guide ([docs#454](#454))
- Add location field to community calendar ([docs#455](#455))
- Fix footer items ([docs#456](#456))
- Add docs about the new `napari-base` structure ([docs#457](#457))
- Add draft 0.5.1 release notes ([docs#464](#464))
- Update draft warning on 0.5.1 release notes ([docs#465](#465))
- Update release notes for 0.5.1 with new PRs ([docs#466](#466))

- Remove ready to merge on update of constraints PR ([#6984](napari/napari#6984))
- Update `app-model`, `coverage`, `dask`, `fsspec`, `hypothesis`, `imageio`, `ipython`, `jsonschema`, `matplotlib`, `napari-svg`, `numpy`, `pillow`, `pint`, `pydantic`, `pyqt5`, `pyqt6`, `pytest`, `scipy`, `tifffile` ([#7045](napari/napari#7045))
- Add actionlint on CI ([#7049](napari/napari#7049))
- fix: set `target_commitish` for commit sha to fix benchmarks ([#7091](napari/napari#7091))
- Use `viewer.layers` instead of  `_layers.model().sourceModel()._root` for dummy context creation ([#7109](napari/napari#7109))
- Limit setuptools vesion for minimum requirements test ([#7110](napari/napari#7110))
- [Maint] Update dockerfile for xpra source change ([#7115](napari/napari#7115))
- Fix pinning packages workflow by remove special pinning from macOS and add special for Windows ([#7119](napari/napari#7119))
- Trigger docs deployment on tagged commit ([#7122](napari/napari#7122))
- Update version switcher to include 0.5.0 ([docs#452](#452))
- deploy docs on manual trigger ([docs#462](#462))
- Add actionlint to prevent GHA workflow errors ([docs#463](#463))

(+) denotes first-time contributors 🥳

- [danieldegroot2](https://github.com/napari/napari/commits?author=danieldegroot2) - @danieldegroot2 +
- [Draga Doncila Pop](https://github.com/napari/napari/commits?author=DragaDoncila) - @DragaDoncila
- [Grzegorz Bokota](https://github.com/napari/napari/commits?author=Czaki) - @Czaki
- [jaime rodriguez-guerra](https://github.com/napari/napari/commits?author=jaimergp) ([docs](https://github.com/napari/docs/commits?author=jaimergp))  - @jaimergp
- [Juan Nunez-Iglesias](https://github.com/napari/napari/commits?author=jni) ([docs](https://github.com/napari/docs/commits?author=jni))  - @jni
- [Lorenzo Gaifas](https://github.com/napari/napari/commits?author=brisvag) - @brisvag
- [Markus Stabrin](https://github.com/napari/napari/commits?author=mstabrin) - @mstabrin
- [Melissa Weber Mendonça](https://github.com/napari/napari/commits?author=melissawm) ([docs](https://github.com/napari/docs/commits?author=melissawm))  - @melissawm
- [Peter Sobolewski](https://github.com/napari/napari/commits?author=psobolewskiPhD) - @psobolewskiPhD

(+) denotes first-time contributors 🥳

- [andrew sweet](https://github.com/napari/docs/commits?author=andy-sweet) - @andy-sweet
- [Draga Doncila Pop](https://github.com/napari/napari/commits?author=DragaDoncila) - @DragaDoncila
- [Genevieve Buckley](https://github.com/napari/docs/commits?author=GenevieveBuckley) - @GenevieveBuckley
- [Grzegorz Bokota](https://github.com/napari/napari/commits?author=Czaki) - @Czaki
- [jaime rodriguez-guerra](https://github.com/napari/napari/commits?author=jaimergp) ([docs](https://github.com/napari/docs/commits?author=jaimergp))  - @jaimergp
- [Juan Nunez-Iglesias](https://github.com/napari/napari/commits?author=jni) ([docs](https://github.com/napari/docs/commits?author=jni))  - @jni
- [Lorenzo Gaifas](https://github.com/napari/napari/commits?author=brisvag) - @brisvag
- [Lucy Liu](https://github.com/napari/docs/commits?author=lucyleeow) - @lucyleeow
- [Melissa Weber Mendonça](https://github.com/napari/napari/commits?author=melissawm) ([docs](https://github.com/napari/docs/commits?author=melissawm))  - @melissawm
- [Peter Sobolewski](https://github.com/napari/napari/commits?author=psobolewskiPhD) - @psobolewskiPhD
- [Wouter-Michiel Vierdag](https://github.com/napari/docs/commits?author=melonora) - @melonora