1==================== 2 Envisage CHANGELOG 3==================== 4 5Version 4.9.0 6============= 7 8Released: 2019-11-19 9 10This is a minor feature release with a small handful of fixes, and a single 11new feature to make the ``IPythonKernelPlugin`` easier to use for applications. 12 13Features 14-------- 15 16- Add an option to allow the ``InternalIPKernel`` to initialise its kernel at 17 kernel creation time. At some point in the future, this will become the 18 default behaviour. (#227) 19 20Fixes 21----- 22 23- Replace a use of the deprecated ``adapts`` function with 24 ``register_factory``. (#234) 25- In the ``IPKernelApp``, correctly restore the original state of 26 ``IPython.utils.io.std*`` streams even if those streams didn't exist 27 originally. (#232) 28- Remove duplicate copyright header from autogenerated version file. (#220) 29 30Tests 31----- 32 33- Remove a ``print`` call from a unit test. (#240) 34- Add unit tests for the ``envisage.ui.single_project`` adapters. (#235) 35- Add unit tests to check that ``InternalIPKernel`` doesn't affect 36 ``sys.path``. (#233) 37- Fix the test suite not to write to the user's ``~/.ipython`` directory. 38 (#231) 39- Fix the test suite not to write to the user's ``~/.enthought`` directory. 40 (#230) 41- Remove an unused import and a useless ``tearDown`` method in the 42 ``IPythonKernel`` tests. (#223) 43- Fix ``DeprecationWarning``s from uses of long-deprecated ``TestCase`` 44 methods. (#222) 45- Add test eggs for Python 3.8. (#214) 46 47Build 48----- 49 50- Rename changelog extension from ``.txt`` to ``.rst``. (#238) 51- Update EDM version used in Travis CI and Appveyor. (#236) 52- Add ``mock`` to test dependencies on Python 2. (#229) 53- Fix status badges in ``README``. (#216) 54 55 56Version 4.8.0 57============= 58 59Released: 2019-09-13 60 61The main focus of this feature release is the ``IPythonKernelPlugin``, which 62has been updated to work with the latest IPython-related packages from PyPI, 63and is now much more careful about releasing resources allocated. 64 65Also in this release, a number of outdated, incomplete or otherwise 66nonfunctional pieces of code were removed. 67 68Features 69-------- 70 71- Improved ``repr`` for ``ExtensionPoint`` objects. (#142) 72 73Changes 74------- 75 76- Drop support for Python versions older than 2.7 and Python 3 versions older 77 than Python 3.5. (#139) 78- The ``IPythonKernelPlugin`` now releases all allocated resources (threads, 79 file descriptors, etc.) and undoes global state changes at plugin ``stop`` 80 time. (#188) 81- Suppress the Ctrl-C message printed by the IPython kernel at start time. 82 (#182) 83- Add license headers to all files, and make license header statements 84 consistent. (#192) 85 86Fixes 87----- 88 89- Use a fixed pickle protocol when saving task layout state, to avoid 90 cross-Python-version difficulties. (#179) 91- Fix deprecation warnings from use of ``Logger.warn``. (#178) 92- Fix some Python 3 syntax errors in example scripts. (#171) 93 94Removals 95-------- 96 97- Remove the unsupported and incomplete ``UpdateCheckerPlugin``. (#199) 98- Remove the ``plugin.debug`` empty submodule. (#195) 99- Remove the old ``IPythonShell`` plugin, which was based on pre-IPython 1.0. 100 (#173) 101- Remove the non-functional ``RefreshCodePlugin``. (#202) 102- Remove ``project_runnable``, which was never functional. (#169) 103- Remove outdated debugging fallback from the ``ExtensionPoint`` source. (#167) 104- Remove ``FBIPlugin``. (#166) 105- Remove the ``remote_editor`` plugins. (#137) 106 107Documentation 108------------- 109 110- Add docstrings for tasks plugin extension points. (#181) 111- Fix incorrect documentation for ``always_use_default_layout``. (#177) 112- Spell "Pyface" correctly. (#176) 113- NumPyDoc style fixes. (#168) 114- Add API documentation, with corresponding build infrastructure. (#165) 115- Fix invalid syntax in Tetris example. (#158) 116- Use the Enthought Sphinx Theme for documentation. (#157) 117 118Tests 119----- 120 121- Remove dependency on the ``nose`` package, and rename test modules. All 122 tests can now be discovered and run using ``unittest``. (#200, #194) 123 124Build 125----- 126 127- Revise version-handling mechanisms and other minor details 128 in ``setup.py`` script. (#197, #190) 129- Remove unused and outdated ``tox.ini`` file. (#201) 130- Update ``etstool.py`` to work with a non-EDM bootstrap environment on 131 Windows. (#203) 132- Test against other ETS packages from source, using Travis CI cron jobs. 133 (#162) 134- Fix deprecated pieces in Travis CI configuration. (#160, #159) 135- Update EDM version used, and clean up and simplify Travis CI and 136 Appveyor configurations. (#152) 137- Usability improvements to ``etstool.py``. (#145, #148) 138 139 140Version 4.7.2 141============= 142 143Released: 03 May 2019 144 145Fixes 146----- 147 148* Fix some broken imports and name errors in the ``envisage.developer`` 149 package. (#130) 150* Add missing test data to support running tests on Python 3.7. (#136) 151* Fix reversed interpretation of the 152 ``TasksApplication.always_use_default_layout`` when creating task windows. 153 (#144) 154* In the ``InternalIPKernel`` plugin, restore original standard streams 155 (``stdout``, ``stdin``, ``stderr``) at plugin stop time. (#146) 156* In the ``InternalIPKernel`` plugin, fix ``ResourceWarnings`` from 157 unclosed pipes attached to qt consoles. (#147) 158 159 160Version 4.7.1 161============= 162 163Released : 31 January 2019 164 165Changes 166------- 167 168* Replace use of deprecated ``HasTraits.set`` method (#118) 169 170Fixes 171----- 172 173* Fix IPython GUI kernel issue when used with ipykernel 4.7.0 (#123) 174* Fix infinite recursion issue when harvesting extension methods (#121) 175 176 177Version 4.7.0 178============= 179 180Changes 181------- 182 183* Update CI setup and include ``ipykernel`` in devenv (#105, #111, #114) 184* Use ``--gui`` rather than ``--matplotlib`` when starting IPython kernel (#101) 185* Downgrade level of a logging message (#95) 186 187Fixes 188----- 189 190* Fix old-style relative import (#109) 191* Fix attractors example (#103) 192* Stop the IOPubThread as part of IPython kernel shutdown (#100) 193* Fix Sphinx conf to be able to build docs again (#91) 194* Fix deprecated IPython import (#92) 195* Fix task layout serialization under Python 3 (#90) 196 197 198Version 4.6.0 199============= 200 201This is an incremental release, mainly consisting of bug fixes. The most 202significant change is the support for IPython >= 4 in the IPython plugin. 203 204Thanks to @corranwebster, @dpinte, @itziakos, @jonathanrocher, @kamalx, 205@rahulporuri, @robmcmullen, @sjagoe 206 207Enhancements 208------------ 209 210* IPython kernel plugin now supports IPython >= 4 (#82) 211* Remove usage of deprecated IPython QtConsole API (#80) 212* Defer selection of toolkit and avoid creating GUI applications as side-effects as 213 much as possible (#77, #76) 214 215Fixes 216----- 217 218* Fixes for tests under Python 3.5 (#86) 219* Work around for issue with Traits in Python 3 (#78) 220* Replace uses of ‘file’ and ‘execfile’ (#75) 221* Fix MOTD_Using_Eggs example (#66) 222* Fix broken and outdated links in documentation (#72) 223* Fix link to docs from README (#70) 224* Fix degenerate case where window is created with no layout (#44) 225 226 227Version 4.5.1 228============= 229 230Enhancements 231------------ 232 233* Add tox for testing package install (#67) 234 235Fixes 236----- 237 238* Include missing test files in the package data (#67) 239* Include missing test cases for Python 3.4 (#67) 240 241 242Version 4.5.0 243============= 244 245New features 246------------ 247 248* IPythonKernelPlugin for Tasks: run an IPython kernel within the 249 envisage app and expose it as a service (#54). 250* Envisage now supports Python 3.4 (#61). 251 252Enhancements 253------------ 254 255* Allow loading plugins from an egg basket even when some eggs are 256 invalid (#40, #46). 257* Add a simple ``GUIApplication`` to bootstrap basic plugin-driven 258 applications (#34). 259* Split the IPython kernel and IPython menu action into two separate 260 plugins for flexibility (#57). 261 262Fixes 263----- 264 265* Use new Traits interfaces and adaptation implementation (#37). 266* Envisage now configures the logger with a ``NullHandler`` to avoid 267 spurios unconfigured logger warnings (#45). 268* Envisage no longer swallows exceptions in plugin startup (#50). 269* Various fixes to continuous integration configuration (#47, #60). 270 271 272Version 4.4.0 273============= 274 275The major component of this feature is to work with the new 276``traits.adaptation`` mechanism in place of the deprecated 277``traits.protocols``, maintaining compatibility with ``traits`` version 2784.4.0. 279 280This release also adds a new method to retrieve a service that is 281required by the application and provides documentation and test updates. 282 283 284New features 285------------ 286 287* Added a simple GUIApplication class (673c8f6) 288* Added a method to get a required service (94dfdea) 289 290Enhancements 291------------ 292 293* Updated to use the new traits.adaptation functionality (34fa5e6) 294 295Fixes 296----- 297 298* Updated links to point to github instead of svn codebase (87cdb87) 299* Fixed test cases and added to Travis-CI (6c11d9f) 300