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