Skip to content

Latest commit

 

History

History
850 lines (705 loc) · 47 KB

CHANGELOG.md

File metadata and controls

850 lines (705 loc) · 47 KB

Changelog

2021.8.9 (3 August 2021)

Enhancements

  1. Updated the preview to run by line in native notebooks. Set the jupyter.experimental.debugging setting to true, install ipykernel 6 on your selected kernel and a Run by Line button will appear on cell toolbars. Pressing it will start a lightweight debugging session and let you run the cell line by line. (#5607)

Fixes

  1. Restore plotviewer in Native Notebooks. (#6315)
  2. Fix debugging in Interactive Window when using IPyKernel 6. (#6534)
  3. Add a placeholder Python 3 kernel if user doesn't have any Python interpreters, with ability to notify user to install Python extenssion or Python runtime. (#5864)
  4. Fixes to completion items received from Jupyter. (#5956)
  5. Run all and restarting does not actually interrupt the rest of the running cells. (#5996)
  6. Remove popup tip that indicates to users the kernel picker is in the bottom right. (#6016)
  7. Ensure Pyspark kernels are listed. (#6316)
  8. Fix problem where the active interpreter is not being used for the interactive window when not running with raw kernel. (#6409)
  9. Ctrl+Enter in native notebooks should put cell into command mode immediately, then run the cell. (#6582)
  10. List non-traditional (not using ipykernel) global Python kernelspecs. (#6622)
  11. Clone the Notebook metadata before udpating it. (#6624)
  12. Format the readme to render correctly on the VS Code extensions side bar. Thanks jyooru! (#6648)
  13. Ensure we get Jupyter Server info correctly in Python 3.6. (#6738)
  14. List kernels in situations where extension is installed after opening a notebook. (#6824)

Thanks

Thanks to the following projects which we fully rely on to provide some of our features:

Also thanks to the various projects we provide integrations with which help make this extension useful:

Code Health

2021.8.1 (19 July 2021)

Fixes

  1. Fix for kernel not starting with correct path (causes DLL load and import modules failures). (#5833)

2021.8.0 (8 July 2021)

Enhancements

  1. In preview native notebooks UI, contribute L keybinding to toggle line numbers for the current cell, and shift+L keybinding to toggle line numbers for all cells. (#4438)
  2. Add xarray arrays to Data Viewer. (#5590)
  3. When editing a markdown cell in preview native notebooks UI, contribute ctrl+enter keybinding to render current markdown cell, and shift+enter to render current markdown cell and skip to the next cell. (#5976)
  4. Contribute extension-level shift+enter keybinding to execute current code cell and select below in preview native notebooks UI. (#6037)
  5. Added ability to save plots in the preview native notebooks UI. (#6183)
  6. Added a preview to run by line and debugging in native notebooks. Set the jupyter.experimental.debugging setting to true, install ipykernel 6 on your selected kernel and a debug button will appear. Pressing it will start a debugging session and let you set and hit breakpoints. (#5607)
  7. Add jupyter.enableNativeInteractiveWindow setting to opt into the preview native interactive window experience, with support for VS Code customizations like keybindings, themes, snippets and more.(#1388)

Fixes

  1. Fix problems loading other language kernels in the Interactive Window and in non insiders webviews. (#893)
  2. Only ask user to switch to "perFile" mode if "jupyter.interactiveWindowMode": "multiple" and they have submitted code from two different source files. (#5471)
  3. On remote connections check for new or removed LiveKernelConnections on document open. (#5984)
  4. In preview native notebooks interface, show editor title buttons only when "notebook.globalToolbar" setting is set to false. (#6019)
  5. Ship require.js with our notebook preloads and renderers. (#6034)
  6. Save output in *.ipynb even when output is created without any Jupyter output metadata. (#6192)
  7. In preview native notebooks interface, contribute ctrl+enter keybinding which puts the current cell into control mode instead of leaving it in edit mode after running. (#6198)
  8. Fix interrupt button in Native Notebook toolbar. (#6254)
  9. Fix problem where the active interpreter is not being used for the interactive window when not running with raw kernel. (#6409)

Code Health

  1. Add doc switching variable view tests for native notebooks. (#4355)
  2. Fix 'Restarting kernel will cancel cell execution & we can re-run a cell' test. (#6139)
  3. Restore GitHub token access for CodeQL, issue locking and issue assignment workflows. (#6170)
  4. Fix flake notebookAndWebview test. (#6234)

Thanks

Thanks to the following projects which we fully rely on to provide some of our features:

Also thanks to the various projects we provide integrations with which help make this extension useful:

2021.6.999 (16 June 2021)

Fixes

  1. On remote connections check for new or removed LiveKernelConnections on document open. (#5984)
  2. When editing a markdown cell in preview native notebooks UI, contribute ctrl+enter keybinding to render current markdown cell, and shift+enter to render current markdown cell and skip to the next cell. (#5976)
  3. In preview native notebooks UI, contribute L keybinding to toggle line numbers for the current cell, and shift+L keybinding to toggle line numbers for all cells. (#4438)
  4. Contribute extension-level shift+enter keybinding to execute current code cell and select below in preview native notebooks UI. (#6037)
  5. In preview native notebooks interface, contribute ctrl+enter keybinding which puts the current cell into control mode instead of leaving it in edit mode after running. (#6198)
  6. Fix interrupt button in Native Notebook toolbar. (#6254)

Code Health

  1. Fix 'Restarting kernel will cancel cell execution & we can re-run a cell' test. (#6139)

2021.6.99 (8 June 2021)

Enhancements

  1. Data Viewer Filter Rows must use explicit wildcards to search for substrings in string filters. For example, filtering by "stable" will not show the value "unstable" anymore, but filtering by "*stable" will show "stable" and "unstable". (#1142)
  2. Sort variables by name and type in variable explorer. (#4585)
  3. Limit languages dispalyed in the Cell language picker to languages supported by the kernel. (#5580)
  4. Move native notebooks cell toolbar to the left by default. (#5605)
  5. Display modal dialog box (so users don't miss this) when IPyKernel (or Jupyter) is missing (required to run Python in Interactive Window or Notebooks). (#5798)
  6. Add support for Virtual Workspaces. (#5803)
  7. Losslessly compressed PNG images to save ~20KB. (thanks Christopher Yeh) (#5869)
  8. Adopt notebook/toolbar contribution point for native notebooks. (#5954)
  9. Tweak variable view fit and finish to match VS Code. (#5955)
  10. Replace 'Run cells above' and 'Run cell and below' commands and cell toolbar buttons with VS Code's built-in 'Execute Above Cells' and 'Execute Cell And Below' commands and unified run button. (#6025)

Fixes

  1. Update/reinstall if module such as IPyKernel was installed once before or already exists. (#4758)
  2. Stop listing default kernelspecs in kernel picker. (#5445)
  3. Store interpreter information in notebook metadata instead of the generated kernelspec name. (#5612)
  4. Restore the Run Above/Below cells command in Command Palette. (#5746)
  5. Migrate 'workbench.editorAssociations' setting to new format. (#5806)
  6. Add ABCMeta and type to variable explorer exclude list. (#5865)
  7. Blank Python notebooks do not use active interpreter. (#5874)
  8. Change language of cell to reflect langauges supported by the selected Kernel. (#5924)
  9. Resolve issue related to Interrupt button vanishing when tabbing across notebooks while a cell is being executed. (#5925)
  10. Delete encrypted storage in a try catch to avoid errors. (#5934)
  11. Support new renderer API in Jupyter. (#5952)
  12. Hide kernels belonging to deleted Python environments from kernel picker. (#6164)

Code Health

  1. Error category for unsupported kernelspec file args. (#5492)
  2. Fix basic execution issues with nonConda 'remote' and nonConda 'local' test suites. (#5660)
  3. Update to new message API for native notebook preloads. (#5753)
  4. Rename of onDidChangeCellExecutionState. (#5809)
  5. Fix functional ipywidget tests. (#5842)
  6. When using remote Jupyter connections pre-fetch kernels only when opening a notebook. (#5846)
  7. Removed execution isolation script. (#5931)
  8. VSCode API naming changes for NotebookCellExecution, NotebookRendererScript. (#6014)
  9. API Changes viewType => notebookType and notebook namespace to notebooks. (#6046)
  10. Update test init code to use window and not notebook for editor properties. (#6098)
  11. Support the new renderer API in jupyter extension. (#6118)
  12. Update to new notebookcontroller selection function name. (#6121)
  13. Inline execution handler change to notebook API. (#6137)

Thanks

Thanks to the following projects which we fully rely on to provide some of our features:

Also thanks to the various projects we provide integrations with which help make this extension useful:

2021.6.0 (05 May 2021)

Enhancements

  1. Manage contributed Jupyter kernels registration. (#4490)
  2. Update variable explorer icon. (#5355)
  3. Add keybind 'O' to toggle the output of all selected cells in a notebook. (#5425)
  4. Recommend extensions when opening notebooks targeting specific languages. (#5577)

Fixes

  1. Restore the Intellisense documentation on custom editor notebook. (#5124)
  2. Upgrade vega-transforms and support vegalite v4. (#5149)
  3. Add a 10 minute delay to surveys. (#5261)
  4. Display formatted markdown description for jupyter.variableQueries setting in settings UI. (#5289)
  5. Pass remote Jupyter server's default kernelspec name in remote kernel connection. (#5290)
  6. Ensure data viewer grid is resized when slice panel is toggled so that horizontal scrollbar remains visible. (#5309)
  7. When 3rd party CDN downloads need to be enabled for ipywidgets support, display More Info and Enable Downloads buttons instead of embedding them as links in the message. (#5352)
  8. Fix the output link in the kernel timeout message. (#5360)
  9. Stop asking users to install ipykernel on autostart, only do it when a cell is run. (#5368)
  10. Fix for 'Export as Python Script' option not appearing. (#5403)
  11. Update to remove usage of .cells property from NotebookDocument. Also update TextDocument with notebook property and QuickPick. (#5417)
  12. Delete extension context secrets if we get an error when getting them. Small fixes on error handling. (#5419)
  13. When native notebook is untrusted, do not allow cell execution and prompt to trust. (#5436)
  14. Resize the untrusted icon. (#5437)
  15. Save notebook metadata in ipynb even if the selected Kernel is provided by some other extension. (#5460)
  16. Invalidate cached interpreters when Python extension active interpreter changes. (#5470)
  17. Use interpreter information stored in kernelspec.json file when starting kernels. (#5495)
  18. Update to new selections API. (#5515)
  19. CellStatusBarItem update for Native Notebooks. Along with other breaking API changes. (#5527)
  20. Remove statusbar from Notebook Cells. (#5541)
  21. Hide Jupyter commands from other types of notebooks. (#5559)
  22. Update to newest vscode Notebook API changes. (#5598)
  23. Increase the width of the data viewer scrollbar. (#5610)
  24. Fix NameError: name '_VSCODE_InfoImport' is not defined when attempting to open the data viewer from 2 or more different scopes in a single debug session. (#5627)
  25. Use active interpreter when starting Kernels for Interactive Window. (#5628)
  26. Use download package to download widget scripts. (#5633)
  27. Start kernel if not already started when using Run cells above/below. (#5636)

Code Health

  1. Add functional test for large data in data viewer. (#5207)
  2. Pass NotebookDocument when invoking jupyter.notebookeditor.interruptkernel. (#5242)
  3. Remove data slicing experiment feature gate. (#5399)
  4. Ignore errors throw by VS Code when updating cell output during execution. (#5446)
  5. Improvements to telemetry used to check if we're not starting the right interpreter (for a Python kernel). (#5509)
  6. Add telemetry to check if we fail to update kernelspecs with environment variables. (#5547)
  7. Ensure canvas and playwright-chromium are setup as optional dependencies in package.json. (#5567)
  8. Fix tests after kernel push changes. (#5585)

Thanks

Thanks to the following projects which we fully rely on to provide some of our features:

Also thanks to the various projects we provide integrations with which help make this extension useful:

2021.5.1 (12 April 2021)

Code Health

  1. Check the responses of prompts for installation of missing packages such as IPyKernel. (#5432)

Fixes

  1. Fix for 'Export as Python Script' option not appearing. (#5403)
  2. Delete extension context secrets if we get an error when getting them. Small fixes on error handling. (#5419)
  3. Enable correct plot background for Native Notebooks. (#5353)
  4. Stop asking users to install ipykernel on autostart, only do it when a cell is ran. (#5368)
  5. Invalidate cached interpreters when Python extension active interpreter changes. (#5470)

2021.5.0 (31 March 2021)

Enhancements

  1. Be able to provide string argument to jupyter.execSelectionInteractive for extensibility. (thanks Andrew Craig) (#1689)

Fixes

  1. Jupyter variables tab will always be named 'Jupyter Variables'. (#4458)
  2. Variable view will stay as long as you have a notebook open (not necessarily active). (#4562)
  3. Add quotations to arguments with blank spaces when executing kernel processes. (#4647)
  4. Do not prompt to install Python extension when creating a blank notebook. (#4965)
  5. Cache the active workspace Python Interpreter. (#5004)
  6. Don't prewarm variables for global jupyter interpreter if ZMQ is supported. (#5009)
  7. When closing the Interactive Window, shutdown sessions started by Interactive Window. (#5030)
  8. Stop wrapping new errors if we threw the original error. (#5089)
  9. Ignore errors when getting the environment variables for a Python environment. (#5093)
  10. Revert viewsContainter name to Jupyter and view name to Variables to avoid un-named viewsContainer. (#5102)
  11. Ensure extensions depending on Jupyter do not fail to load if Jupyter extension fails to load. (#5145)
  12. Don't display the data science banner for non-Jupyter notebooks. (#5181)
  13. Don't use NotebookEditor.onDidDispose and support new err / out specific stream mime types. (#5191)
  14. Prevent unnecessary activation of the Python extension. (#5193)
  15. Update widget kernel for new NotebookOutputEventParams. (#5195)
  16. Updates to code used to run Python in an isolated manner. (#5212)
  17. Changes to proposed API for using resolveKernel instead of resolveNotebook. Since this change goes along with widget tests also renable and fix those tests. (#5217)
  18. Fix data viewer display of non-numeric index columns in DataFrames. (#5253)
  19. Display messages notifying user to enable support for CDNs when rendering IPyWidgets. (#5074)
  20. When reopening a newly created Notebook with a Julia kernel, the cells should be detected as Julia. (#5148)
  21. Support switching kernels in Native Notebooks when connecting to Jupyter. (#1215)
  22. Refactor how Kernels are searched and selected. (#4995)
  23. Fix run selection/line to work from the active editor (#5287)
  24. Update variable view to use the new API for native cell execution notification. (#5316)
  25. Ensure users in CodeSpaces do not get prompted to forward Kernel Ports. (#5283)
  26. Disable surveys in CodeSpaces. (#5295)
  27. Ensure Git diff viewer does not get replaced by Notebook Editor. (#633) (thanks Matt Bierner)

Code Health

  1. Ability to queue telemetry until all of the data required is available. (#4956)
  2. Fix variables test. We had a new import of sys, which was causing the variable fetching to have to do one extra fetch, pushing it over the limit to require a second chunk fetch. (#5016)
  3. Add tests for data viewer slice data functionality. (#5066)
  4. Remove setting jupyter.useNotebookEditor. (#5130)
  5. Enable debug logging by default. (#5238)

Thanks

Thanks to the following projects which we fully rely on to provide some of our features:

Also thanks to the various projects we provide integrations with which help make this extension useful:

2021.3.0 (3 March 2021)

Enhancements

  1. Add ability to view a slice of the current variable in the data viewer using either axis/index dropdowns or a slice expression input field. (#305)
  2. Enable refreshing active data viewer contents using Jupyter: Refresh Data Viewer command in the command palette, Cmd+R or Ctrl+R, or the refresh button in the editor title menu. (#1143)
  3. Always open the data viewer in the last view group that it was moved to. (#4689)
  4. Support for other extensions to provide a default language when creating new notebooks. (#4859)

Fixes

  1. Remove special casing to ignore warnings. (#1312)
  2. Allow jupyter kernels to not be handled by the jupyter extension. (#4423)
  3. Restore the 'Select a Kernel' command on the interactive window. (#4479)
  4. Correctly syntax color items in native variable view. (#4499)
  5. Don't ask for a kernel restart if the kernel was interrupted in native notebooks. (#4669)
  6. Popup a tip when opening a notebook for the first time. (#4775)
  7. Ensure we save the contents when closing a (webview based) notebook. (#4779)
  8. Stop sending cells executed silently to other extensions. (#4867)
  9. Do not prompt to install missing dependencies on GitHub Codespaces. (#4882)

Code Health

  1. Synchronously check if zmq is supported. (#4764)
  2. Telemetry to track the commands executed using ICommandManager. (#4926)
  3. More telemetry to track kernel failure reasons. (#4940)
  4. Add telemetry flag to differentiate between stable vs insider builds of the extension. (#4959)
  5. Add telemetry to check if we have started the right local Python kernel. (#4999)

Thanks

Thanks to the following projects which we fully rely on to provide some of our features:

Also thanks to the various projects we provide integrations with which help make this extension useful:

2021.2.1 (28 February 2021)

Fixes

  1. Popup a tip when opening a notebook for the first time. (#4775)
  2. Ensure we save the contents when closing a (webview based) notebook. (#4779)
  3. Allow kernels to not be handled by the jupyter extension. (#4423
  4. Enable native notebook if sync'd settings is forcing it. (#4845
  5. Fix 'Export as Notebook' not working after opening a notebook on a python file. (#4869

2021.2.0 (17 February 2021)

Enhancements

  1. Support multidimensional data in the data viewer. >2D dimensions are flattened, with the ability to double-click on a truncated cell to view the full value in a horizontally scrollable field. (#298)
  2. Support NaN, Inf, -Inf in data viewer. (#299)
  3. Support viewing PyTorch tensors and TensorFlow EagerTensors in variable explorer and data viewer. (#304)
  4. Show more detailed error messages when the kernel dies or times out. (#1254)
  5. Do not invoke requestKernelInfo when the Kernel.info property already contains this information. (#3202)
  6. Support rendering of outputs such as Plotly, Altair, Vega, and the like in Native Notebooks. (#3936)
  7. Add full Simplified Chinese translation. (thanks FiftysixTimes7) (#4418)
  8. Add a button to the native notebook toolbar to show the variable panel. Disable button when panel is already visible. (#4486)
  9. Users on AML Compute will automatically get the new Native Notebook experience. (#4550)
  10. Improved Tensor tooltips in Python files which have been run in the interactive window. (#302)
  11. Minimize number of icons on the notebook toolbar (put the rest in overflow). (#4730)
  12. Add survey for the new Notebooks experience experiment. (#4726)
  13. Don't overwrite the top level VS Code Save and Undo command keybindings. (#4527)

Fixes

  1. Added a progress notification when restarting the kernel. (#1197)
  2. Fix error with selecting jupyter server URI when no workspace open. (#4037)
  3. Fix Z (and CTRL+Z when using custom editor support) to update data model so that save works. (#4058)
  4. Preload font awesome for ipywidgets. (#4095)
  5. When comparing to existing running kernel only consider the kernelspec when launched via kernelspec. (#4109)
  6. Fix notebook cells running out of order (for VS code insiders notebook editor). (#4136)
  7. Support installing ipykernel when necessary in native notebooks. (#4153)
  8. __file__ variable is now set after changing kernel in the interactive window. (#4164)
  9. Fix support for IPyWidgets in Interactive Window. (#4203)
  10. Fix hover tips on notebooks (and the interactive window). (#4218)
  11. Fix problem with creating a blank notebook from the python extension start page. (#4242)
  12. Don't suppress whitespace at start of output for native notebooks. (#4254)
  13. Clear output of a cell if its executed while empty. (#4286)
  14. Wait for datascience code to activate when activating the extension. (#4295)
  15. Fix problem when run all cells an exception is thrown, cells can no longer be run. (#4309)
  16. Update trust icons. (#4338)
  17. Display trusted icon when a notebook is trusted. (#4339)
  18. Enable 'Run To Line', 'Run From Line' and 'Run Selection/Line in Interactive Window' on the editor context. The 'shift+enter' keybinding still follows the "jupyter.sendSelectionToInteractiveWindow" setting. (#4368)
  19. If a kernel refuses to interrupt ask the user if they want to restart instead. (#4369)
  20. Refresh variable explorer when docking is changed. (#4485)
  21. Correctly handle kernel restarts in native variable viewer. (#4492)
  22. All notebook commands should be prefixed with 'Notebook'. (#4494)
  23. Don't retain context on variable view. Update view with current execution count when made visible. (#4541)
  24. Remove unnecessary files from the VSIX that just take up space. (#4551)
  25. Support set_next_input message payload. (#4566)
  26. Fix the Variable Explorer height so the horizontal scroll bar is shown. (#4598)
  27. Allow viewing class instance variables in the data viewer. (#4606)
  28. Update message that recommends the python extension to a warning and mention it gives an enhanced experience. (#4615)
  29. Correctly hide old interpreters registered as kernels from the selector. (#4632)
  30. Allow installing python extension in codespaces. (#4664)
  31. Add notebook codicon for Juypter viewContainer. (#4538)
  32. Allow options to show native variable view only when looking at native notebooks. (#4761)
  33. Fix CTRL+ENTER and ALT+ENTER to behave as expected for a jupyter notebook. (#4713)
  34. If .NET interactive is installed, make sure to use the new notebook editor. (#4771)
  35. Only clean up a notebook editor when it's closed, not when the panel is disposed. (#4786)
  36. Fixes problem with duplicate jupyter kernels being generated. (#4720)

Code Health

  1. Deprecate src\client\datascience\kernel-launcher\helpers.ts. (#1195)
  2. Stop preloading requirejs in ipywidgets for native notebooks. (#4015)
  3. Add .vscode tests to test the new variable view. (#4355)
  4. Update CI to set xvfb correctly, and new test step that can do native notebooks + old webviews. (#4412)
  5. Run cells below test randomly failing on shutdown. (#4445)
  6. Fix julia test to pass. (#4453)
  7. Add UI side telemetry for variable view. (#4649)
  8. Prevent Winston logger from exiting the Extension Host when there are unhandled exceptions. (#4702)

Thanks

Thanks to the following projects which we fully rely on to provide some of our features:

Also thanks to the various projects we provide integrations with which help make this extension useful:

2020.12.1 (10 December 2020)

Fixes

  1. Fix support for IPyWidgets in Interactive Window. (#4203)

2020.12.0 (9 December 2020)

Enhancements

  1. Add support for IPyWidget in Native Notebooks. (#251)

Fixes

  1. Information in the interactive window is python specific. (#340)
  2. Allow user to cancel asking about logging level. (#348)
  3. Watch for any addition of the python extension, and don't suggest a full reload when it is added. (#405)
  4. Only offer to export to python script when the metadata specifies python as its language. (#407)
  5. Hide webview based Notebook command Select Kernel when a Notebook is opened using the new VS Code Native Notebook editor. (#426)
  6. Correctly pass the candidate interpreter when exporting. (#1363)
  7. __file__ variable not set after restarting kernel in the interactive window. (#1373)
  8. Fix the search path for Jupyter kernels on UNIX systems (thanks Giulio Girardi) (#3918)
  9. Fix the directory for exporting from the interactive window and notebooks to match the directory where the original file was created. (#3991)
  10. Fix variable fetching on remote machines that don't have our scripts files on them. (#4006)
  11. Display survey prompt once per session. (#4077)
  12. Guard against AttributeErrors in our DataViewer code. (#4082)
  13. Ensure user cannot belong to Custom Editor experiment is already in Native Notebook experiment. (#4105)
  14. Fix problems with code in UI getting out of sync with code being executed or saved to disk. (#1701)

Code Health

  1. Added an onCreated event to the Interactive Window provider so external buttons can appear on creation. (#413)
  2. Use notebookIdentity instead of the notebook when handling external buttons. It handles the case when the user doesn't autostart the kernel. (#414)

Thanks

Thanks to the following projects which we fully rely on to provide some of our features:

Also thanks to the various projects we provide integrations with which help make this extension useful:

2020.11.3 (03 December 2020)

Fixes

  1. Display survey prompt once per session. (#4077)

2020.11.2 (30 November 2020)

Fixes

  1. When removing our dynamically added editor associations always remove them if Native / Custom Editor is disabled, not just if we remember adding them. (#3988)
  2. Ensure survey prompt is not displayed multiple times.. (#4002)
  3. Migrate references to python.dataScience.* in when clauses of keybindings.json. (#1088)

Thanks

Thanks to the following projects which we fully rely on to provide some of our features:

Also thanks to the various projects we provide integrations with which help make this extension useful:

2020.11.1 (19 November 2020)

Fixes

  1. Interactive window input prompt does not allow any keyboard input. (#446)
  2. Support opening Notebooks using Native Notebook editor even if the Python extension is not installed. (#1074)
  3. Show kernel picker in the interactive window. (#411)

Thanks

Thanks to the following projects which we fully rely on to provide some of our features:

Also thanks to the various projects we provide integrations with which help make this extension useful:

2020.11.0 (11 November 2020)

Thanks

Thanks to the following projects which we fully rely on to provide some of our features:

Also thanks to the various projects we provide integrations with which help make this extension useful: