====================
 Envisage CHANGELOG
====================

Version 4.7.1
=============

Released : 31 January 2019

Changes
-------

* Replace use of deprecated ``HasTraits.set`` method (#118)

Fixes
-----

* Fix IPython GUI kernel issue when used with ipykernel 4.7.0 (#123)
* Fix infinite recursion issue when harvesting extension methods (#121)


Version 4.7.0
=============

Changes
-------

* Update CI setup and include ``ipykernel`` in devenv (#105, #111, #114)
* Use ``--gui`` rather than ``--matplotlib`` when starting IPython kernel (#101)
* Downgrade level of a logging message (#95)

Fixes
-----

* Fix old-style relative import (#109)
* Fix attractors example (#103)
* Stop the IOPubThread as part of IPython kernel shutdown (#100)
* Fix Sphinx conf to be able to build docs again (#91)
* Fix deprecated IPython import (#92)
* Fix task layout serialization under Python 3 (#90)


Version 4.6.0
=============

This is an incremental release, mainly consisting of bug fixes.  The most
significant change is the support for IPython >= 4 in the IPython plugin.

Thanks to @corranwebster, @dpinte, @itziakos, @jonathanrocher, @kamalx,
@rahulporuri, @robmcmullen, @sjagoe

Enhancements
------------

* IPython kernel plugin now supports IPython >= 4 (#82)
* Remove usage of deprecated IPython QtConsole API (#80)
* Defer selection of toolkit and avoid creating GUI applications as side-effects as
  much as possible (#77, #76)

Fixes
-----

* Fixes for tests under Python 3.5 (#86)
* Work around for issue with Traits in Python 3 (#78)
* Replace uses of ‘file’ and ‘execfile’ (#75) 
* Fix MOTD_Using_Eggs example (#66)
* Fix broken and outdated links in documentation (#72)
* Fix link to docs from README (#70)
* Fix degenerate case where window is created with no layout (#44)


Version 4.5.1
=============

Enhancements
------------

* Add tox for testing package install (#67)

Fixes
-----

* Include missing test files in the package data (#67)
* Include missing test cases for Python 3.4 (#67)


Version 4.5.0
=============

New features
------------

* IPythonKernelPlugin for Tasks: run an IPython kernel within the
  envisage app and expose it as a service (#54).
* Envisage now supports Python 3.4 (#61).

Enhancements
------------

* Allow loading plugins from an egg basket even when some eggs are
  invalid (#40, #46).
* Add a simple ``GUIApplication`` to bootstrap basic plugin-driven
  applications (#34).
* Split the IPython kernel and IPython menu action into two separate
  plugins for flexibility (#57).

Fixes
-----

* Use new Traits interfaces and adaptation implementation (#37).
* Envisage now configures the logger with a ``NullHandler`` to avoid
  spurios unconfigured logger warnings (#45).
* Envisage no longer swallows exceptions in plugin startup (#50).
* Various fixes to continuous integration configuration (#47, #60).


Version 4.4.0
=============

The major component of this feature is to work with the new
``traits.adaptation`` mechanism in place of the deprecated
``traits.protocols``, maintaining compatibility with ``traits`` version
4.4.0.

This release also adds a new method to retrieve a service that is
required by the application and provides documentation and test updates.


New features
------------

* Added a simple GUIApplication class (673c8f6)
* Added a method to get a required service (94dfdea)

Enhancements
------------

* Updated to use the new traits.adaptation functionality (34fa5e6)

Fixes
-----

* Updated links to point to github instead of svn codebase (87cdb87)
* Fixed test cases and added to Travis-CI (6c11d9f)
