Changelogs » Napari

PyUp Safety actively tracks 382,903 Python packages for vulnerabilities and notifies you when to upgrade.

Napari

0.4.13rc2


        

0.4.13rc1


        

0.4.13rc0


        

0.4.12

We're happy to announce the release of napari 0.4.12!
  napari is a fast, interactive, multi-dimensional image viewer for Python.
  It's designed for browsing, annotating, and analyzing large multi-dimensional
  images. It's built on top of Qt (for the GUI), vispy (for performant GPU-based
  rendering), and the scientific Python stack (numpy, scipy).
  
  
  For more information, examples, and documentation, please visit our website:
  https://github.com/napari/napari
  
  Highlights
  
  This is a bug fix release with many minor improvements and bug fixes. The user
  experience for users of dask arrays might be significantly improved by a new
  approach to setting the contrast limits based on the current slice (3425).
  
  A progress bar will now display when opening multiple files (3355).
  Thanks to first-time contributor tibuch the data type of labels layers can now
  be converted from a context menu on the layer list (3402).
  
  See the full list of merged pull requests below for further delails!
  
  New Features
  - Add progress bar when opening list of files (3355)
  - Add right-click context menu to convert label data type. (3402)
  
  
  Improvements
  - Support for `Future` return type in magicgui widget  (2581)
  - Don't register dask cache globally - but do use cache as context manager when slicing (3285)
  - Hide or Destroy dock widgets (3331)
  - `_vispy` module cleanup (3333)
  - Add expressions API (will eventually support `when` expressions for internal & plugin usage) (3350)
  - Experimental npe2 support (3354)
  - Disable save options if no layers available (3363)
  - Add cancel and cancel all actions to plugin dialog and improve UI (3369)
  - Add an option to change the theme to match the system one (3370)
  - Add toggle visibility to layer actions (3372)
  - Remove 0.4.9 deprecations (3377)
  - Move `progress` outside of `qt` and eliminate need for `qt` imports in headless mode  (3379)
  - Normalize_dtype() when setting contrast limits. (3380)
  - Add translucent no depth blending mode (3398)
  - Center data within points thumbnail (3406)
  - Add back support for big-endian NumPy dtypes in get_dtype_limits (3424)
  - Schedule contrast limits calculation for dask arrays after first set_view_slice (3425)
  - Minor refactor of get_active_layer_dtype (3434)
  - Add event filter to convert tooltips to richtext (3442)
  - Remove duplicate test parameter (3443)
  - Check if proper function name is found when connect to EventEmmiter (3445)
  - Prevent shapes removal while creating (3451)
  - Bug fix for individual shape selection with shift modifier (3456)
  - Multiscale slicing extends beyond shape (3460)
  - Added float16 support to dtype normalization (3463)
  - Updates for magicgui 0.3.0 (3465)
  - Finds layer_controls based on layer's MRO (3471)
  - Use `ensure_main_thread` instead of custom thread propagation mechanism in NapariQtNotification (3473)
  - Drop pythonw patch in windows bundle (3479)
  - Revert "drop pythonw patch (3479)" (3501)
  
  
  Bug Fixes
  - Fix `_old_size` attribute error in main window (3329)
  - Fix problem with local function signal binding (3352)
  - Fix __getattr__ in WorkerBase (3368)
  - Fix off-by-one bug in extent of Image and Labels layers (3381)
  - Try to fix bundle building. (3403)
  - Fix to_labels default output shape (3412)
  - Fix lazy load console (3419)
  - Fix teardown of menus to prevent widget test leaks (3433)
  - Fix off-by one error in Dims.range for non pixel-based layers (3444)
  - Fix naming inconsistency for windows bundle (3476)
  - Add ability to provide empty data to vectors layer (2995)
  
  
  API Changes
  
  
  Deprecations
  
  
  Documentation
  - Fix docs order in _toc.yml for 0.4.11 (3330)
  - Add example with data of mixed dimensionality (3392)
  
  
  Build Tools and Support
  - Split windows pyside/pyqt into own GitHub action check (2989)
  - Attempt to cache tox virtualenv. (2996)
  - Update references to master to point to main (3351)
  - Fix docs build from main branch (3365)
  - Turn on testing examples on CI again (3367)
  - Add certifi to dependencies (3386)
  - Update README.md (3396)
  - Fix CI failure from example (3397)
  - Attempt to speedup tests around theme. (3405)
  - Add global test timeout to avoid regression. (3407)
  - Add missing rendering documentation (3436)
  - Try to skip test on windows. (3438)
  - Add wheel to bundle run dependecies (3450)
  - Clarify existing behavior of `TextManager` with new tests and benchmarks (3452)
  - Move 8s tiemout to github actions only (3457)
  - Move icons to package src (3462)
  - Fix image display for plugin installation page. (3480)
  - Fix broken links in documentation (3481)
  - Update formatting in README.md (3482)
  - Fix formatting of Layers docstrings (3483)
  - Add links to napari repo in README (3484)
  - Bump minimum NumPy requirement to 1.18 (as per NEP29) (3485)
  - Remove make_napari_viewer in vispy tests. (3486)
  - Update ubuntu image to 18.04 (3348)
  - Bundle: canonicalize arch names (3349)
  - Fix min_req text matrix by skiping test (3496)
  - Bundle: make fork multiprocessing default in macos again (3498)
  
  22 authors added to this release (alphabetical)
  
  - [Andy Sweet](https://github.com/napari/napari/commits?author=andy-sweet) - andy-sweet
  - [Draga Doncila Pop](https://github.com/napari/napari/commits?author=DragaDoncila) - DragaDoncila
  - [Eric Perlman](https://github.com/napari/napari/commits?author=perlman) - perlman
  - [Genevieve Buckley](https://github.com/napari/napari/commits?author=GenevieveBuckley) - GenevieveBuckley
  - [Gonzalo Peña-Castellanos](https://github.com/napari/napari/commits?author=goanpeca) - goanpeca
  - [Gregory R. Lee](https://github.com/napari/napari/commits?author=grlee77) - grlee77
  - [Grzegorz Bokota](https://github.com/napari/napari/commits?author=Czaki) - Czaki
  - [Guillaume Gay](https://github.com/napari/napari/commits?author=glyg) - glyg
  - [Jaime Rodríguez-Guerra](https://github.com/napari/napari/commits?author=jaimergp) - jaimergp
  - [Jan-Hendrik Müller](https://github.com/napari/napari/commits?author=kolibril13) - kolibril13
  - [Jordão Bragantini](https://github.com/napari/napari/commits?author=JoOkuma) - JoOkuma
  - [Juan Nunez-Iglesias](https://github.com/napari/napari/commits?author=jni) - jni
  - [Kevin Yamauchi](https://github.com/napari/napari/commits?author=kevinyamauchi) - kevinyamauchi
  - [Lorenzo Gaifas](https://github.com/napari/napari/commits?author=brisvag) - brisvag
  - [Lukas Vasadi](https://github.com/napari/napari/commits?author=lukasvasadi) - lukasvasadi
  - [Matthias Bussonnier](https://github.com/napari/napari/commits?author=Carreau) - Carreau
  - [Melissa Weber Mendonça](https://github.com/napari/napari/commits?author=melissawm) - melissawm
  - [Nicholas Sofroniew](https://github.com/napari/napari/commits?author=sofroniewn) - sofroniewn
  - [Pam](https://github.com/napari/napari/commits?author=ppwadhwa) - ppwadhwa
  - [Talley Lambert](https://github.com/napari/napari/commits?author=tlambert03) - tlambert03
  - [Tim-Oliver Buchholz](https://github.com/napari/napari/commits?author=tibuch) - tibuch
  - [Ziyang Liu](https://github.com/napari/napari/commits?author=potating-potato) - potating-potato
  
  
  20 reviewers added to this release (alphabetical)
  
  - [Alister Burt](https://github.com/napari/napari/commits?author=alisterburt) - alisterburt
  - [Andy Sweet](https://github.com/napari/napari/commits?author=andy-sweet) - andy-sweet
  - [Draga Doncila Pop](https://github.com/napari/napari/commits?author=DragaDoncila) - DragaDoncila
  - [Genevieve Buckley](https://github.com/napari/napari/commits?author=GenevieveBuckley) - GenevieveBuckley
  - [Gonzalo Peña-Castellanos](https://github.com/napari/napari/commits?author=goanpeca) - goanpeca
  - [Gregory R. Lee](https://github.com/napari/napari/commits?author=grlee77) - grlee77
  - [Grzegorz Bokota](https://github.com/napari/napari/commits?author=Czaki) - Czaki
  - [Jaime Rodríguez-Guerra](https://github.com/napari/napari/commits?author=jaimergp) - jaimergp
  - [Juan Nunez-Iglesias](https://github.com/napari/napari/commits?author=jni) - jni
  - [Kevin Yamauchi](https://github.com/napari/napari/commits?author=kevinyamauchi) - kevinyamauchi
  - [Lorenzo Gaifas](https://github.com/napari/napari/commits?author=brisvag) - brisvag
  - [Lukasz Migas](https://github.com/napari/napari/commits?author=lukasz-migas) - lukasz-migas
  - [Matthias Bussonnier](https://github.com/napari/napari/commits?author=Carreau) - Carreau
  - [Nathan Clack](https://github.com/napari/napari/commits?author=nclack) - nclack
  - [Nicholas Sofroniew](https://github.com/napari/napari/commits?author=sofroniewn) - sofroniewn
  - [Pam](https://github.com/napari/napari/commits?author=ppwadhwa) - ppwadhwa
  - [psobolewskiPhD](https://github.com/napari/napari/commits?author=psobolewskiPhD) - psobolewskiPhD
  - [Talley Lambert](https://github.com/napari/napari/commits?author=tlambert03) - tlambert03
  - [Tim-Oliver Buchholz](https://github.com/napari/napari/commits?author=tibuch) - tibuch
  - [Ziyang Liu](https://github.com/napari/napari/commits?author=potating-potato) - potating-potato

0.4.12rc2


        

0.4.12rc1


        

0.4.12rc0


        

0.4.11

We're happy to announce the release of napari 0.4.11!
  napari is a fast, interactive, multi-dimensional image viewer for Python.
  It's designed for browsing, annotating, and analyzing large multi-dimensional
  images. It's built on top of Qt (for the GUI), vispy (for performant GPU-based
  rendering), and the scientific Python stack (numpy, scipy).
  
  
  For more information, examples, and documentation, please visit our website:
  https://github.com/napari/napari
  
  Highlights
  
  This release introduces ways to interact with data in 3D (3037). Features like
  label picking (3074) and label painting/erasing (3108) now work in 3D, but
  these are just the beginning! We're excited to see new ways of annotating 3D
  data appear in napari! For more details, please see the documentation at
  [https://napari.org/guides/stable/3D_interactivity.html](https://napari.org/guides/stable/3D_interactivity.html).
  Many thanks to Alister Burt and Kevin Yamauchi for their foundational work
  setting up the infrastructure for these features.
  
  Our volume rendering functionality has been significantly improved and now
  includes the ability to render arbitrary planes through volumes (3023) and add
  clipping planes to restrict rendering to a region of interest (3140). For now,
  these features are marked as `experimental` and the API around their use is
  likely to change in future versions of napari. We've also greatly improved how
  depth is handled across our visuals to fix some artifacts, see 3181 and
  3265. Thanks to Alister Burt, Lorenzo Gaifas, and Kevin Yamauchi for this
  work.
  
  Last but not least, some common operations are now much more accessible from
  the GUI thanks to a new context menu on the layer list (2556 and 3028) and
  buttons for controlling image contrast limit scaling (3022). Thanks to Talley
  Lambert for these features!
  
  Read on below for the full list of new features, improvements, bug fixes, and
  more! Thanks to our incredible user and contributor community.
  
  
  New Features
  
  - Add context menu on layer list, introduce `QtActionContextMenu`. (2556)
  - Add activity dialog and style progress bars (2656)
  - Add playback options to settings (2933)
  - Refactor settings manager to allow setting all preferences with env vars and context managers (2932)
  - Add autoscale modes to image layer model, and buttons to GUI (3022)
  - Arbitrary plane rendering prototype (3023)
  - Add projections to layer context menu, allow grouping and nesting of menu items (3028)
  - Add napari_experimental_provide_theme hook specification (3034)
  - Add view ray and labels selection in 3D (3037)
  - Add `add_<shape_type>` method for each shape type (3076)
  - Grid mode popup (3084)
  - Fix stubgen and package stubs in wheel/sdists (3105)
  - Add 3D fill, "mill", and "print" on top of 3074 (3108)
  - Add positive tail length to tracks layer (3138)
  - Arbitrary clipping planes for volumes in the image layer (3140)
  - Mask image from points layer (3151)
  - Add .npy reader to builtin reader (3271)
  
  
  Improvements
  
  - Add `assign_[plugin]_to_extension` methods on plugin_manager.  (2695)
  - Use QDoubleRangeSlider from superqt package (2752)
  - Use labeled sliders from superqt (2753)
  - Shortcuts UI (2864)
  - Convert TextManager to an EventedModel (2885)
  - Make maximum brush size flexible (2901)
  - Allow layer to register action on double clicks. (2907)
  - Reduce numpy array traceback print (2910)
  - Provide manual deepcopy implementation for translations strings. (2913)
  - Make Points construction with properties consistent with setting properties (2916)
  - Add search field to plugin dialog  (2923)
  - Add initital support to install from conda/mamba (2943)
  - Shape Mouse refactor (2950)
  - Make handling properties more consistent across some layer types (2957)
  - Labels paintbrush now takes anisotropy into account (2962)
  - Remove mode guards for selection interactions in points (2982)
  - Emit data event when moving, adding or removing shapes or points (2992)
  - Add TypedMutableMapping and EventedDict (2994)
  - Add isosurface rendering to Labels (3006)
  - Remove mentions of _mode_history (2987) (3008)
  - Change opacity slider to float slider (3016)
  - Refactor the Point, Label and Shape Layer Mode logic. (3050)
  - Make flash effect feel more instant (3060)
  - Use enum values internally for settings. (3063)
  - Update vendored volume visual from vispy (3064)
  - Allow for multiple installs and update buttons to reflect state (3067)
  - Unify plugin wording and installer dialog to display only package/plugins (3071)
  - 3D label picking and label ID in status bar (3074)
  - Store unmaximized size if napari closes maximized (3075)
  - Change shapes default edge color to middle gray (3113)
  - Change default text overlay color to mid grey (3114)
  - Add 3D get_value to Shapes (3117)
  - Replace custom signals to accept/reject (3120)
  - Remove old utils/settings/constants file (3122)
  - NAPARI_CATCH_ERRORS disable notification manager (3126)
  - Save files after launch from ipython (3130)
  - Don't try to read unknown formats in builtin reader plugin (3145)
  - Make current viewer accessible from the napari module (3149)
  - Rename `Layer.plane` to `Layer.slicing_plane` (3150)
  - Update new label action to work with tensorstore arrays (3153)
  - Always raise PluginErrors (3157)
  - Establish better YAML encoding for settings (fix enum encoding issue). (3163)
  - Move `get_color` call to after `all_vals` have been cleared (3173)
  - Prevent highlight widget from emitting constant signals (3175)
  - Refactor preferences dialog to take advantage of evented settings methods (3178)
  - Set gl_FragDepth in volume visual isosurface rendering (3181)
  - Use QElidingLabel from superqt (3188)
  - Move dock widgets in menu (3190)
  - Use `QLargeIntSpinBox` from superqt, remove internal one (3191)
  - Catch and prune connections to stale Qt callbacks in events.py (3193)
  - Add checkbox to handle global plugin enable/disabled state (3194)
  - Print warning if error formatting in the console fails instead of ignoring errors. (3201)
  - Ensure we save a copy of existing value for undo (3203)
  - Pull main window menu creation off of Window (3204)
  - Remove extra box on plugin dialog (3235)
  - Add instant hover tooltips (3242)
  - Clipping planes, generalized (3252)
  - Improve behavior when holding "shift" while editing shapes (3259)
  - Mesh depth (3265)
  - Make notification text selectable (3310)
  
  
  Bug Fixes
  
  - Fix notification manager threading test (2892)
  - Pycharm blocking fix (2905)
  - Fix windows 37 test (2909)
  - Fix docstring, and type annotate. (2912)
  - Don't raise exception when failing to save qt resources. (2919)
  - Dix invalid yaml for docs workflow (2920)
  - Fix use of `default_factory` in settings (2930)
  - Close Qt progress bars when viewer is closed (2931)
  - Degrade gracefully to default when colormap is not recognized (2936)
  - Fix magicgui registration and circular imports (2949)
  - Fix error in `Viewer.reset_view()` with vispy 0.7 (2958)
  - Addressing case where argument to get_default_shape_type is empty list, addresses issue 2960 (2961)
  - Fix nD anisotropic painting when scale is negative (2966)
  - Ensure new height of expanded notification is larger than current height (2981)
  - Gracefully handle properties with `object` dtype (2986)
  - Fix scale decomp with composite (2990)
  - Fix behavior of return/escape on preferences dialog to accept/cancel (2998)
  - Fix EventedDict (3011)
  - Use compression=('zlib', 1) for new tifffile (3040)
  - Fix saving preferences (3041)
  - Use non-deprecated colormap in viewer cmap test (3043)
  - Fix Labels layer controls checkbox labels (3046)
  - Fix Layer.affine assignment and broadcasting (3056)
  - Fix problem with assigning affine with negative entries to  pyramids (3088)
  - Fix stubgen and package stubs in wheel/sdists (3105)
  - Fix opacity slider on shapes (3109)
  - Fix empty points layer with color cycle (3110)
  - Fix point deletion bug (3119)
  - Fix for get_value() with mixed dims (3121)
  - Fix settings reset breaking connections (creating a new instance of nested sub-models) (3123)
  - Fix plane serialisation (3143)
  - Bugfix in labels erasing (3146)
  - Bug fix for undo history in 3D painting (3154)
  - Don't clear blocked plugins when closing preferences dialog (3164)
  - Revert `Points` `remove_selected` always overwriting `self._value` to `None` (3165)
  - Fix window geometry loading bug, and make `ApplicationSettings` types more accurate (3182)
  - Fix missing import in napari.__init__.pyi (3183)
  - Fix incorrect window position storage (3196)
  - Fix incorrect use of dims_order when 3D painting (3202)
  - Fix plugin settings restore and schema_version validation error in preferences dialog (3215)
  - Fix memory leak in napari (3217)
  - Disable space bar on layer list (3234)
  - Close napari window on Ctrl+C without geting window focus (3239)
  - Skip labeled sliders for <5.14 (3243)
  - Don't pass interpolation when creating a new projection layer (3247)
  - Prevent greedy dask array calculation when creating an Image layer (3248)
  - Fix plane normal inconsistency (3264)
  - Remove accidental print statement (3269)
  - Only change `labels` color mode in `color` setter if new `colors` are not default (3275)
  - Fix updating of plugins (3288)
  - Fix theme color setting on startup (3293)
  - Fix incorrect theme registration (3299)
  - Fix issubclass error in update_docs (3305)
  - Fix some divide-by-zeros (3320)
  - Fix connect_setattr to handle single arguments better (3324)
  - Fix objectName being an empty string (3326)
  - Fix napari.run aborting due to IPython being imported during script (3328)
  - Fix _old_size attribute error in main window (3329)
  
  API Changes
  
  - Remove brush shape (3047)
  - Enforce layer.metadata as dict (3020)
  - Use enum objects in EventedModel (3112)
  
  
  UI Changes
  
  - Remove keybindings dialog from help menu (3048)
  - Remove plugin sorter from plugin install dialog (3069)
  - Update Labels layer keybindings to be more ergonomic (3072)
  
  
  Build Tools, Tests, Documentation, and other Tasks
  
  - Add imagecodecs to the bundle to open additional tiffs (2895)
  - Make ordering of releases manual (2921)
  - Add alister burt to team page (2937)
  - Use briefcase 0.3.1 on all platforms (2980)
  - Move to Python 3.9 in the bundled application (2991)
  - Speedup one of the slowest test. (2997)
  - Update plugin guide with references and instructions for napari-hub (3055)
  - Skip progress indicator test when viewer is not shown (3065)
  - Add missing libraries in docker file and entrypoint (3081)
  - Update documentation regarding the hub (3091)
  - Block showing dialog in nongui test (3127)
  - Update about page (3134)
  - Adding new design issues template (3142)
  - Fix emoji for design template (3161)
  - Update design_related.md (3162)
  - Try to fix CI, change perfmon test strategy (3167)
  - Fix comprehensive tests (3168)
  - Fix `make_docs` action (3169)
  - Remove convert_app (3171)
  - Update team.md (3176)
  - Misc Doc format fixing (3179)
  - Add public meeting calendar to the docs (3192)
  - Don't start gui qt event loop when building docs (3207)
  - Add note detailing current octree support (3208)
  - Add napari_write_tracks to hook spec reference (3209)
  - Add 3d interactivity docs (3210)
  - Fix docs build again (3211)
  - Fix CI typing tests (3212)
  - Fix typo, add proper note markdown (3216)
  - Pooch bugfix (3218)
  - Update team.md (3237)
  - Add binder to repository and badge on README (3244)
  - Add extras_require for bundle deps (3255)
  - Pin support pkg revision macos (3266)
  - Exclude vispy 0.8.0 (3276)
  - Revert sys.exit(0) debugging (3277)
  - Bundle: export ARCH on Linux (3280)
  - DOC: misc edits/fixes in the developer guide (3296)
  - Update napari console dependency (3297)
  - Bundle: use python 3.8 on Windows (3300)
  - Bundle: add arch suffix to zip name (3302)
  - Fix headless test failure (3311)
  - Pin furo version (3315)
  - Update the affine parameter description in several classes (3319)
  
  
  21 authors added to this release (alphabetical)
  
  - [Abigail McGovern](https://github.com/napari/napari/commits?author=AbigailMcGovern) - AbigailMcGovern
  - [Alister Burt](https://github.com/napari/napari/commits?author=alisterburt) - alisterburt
  - [Andy Sweet](https://github.com/napari/napari/commits?author=andy-sweet) - andy-sweet
  - [Draga Doncila Pop](https://github.com/napari/napari/commits?author=DragaDoncila) - DragaDoncila
  - [Gonzalo Peña-Castellanos](https://github.com/napari/napari/commits?author=goanpeca) - goanpeca
  - [Grzegorz Bokota](https://github.com/napari/napari/commits?author=Czaki) - Czaki
  - [Jaime Rodríguez-Guerra](https://github.com/napari/napari/commits?author=jaimergp) - jaimergp
  - [Jordão Bragantini](https://github.com/napari/napari/commits?author=JoOkuma) - JoOkuma
  - [Juan Nunez-Iglesias](https://github.com/napari/napari/commits?author=jni) - jni
  - [Kevin Yamauchi](https://github.com/napari/napari/commits?author=kevinyamauchi) - kevinyamauchi
  - [Kira Evans](https://github.com/napari/napari/commits?author=kne42) - kne42
  - [Lia Prins](https://github.com/napari/napari/commits?author=liaprins-czi) - liaprins-czi
  - [Lorenzo Gaifas](https://github.com/napari/napari/commits?author=brisvag) - brisvag
  - [Lukasz Migas](https://github.com/napari/napari/commits?author=lukasz-migas) - lukasz-migas
  - [Marlene Elisa Da Vitoria Lobo](https://github.com/napari/napari/commits?author=marlene09) - marlene09
  - [Matthias Bussonnier](https://github.com/napari/napari/commits?author=Carreau) - Carreau
  - [Nathan Clack](https://github.com/napari/napari/commits?author=nclack) - nclack
  - [Nicholas Sofroniew](https://github.com/napari/napari/commits?author=sofroniewn) - sofroniewn
  - [Pam](https://github.com/napari/napari/commits?author=ppwadhwa) - ppwadhwa
  - [Talley Lambert](https://github.com/napari/napari/commits?author=tlambert03) - tlambert03
  - [Thanushi Peiris](https://github.com/napari/napari/commits?author=thanushipeiris) - thanushipeiris
  - [Volker Hilsenstein](https://github.com/napari/napari/commits?author=VolkerH) - VolkerH
  - [Ziyang Liu](https://github.com/napari/napari/commits?author=ziyangczi) - ziyangczi
  
  
  19 reviewers added to this release (alphabetical)
  
  - [Alister Burt](https://github.com/napari/napari/commits?author=alisterburt) - alisterburt
  - [Andy Sweet](https://github.com/napari/napari/commits?author=andy-sweet) - andy-sweet
  - [Draga Doncila Pop](https://github.com/napari/napari/commits?author=DragaDoncila) - DragaDoncila
  - [Genevieve Buckley](https://github.com/napari/napari/commits?author=GenevieveBuckley) - GenevieveBuckley
  - [Gonzalo Peña-Castellanos](https://github.com/napari/napari/commits?author=goanpeca) - goanpeca
  - [Jordão Bragantini](https://github.com/napari/napari/commits?author=JoOkuma) - JoOkuma
  - [Juan Nunez-Iglesias](https://github.com/napari/napari/commits?author=jni) - jni
  - [Kevin Yamauchi](https://github.com/napari/napari/commits?author=kevinyamauchi) - kevinyamauchi
  - [Kira Evans](https://github.com/napari/napari/commits?author=kne42) - kne42
  - [Lia Prins](https://github.com/napari/napari/commits?author=liaprins-czi) - liaprins-czi
  - [Lorenzo Gaifas](https://github.com/napari/napari/commits?author=brisvag) - brisvag
  - [Lucy Obus](https://github.com/napari/napari/commits?author=LCObus) - LCObus
  - [Lukasz Migas](https://github.com/napari/napari/commits?author=lukasz-migas) - lukasz-migas
  - [Matthias Bussonnier](https://github.com/napari/napari/commits?author=Carreau) - Carreau
  - [Nathan Clack](https://github.com/napari/napari/commits?author=nclack) - nclack
  - [Nicholas Sofroniew](https://github.com/napari/napari/commits?author=sofroniewn) - sofroniewn
  - [Pam](https://github.com/napari/napari/commits?author=ppwadhwa) - ppwadhwa
  - [Talley Lambert](https://github.com/napari/napari/commits?author=tlambert03) - tlambert03
  - [Ziyang Liu](https://github.com/napari/napari/commits?author=ziyangczi) - ziyangczi

0.4.11rc4


        

0.4.11rc3


        

0.4.11rc2


        

0.4.11rc1


        

0.4.11rc0


        

0.4.10

We're happy to announce the release of napari 0.4.10!
  napari is a fast, interactive, multi-dimensional image viewer for Python.
  It's designed for browsing, annotating, and analyzing large multi-dimensional
  images. It's built on top of Qt (for the GUI), vispy (for performant GPU-based
  rendering), and the scientific Python stack (numpy, scipy).
  
  
  For more information, examples, and documentation, please visit our website:
  https://github.com/napari/napari
  
  Highlights
  This is a fairly small release, that follows on quickly from 0.4.9 to fix a regression in
  our ability to save layer data (fixed in 2876). It also contains some improvements to our
  progress bars (in 2654) and how we compose affine and scale/translate transforms on the
  layers (in 2855).
  
  
  Improvements
  - Add nesting support for progress bars (2654)
  - Auto generate documentation for preferences (2672)
  - Add support for setting the settings configuration path via CLI and import (2760)
  - Minimal changes to support affine composition (2855)
  - Add ActionManager tests (2868)
  - Include the message in notification REPR. (2874)
  - Make `EventedModel` compatible with `dask.Delayed` objects (2879)
  - Add more shortcuts to settings (2882)
  
  
  Bug Fixes
  - Typo in action_manager.py (2869)
  - Tifffile compress' kwargs deprecated. Update to compression. (2872)
  - Fix save and update tests (2876)
  - Fix not saving values in settings when loaded from env variables (2877)
  - Fix ipython + visible console results in AttributeError (2881)
  - Fix for too-late magicgui type registration 2891
  
  API Changes
  - In 2855 we have now changed the composition behavior of the affine kwarg and the individual
  scale, translate, rotate, and shear kwargs on the layers. Before this release if affine was passed
  the others would be ignored. Now they will be composed as `affine * (rotate * shear * scale + translate)`.
  
  
  Build Tools
  - Call import-linter only in CI (2878)
  
  
  8 authors added to this release (alphabetical)
  
  - [alisterburt](https://github.com/napari/napari/commits?author=alisterburt) - alisterburt
  - [Andy Sweet](https://github.com/napari/napari/commits?author=andy-sweet) - andy-sweet
  - [Draga Doncila Pop](https://github.com/napari/napari/commits?author=DragaDoncila) - DragaDoncila
  - [Gonzalo Peña-Castellanos](https://github.com/napari/napari/commits?author=goanpeca) - goanpeca
  - [Grzegorz Bokota](https://github.com/napari/napari/commits?author=Czaki) - Czaki
  - [Matthias Bussonnier](https://github.com/napari/napari/commits?author=Carreau) - Carreau
  - [Pam](https://github.com/napari/napari/commits?author=ppwadhwa) - ppwadhwa
  - [Talley Lambert](https://github.com/napari/napari/commits?author=tlambert03) - tlambert03
  
  
  10 reviewers added to this release (alphabetical)
  
  - [alisterburt](https://github.com/napari/napari/commits?author=alisterburt) - alisterburt
  - [Andy Sweet](https://github.com/napari/napari/commits?author=andy-sweet) - andy-sweet
  - [Draga Doncila Pop](https://github.com/napari/napari/commits?author=DragaDoncila) - DragaDoncila
  - [Gonzalo Peña-Castellanos](https://github.com/napari/napari/commits?author=goanpeca) - goanpeca
  - [Grzegorz Bokota](https://github.com/napari/napari/commits?author=Czaki) - Czaki
  - [Juan Nunez-Iglesias](https://github.com/napari/napari/commits?author=jni) - jni
  - [Matthias Bussonnier](https://github.com/napari/napari/commits?author=Carreau) - Carreau
  - [Nicholas Sofroniew](https://github.com/napari/napari/commits?author=sofroniewn) - sofroniewn
  - [Pam](https://github.com/napari/napari/commits?author=ppwadhwa) - ppwadhwa
  - [Talley Lambert](https://github.com/napari/napari/commits?author=tlambert03) - tlambert03

0.4.10rc0


        

0.4.9

We're happy to announce the release of napari 0.4.9!
  napari is a fast, interactive, multi-dimensional image viewer for Python.
  It's designed for browsing, annotating, and analyzing large multi-dimensional
  images. It's built on top of Qt (for the GUI), vispy (for performant GPU-based
  rendering), and the scientific Python stack (numpy, scipy).
  
  
  For more information, examples, and documentation, please visit our website:
  https://github.com/napari/napari
  
  
  Highlights
  This release adds a couple nice new features like additional shading modes for our
  surface layer (2972) and the ability to copy a screenshot directly to the clipboard (2721).
  It also contains a variety of bug fixes and improvements.
  
  
  New Features
  - Add tooltip for labels (2658)
  - Added copy-to-clipboard functionality (2721)
  - Add `make watch` command for hot reload (2763)
  - Expose alternative shading modes for surfaces (2792)
  
  Improvements
  - Global plugin setting (2565)
  - Provide interface for progress bars in thread_workers (2655)
  - Delay all imports in `napari.__init__` behind module level `napari.__getattr__` (2662)
  - Add `block` to viewer.show (2669)
  - New type stubs PR, and simpler `napari.view_layers` module (2675)
  - Extend the action manager to work with layer. (2677)
  - Add `MultiScaleData` wrapper to give multiscale data a consistent API (2683)
  - Revert "add `MultiScaleData` wrapper to give multiscale data a consistent API (2683)" (2807)
  - Add repr-html to nbscreenshot (2740)
  - Set default highlight thickness to 2 (2746)
  - Save shortcuts in settings (2754)
  - Enable correct loading of settings from environment variables (2759)
  - Add tooltips to widgets in preferences (2762)
  - Improve colormap error message, when using display names or wrong colormap names (2769)
  - Add parent to console and dockwidgets in a separate private attribute. (2773)
  - Improve error message when legacy Qt installed from conda over pip (2776)
  - Add octree and async to preferences (2783)
  - Change remove to uninstall in plugin dialog (2787)
  - Update typing and checks with mypy for settings module (2795)
  - Do not write settings loaded from environment values (2797)
  - Update settings descriptions (2812)
  - Extend the action manager to support multiple shortcuts (2830)
  - Adds notes about multiscale only being 2D to docs (2833)
  - Set upper limit of Vectors spinboxes to infinity (2842)
  - Plugin dock widgets menu (2843)
  - Update to openGL max texture size (2845)
  - Followup to 2485 to add opengl context (2846)
  - Do not store default values in preference files (2848)
  
  
  Bug Fixes
  - Fix Labels and Points properties set (2657)
  - Fixing `add_dock_widget` compatibility with `magicgui v0.2` (2734)
  - Shortcuts: Render properly shortcuts with minus and space. (2735)
  - Fix runtime error when running doc tests on napari site (2738)
  - Fix play button with dask/zarr (2741)
  - Ignore opening 1D image layers in the viewer model. (2743)
  - Fix custom layer subclasses (don't require layer icon) (2758)
  - Add temporal fix for handling enums in qt_json_form (2761)
  - Use slicing rather than np.take in add_image (2780)
  - Fix paint cursor size for layer with negative scale (2788)
  - track_id dtype change. from uint16 to uint32 (2789)
  - Ensure aborted workers don't emit returned signal (2796)
  - Connect axes visual to dims range change (2802)
  - Add fix for large labels in new slices (2804)
  - Fix zoom for non square image (2805)
  - Implement lazy module importing for all public submodules (2816)
  - Coerce surface vertex data to float32 (2820)
  - Vendor shading filter from vispy (2821)
  - Small doc fixes (2822)
  - Fix key bindings display dialog (2824)
  - Work around numpy's string casting deprecation (2825)
  - Update translation strings (2827)
  - Fix keypress skipping layers in layerlist (2837)
  - Fix octree imports (2838)
  - Remove opacity from plugin sorter widget (2840)
  - Fix Labels.fill for tensorstore data (2856)
  - Be more robust for non-existant keybindings in settings (2861)
  - trans NameError bugfix (2865)
  
  
  Tasks
  - Add imports linting (2659)
  - Pre-commit update (2728)
  - Remove linenos option from code-blocks and line references (2739)
  - Remove qt from _qt import linter rule (2774)
  - Add PR labeler and update templates (2775)
  - Add pytest-order and move threading tests to the top of the suite (2779)
  - Auto assign PR to author (2794)
  - Typo in PR template (2831)
  
  
  12 authors added to this release (alphabetical)
  
  - [Ahmet Can Solak](https://github.com/napari/napari/commits?author=AhmetCanSolak) - AhmetCanSolak
  - [Alister Burt](https://github.com/napari/napari/commits?author=alisterburt) - alisterburt
  - [Andy Sweet](https://github.com/napari/napari/commits?author=andy-sweet) - andy-sweet
  - [Draga Doncila Pop](https://github.com/napari/napari/commits?author=DragaDoncila) - DragaDoncila
  - [Gonzalo Peña-Castellanos](https://github.com/napari/napari/commits?author=goanpeca) - goanpeca
  - [Grzegorz Bokota](https://github.com/napari/napari/commits?author=Czaki) - Czaki
  - [Jordão Bragantini](https://github.com/napari/napari/commits?author=JoOkuma) - JoOkuma
  - [Juan Nunez-Iglesias](https://github.com/napari/napari/commits?author=jni) - jni
  - [Lukasz Migas](https://github.com/napari/napari/commits?author=lukasz-migas) - lukasz-migas
  - [Matthias Bussonnier](https://github.com/napari/napari/commits?author=Carreau) - Carreau
  - [Pam](https://github.com/napari/napari/commits?author=ppwadhwa) - ppwadhwa
  - [Talley Lambert](https://github.com/napari/napari/commits?author=tlambert03) - tlambert03
  
  
  10 reviewers added to this release (alphabetical)
  
  - [Andy Sweet](https://github.com/napari/napari/commits?author=andy-sweet) - andy-sweet
  - [Draga Doncila Pop](https://github.com/napari/napari/commits?author=DragaDoncila) - DragaDoncila
  - [Gonzalo Peña-Castellanos](https://github.com/napari/napari/commits?author=goanpeca) - goanpeca
  - [Jordão Bragantini](https://github.com/napari/napari/commits?author=JoOkuma) - JoOkuma
  - [Juan Nunez-Iglesias](https://github.com/napari/napari/commits?author=jni) - jni
  - [Lukasz Migas](https://github.com/napari/napari/commits?author=lukasz-migas) - lukasz-migas
  - [Matthias Bussonnier](https://github.com/napari/napari/commits?author=Carreau) - Carreau
  - [Nicholas Sofroniew](https://github.com/napari/napari/commits?author=sofroniewn) - sofroniewn
  - [Pam](https://github.com/napari/napari/commits?author=ppwadhwa) - ppwadhwa
  - [Talley Lambert](https://github.com/napari/napari/commits?author=tlambert03) - tlambert03

0.4.9rc3


        

0.4.9rc2


        

0.4.9rc1


        

0.4.9rc0


        

0.4.8

We're happy to announce the release of napari 0.4.8!
  napari is a fast, interactive, multi-dimensional image viewer for Python.
  It's designed for browsing, annotating, and analyzing large multi-dimensional
  images. It's built on top of Qt (for the GUI), vispy (for performant GPU-based
  rendering), and the scientific Python stack (numpy, scipy).
  
  This release comes with a **big** change with how you use napari: you should no
  longer wrap viewer calls in the `with napari.gui_qt():` context. Instead, when
  you want to block and call the viewer, use `napari.run()`. A minimal example:
  
  python
  import napari
  from skimage import data
  
  camera = data.camera()
  viewer = napari.view_image(camera)
  napari.run()
  
  
  In interactive workspaces such as IPython and Jupyter Notebook, you should no
  longer need to use `%gui qt`, either: napari will enable it for you.
  
  For more information, examples, and documentation, please visit our website:
  https://napari.org
  
  Highlights
  
  This release adds a new plugin type (i.e. a hook specification) for plugins to
  provide sample data (2483). No more demos with `np.random`! 🎉 We've added a
  built-in sample data plugin for this using the scikit-image data module.
  Use it with `viewer.open_sample(plugin_name, sample_name)`, for example,
  `viewer.open_sample('scikit-image', 'camera')`. Or you can use the File
  menu at File -> Open Sample. For more on how to provide your own sample
  datasets to napari, see [how to write a
  plugin](https://napari.org/plugins/stable/for_plugin_developers.html) and the
  [sample data
  specification](https://napari.org/plugins/stable/hook_specifications.html#napari.plugins.hook_specifications.napari_provide_sample_data).
  
  The scale bar now has rudimentary support for physical units 📏 (2617). To use
  it, set your scale numerically as before, then use `viewer.scale_bar.unit =
  'um'`, for example.
  
  We have also added a text overlay, which you can use to display arbitrary text
  over the viewer (2595). You can use this to display time series time stamps,
  for example. Access it at `viewer.text_overlay`.
  
  Editing segmentations with napari is easier than ever now with varying number
  of dimensions during painting/filling with labels (2609). Previously, if you
  wanted to edit segmentations in a time series, you had to choose between
  painting 2D planes, or painting in 4D. Now you can edit individual volumes
  without affecting the others.
  
  If you launch a long running process from napari, you can now display a progress
  bar on the viewer (2580). You can find usage examples in the repo
  [here](https://github.com/napari/napari/blob/fa342dc399b636330afdb1b4cb58f919832651fd/examples/progress_bar_minimal.py)
  and
  [here](https://github.com/napari/napari/blob/fa342dc399b636330afdb1b4cb58f919832651fd/examples/progress_bar_segmentation.py).
  
  
  New Features
  
  - Add highlight widget to preferences dialog (2435)
  - Add interface language selection to preferences (2466)
  - Add Hookspec for providing sample data (2483)
  - Add ability to run file as plugin (2503)
  - Add `layer.source` attribute to track layer provenance (2518)
  - Add button to drop into debugger in the traceback viewer. (2534)
  - Add initial welcome screen on canvas (2542)
  - Text overlay visual (2595)
  - Add global progress wrapper and ProgressBar widget (2580)
  - Add FOV to camera model and slider popup (2636). Right click on the 2D/3D
  display toggle button to get a perspective projection view in 3D.
  
  Improvements
  
  - Add stretch to vertical dock widgets (2154)
  - Use new selection model on existing `LayerList` (2441)
  - Add bbox annotator example (2446)
  - Save last working directory (2467)
  - add name to dock widget titlebar (2471)
  - Add Qt`ListModel` and `ListView` for `EventedList` (2486)
  - New new qt layerlist (2493)
  - Move plugin sorter (2501)
  - Add support for passing `shape_type` through `data` attribute for `Shapes` layers (2507)
  - Add ColorManager to Vectors (2512)
  - Enhance translation methods (2517)
  - Cleanup plugins.__init__, better test isolation (2535)
  - Add typing to schema_version (2536)
  - Add initial restart implementation (2540)
  - Add data setter for `surface` layers (2544)
  - Extract shortcut into their own object. (2554)
  - Add example tying slider change to point properties change (2582)
  - Range of label spinbox is more dtype-aware (2597)
  - Add generic name to unnamed dockwidgets (2604)
  - Add option to save state separate from geometry (2606)
  - QtLargeIntSpinbox for label controls (2608)
  - Support varying number of dimensions during labels painting (2609)
  - Add units to the ScaleBar visual (2617)
  - Return widgets created by `add_plugin_dock_widget` (2635)
  - Add _QtMainWindow.current (2638)
  - Relax dask test (2641)
  - Add table header style (2645)
  - QLargeIntSpinbox with QAbstractSpinbox and python model (2648)
  - Add Labels layer `get_dtype` utility to account for multiscale layers (2679)
  - Display file format options when saving layers (2650)
  - Add events to plugin manager (2663)
  - Add napari module to console namespace (2687)
  - Change deprecation warnings to future warnings (2707)
  - Add strict_qt and block_plugin_discovery parameters to make_napari_viewer (2715)
  
  Bug Fixes
  
  - Ensure Preferences dialog can only be opened once (2457)
  - Restore QtNDisplayButton (2464)
  - Fix label properties setter (issue 2477) (2478)
  - Fix labels data setter (2496)
  - Fix localization for colormaps (2498)
  - Small brackets fix for Perfmon (2499)
  - Add try except on safe load (2505)
  - Be cautious when checking a module's __package__ attribute (2516)
  - Trigger label colormap generation on seed change to fix shuffle bug, addresses 2523 (2524)
  - Modified quaternion2euler function to cap the arcsin's argument by +-1 (2530)
  - Single line change to track recoloring function (2532)
  - Handle Escape on Preferences dialog (2537)
  - Fix close window handling for non-modals (2538)
  - Fix trans to use new API (2539)
  - Fix set_call_order with missing plugin (2543)
  - Update conditional to use new selection property (2557)
  - Fix visibility toggle (and other key events) in new qt layerlist (2561)
  - Delay importing plugins during settings registration (2575)
  - Don't create a dask cache if it doesn't exist (2590)
  - Update model and actions on menu (2602)
  - Fix z-index of notifications (hidden by welcome window) (2611)
  - Make sure Delete is a special key mapping (2613)
  - Disconnect some events on Canvas destruction (2615)
  - Add missing QSpinBox import in Labels layer controls (2619)
  - Use dtype.type when passing to downstream NumPy functions (2632)
  - Fix notifications when something other than napari or ipython creates QApp (2633)
  - Update missing translations for 0.4.8 (2664)
  - Catch dockwidget layout modification error (2671)
  - Fix warnings in thread_worker, relay messages to gui (2688)
  - Add missing setters for shape attributes (2696)
  - Add get_default_shape_type utility introspecting current shape type (2701)
  - Fix handling of exceptions and notifications of threading threads (2703)
  - Fix vertical_stretch injection and kwargs passing on DockWidget (2705)
  - Fix tracks icons, and visibility icons (2708)
  - Patch horizontalAdvance for older Qt versions (2711)
  - Fix segfaults in test (2716)
  - Fix napari_provide_sample_data documentation typo (2718)
  - Fix mpl colormaps (2719)
  - Fix active layer keybindings (2722)
  - Fix labels with large maximum value (2723)
  - Fix progressbar and notifications segfaults in test (2726)
  
  API Changes
  
  - By default, napari used to create a dask cache. This has caused unforeseen
  bugs, though, so it will no longer be done automatically. (2590) If you
  notice a drop in performance for your dask+napari use case, you can restore
  the previous behaviour with
  `napari.utils.resize_dask_cache(memory_fraction=0.1)`. You can of course also
  experiment with other values!
  - The default `area` for `add_dock_widget` is now `right`, and no longer `bottom`.
  - To avoid oddly spaced sparse widgets, 2154 adds vertical stretch to the
  bottom of all dock widgets added (via plugins or manually) with an `area`
  of `left` or `right`, *unless:*
  
  1) the widget, or any widget in its primary layout, has a vertical
  [`QSizePolicy`](https://doc.qt.io/qt-5/qsizepolicy.html#Policy-enum)
  of `Expanding`, `MinimumExpanding`, or `Ignored`
  
  1) `add_vertical_stretch=False` is provided to `add_dock_widget`,
  or in the widget options provided with plugin dock widgets.
  
  
  Deprecations
  
  - As noted at the top of these notes, `napari.gui_qt()` is deprecated (2533).
  Call `napari.run()` instead when you want to display the napari UI.
  
  UI changes
  
  - Toggle theme has been removed from the menubar. (2462) Instead, change the
  theme in the preferences panel.
  - The number of 2D interpolation options available from the drop down menu has
  been reduced. (2552)
  - The ipy interactive setting has been removed from the preferences panel.
  (2605) You can still turn it off from the API with
  `napari.utils.settings.SETTINGS.ipy_interactive = False`, but this is not
  recommended.
  - The `n-dimensional` tick box in the Labels layer controls has been removed.
  (2609) Use "n edit dims" instead.
  
  Documentation
  
  - Extend release notes: Add breaking API changes in 0.4.7 (2494)
  - Add about team page (2508)
  - Update translations guide (2510)
  - Misc Doc fixes. (2515)
  - Correct lenght for title underline. (2541)
  - Minor reformatting. (2555)
  - Automate doc copy (2562)
  - Pin docs dependencies (2568)
  - Example of using magicgui with thread_worker (2577)
  - Fix typo in docs CI (2588)
  - Only copy the autosummary templates (2600)
  - Documentation typos (2614)
  - Update event loop documentation for gui_qt deprecation (2639)
  - Example using matplotlib figure (2668)
  
  Build Tools and Support
  
  - Add a simple property-based test using Hypothesis (2469)
  - Add check for strings missing translations (2521)
  - Check if opengl file exists (2630)
  - Remove test warnings again, minimize output, hide more async stuff (2642)
  - Remove `raw_stylesheet` (2643)
  - Add link to top level project roadmap page (2652)
  - Replace pypa/pep517 with pypa/build (2684)
  - Add provide sample data hook to docs (2689)
  
  Other Pull Requests
  
  - Update PULL_REQUEST_TEMPLATE.md (2497)
  - Non-dynamic base layer classes (2624)
  
  
  19 authors added to this release (alphabetical)
  
  - [alisterburt](https://github.com/napari/napari/commits?author=alisterburt) - alisterburt
  - [Chris Barnes](https://github.com/napari/napari/commits?author=clbarnes) - clbarnes
  - [Draga Doncila Pop](https://github.com/napari/napari/commits?author=DragaDoncila) - DragaDoncila
  - [Fifourche](https://github.com/napari/napari/commits?author=Fifourche) - Fifourche
  - [Genevieve Buckley](https://github.com/napari/napari/commits?author=GenevieveBuckley) - GenevieveBuckley
  - [Gonzalo Peña-Castellanos](https://github.com/napari/napari/commits?author=goanpeca) - goanpeca
  - [Grzegorz Bokota](https://github.com/napari/napari/commits?author=Czaki) - Czaki
  - [Jordão Bragantini](https://github.com/napari/napari/commits?author=JoOkuma) - JoOkuma
  - [Juan Nunez-Iglesias](https://github.com/napari/napari/commits?author=jni) - jni
  - [Kevin Yamauchi](https://github.com/napari/napari/commits?author=kevinyamauchi) - kevinyamauchi
  - [Kira Evans](https://github.com/napari/napari/commits?author=kne42) - kne42
  - [Lukasz Migas](https://github.com/napari/napari/commits?author=lukasz-migas) - lukasz-migas
  - [Matthias Bussonnier](https://github.com/napari/napari/commits?author=Carreau) - Carreau
  - [Pam Wadhwa](https://github.com/napari/napari/commits?author=ppwadhwa) - ppwadhwa
  - [Robert Haase](https://github.com/napari/napari/commits?author=haesleinhuepf) - haesleinhuepf
  - [Talley Lambert](https://github.com/napari/napari/commits?author=tlambert03) - tlambert03
  - [Volker Hilsenstein](https://github.com/napari/napari/commits?author=VolkerH) - VolkerH
  - [Wilson Adhikari](https://github.com/napari/napari/commits?author=wadhikar) - wadhikar
  - [Zac Hatfield-Dodds](https://github.com/napari/napari/commits?author=Zac-HD) - Zac-HD
  
  
  20 reviewers added to this release (alphabetical)
  
  - [alisterburt](https://github.com/napari/napari/commits?author=alisterburt) - alisterburt
  - [Chris Barnes](https://github.com/napari/napari/commits?author=clbarnes) - clbarnes
  - [Draga Doncila Pop](https://github.com/napari/napari/commits?author=DragaDoncila) - DragaDoncila
  - [Emil Melnikov](https://github.com/napari/napari/commits?author=emilmelnikov) - emilmelnikov
  - [Fifourche](https://github.com/napari/napari/commits?author=Fifourche) - Fifourche
  - [Genevieve Buckley](https://github.com/napari/napari/commits?author=GenevieveBuckley) - GenevieveBuckley
  - [Gonzalo Peña-Castellanos](https://github.com/napari/napari/commits?author=goanpeca) - goanpeca
  - [Grzegorz Bokota](https://github.com/napari/napari/commits?author=Czaki) - Czaki
  - [Jeremy Asuncion](https://github.com/napari/napari/commits?author=codemonkey800) - codemonkey800
  - [Jordão Bragantini](https://github.com/napari/napari/commits?author=JoOkuma) - JoOkuma
  - [Juan Nunez-Iglesias](https://github.com/napari/napari/commits?author=jni) - jni
  - [Justine Larsen](https://github.com/napari/napari/commits?author=justinelarsen) - justinelarsen
  - [Kevin Yamauchi](https://github.com/napari/napari/commits?author=kevinyamauchi) - kevinyamauchi
  - [Kira Evans](https://github.com/napari/napari/commits?author=kne42) - kne42
  - [Lukasz Migas](https://github.com/napari/napari/commits?author=lukasz-migas) - lukasz-migas
  - [Matthias Bussonnier](https://github.com/napari/napari/commits?author=Carreau) - Carreau
  - [Nicholas Sofroniew](https://github.com/napari/napari/commits?author=sofroniewn) - sofroniewn
  - [Pam](https://github.com/napari/napari/commits?author=ppwadhwa) - ppwadhwa
  - [Robert Haase](https://github.com/napari/napari/commits?author=haesleinhuepf) - haesleinhuepf
  - [Talley Lambert](https://github.com/napari/napari/commits?author=tlambert03) - tlambert03

0.4.8rc6


        

0.4.8rc5


        

0.4.8rc4


        

0.4.8rc3


        

0.4.8rc2


        

0.4.8rc1


        

0.4.8rc0


        

0.4.7

We're happy to announce the release of napari 0.4.7!
  napari is a fast, interactive, multi-dimensional image viewer for Python.
  It's designed for browsing, annotating, and analyzing large multi-dimensional
  images. It's built on top of Qt (for the GUI), vispy (for performant GPU-based
  rendering), and the scientific Python stack (numpy, scipy).
  
  
  For more information, examples, and documentation, please visit our website:
  https://github.com/napari/napari
  
  Highlights
  
  After nearly a year of planning, thanks to help from the fine folks at
  [Quansight](http://labs.quansight.org/), napari now has a preferences dialog!
  (2211). It's a little sparse at the moment but we look forward to meeting all
  your customization needs!
  
  Thanks to Matthias Bussonnier and Talley Lambert, we've also improved our
  notification handling and can now show tracebacks in our error notifcations in
  the GUI!
  
  You can now use PyData/Sparse arrays as labels layers, thanks to work by Draga
  Doncila Pop (across both napari and sparse itself) and Juan Nunez-Iglesias.
  This is useful when painting labels across large volumes/time series. As a
  side-benefit of this work, undo when painting labels now works across the full
  volume rather than only in the currently-visible plane. (2339, 2396,
  pydata/sparse435 and related PRs)
  
  We've also continued to make improvements to our experimental octree support,
  which now supports single scale tiled loading (2372, 2391). It is still
  2D-only but continues to improve!
  
  Last but not least, this is the first release since we launched our new website
  at https://napari.org, powered by Jupyter Book! Check it out! Huge thanks to
  Kira Evans, Talley Lambert, Lia Prins, Genevieve Buckley, and others who
  contributed (and continue to contribute) to our efforts to improve our
  documentation.
  
  See below for the full list of changes.
  
  New Features
  - Notification Manager  (2205)
  - Add preference dialog (2211)
  - Make napari strings localizable (2429)
  
  Documentation
  - Add profiling documentation (1998)
  - Add release note about pydantic viewermodel (2334)
  - Broken link fixed for Handling Code of Conduct Reports (2342)
  - Update nbscreenshot docstring (2395)
  - Clarify benchmark docs (2431)
  - Make structural doc changes to better align with sitemap (2404)
  
  Improvements
  - ColorManager take 2 (w/ pydantic) (2204)
  - Add basic selection model (2293)
  - Tooltips2 (2310)
  - Add a font size preview slider widget (2318)
  - Read multiple page from pypi (2335)
  - Use fancy indexing rather than full slices for label editing undo (2339)
  - Consolidate polygon base object (2344)
  - Use not mutable fields on Viewer where appropriate (2346)
  - Generic Button to toggle state. (2359)
  - Make `add_plugin_dock_widget` public, add CLI option (2360)
  - Add spiral indexing to bring in tiles at center of FOV first (2363)
  - Improve octree coverage process (2366)
  - Single scale tiled rendering (2372)
  - Add notification settings, add back console notifications (2377)
  - ipython embed example (2378)
  - Add contrast limits estimate for large plane (2381)
  - Discover dock widgets during get info (2385)
  - Add example of 2D, single-scale tiled rendering (2391)
  - Preference screen size (2399)
  - Add support for octree labels (2403)
  - Auto-enable gui qt when in IPython (2406)
  - Allow no vertex values to be passed to surface layer (2408)
  - Add base shape outline for single scale tiled (2414)
  - Change raw_to_displayed to only compute colours for all labels when required (2415)
  - Highlight widget (2424)
  - Remove brush shape from label UI (2426)
  - Remember Preferences dialog size. (2434)
  - `Selectable` mixin and `SelectableEventedList` (2439)
  - Unify evented/nestedEvented list APIs (2440)
  - Pretty-settings (2448)
  - Add a button to Qt Error Notification to show tracebacks (2452)
  - Update preferences dialog style to match designs (2456)
  
  Bug Fixes
  - Fix initialization of an empty Points layer (2341)
  - Fix octree clim (2349)
  - Fix json encoder inheritance on nested submodels for pydantic>=1.8.0 (2357)
  - Fix shortcut to toggle grid. (2358)
  - Fix rgb for octree (2362)
  - Fix deleting points data in viewer (2383)
  - Close floating docks on close event (2397)
  - Handle None settings on load (2398)
  - Fix preference cancel (2410)
  - Fix shapes data setter (2411)
  - Fix nd text on shapes layer (2412)
  - Fix overly sensitive Points layer dragging (2413)
  - Fix points delete (2419)
  - Fix empty layer text (2420)
  - Fix env-dependent test errors, remove warnings (2421)
  - Fix Labels `save_history` benchmark (2430)
  - Fix packaging (2436)
  - Fix numpy warnings (2438)
  - Fix some translation formatting (2453)
  - Remove extra remove window action from window menu and use file menu
  instead (2454)
  - Fix translation II (2455)
  - Fix for constant warning when using label brush (2460)
  - Restore QtNDisplayButton (2464)
  
  API Changes
  
  - Using `layer.get_status()` without an argument was deprecated in version
  0.4.4 and is removed in this version. Instead, use
  `layer.get_status(viewer.cursor.position, world=True)` (2443).
  - `layer.status` was deprecated in version 0.4.4 and is removed in this
  version. Instead, use `layer.get_status(viewer.cursor.position, world=True)`
  (2443).
  
  Deprecations
  
  We are moving to a model in which layers don't know about the cursor or current
  view, resulting in the following two deprecations:
  
  - `layer.displayed_coordinates` is deprecated (2327). Instead, use
  `[layer.coordinates[d] for d in viewer.dims.displayed]`
  - `layer.position` and `layer.coordinates` are deprecated (2443). Instead, use
  `viewer.cursor.position` for the position in world coordinates, and
  `layer.world_to_data(viewer.cursor.position)` for the position in data
  coordinates.
  
  We have also deprecated the `napari.qt.QtNDisplayButton`. Instead a more general
  `napari.qt.QtStateButton` is provided.
  
  Build Tools and Support
  - Add environment flag for sparse library (2396)
  - re-add plausible (2433)
  
  
  14 authors added to this release (alphabetical)
  
  - [alisterburt](https://github.com/napari/napari/commits?author=alisterburt) - alisterburt
  - [DenisSch](https://github.com/napari/napari/commits?author=DenisSch) - DenisSch
  - [Draga Doncila Pop](https://github.com/napari/napari/commits?author=DragaDoncila) - DragaDoncila
  - [Gonzalo Peña-Castellanos](https://github.com/napari/napari/commits?author=goanpeca) - goanpeca
  - [Grzegorz Bokota](https://github.com/napari/napari/commits?author=Czaki) - Czaki
  - [Juan Nunez-Iglesias](https://github.com/napari/napari/commits?author=jni) - jni
  - [Kevin Yamauchi](https://github.com/napari/napari/commits?author=kevinyamauchi) - kevinyamauchi
  - [Kira Evans](https://github.com/napari/napari/commits?author=kne42) - kne42
  - [Lorenzo Gaifas](https://github.com/napari/napari/commits?author=brisvag) - brisvag
  - [Matthias Bussonnier](https://github.com/napari/napari/commits?author=Carreau) - Carreau
  - [Nicholas Sofroniew](https://github.com/napari/napari/commits?author=sofroniewn) - sofroniewn
  - [Pam](https://github.com/napari/napari/commits?author=ppwadhwa) - ppwadhwa
  - [Talley Lambert](https://github.com/napari/napari/commits?author=tlambert03) - tlambert03
  - [ziyangczi](https://github.com/napari/napari/commits?author=ziyangczi) - ziyangczi
  
  
  12 reviewers added to this release (alphabetical)
  
  - [Draga Doncila Pop](https://github.com/napari/napari/commits?author=DragaDoncila) - DragaDoncila
  - [Gonzalo Peña-Castellanos](https://github.com/napari/napari/commits?author=goanpeca) - goanpeca
  - [Grzegorz Bokota](https://github.com/napari/napari/commits?author=Czaki) - Czaki
  - [Juan Nunez-Iglesias](https://github.com/napari/napari/commits?author=jni) - jni
  - [Kevin Yamauchi](https://github.com/napari/napari/commits?author=kevinyamauchi) - kevinyamauchi
  - [Lorenzo Gaifas](https://github.com/napari/napari/commits?author=brisvag) - brisvag
  - [Matthias Bussonnier](https://github.com/napari/napari/commits?author=Carreau) - Carreau
  - [Nicholas Sofroniew](https://github.com/napari/napari/commits?author=sofroniewn) - sofroniewn
  - [Pam](https://github.com/napari/napari/commits?author=ppwadhwa) - ppwadhwa
  - [Talley Lambert](https://github.com/napari/napari/commits?author=tlambert03) - tlambert03
  - [Thomas A Caswell](https://github.com/napari/napari/commits?author=tacaswell) - tacaswell
  - [ziyangczi](https://github.com/napari/napari/commits?author=ziyangczi) - ziyangczi

0.4.7rc1