Changelog#

6.1.1#

  • Features:

    • Package actions preview: Dialog that previews the resolved install/update/remove changes (dry-run)

  • Bug fixes/tooling:

    • Fix navigator clean command after Lerna changes

    • Fix tbump configuration

    • Binder: postBuild uses jlpm; drop yarn from Binder deps

    • Pin Husky to major 8 to avoid breaking pre-commit hooks

    • ESLint / Prettier / lint cleanups

  • Dependencies / build:

    • Routine JS dependency updates and resolutions

    • Bump Node.js version used in the project/CI

    • Bump Lerna; add Jest-related deps for the labextension package per new Lerna behavior

  • Documentation:

    • README badge/link updates; docs version driven from the mamba_gator package version

6.1.0#

  • Features:

    • New “Add Packages” drawer: Full-screen modal for browsing, searching, and selecting multiple packages to install

      • Search functionality with intelligent sorting (matches at start of name appear first)

      • Side panel showing selected packages with ability to remove individual selections

      • Install multiple packages in a single batch operation

    • Enhanced “Create Environment” workflow: Comprehensive environment creation experience

      • Initial dialog offering choice between “Import” (from file) or “Create Manually”

      • Full-screen drawer for manual environment creation with package selection

      • Environment type selector with pre-populated package lists from settings

      • Python version display with override indicator and reset button (no longer a dropdown)

      • Display of selected packages with version information

      • Error message surfacing to user during environment creation

    • Package context menu: Kebab menu on package items with Remove and Update actions

    • Sortable package list columns: Click column headers to sort by name or channel

      • Search-aware sorting priorizes packages starting with the search term

      • Ascending/descending sort direction toggle

    • New command registration system with modular registerPkgCommands

    • New IPackageAction signal interface for tracking bulk package operations

    • Extract package actions to dedicated packageActions.ts module with signals

  • Backend improvements:

    • Reduce subprocess calls to pip list for improved performance

    • Use normalized package names to properly identify editable (development) packages

    • Extract environment actions to dedicated environmentActions.ts module

  • Bug fixes:

    • Fix navigator widget app shell id

    • Notifications bridge for standalone navigator: JupyterLab notifications now display as toast notifications using react-toastify

    • Fix canceling action from dialog confirmation box no longer reloads package list

    • Fix package delete and update toast notifications

    • Fix notification on packages loading error

  • CI/Testing:

    • Drop JupyterLab 3 support - now requires JupyterLab >= 4.0

    • Drop support for old Python versions

    • Require Notebook >= 7

    • Migrate test suite from notebook.tests to pytest-jupyter

    • Add coverage reporting

    • Update Python version constraints for API tests

    • Separate frontend unit test job for improved CI parallelization

  • UI/UX Improvements:

    • Enhanced plugin schema with propert JSON properties for better visual settings editor rendering

    • Default package view changed to show “Installed” packages instead of all packages

    • Consolidated version column (combines display and selection in single column)

      • Unified version dropdown with contextual annotations (Latest, Installed)

    • Removed description column from package list for cleaner, more compact display

    • Better search term handling throughout package lists

  • Documentation:

    • 🎉 Complete documentation overhaul with Sphinx

    • Set up Sphinx documentation with book theme and Markdown

    • Add Getting Started and comprehensive Features sections

    • Add documentation screenshots covering major UI components

      • Environment management UI (list, context menu, creation dialog/drawer)

      • Package management UI (toolbar, list, context-menu, add packages drawer)

      • Filter popover, direct/batch mode toggle, and setting editor

      • Dependency graph visualization

    • Document extension settings

    • Add troubleshooting section with common issues and solutions

    • Add changelog file

    • Add PR documentation preview workflow for ReadTheDocs

6.0.2#

  • Features:

    • Add spinner for loading packages

    • Add create environment command and signal for environment management

    • Add ability to open main window with preselected environment name

  • UI fixes and improvements:

    • Fix package list height and scrolling issues

    • Fix environment list scrolling with proper minimum height

    • Update refresh button styling and layout

    • Improve environment creation workflow and component styling

    • Update target environment logic and selection

  • Maintenance:

    • Refactor environment actions and signal handling

    • Update Python version requirements for Binder

    • Improve release documentation and workflow

6.0.1#

  • Maintenance:

    • Clean up resolutions

    • Fix offline builds

  • UI fixes and enhancements:

    • UI fixes for package and environment icons

    • Sort package versions in order from latest to oldest

    • Fix package list not rendering on first load; no longer requires window resize

    • Add launcher tile for Gator

6.0.0#

  • Maintenance:

    • Migrate from JupyterLab 3 to JupyterLab 4.0 support

    • Migrate from Setuptools to Hatch

    • Remove support for Python 3.7

    • Add support for Python up to 3.13

    • Update out of date GitHub Actions

  • Docs:

    • Add Contributing Guide

