Tags: napari/docs
Tags
*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:  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
*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
⚠️ *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
*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