Envisage

Latest version: v7.0.3

Safety actively analyzes 623721 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 4

7.0.3

=============

Released: 2023-04-03

This is a bugfix release that fixes the automated documentation build
for releases.

Fixes
-----
* Fix the GitHub Actions workflow for automated documentation updates
on releases. (568)

7.0.2

=============

Released: 2023-04-03

This is a bugfix release that fixes some test interaction issues and
automates the documentation build.

Fixes
-----
* Fix test-ordering issues with egg-based tests that modify ``pkg_resources``
global state. (564)

Documentation
-------------
* Reorganise the gh-pages documentation. The main gh-pages page
(https://docs.enthought.com/envisage) now matches the contents of the GitHub
``main`` branch, while subdirectories (e.g.,
https://docs.enthought.com/envisage/7.0) provide documentation for released
versions. A 'latest' symlink is in place, so
https://docs.enthought.com/envisage/latest will bring up the documentation
for the latest release. (565)

Build
-----
* Add GitHub Actions workflows to automate documentation updates. The main
documentation is updated on every push to ``main``, while the release
documentation is updated on each GitHub release creation. (565)

7.0.1

=============

Released: 2023-03-24

This is a bugfix release whose main purpose is to fix the Read the Docs
build for the Envisage documentation.

Fixes
-----
* Fix the documentation build for Read the Docs. (560)
* Fix example code that was importing ``Font`` and ``Color`` from Traits
instead of TraitsUI. (558)

7.0.0

=============

Released: 2023-03-24

This is a major release aimed at modernization and cleanup of some out-of-date
code. In particular, this release removes the IPython-related plugins, and
drops support for Python 3.6.

Thanks to:

* Mark Dickinson
* Chengyu Liu
* Corran Webster

Features
--------
* There's a new ``unbind_extension_point`` function that reverses the effects
of ``bind_extension_point``. This can be useful for clean teardown. (546)
* All id string constants that were previously available from ``envisage.ids``
are now also exported in ``envisage.api``. Users are encouraged to import
everything they need from ``envisage.api``, and to open an issue if anything
they need is not exported in ``envisage.api``. (508)

Changes
-------
* When exiting a ``TasksApplication``, the plugins are now stopped after
exiting the event loop. Previously they were stopped while the event loop was
still running, causing some lifecycle issues. (524)
* The ``extension_registry`` argument to ``bind_extension_point`` is no
longer optional, and ``ExtensionPointBinding`` will no longer look for
an extension registry on the ``ExtensionPoint`` class. (545)
* Operations that used to raise ``SystemError`` now raise something more
appropriate. In particular, the ``PluginManager.start_plugin`` and
``PluginManager.stop_plugin`` methods now raise ``ValueError`` rather
than ``SystemError`` when given an invalid plugin id. (529)
* ``envisage.__version__`` is no longer defined. If you need the Envisage
version at runtime, use ``importlib.metadata`` to retrieve it. (513)
* Python 3.6 is no longer supported. All current versions of Python (3.7
through 3.11) are supported. (513)

Fixes
-----
* The ``repr`` of a ``Plugin`` instance now correctly uses the name of the
plugin class. (535)

Deprecations
------------
* The ``EggPluginManager``, ``EggBasketPluginManager`` and
``PackagePluginManager`` are deprecated, and will be removed in Envisage 8.0.
(540)
* The ``include`` and ``exclude`` traits on the ``PluginManager`` are
deprecated, and will be removed in Envisage 8.0. (544)

Removals
--------
* Plugins and machinery related to IPython have been removed. Specifically,
the ``IPythonKernelPlugin`` and ``IPythonKernelUIPlugin`` plugins have been
removed, along with supporting classes ``InternalIPKernel`` and
``IPKernelApp``. (496)
* The ``ExtensionPoint.bind`` method has been removed. (545)
* The previously deprecated ``safeweakref.ref`` class has been removed. (522)
* Some legacy unmaintained examples have been removed. (557)

Documentation
-------------
* The changelog is now included in the built documentation. (550)

Tests
-----
* Old-style namespace packages used for testing have been replaced with
normal non-namespace packages. This fixes some warnings from the latest
``setuptools``. (543)
* The test suite now runs cleanly under ``pytest``. (539)
* Tests that are skipped due to a PySide6 problem should now be run
if the version of PySide6 is recent enough. (554)

Build
-----
* Package configuration now uses ``pyproject.toml`` in place of the old
``setup.py``-based configuration. (513)
* Optional dependencies are no longer declared. (513)
* A new style-checking workflow has been added that runs ``black``, ``isort``
and ``flake8`` over the codebase, and new code is expected to comply with
``black`` and ``isort`` configurations. (549)
* A new documentation-build workflow has been added. The built documentation
is uploaded as an artifact. (551)

6.1.1

=============

Released: 2023-02-07

This is a bugfix release that fixes an incompatibility between the workbench
code and the latest Traits version, among other minor fixes.

Thanks to:

* Mark Dickinson
* Prabhu Ramachandran
* Scott Talbert

Fixes
-----
* A trait validation error in the Workbench ``DefaultActionSet`` has been
fixed. This fixes a compatibility issue with Traits 6.4. (485)
* Initialization of application directories now correctly respects the
value of ``self.state_location``. (490)
* In the test suite, egg generation now uses ``sys.executable`` to ensure
it picks up the correct Python executable. (499)

Other changes
-------------
* The version of PySide6 used in test workflows has been restricted. (487)
* The EDM version used in test workflow has been updated. (484)
* Various fixes have been made to the GitHub Actions workflows, for
compatibility with the newest runners. (491, 494)
* Copyright headers have been updated for 2023. (493)

6.1.0

=============

Released: 2022-08-15

This is a minor feature release whose main focus is on compatibility with
Python 3.8 and PySide 6. It includes a collection of other cleanups and minor
fixes.

In this release, there are some changes in the way that the Envisage
``Application`` interacts with ``ETSConfig``. You should double check that
the locations of user data, preferences and application home directories are
the ones that you expect after upgrading.

Please note that the IPython-related portions of Envisage are currently not
compatible with the latest versions of ipykernel and IPython available from
PyPI. This has been made explicit in this release in the form of version
restrictions on those packages in the ``envisage[ipython]`` install target.

Thanks to:

* Aaron Ayres
* Mark Dickinson
* Sai Rahul Poruri
* Corran Webster

Changes
-------
* The ``Application.user_data`` directory no longer includes the id
of the application, but instead matches the ``ETSConfig.user_data``. (467)
* The Envisage ``Application`` will no longer try to change the
``ETSConfig.application_home`` attribute. (467)
* The ``PackageResourceProtocol`` now uses ``importlib.resources`` instead
of ``pkg_resources``. (466)
* The IPython-related features of Envisage require ipykernel version < 6 and
IPython version < 8. (449)

Fixes
-----
* Fix EggPluginManager to use current pkg_resources.working_set. (444)

Refactoring and maintenance
---------------------------
* Simplify ImportManager by using importlib. (465)
* Update end year in copyright headers. (458)

Tests
-----
* The tests no longer rely on pre-built eggs for test packages. (459, 436)
* Skip tests for recent ipykernel, and add check for IPython version. (457)
* Work around a Python 3.6 issue with ``isinstance`` and lru caches in tests.
(470)
* Fix an ``EggBasketPluginManager`` test that only passed due to test
interactions. (443)
* Some pickles used in testing have been regenerated in order to work
correctly with more recent versions of Traits. (472)
* Fix poorly specified action and menu groups in tests. (468)
* Fix test hangs with PySide2 / macOS 11. (454)
* Skip an ipykernel-using test if ipykernel is not available in the test
environment. (423)

Examples
--------
* Fixes for the Attractors example. (408, 416)

Documentation
--------------
* Code samples in the documentation now have a "copy" button. (474)
* Stylistic changes and updates to documentation. (406)
* Fix documentation links to examples on main branch. (447)
* Add a Read the Docs config file. (434)
* Miscellaneous minor fixes. (435)

Build and CI
------------
* Update build machinery to support Python 3.8 and PySide 6. (477)
* Add workflow to automatically upload releases to PyPI. (478)
* Set up Slack notification for cron jobs. (433)
* Cron job failures are now reported to the main Slack channel, not
to the bots channel. (473)
* Add GitHub Actions workflow to test PyPI install. (450)
* The default branch has been renamed from master to main. (446)
* Update classifiers for Python 3.10. (437)
* Port CI from Appveyor to GitHub Actions. (432, 426)
* Simplify flake8 command in ``etstool.py``. (431)
* Traits version 6.2 or later is now required. (410)

Page 1 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.