5.1.2#

  • Security updates:

    • Bump handlebars from 4.7.6 to 4.7.7 (#143)

    • Bump hosted-git-info from 2.8.8 to 2.8.9 (#144)

    • Bump lodash from 4.17.20 to 4.17.21 (#145)

    • Bump browserslist from 4.16.1 to 4.16.6 (#146)

    • Bump ws from 7.4.2 to 7.4.6 (#148)

    • Bump postcss from 7.0.35 to 7.0.36 (#149)

    • Bump tar from 4.4.13 to 4.4.15 (#151)

    • Bump path-parse from 1.0.6 to 1.0.7 (#152)

    • Bump tar from 4.4.15 to 4.4.19 (#153)

  • Maintenance:

    • Add keywords and PyPI classifiers

5.1.1#

  • Bug fix

    • Fix gator not displayed after updating or re-installing #139

5.1.0#

  • Feature

    • Use much faster mamba repoquery search command to list packages instead of conda search #133 (Thanks to @ericpre)

  • Bug fix

    • Fix mamba detection on Windows #135 (Thanks to @ericpre)

5.0.0#

  • Features

    • Update to JupyterLab 3 and the new Jupyter Server
      You don’t need to install anything more than the pip or conda package.

    • Drop support for the classical notebook.

4.1.0#

  • Features

    • Dependencies graph (by clicking on the installed version for now) #83

  • Bug fix

    • Fix missing classical notebook extension #115

    • Fix mamba not detected on Windows #119

4.0.0#

  • Features

    • Moving to mamba-org

    • Integrate a standalone application

    • Common frontend for JupyterLab, classical Notebook and Gator

    • Depend optionally on nb_conda_kernels

3.4.1#

  • Features

    • Better logger

  • Bugs

    • Reduce UI freezing time by running expensive code in asynchronous executor

3.4.0#

  • Features

    • Use mamba if available. Otherwise use conda #46

    • Move to GitHub workflow (extend coverage to JupyterLab code)

  • Bugs

    • Fix wrong redirection url in classic notebook #47

    • Fix channel given by full URL not properly handle #55

3.3.1#

  • Bugs

    • Fix export always from history (settings ignored)

3.3.0#

  • Features

    • Add a settings fromHistory to export an environment using --from-history (available for conda >= 4.7.12) #39

  • Bugs

    • Fixes absent channeldata.json file #36

    • Fixes environment update absent from public API #37

  • Documentation

    • Start REST API description with Swagger

3.2.0#

  • Available package cache file is now writable for everybody to avoid trouble in multi-user context. #25

  • Add update environment from file through REST endpoint PATCH /environments/ #26

  • Switch to newer Python syntax async-await

  • To improve UI reactivity in Jupyterlab:

    • Long running task can now be cancelled #32

    • The available packages list is used to find updatable package. conda update –dry-run –all is not used any longer. But it is still used if the user request updating all possible packages.

3.1.0#

  • Request environment list accept now whitelist=0 or 1 query arguments. If 1, the environment list is filtered to respect KernelSpecManager.whitelist. Default is 0, but it could be modified in user settings.

  • JupyterLab extension

    • IEnvironmentManager.getPackageManager() returns always the same Conda.IPackageManager otherwise signaling package operations would have been meaningless.

    • Add ability to specify kernel companions; i.e. check that if some packages are installed in a kernel, they must respect a certain version range. Companions can be specified through user settings.

    • Small UI tweaks

3.0.0#

  • Rework the server/client API to be more RESTful and returns 202 status for long operations

  • Cache available packages list in temp directory

  • Improve greatly the coverage for the server extension

  • JupyterLab extension only:

    • Allow the user to change the proposed environment when creating one from scratch

    • Add signals to handle environnements and packages changes (see labextension\src\__tests__\services.spec.ts)

    • Improve the UI reactivity by using react-virtualized for the packages list

    • Improve the look and feel

  • Available packages truncation has been removed.

2.5.1#

  • Catch SSLError when requesting channeldata.json file

2.5.0#

  • Export in YAML format the environment (import in the older format is still supported).

  • Improve responsiveness by loading first installed packages. Then request available one.

  • BUG error is prompt when an environment is deleted although everything went well

  • Cache some API requests (GET environments, GET channels and GET available packages).

  • Available packages are now truncated to 100.

    • Use query argument $skip to skip N first packages

    • If the list is longer than 100, a entry $next in the response is returned. This is the request url to use to get the next batch of packages.

  • Report full error message in web browser console to ease debugging.

2.4.2#

  • BUG environment not shown

  • BUG Installing package in develop mode fails if in user home or containing spaces

  • Improve error feedback from API to frontend

2.4.1#

  • BUG conda search crashes for conda 4.6

2.4.0#

  • Add installation of package in development mode (through pip)

2.3.x#

  • Add JupyterLab extension inspired by Anaconda Navigator

    • Retrieve conda package description

    • Add link to package website (if available)

  • Support conda >=4.5

  • Make all conda request asynchronously

  • Use the automatic installation for Jupyter Notebook extension (see here)

2.2.1#

  • fix bug in check updates feature

2.2.0#

  • support conda 4.3

  • support notebook security fix introduced in notebook 4.3.1

2.1.0#

  • fix environment export button

  • allow environment names with one letter and validate against “suspicious” characters

2.0.0#

  • update to new jupyter_conda_kernels naming scheme

  • namespace all API calls into /conda/

1.1.0#

  • fix usage in root environment

1.0.1#

  • minor build changes

1.0.0#

  • Update to notebook 4.2