Release 6.1.0
This is an incremental release without many new features, but with significant improvements in the code base and numerous small bugfixes. Probably the most significant change, but one not obvious to most users is that we have moved away from using 2to3 for Python 3 support to using a single codebase with the six library to patch over the differences. This significantly enhances maintainability and development speed, and gives a better path forward for future Python versions.
Additionally, this release introduces experimental support for PySide2 (also known as "Qt for Python"). Pyside2 was enabled as a potential backend in 6.0.0 but there was no testing being performed. As of this release PySide2 is now tested as part of the CI system with tests passing on Linux and OS X using the 5.11 release. There are currently issues with the 5.12 release which have yet to be fully investigated.
The one significant new feature that has been added to this release is the ability to completely replace the rendering of TreeEditorNodes with custom rendering code on Qt (due to the limitations of the Wx tree control, this is unlikely to be extended to Wx). An example showing the drawing of sparkline plots in TreeEditor cells has been added to the code demos.
There has been a long-standing issue with the way that the Qt TableEditor handled selections, and this release fixes this, matching the behaviour of the Wx backend and the documentation. It is possible that this may break code that was written expecting the buggy behaviour.
Finally, there are a large number of minor bug fixes
Thanks to:
Martin Bergtholdt, Stefano Borini, Alex Chabot, Kit Choi, Mark Dickinson,
Kevin Duff, Matthew Evans, Matt Hancock, Robert Kern, Fede Miorelli,
Rahul Poruri, Jenni Portman, Prabhu Ramachandran, @ransonr, Jonathan Rocher,
Roger Serwy, Ajeet Vivekanandan, Corran Webster, John Wiggins.
Enhancements
- Switch to using six instead of 2to3 (#482, #484, #486, #498, #531).
- Experimental Pyside2 support (#451, #500, #504).
- Allow arbitrary rendering of tree nodes in Qt backend (#499, #502, #527).
- Use tooltip metadata on a trait instead of desc, if available (#473).
- Enable scroll to column for TabularEditor (#547)
- Add demo for tabular editor with context menu (#460).
- Allow the use of extended trait names in TreeNodes where possible (#500, #528).
- Allow drag move and drag copy modes on Qt TabularEditor (#363).
Fixes
- Fixes to README (#478).
- Documentation fixes (#471, #508).
- Fixes to setup.py (#549).
- Fix an attribute error on Qt TextRangeEditor (#540).
- Use SimpleEditor for Qt TextEditor's "text" style (#535).
- Fix handling of Range traits with a mix of constant and named bounds (#533).
- Fix display selection on Wx backend (#534).
- Fixes for Qt TableEditor selections (#275).
- Fix deprecation warnings for inspect.getargspec (#530).
- Fixes to etstool (#526).
- Fix TreeEditor unhashable type errors (#525).
- Fix crash when TabularEditor has no columns (#521).
- Clone editor factories so they don't share traits (#519).
- Avoid creation of dummy traits by springy items (#515).
- Fix drag and drop crash in Python 3 (#516).
- Fix Undo/Redo for readonly items and error handling (#510).
- Fix source parsing in demo app (#501).
- Fix signature of close() method of Qt modal dialog (#506).
- Fix incorrect code in Wx ColorEditor (#479).
- Fix incorrect code in Wx ProgressEditor (#513).
- Remove uses of deprecated HasTraits.set() calls (#457).
- Fix rendering of CheckboxColumn on OS X and Qt (#456).