Skip to content

Releases: enthought/pyface

Pyface 7.0.0

24 Apr 09:48
Compare
Choose a tag to compare

Pyface 7.0.0 is a major release which focuses on modernization of the
codebase. This release includes updating the WxPython backend to support
WxPython 4, an effort led by Rob McMullen's first cut at support, with
help from a number of other people. It also updates the code to use new
features of Traits 6, and just like Traits 6, this release drops support
for Python 2.

The release includes many bugfixes and a number of smaller incremental
enhancements. Other than the changed dependencies, Pyface 6 code should
largely work unmodified under Pyface 7.

Thanks to:

David Baddeley, Mark Dickinson, Matt Hancock, Petr Kungurtsev, Midhun
Madhusoodanan, Rob McMullen, Shoeb Mohammed, Rahul Poruri, Roberto Preste,
reckoner, Jan von Rickenbach, Chiranth Siddappa, Joris Vankerschaver,
Corran Webster.

Change summary

Enhancements

  • Use Traits 6 features (#480, #494)
  • WxPython 4 support (#469, #473, #497, #499)
  • Remove six and other Python 2 code (#493)
  • Add utility functions for Qt images (#498)
  • Allow live update of Action images (#484)
  • Add Qt Multimedia APIs to pyface.qt (#485)
  • Allow additional copyright notices in the AboutDialog class (#467)
  • Replace default AboutDialog and Splashscreen images with Python logo (#454)
  • Allow etstool.py to run in non EDM environments (#443)
  • Add assertEventuallyTrueInGui method to GuiTestAssistant (#419)

Fixes

  • Avoid imports of Wx in interface classes (#500)
  • Code style cleanup (#490, #491)
  • Documentation fixes (#468)
  • SplitEditorAreaPane context menu cleanup (#435)
  • Remove deprecated Traits features (#457, #460)
  • Better Python 3 compatibility (#438, #455, #461, #477, #479)
  • Improved Qt support (#452)
  • Fix relative imports for Wx tasks (#448)
  • Ensure close button and escape key close message dialogs in Qt (#441)
  • Don't show context help button in Windows dialogs (#440)
  • Test improvements (#436)

Pyface 6.1.0

10 May 07:57
Compare
Choose a tag to compare

This release introduces a number of new features and bugfixes. The most prominent of these is a set of Application classes designed to smooth the transition between Tasks applications which use only Pyface, and those that take advantage of the Envisage plug-in framework. Developers can now write a Pyface TasksApplication and then easily transition to an Envisage TasksApplication as the needs of their codebase grows. This feature has been a few years in development, and thanks is due to Jonathan Rocher for helping push this through to completion.

This release also includes a complete re-write of the Pyface timer code to make it easier to use and to provide a consistent and more Pythonic API shared by the different back-ends. A backwards compatible API is still available, but users of the Pyface timer code are encouraged to update to the new API.

ToolBars can now embed simple widgets, such as text fields, integer spinners, and comboboxes, as well as simple TraitsUI views. This is provided via a new "widget" style for Actions as well as the utility subclasses FieldAction and TraitsUIWidgetAction.

Although not visible to most users of Pyface, this release removes the use of 2to3 and now uses a unified codebase supported by the six library. Thanks to Rahul Poruri for performing this transformation. This should help significantly with ongoing development work in the coming years.

We also include experimental support for PySide2 (also called "Qt for Python"). We are running CI tests using the 5.11 release of PySide2 with success on OS X and Linux for Python 3, but are experiencing failures with the 5.12 release.

Finally, this release includes a number of bugfixes and minor enhancements which should improve the reliability and utility of the codebase.

Thanks to:

Martin Bergtholdt, Mark Dickinson, Robert Kern, Eric Larson, Gregory Lee,
Eric McDonald, Rahul Poruri, Jonathan Rocher, Hamdi Sahloul, Roger Serwy,
Brian Teague, Corran Webster, John Wiggins.

Apologies to any contributors that have been omitted.

Change summary

Enhancements

Fixes

  • Fix context menu behaviour (#356)
  • Remove TraitsUI dependency in GuiTestAssistant (#366)
  • Fixes for ProgressDialog (#357)
  • Fixes for toolbar and statusbar life cycles (#332)
  • Fixes for CI (#342)
  • Fix usages of event_loop() in tests (#336)
  • Fix SplitEditorAreaPane tab dragging on Qt5 (#327)
  • Fix resource warnings in test suite from un-closed files (#326)
  • Remove uses of deprecated HasTraits.set() method (#320)
  • Add Qt5 support for deprecated Qt Style options that Mayavi needs (#323)
  • Various fixes around Qt API selection (#319, #344, #347, #371, #376, #381)
  • Fixes for setup.py (#380)