napari 0.5.0#
Thursday, Jul 11, 2024
We’re happy to announce the release of napari 0.5.0! 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/
Highlights#
napari 0.5.0 is the beginning of an architectural overhaul of napari. The architecture improvements, which are still ongoing, enable more responsive asynchronous loading when slicing layers or panning and zooming in multiscale 2D layers (#5816). There’s several performance improvements, too, including faster points layer creation and updates (#6727).
Other architectural changes, refactoring napari on top of app-model, have enabled us to (finally 😅) implement NAP-6, which allows plugins to organize their commands in defined menus in the napari menubar and application. Please read NAP-6 for all the juicy details, including how to request more menus if the existing ones don’t meet your needs. 📋 (#7011)
Another important development for plugins is that we have added fields for axis names and physical units in layers (#6979). If you implement a reader plugin, you can now specify the names of the axes in the data that you are reading in, and the physical units of the scale and other transformations. Currently, napari is not using this information, but we will in upcoming versions, so plugins should start providing this information if they have it.
There’s plenty of new features, too, including a polygon drawing tool when painting labels (#5806), pinch-to-zoom (#5859), better ways to show/hide individual layers when exploring your data (#5574) (#5618), creating a layer from an image or URL in your clipboard (#6532), a new way to export figure-quality renderings from the canvas (#6730) (2D-only for now), and the ability to copy and paste spatial metadata (scale, translate, etc) between layers (#6864).
You’ll also note a new little button on layer controls, including images:
This little button allows you to resize and rotate layers, enabling manual alignment (#6794)!
All in all, this release has over 20 new features and over 100 bug fixes and improvements. Please see below for the full list of changes since 0.4.19.
New Features#
Add layer slicer base class for async slicing (#5170)
Add
unique_id
attribute to Layer to uniquely identify layers (#5230)Feature: add layer contextual menu to hide not-selected layers (#5574)
Feature: alt-click visibility eye to toggle show just that layer (hide others) (#5618)
Feature: Add action to set current label to background (with keybinding) (#5672)
Use Dims margin in layer slicing code (#5697)
Changing brush size with mouse movement while holding specified modifiers (#5753)
Feature: polygon drawing in the Labels layer (#5806)
Replace old async loading with new approach (#5816)
Enable pinch-to-zoom with vispy 0.13+ (#5859)
Keep shading light for Surface fixed relative to camera (#5893)
Use Request/Response pattern for Vectors layer (#5918)
Lock dimensions / axes while rolling (#5986)
Added support for features in surface layers (#6515)
Add creating image from clipboard (#6532)
Add viewer keybinds to select & show only next/prev layer and to toggle visibility of unselected (#6590)
Show
About napari
action on macOS application menu (#6666)Add points/shapes highlight color setting to Appereance settings and preference page (#6689)
Include features index as key in FormatStringEncoding (#6703)
Better export of figure-quality renderings from the canvas (#6730)
Add transform mode button for layers (#6794)
Reset all dims to be rollable (#6797)
implement copying spatial information via clipboard (#6864)
Add
axis_labels
andunits
to layers and transforms (#6979)Alpha implementation of NAP-6 (#7011)
Improvements#
use app-model for file menu (#4865)
Show platform specific shortcut while editing. (#5064)
Add secondary keybindings to restore mnemonic (non-numeric) shortcuts in layers (#5155)
Add loading layer UI indicator (#5342)
Clean up layer slicer before integration with viewer (#5435)
Thick Slices (Dims as nD-box instead of nD-point) (#5522)
Add
font-size
to theme (#5607)Feature: Background color swapping for the Label layer (extends #5672) (#5744)
Improve error message when user passes nonexistent plugin (#6016)
Reduce comparison in evented model (#6075)
Expose theme
font_size
as anAppearance
setting (#6113)ENH Adds
LayerList
context (#6165)Add layer name to QFileDialog when only one layer is selected for saving. (#6360)
Use blobs instead of random integers (#6527)
Show notification when using shortcut to change current selected label to largest used label plus one (#6546)
Keep vertex selection after shape drawing finishes (#6640)
Add GL_MAX_3D_TEXTURE_SIZE to
napari --info
(#6645)[ENH] use imageio.v3 for builtins io imread (#6677)
Make new labels dtype configurable (#6695)
Add
Optional
section to napari info with numba and triangle (#6710)[ENH] Add
repeatable
kwarg to register_viewer_action and use it for slider left/right keybind (#6769)“Shapes to Labels”, “(float)Image to Labels”: Don’t pop layer being converted, append new one (#6859)
[enh] Transform mode: shift to snap layer rotation to 45 deg (#6948)
[UX/UI] flip the default for the reader plugin dialog to not have the Remember box checked (#7016)
[UI/UX] Updated polygon button icon for Shapes & Labels regular polygon tool (#7019)
[Enh] Labels polygon tool: use a setting for completion_radius, by default double-click always works. (#7023)
Add convenience input validation for Labels colormaps (#7025)
Add empty menu placeholder actions using functional context keys from #6965 (#7038)
[Shapes] for line tool, have _fixed_aspect (shift) enable 45 degree rotations if shift held first. (#7043)
Add partial and weakref for empty shapes layer context key (#7064)
Move
IO_Utilities
andAcquire
submenus to their own group in theFile
menu (#7075)
Performance#
Do not copy label data when not necessary (#5542)
Throttle mouse move event to fix high-polling-rate input (#5710)
Speed up symbols validation in points layers (#6277)
Making Tracks layers creation and update faster (#6671)
Making Points layer creation and update faster (#6727)
Remove unnecessary early call to np.asarray before thick slicing (#6735)
perf: remove extra highlight calls (#6893)
Bug Fixes#
Quick silo dev version settings in a dev sub-directory (#5322)
Fix conda avaliability check (#5496)
Bugfix: PR build of docs doesn’t use proper napari versioning for substitutions (#5557)
fix various keybinding/shortcut bugs (#5604)
Bugfix (macOS): Remove PYTHONEXECUTABLE from
env
for conda installs (#5622)Fix waiting for multiple signals in threading progress bar test (#5637)
Update the sliders
axis_label
widget to be aQElidingLineEdit
instance (#5665)Fix usage of closed interval dims and unify extents calculations (#5751)
Add aditional guard at the end of
test_worker_may_exceed_total
(#5781)Return full colormap dict in get_state (#5782)
Add test coverage for async slicing of points and fix rounding bug (#5783)
Add pydantic<2 constrains to plugin install (#5785)
Readd exception to event proxy (#5797)
Bugfix: do not allow drawing while adjusting the brush size with the mouse (#5842)
Amend
pydantic
constraints in the plugin manager (#5851)Bugfix: Ensure bgcolor is set in init of VispyCanvas (#5970)
Make sure
open_sample
respectsreader_plugin
for sample URIs (#5971)Async refresh when experimental setting is on (#6008)
Add validation logic for
Dims.last_used
to prevent slider selection errors when rolling dims (#6024)Update layer’s loaded state before vispy and thumbnail (#6026)
Fix string list JSON formatting (#6033)
Remove 3D multiscale warning (#6070)
A few small improvements to async slicing (#6080)
Add toggle status view menu items (#6137)
Fix PR html stripping workflow (#6139)
Add test on top of #6142 (#6167)
Bugfix: ensure thumbnail represents canvas when multiscale (#6200)
Fix (N>4)D shapes. (#6210)
Fix typing checks in PRs (#6230)
convert Color to string (#6243)
Fix link to artifacts in update dependecies comment (#6270)
Fix vispy pixel offset in 3D multi-scale image layers (#6319)
Fix setting shortcuts with modifier keys and only one modifier key as a shortcut on Windows/Linux (#6330)
Pass key event from Main window to our internal mechanism (#6419)
Restore old breakpointhook after console import in tests fixture (#6436)
FIX: Remove
None
default from_remove_dock_widget
(#6481)Fix crash on python -m napari (#6484)
Bugfix: ensure gamma and opacity are floats (#6498)
Restore quit shortcut (#6526)
Fix contrast limits for single layer numpy case. (#6535)
Fix check if plugin is available from conda (#6545)
Set default dtype for empty
_ImageSliceResponse
(#6552)Ensure consistent layer tooltip (#6589)
Make Shift-Up/Down in layer list expand and contract selection (#6606)
Remove scaling of highlight width, fix showing shapes for uneven coordinates (#6629)
Fix decomposition function to properly work with more than 2x2 matrices (#6636)
Remove if that prevents from setting gamma in constructor (#6650)
[Bugfix] update selection ctx keys before showing LayerList context menu (#6664)
Fix offset in rendering of
TransformBox
of image/labels layers (#6679)Exclude size and symbol pts attributes from linking, because they depend on number of points (#6687)
Fix shape layer infinite edge bug (#6706)
[Dockerfile] update pip before installing napari (#6728)
Fix npe1 samples menu building (#6739)
[Maint, CI] Fix upgrade_test_constraints.yml to use pyproject.toml (#6749)
Update description of
a
,shift-a
points keybinds to reflect toggle (#6750)[Dockerfile] add missing opengl and x11 packages to the base image (#6754)
Keep
qtpy
in headless tests and fix resulting failure (#6764)Fix sync slicing of not yet visible layers (#6766)
Remove compression scheme when saving boolean arrays as tif (#6807)
Solving visual glitch when displaying tracks with missing timepoints (#6808)
Fix
napari.utils.misc.is_iterable
function (#6811)Remove redundant
_view_actions.py
(#6821)refresh when canvas_size_limits are changed (#6834)
Fix selection size when canvas limits are set for Points (#6853)
Ensure bounding_box lines stay up to date between 2D and 3D (#6855)
Fix zarr reading with unrelated files (#6857)
Two bug fixes concerning 4D surfaces, ie surfaces with (t, z, y, x) vertices (#6874)
[bugfix] Drop if guard on notification_manager to enable show_info from Jupyter (#6882)
[bugfix] Warn if float image data being saved to non-tiff (#6884)
Disable copying layer transform metadata when selecting multiple layers (#6887)
Fix use of scaling in vispy points (#6894)
Fix point highlight thickness (#6896)
Fix shapes mouse click and double click behavior on partial shapes (#6912)
Again fix translate of overlays (this time with tests) (#6927)
Add warning notification when connectivity errors occur in when opening the plugin manager (#6931)
Fix array data copy behavior for numpy 1 and 2 consistency (#6932)
[bugfix] Swap digit and
backspace
for Shapes & Pointsdelete_selected
keybinds (#6933)Fix callback for
File -> Open Folder...
action (#6935)Add cachable context mapping (#6965)
fix
create_func
to respectrename_argument
decorator (#6970)Do not crash napari viewer if error happen on open file via cli (#6971)
Fix viewer scale bar color update (#6989)
Remove NumPy 2 pin, fix direct colormap with keys outside data dtype (#6998)
Fix switching from 2d to 3d with 2d points (#7004)
Fix importerror and message for lxml_html_clean (#7017)
Fix logic to keep settings and preference dialog widgets in sync (
dask
,highlight
,brush_size_on_mouse_move_modifiers
,new_labels_dtype
settings errors) (#7027)Use
dev
links for pre-release (#7031)Fix numpy dtype check in guess_continuous (#7041)
[Shapes] for line tool, have _fixed_aspect (shift) enable 45 degree rotations if shift held first. (#7043)
Bump the settings schema version (#7053)
Provide default colors automatically in DirectLabelsColormap (#7061)
Ensure out-of-bounds layers are loaded (#7077)
API Changes#
Deprecations#
MAINT: Remove unused function. (#5041)
MAINT: remove deprecated Alias. (#5043)
Fix typing in _app_model (#6059)
Rename
edge_*
attributes and references toborder_*
on points layer (#6402)Add deprecation message to CallDefault function partly resolves issue#6257 (#6901)
Issue warnings when accessing deprecated layer state (#6976)
Build Tools#
ci(dependabot): bump WebFreak001/deploy-nightly from 1.1.0 to 1.2.0 (#5159)
ci(dependabot): bump convictional/trigger-workflow-and-wait from 1.6.1 to 1.6.4 (#5293)
ci(dependabot): bump bruceadams/get-release from 1.2.3 to 1.3.2 (#5294)
ci(dependabot): bump convictional/trigger-workflow-and-wait from 1.6.4 to 1.6.5 (#5384)
ci(dependabot): bump WebFreak001/deploy-nightly from 1.2.0 to 2.0.0 (#5385)
ci(dependabot): bump docker/build-push-action from 3 to 4 (#5523)
ci(dependabot): bump toshimaru/auto-author-assign from 1.6.1 to 1.6.2 (#5524)
fix various keybinding/shortcut bugs (#5604)
ci(dependabot): bump peter-evans/create-pull-request from 4 to 5 (#5792)
ci(dependabot): bump actions/setup-python from 2 to 4 (#6201)
ci(dependabot): bump docker/login-action from 2.1.0 to 3.0.0 (#6263)
ci(dependabot): bump actions/checkout from 2 to 4 (#6264)
ci(dependabot): bump docker/build-push-action from 4 to 5 (#6280)
ci(dependabot): bump docker/metadata-action from 4 to 5 (#6282)
Bump certifi from 2024.6.2 to 2024.7.4 in /resources (#7076)
Documentation#
DOCS: Consolidate Makefiles (#5011)
Move docs to separate repo (#5216)
DOC Fix actions file docstrings (#5285)
Update build_docs workflow (#5405)
Bugfix: PR build of docs doesn’t use proper napari versioning for substitutions (#5557)
Add link to napari/docs in Readme file. (#5814)
Fix typing in layers.labels (#5858)
DOC: fix incorrect doc in layer-base (#5996)
Add vortex optical flow example (#6041)
DOC Amend
open_sample
docstring str->URI (#6108)DOC: misc syntax/typos (#6387)
DOC: misc fixes (#6429)
Change
vortex.py
example to enable its page build in the documentation (#6475)Fix generation of layer creation functions docstrings (#6558)
Update docs constraints for napari-sphinx-theme 0.3.0 (#6598)
Update docstrings in
colormap_utils
for seed parameter effective range (#6688)Update shapes.py add_rectangle and add_ellipse docstrings (#6704)
Update docstring for _get_console method of QtViewer class (#6723)
DOC Explicitly describe use of
show
inmake_napari_viewer
(#6724)DOC Add info to
make_napari_viewer
docstring (#6774)Expose NotebookScreenshot docstring (#6833)
DOC Update
_mock_app
docstring (#6903)DOC Update menu action file docstrings (#6904)
Front-load core devs in citation.cff, sorted by commits (#6949)
Update CITATION.cff with contributors for 0.5.0 (#6958)
[Docs] Update README.md for stable/dev docs (#7040)
Update README.md to fix link to contribution docs (#7062)
Remove examples from docs repo and use main repo instead (docs#1)
Add build_docs action to PRs (docs#6)
Fix examples path in build_docs PR workflow (docs#8)
Updated issue and PR templates for this repo (docs#36)
how to use annotation with create_widget (docs#68)
Fix docs deployment with gallery env variable (docs#70)
Switch from GabrielBB/xvfb-action to aganders3/headless-gui (docs#94)
Update deploy_docs.yml to use metadata to use proper napari version substitution (docs#99)
CircleCI setup for PR documentation previews (docs#104)
Change
CIRCLECI_TOKEN
toGITHUB_TOKEN
incircleci.yml
workflow file. (docs#108)Documentation for alt-click visibility icon to show only that layer (napari/napari#5618) (docs#121)
Add pr dependency check (docs#124)
Layer documentation enhancements (docs#125)
Using Dask and Napari to view and process 100µm resolution human brain dataset (docs#132)
Fix CircleCI token name and remove outdated artifact action (docs#136)
Add instructions on how to check preview of built docs (docs#140)
Add documentation of udpate tokens for automated actions. (docs#144)
Use constraints file when installing dependencies to build docs (docs#162)
Fix build and deploy workflow (docs#164)
Update README to display CZI logo for dark and light GitHub themes (docs#165)
Use constraints during build docs on circleCI (docs#167)
Fix closing of html comment in PR template (docs#168)
Add documentation for #5806 (docs#177)
Update Viewer tutorial for extra layer contextual menu visibility options (napari/#5574) (docs#183)
Use python version range instead of min version (docs#194)
Fix trailing whitespace with pre-commit (docs#198)
Add extra note for Windows and Make to avoid running
rm -rf C:\Users
(docs#201)Plugin docs restructure of content (docs#203)
Add documentation how to avoid fickering windows when running test locally (docs#215)
Run PR depenecy check on every comment added to PR (docs#216)
Adds guide on CI setup for docs building and website deployment (docs#220)
Add TOML lexer to pygments set up (docs#229)
Remove items not relevant to documentation in PR template (docs#234)
[Content] Add docs for the new lock dims of the roll button (docs#242)
Fix pydantic import (docs#255)
Add option to fail docs build on gallery example execution error (docs#256)
Uniform circleCI and build_docs workflows across repositories (docs#266)
Improve next steps part of installation guide (docs#275)
Re-apply: Image layers can’t have converted data type (docs#276)
Add section on extending napari (docs#286)
Add env constraint to ‘deploy_docs’ workflow (docs#287)
Add to console details to “How to launch
napari
” (docs#292)Add mp4 and png fallback to webm videos (docs#298)
Use reference labels instead of paths (docs#301)
Add theme page to ‘how tos’ (docs#302)
Expand headless env testing in “Test organization” (docs#303)
Add/improve documentation about napari’s software architecture (docs#304)
Replace references to ‘edge’ attributes with ‘border’ in Points docs (docs#306)
Add documentation for
New from clipboard
feature (docs#307)Telemetry: Add sample code for collecting data and sample outputs (docs#309)
NAP-6: Updates after discussion and review (docs#312)
Use tabs for the install as Python package guide (docs#313)
Fix execution of magicgui guide (docs#314)
Exclude inherited tqdm members from documentation (docs#316)
Re-organise ‘Contributing’ section (docs#318)
Update packaging guide by removing outdated
constructor
fork details (docs#319)Update app-model documentation (docs#325)
Remove sphinx pin to rely on upstream constraints (docs#334)
Move note after screeenshot in install guide (docs#335)
Update links to napari hub guide (docs#336)
Fix broken links and references (docs#338)
Add announcement banner html to enable config (docs#341)
Add release notes for 0.4.19 (docs#346)
Update version switcher for 0.4.19 release (docs#347)
Add 0.4.19 to toc (docs#349)
Fix execution of magicgui guide (2) (docs#351)
Replace survey with help banner (docs#356)
[ENH] Add napari.utils.transforms to API docs (docs#359)
[Content] Add docs for napari/napari#6590 shift-option arrows to cycle through layers one at a time (docs#360)
Clarify optionality of type annotations for writing a plugin (docs#367)
Dynamicly calculate supported python version range (docs#368)
Add info on testing
QWidget
visibility (docs#370)Summary of local setup for quickstart for devs (docs#372)
Add info about tests that require window focus and
pyautogui
permissions setup on macOS (docs#375)Inlcude docstring of
make_napari_viewer
intesting.md
(docs#378)Add cross reference to other testing info in
testing.md
(docs#379)Add note on using str instead of importing for napari type annot in plugins (docs#381)
Use intersphinx for magicgui objects in
magicgui.md
(docs#382)Fix napari.org rendering (docs#386)
Fix doc preview in PR CI (docs#389)
Update
docs_deployment.md
and add paths to workflow (docs#390)Fix ALL Sphinx warnings (docs#393)
Add note about autogeneration of plugin docs (docs#395)
Add page on
magicgui
type registration (docs#399)Minor update to instructions for updating tokens (docs#401)
Fix typo in
app_model.md
(docs#402)Update
app-model
doc with new information about_mock_app
fixture (docs#403)Fixes display of inherited members of classes (docs#404)
Improve our ‘Creating widgets’ section (docs#407)
Fix broken magicgui and app-model docs links (docs#410)
Add Python resources to Installation tutorial (docs#411)
Update IFP rep on the SC to be Kyle and not Nick (docs#412)
[Content] clarify Image to labels, Labels to Image, and add docs for shapes to labels behavior (docs#414)
Update where app-model actions/providers/processors live in codebase (docs#416)
Update conda section of install docs (docs#417)
MacOS -> macOS (docs#418)
Add basic layer modes description, including transform button (docs#420)
Add note about unversioned pages machinery to contributing guide (docs#421)
Update slicing/rendering docs (docs#424)
Replace use of properties with features (docs#425)
DOC Update finding submenu action in app-model (docs#426)
Replace cookiecutter references with napari-plugin-template (docs#427)
Add links to blog and napari workshop template on navbar (docs#429)
Draft release notes for 0.5.0 (docs#430)
DOC Link
magicgui
type annotation to providers/processors (docs#431)DOC Add section on order of app-model init steps (docs#432)
Add troubleshooting about starting napari and
LD_LIBRARY_PATH
(docs#433)Add warnings around draft message (docs#434)
NAP-6: Add admonition about implementation state (docs#435)
Fix rendering explanation broken links (docs#437)
Update labels.md for polygon tool stopping behavior (docs#438)
Fix rendering example code (docs#441)
Improve NAP-7 valid key sequence section (docs#442)
[bugfix] Update contributing/index.md fix blog note (docs#443)
Update napari 0.5.0 release notes (docs#444)
Fix version match for version switcher (docs#445)
Add preferred option to version_switcher.json (docs#446)
Update contributing documentation guide (docs#447)
Add Zulip link to More menu on navbar (docs#449)
Add Lucy Liu to core devs team (docs#450)
Final update to 0.5.0 release notes (docs#451)
Other Pull Requests#
Add tests to cover slicing behavior when changing layers and data (#4819)
Add examples to remote sample data & synthetic tests [for async work] (#4987)
Use app model for plugins menu (#4991)
MAINT: Misc unused variables and import. (#5051)
Use same name in yml file and test name. (#5065)
MAINT: Remove QtStateButton, marked for removal in 0.4.14 (#5066)
Update config directory paths for perfmon tools (#5081)
Use app-model keybindings internally (#5103)
Ignore tags directory generated by Sphinx build (#5104)
[pre-commit.ci] pre-commit autoupdate (#5105)
Clarify package installer interface with abstract base class, and Pip/Conda subclasses (continued) (#5124)
MAINT: comment out macos briefcase bundle (#5144)
Use nightly.link to add comment to docs artifacts on PRs (#5148)
Attempt to fix benchmark failing. (#5175)
MAINT: Use positional only to make code a bit more idiomatic. (#5179)
Update vendoring tool to check on matplotlib colormap (#5181)
[pre-commit.ci] pre-commit autoupdate (#5197)
Update plugin dialog design & functionality to add conda install (#5198)
[pre-commit.ci] pre-commit autoupdate (#5237)
Benchmark PR reporting fix (#5246)
Image slice request and response for async slicing (#5259)
Points slice request and response for new async slicing (#5264)
Do not use random shapes in napari_builtins conftest fixtures (#5287)
Add async slicing “force sync” (#5299)
Use plugin display_name for widget parent menu (#5305)
update benchmark ci (#5309)
Fix text label translation (#5321)
Exclude vendored things from absolutify imports (#5324)
Add test coverage for async slicing of labels (#5325)
[pre-commit.ci] pre-commit autoupdate (#5336)
Fully specify cache path in pip install job (#5357)
Add pre commit steep for remove unused imports (#5359)
Add titles and tags to new gallery examples (#5364)
Add GUI test coverage for changes to Labels.show_selected_label (#5372)
[pre-commit.ci] pre-commit autoupdate (#5375)
Calculate text positions for constant strings (#5387)
[pre-commit.ci] pre-commit autoupdate (#5392)
Configure
fail_on_no_env
fortox-gh-actions
(#5408)Wait until a blocked test task is actually running (#5424)
Refactor: Qt viewer and VispyCanvas (#5432)
Installation: don’t include pyqt5 (from [all]) in [dev] installs (#5438)
Add auto canceling previous test after a new PR commit (#5453)
[pre-commit.ci] pre-commit autoupdate (#5462)
Add digital watermark to napari PNG screenshots (#5494)
MAINT: add time limit for CI. (#5495)
[pre-commit.ci] pre-commit autoupdate (#5502)
[pre-commit.ci] pre-commit autoupdate (#5518)
MAINT: Fix vendoring script and track closest commit. (#5537)
Fix translation checks in CI (#5562)
[pre-commit.ci] pre-commit autoupdate (#5575)
Maint: Add time limit to –pre and comprehensive tests. (#5597)
[pre-commit.ci] pre-commit autoupdate (#5606)
Bugfix: ensure
tool
is set to conda for conda-installed packages (#5624)FIX: fix translation checking script. (#5626)
[pre-commit.ci] pre-commit autoupdate (#5627)
[maint] Update translation string wizard to offer auto-suggestions (#5643)
Update PR template to front-load issue references (#5659)
MAINT: Move suspected segfaulting test into its own file. (#5676)
Unvendor lazy_loader (#5681)
Add CircleCI to enable docs preview on PRs (#5714)
Check that release labels are added to each PR (#5733)
[MAINT] Remove plugin manager source (move to napari/napari-plugin-manager) (#5743)
[pre-commit.ci] pre-commit autoupdate (#5765)
Use
GITHUB_TOKEN
to create test dependecies PR (#5774)Use fine grained personal token for test contrains and vendored update (#5777)
Add tests for io utils to save images (#5780)
Use tox-min-req for min-req tests (#5784)
[pre-commit.ci] pre-commit autoupdate (#5793)
Update README to display CZI logo for dark and light GitHub themes (#5800)
Improve discoverability of napari/docs repository. (#5821)
MAINT: Add backend info to CI comprehensive test names (#5822)
Move mypy config to pyproject.toml (#5825)
Fix some typing in colormap utils (#5832)
Improve type annotation for image layer and related (#5843)
Fix typing errors in layers.image (#5852)
Add tests/more tests to widgets with low coverage (#5864)
Fix type checking for layers.vectors (#5870)
Fix type checking in layers.surface (#5871)
test: [Automatic] Constraints upgrades:
dask
,hypothesis
,imageio
,napari-svg
,pandas
,pint
,pydantic
,pytest-cov
,tensorstore
(#5881)Use a nightly pypi index for numpy & scipy, used by the –pre build (#5882)
Remove pycln (redundant with ruff F401 rule) (#5887)
Mock QtConsole in tests (#5890)
Consistent types for vector inputs/outputs in base layer (#5892)
MAINT: Fix more typing and enable mypy on more files. (#5897)
Add
__all__
to qthreading and progress (#5898)Fix typing in translations (#5900)
ENH: Use dict to set
MenuID
in view actions (#5903)[pre-commit.ci] pre-commit autoupdate (#5906)
[Maint] CI: Use
RUNNER_OS
instead ofPLATFORM
(#5907)MAINT: GitHub action Timeout increased by 5 minutes (#5934)
Some napari.utils typing fixes (#5936)
Add documentation, enhancement and maintenance fields to PR template (#5943)
Add docs constraints file (#5988)
Fix optional arg typing in napari._qt.containers (#6004)
[pre-commit.ci] pre-commit autoupdate (#6009)
Partially fix translations testing (#6014)
Fix typing in napari.layers.base (#6028)
Add test for
QtToolTipEventFilter
(#6066)Pin numpy below 2 (#6073)
Fix typing in napari.components.overlays (#6076)
Fix transform_utils typing (#6082)
Task: remove html comments from pr description (#6086)
Reduce noise in PR template (#6092)
Allow contributors to update test constraints using a comment (#6101)
Exclude … from coverage (#6103)
Pass
QT_QPA_PLATFORM
through tox configuration (#6110)Remove unused parameters from private function. (#6131)
Fix typing in napari.utils.perf (#6132)
Use faster version of black (#6133)
Fix some typing in napari.utils.events (#6142)
test: [Automatic] Constraints upgrades:
hypothesis
,magicgui
,psygnal
,tensorstore
,tifffile
,tqdm
,virtualenv
(#6143)Update PR editing script to remove html. (#6144)
Update PR editing action script to remove double empty lines in PR description (#6150)
More typing of napari/utils. (#6152)
Update typing informations in
_app_model/injection/_processors.py
andcomponents/layerlist.py
(#6153)Fix types in ‘napari.utils.colormaps.categorical_colormap’ (#6154)
Fix incorrect types in color_transformations. (#6155)
Refactor test running for reduce CI time (#6156)
Check if milestone and label is added to PR (#6158)
Enable type-checking for
napari.components.experimental
. (#6166)Fix typing and clearer code in evented-set. (#6168)
Fix and enable typing of selectable lists (#6169)
Add PyQt6 to tox -e mypy (#6170)
Remove an “if” that prevents proper run of “upgrade dependecies” wokflow if triggered by comment (#6171)
Misc typing fixes (#6172)
Fix typo in path to file for upgrade dependencies (#6173)
Update constraints upgrade script to run with appropriate events (#6175)
Add missed “and milestone” (#6176)
Do not clone repository to subdirectory in examples test (#6181)
Add a timeout to some GH actions tests. (#6187)
Fix typing in components.viewer_model (#6188)
DOC Add comment in
_instantiate_dock_widget
(#6189)Fix some typing in napari.components (#6203)
Allow to use all ViewerModel kwargs in Viewer constructor (#6209)
Fix upgrade dependencies wokflow (#6211)
Replace more np.all( … = …) with np.array_equal (#6213)
cleanup np.all(… == …) from test_points.py (#6217)
remove np.all(… == …) in test_surface.py (#6218)
[pre-commit.ci] pre-commit autoupdate (#6221)
[pre-commit.ci] pre-commit autoupdate (#6229)
Move
test_file_menu.py
to new app model location (#6233)More removal of np.all(… == …) (#6238)
Remove sphinx dependency from defaults dependecies (#6239)
MAINT: Use scipy builtins rotation to compute quaternions. (#6241)
MAINT: Replace
assert np.all(? == ?)
withassert_array_equal
(#6244)Fix some typing in napari._vispy (#6245)
Type _WeakCounter (#6246)
Fix typing in napari.utils.theme (#6247)
remove: napari.qt.progress (deprecated in 0.4.11) (#6252)
Restore ‘V’ keybinding for layer visibiltiy toggle (#6261)
Update
app-model
,dask
,fsspec
,hypothesis
,imageio
,ipython
,jsonschema
,matplotlib
,numpy
,pandas
,pillow
,psygnal
,pytest
,qtconsole
,qtpy
,rich
,scipy
,superqt
,tensorstore
,tifffile
,virtualenv
,xarray
,zarr
(#6265)[pre-commit.ci] pre-commit autoupdate (#6266)
Fix nitpicks in
id
andtitle
Action
fields in samples menu (#6267)ENH Make
_open_preferences_dialog
returnPreferencesDialog
(#6269)Bump app-model (#6271)
Use
MenuID
in sample menu tests (#6273)Fix benchmark suite virtualenvs, and disable broken memory benchmarks (#6278)
[pre-commit.ci] pre-commit autoupdate (#6287)
Adding helper function for events and property deprecation (#6288)
Fix labels for dependabot (#6290)
[Maintenance] Fix missing v in the docker-login action version (#6291)
MAINT: Remove auto-author-assign (#6292)
Remove a few of the last instance of np.all(? == ?). (#6293)
Enable memory benchmarks for layers (#6295)
[Maint] Add zarr to optional dependencies in pyproject.toml (#6297)
Set permissions to
allow upgrate_test_contstraints
work (#6298)Revert “MAINT: Use scipy builtins rotation to compute quaternions. (#6241)” (#6299)
Add pystack to debug hanging linux test (#6310)
[Maintenance] Update bug_report template to add napari –info (#6312)
Use yaml for bug report Issue template (#6313)
Add pre-commit check for basic formattings bugs (#6315)
Add coverage report upload to comprehensive test (#6316)
Update
dask
,hypothesis
,numpy
,pillow
,pretend
,psutil
,pyqt5
,pyqt6
,pyside6
,superqt
(#6322)[pre-commit.ci] pre-commit autoupdate (#6323)
Fix pre-commit configuration (#6328)
Directly set author of commit in vendored workflow (#6329)
Bump Mypy and some type fixes. (#6332)
Add ‘raise’ option back to
strict_qt
inmake_napari_viewer
(#6335)Rename test_strings to validate_strings to stop confusing pytest (#6338)
“no-commit-to-branch” is preventing contribution. (#6341)
MAINT: Refine Mypy config for qtpy. (#6342)
Disable ptrace protection to make pytest-pystack work (#6343)
Fix labeler configuration (#6344)
Add codecov token to reduce propability of fail to upload from main branch (#6346)
Fix upstream deprecation: change
np.alltrue
tonp.array_equiv
(#6347)Maint: mypy opt-in to opt-out. (#6352)
Full typing of a few more files in napari.utils.* (#6356)
Fix build wheel workflow file name (#6357)
Fix make release workflow (#6359)
Typing: Fully type 5 more files (#6361)
Update examples/clipboard_.py to fix FutureWarning (#6365)
Update
fsspec
,imageio
,magicgui
,napari-console
,npe2
,pillow
,tensorstore
,xarray
(#6367)fix
TransformChain.__getitem__
signature (#6369)Fix permission for JasonEtco/create-an-issue@v2 action (#6370)
Automatic add
maintenance
label to upgrade dependecies workflow (#6371)[pre-commit.ci] pre-commit autoupdate (#6373)
Ensure the conda bundle workflows have the appropriate permissions (#6379)
Skip redundant pre-commit hooks (#6389)
Update
babel
,dask
,pandas
,pooch
,pytest
,qtpy
,virtualenv
(#6398)Fix environment variable name name in docs build (#6401)
ci(dependabot): bump actions/checkout from 3 to 4 (#6403)
Fix some weird behaviors when using delete and backspace keys as shortcuts (with or without modifiers) (#6406)
Use ruff to format strings to single quotes. (#6407)
Fix linter warnings in qt_main_window (#6409)
Unify circleci and build_docs workflows across repositories (#6417)
Fix
test_singlescreen_window_settings
to allow it to run locally on multiscreen configuration (#6422)refactor
napari/_qt/_tests/test_async_slicing.py
to reduce fragility of test (#6423)Simplify unused parameters of Quaternion functions. (#6424)
Still More typing V (#6427)
Synchronize
rgb
docstring ofViewerModel.add_image
andImage
constructor (#6428)Fix milestone and label checker to be triggered by
milestoned
/demilestoned
events (#6430)Refactor Skipped test (#6431)
Update
dask
,hypothesis
,numpy
,pandas
,tensorstore
,wrapt
(#6441)[pre-commit.ci] pre-commit autoupdate (#6447)
add addtional pystack arguments (#6457)
Bump docker image version to most recent from 3.x.x line (#6458)
MAINT Bump magicgui version to v0.7.0 (#6462)
Update
certifi
,hypothesis
,imageio
,jsonschema
,matplotlib
,numba
,pillow
,psygnal
,pydantic
,pygments
,qtconsole
,rich
,scipy
,tensorstore
,xarray
(#6470)Change default labels layer to uint8. (#6471)
[pre-commit.ci] pre-commit autoupdate (#6474)
Update
app-model
,babel
,coverage
,dask
,fsspec
,hypothesis
,imageio
,ipython
,lxml
,magicgui
,pandas
,pint
,psutil
,pydantic
,pyqt6
,pytest-qt
,tensorstore
,tifffile
,virtualenv
,xarray
(#6478)[Maint, CI] Update circleci.yml for artifact location to fix redirector (#6480)
Upload test artifacts on failure (#6486)
Add testing_extra and optional dependencies when creating constraints (#6487)
Add size and ndim to LayerDataProtocol (#6494)
Fix scheduled benchmarks to test both last release and main (#6496)
Type napari.layers.image helper sub-modules (#6499)
[pre-commit.ci] pre-commit autoupdate (#6505)
Add import lint back to CI (#6506)
Finish typing layers.base helper files (#6508)
Add lots of typing to layers.base (#6509)
Add
_block_refresh()
to layers (#6525)[pre-commit.ci] pre-commit autoupdate (#6528)
Add cache to Transform calculation (#6536)
Rescale image data if outside
float32
precision (#6537)MNT: Use
partial
in samples menu to avoid leaking (#6538)Type two sub-modules in napari.layers.utils (#6539)
Print a whole stack if throttler is not finished (#6549)
Minimal changes for mlx (and jax) compatibility for Image layers (#6553)
Improve repo configuration based on scientific python suggestions (#6554)
Bump mypy version and fix errors (#6557)
ci(dependabot): bump aganders3/headless-gui from 1 to 2 (#6563)
ci(dependabot): bump actions/labeler from 4 to 5 (#6565)
ci(dependabot): bump actions/setup-python from 4 to 5 (#6567)
Fix test in napari_builtins to remove import from conftest (#6568)
Update test to work with
app-model==0.2.4
(#6573)Add some more typing to utils.misc (#6574)
Fix typing in utils.perf (#6575)
Add more typing to utils.events.containers (#6576)
[pre-commit.ci] pre-commit autoupdate (#6581)
Try fix hanging tests by move
self.stop()
on end of functions that update GUI (#6594)Cache linear matrix decomposition in
Affine
class (#6635)bump actions/download-artifact and actions/upload-artifact from 3 to 4 (#6638)
Fix labeler configuration after update to v5 (#6639)
[pre-commit.ci] pre-commit autoupdate (#6648)
Update
app-model
,dask
,hypothesis
,ipython
,lxml
,matplotlib
,npe2
,numba
,numpydoc
,pandas
,pillow
,psygnal
,pyside2
,pyside6
,scipy
,superqt
,xarray
,zarr
(#6655)[pre-commit.ci] pre-commit autoupdate (#6656)
Disallow incomplete defs in layers.image (#6659)
Check untyped defs in _shapes_models (#6660)
Typing improvements to vectors layer (#6661)
Exclude problematic surface texture example from tests and docs building (#6663)
[pre-commit.ci] pre-commit autoupdate (#6672)
Migrate from setup.cfg to pyproject.toml (#6673)
Raise exception on TransformChain.simplified when chain is empty (#6674)
Add human readable names for Points layer subvisual (#6675)
Refactor perf module for better readabiity (#6686)
Fix upload of benchmarks (#6697)
Bump minimum dask version (#6698)
ci(dependabot): bump peter-evans/create-pull-request from 5 to 6 (#6700)
ci(dependabot): bump codecov/codecov-action from 3 to 4 (#6701)
ci(dependabot): bump aganders3/headless-gui from 1 to 2 (#6702)
Disable pyside2 test on windows CI (#6711)
Fix
--pre
workflow: missing setup to enablepyautogui
usage on Linux (#6713)Typing improvements in layers.shapes (#6716)
Improve typing in layers.surface (#6717)
Create .Xauthority file in conftest.py rather than GHA workflows (#6719)
use cross group dependecy in pyproject.toml (#6720)
Exclude pyside 2 test on comprehensive workflow (#6721)
Move base class for Image and Labels to its own file (#6725)
[pre-commit.ci] pre-commit autoupdate (#6737)
Drop Python 3.8, add Python 3.12 testing (#6738)
Fix Remove lambdas when updating menus from context in
Window
(#6740)Improve widget clean up in
test_widget_hide_destroy
(#6741)Move providers from
_providers.py
to_qproviders.py
(#6743)[Maint] Exclude pyqt6 6.6.1 on macOS in pyproject.toml (#6748)
[pre-commit.ci] pre-commit autoupdate (#6756)
[Maint] Put testing dependencies in [dev] as napari[testing] (#6757)
bump tifffile dependency and remove deprecation-handling code (#6765)
Move Qt view menu actions inside Qt folder (#6767)
Improve typing in layers.points (#6770)
[Maint] Correct a few more setup.cfg to pyproject.toml (#6771)
[maint] drop unused experimental vendor humanize and cachetools (#6772)
Switch from black to ruff-format (#6775)
numpy version 2.0 compatibility (#6776)
Remove app-model CommandId enum in favor of plain strings (#6777)
Sort parameters in docstring and
__init__
ofLayer
(#6779)Implement validation of docstrings and kwargs order (#6782)
Sort docstring and kwargs of Points layer (#6784)
Sort docstring and kwargs of Shapes layer (#6786)
Sort docstring and kwargs of Surface layer (#6787)
Sort docstring and kwargs of Tracks layer (#6788)
improve stack trace of autogenerated
ViewerModel.add_xxxx
methods (#6791)Move _is_moving property from Layer to Shapes (#6795)
Fix
ImportError: lxml.html.clean module is now a separate project lxml_html_clean
over test suite (Ubuntu 20.04 and benchmarks) (#6799)[pre-commit.ci] pre-commit autoupdate (#6800)
Add more typing to two napari.layers sub-modules (#6803)
[maint] Fix deploy_docs.yml for change in napari/docs workflow (#6809)
Sort docstring and kwargs of Vectors layer (#6810)
Fix some rst syntax in docstrings (#6812)
Speedup
napari.layers.utils._test.test_stack_utils.py
(#6813)[Maint] Update CircleCI config.yml for changes in napari/docs Makefile (#6814)
Add possibility to test consistency of docstring content between base class and class (#6816)
Rename
axes_labels
toaxis_labels
in some internal variables and docstrings (#6817)Add workflow for automatically remove
ready to merge
label (#6818)[pre-commit.ci] pre-commit autoupdate (#6820)
Move
_mock_app
fixture to_testsupport.py
and add it tomake_napari_viewer
(#6823)add test for ScalarField docstring, fix pointed bugs (#6824)
Add write permission to
remove_ready_to_merge.yml
workflow (#6825)Bump python from 3.9 to 3.12 in pre-release tests (#6826)
fix “Remove ready to merge label” (#6830)
Remove “ready to merge” label action part 3 (#6832)
ci(dependabot): bump the actions group with 2 updates (#6835)
DeprecationWarning in ensure_iterable and is_iterable, Closes #6256 (#6836)
Do not crash test on graphviz installation fail (#6837)
Update
hypothesis
,pandas
,pydantic
(#6838)Allow to use “remove ready to merge lablel” and “edit PR description” callable from another repository (#6839)
Add a few ruff lint rules: ASYNC, EXE, FA and LOG (#6840)
Add extra field to store plugin display name (#6841)
Add pytest-style rules for ruff (#6842)
Enable ruff SLOT linting rule (#6843)
[pre-commit.ci] pre-commit autoupdate (#6844)
Define submenus with their actions, remove submenus.py file (#6848)
Add T20 ruff rule (print calls) (#6849)
Test dev examples (#6854)
Check prereleases testing with macOS + Python 3.12 + PyQt6 (#6858)
Update
dask
,imageio
,scikit-image
,tifffile
,virtualenv
(#6861)[pre-commit.ci] pre-commit autoupdate (#6863)
Update
hypothesis
,pytest
,virtualenv
, bump mypy constraints and resolve pointed problems. (#6866)Fix compile constraints by compile per operating system and using
uv
(#6873)Fix benchmark reporting (#6877)
Move help actions under
_qt
and remove lambdas (#6883)Fix citation cff and add worflow for future validation (#6888)
Update
app-model
,babel
,coverage
,dask
,fsspec
,hypothesis
,jsonschema
,lxml
,matplotlib
,psygnal
,pygments
,pytest
,qtconsole
,superqt
,tensorstore
,tifffile
,tqdm
,virtualenv
,xarray
,zarr
(#6891)Add longer description to pytest fail in
fail_obj_graph
(#6899)Migrate Window menu to app-model (#6905)
[Maint] On PRs, dont run benchmarks unless initial tests pass (#6909)
Fix
PIP_CONSTRAINT
to not crash python installation on macos arm and python 3.10 (#6911)Migrate Debug menu to app-model (#6915)
remove error reporter code (#6923)
MNT: Fix layerlist context creation (#6926)
Automatically remove run-benchmarks label once benchmarks are executed (#6929)
[Maint] take pyqt6 out of experimental, restrict to >6.5 (#6937)
Use
superqt.utils.CodeSyntaxHighlight
instead ofnapari._qt.code_syntax_highlight.Pylighter
(#6938)[pre-commit.ci] pre-commit autoupdate (#6939)
Add a test for viewer.close_all. (#6942)
Add more file menu actions tests (#6943)
[Maint] Update docs constraints for new napari-sphinx-theme release (#6947)
ci(dependabot): bump docker/login-action from 3.1.0 to 3.2.0 in the actions group (#6951)
Update
certifi
,dask
,fsspec
,hypothesis
,ipython
,magicgui
,pint
,pooch
,pydantic
,pytest
,superqt
(#6953)Add some tests for view menu actions (#6955)
[pre-commit.ci] pre-commit autoupdate (#6956)
Add some tests for plugins menu actions (#6962)
Add some tests for help menu actions (#6963)
Add a test for window menu actions (#6972)
[maint] Update docker-singularity-publish.yml to run on PR (#6973)
More numpy 2.0 related fixes (#6974)
Add some tests for debug menu actions and fix validation to create the menu (#6975)
Remove redundant
NapariMenu
(#6977)Update
rename_argument
to useFutureWarning
instead ofDeprecationWarning
(#6980)Add attributes to
DummyTimer
(#6982)Update
test_create_func_renamed
test to useFutureWarning
instead ofDeprecationWarning
(#6987)restore numpy 2.0 constraints (#6994)
Update
dask
,hypothesis
,numba
,pydantic
,tensorstore
,vispy
,xarray
(#6995)Make test log easier to read by removing
-v
from pytest call (#6996)Add tests for viewer scale bar attributes (
colored
andticks
) (#7006)Add tox-uv to test environment for speedup installation, fix codecov upload (#7013)
User
perf.perf_config
everywhere (#7022)Update
coverage
,dask
,hypothesis
,npe2
,psutil
,scikit-image
,tensorstore
,tifffile
,virtualenv
(#7026)Block zarr 3.0.0a0 on pre tests (#7028)
Add test for layer context menu actions using
execute_command
(#7030)Handle also alpha and beta releases in
make_release.yml
(#7032)fix syntax bug in
make_release.yml
(#7033)Delay public-only deprecation until 0.6.0 (#7046)
Block
Pympler==1.1
using constraints for benchmark tests (#7048)Add some missing layer actions tests (split rgb, split and merge actions) (#7057)
Restore events to
QtViewer.canvas
(#7060)Fix make_release workflow to properly handle alpha and beta releases (#7066)
Fix and simplify release workfow (#7078)
Fix release workflow, fix names of env variable (#7081)
Fix release workflow by fix path to release docs (#7082)
Update CircleCI config.yml to not overwrite requirements (docs#184)
Update CI actions versions (docs#213)
[Maintenance] Use permissions for labeler action (and set v4) (docs#247)
[maintenance] Fix missing v in labeler action version (docs#248)
Use docs constraints in circleci workflow (docs#251)
Add missed pinning dependencies (docs#260)
[Maintenance] Update deploy_docs.yml to use constraints (docs#263)
[Maintenance] fix path to requirements.txt in deploy_docs workflow (docs#264)
Delete vestigial docs/requirements.txt (docs#270)
[Maint] use concurrency to cancel in-progress build_docs (docs#277)
[Maintenance] Update CIrcleCI redirector circleci.yml to fix artifact path (docs#278)
fix napari repo path to constraints (docs#290)
Update headless-gui action in build (fix screenshots) (docs#294)
Update .gitignore (docs#300)
Set
NAPARI_CONFIG
to clean settings (docs#310)Unify docs workflows (docs#348)
For this repo, link contributions to documentation contribution guide (docs#366)
[Maint] fix the download and deploy part of workflow (docs#380)
[Maint] fix build_and_deploy.yml paths (docs#384)
fix build_and_deploy.yml take 2 (docs#385)
[maint] fix app-model intersphinx link (docs#388)
Fix make html-noplot command (docs#394)
[Maint] use lxml[html_clean] in requirements.txt (docs#397)
Add maintenance workflows from main repo (edit PR description/clean up ready to merge label) (docs#406)
Bump napari sphinx theme version (docs#423)
45 reviewers added to this release (alphabetical)#
(+) denotes first-time contributors 🥳
alister burt - @alisterburt
andrew sweet (docs) - @andy-sweet
Ashley Anderson (docs) - @aganders3
Daniel Althviz Moré (docs) - @dalthviz
David Paleček - @palec87 +
David Stansby (docs) - @dstansby
Dr. Andrew Annex - @AndrewAnnex +
Draga Doncila Pop (docs) - @DragaDoncila
Eric Perlman - @perlman
Ganes Pandey - @pganes
Genevieve Buckley (docs) - @GenevieveBuckley
Gonzalo Peña-Castellanos - @goanpeca
Grzegorz Bokota (docs) - @Czaki
jaime rodriguez-guerra (docs) - @jaimergp
James Ryan (docs) - @jamesyan-git
Johannes Soltwedel - @jo-mueller +
Jordão Bragantini - @JoOkuma
Juan Nunez-Iglesias (docs) - @jni
Jules Vanaret - @jules-vanaret
Kabilar Gunalan (docs) - @kabilar
Kandarp Khandwala - @kandarpksk
Kevin Yamauchi - @kevinyamauchi
Kim Pevey - @kcpevey
Kira Evans - @kne42
Konstantin Sofiiuk - @ksofiyuk
kyle i. s. harrington - @kephale
Lorenzo Gaifas (docs) - @brisvag
M Bussonnier - @Carreau
Markus Stabrin - @mstabrin
Martin Weigert - @maweigert
Melissa Weber Mendonça (docs) - @melissawm
nadalyn miller - @Nadalyn-CZI
Nathan Clack - @nclack
Nicholas Sofroniew - @sofroniewn
niklas breitenbach-netter - @gatoniel +
odinsbane - @odinsbane +
pam wadhwa - @ppwadhwa
Peter Sobolewski (docs) - @psobolewskiPhD
Sean Martin - @seankmartin
Stefan van der Walt - @stefanv +
Talley Lambert - @tlambert03
Vince - @vreuter +
Wouter-Michiel Vierdag (docs) - @melonora
Ziyang Liu - @liu-ziyang