Skip to content

Releases: PlotPyStack/PythonQwt

v0.15.0

24 Oct 14:11
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

Version 0.15.0

  • Added support for QwtDateTimeScaleDraw and QwtDateTimeScaleEngine for datetime axis support (see QwtDateTimeScaleDraw and QwtDateTimeScaleEngine classes in the qwt module)
  • Improved font rendering for rotated text in QwtPlainTextEngine.draw method: disabled font hinting to avoid character misalignment in rotated text

v0.14.6

14 Sep 12:15

Choose a tag to compare

Version 0.14.6

  • Fixed Issue #100 - TypeError in QwtSymbol.drawSymbol method due to outdated renderSymbols call
  • Fixed Issue #101 - RuntimeWarning: overflow encountered in cast when plotting numpy.float32 curve data
  • Merged PR #103: [FIX] wrong handling of border.rectList with PySide6 backend - thanks to @martinschwinzerl

v0.14.5

12 Apr 08:39

Choose a tag to compare

Version 0.14.5

  • Merged PR #98: Fix legend still being visible after removed
  • Merged PR #99: Fix QRectF to QRect cast in QwtPainterClass.drawBackground

v0.14.4

22 Jan 13:56

Choose a tag to compare

Version 0.14.4

  • Fixed canvas rectangle type in drawItems method call in QwtPlot.drawCanvas (was causing a hard crash when printing to PDF a canvas with upstream PlotPy project)

v0.14.3

12 Jan 13:47

Choose a tag to compare

Version 0.14.3

  • Fixed Issue #94 - Different logarithmic scale behavior when compared to Qwt
  • Merged PR #91: Fix: legend now showing up when enabled later - thanks to @nicoddemus
  • Removed QwtPlotItem.setIcon and QwtPlotItem.icon methods (introduced in 0.9.0 but not used in PythonQwt)

v0.14.2

10 Dec 16:57

Choose a tag to compare

Version 0.14.2

  • Merged PR #89: fixed call to ScaleEngine.autoScale in QwtPlot.updateAxes (returned values were not used) - thanks to @nicoddemus
  • Merged PR #90: updated QwtLinearScaleEngine.autoScale method implementation to the latest Qwt version - thanks to @nicoddemus

v0.14.1

07 Nov 11:02

Choose a tag to compare

Version 0.14.1

  • Handled RuntimeError when running test_eventfilter.py on Ubuntu 22.04 (Python 3.12, PyQt5)
  • Fixed ResourceWarning: unclosed file in test_cpudemo.py (purely test issue)
  • Fixed segmentation fault in test_multidemo.py (purely test issue, related to test utility module qwt.tests.utils)
  • Update GitHub actions to use the latest versions of actions/checkout, actions/setup-python, ...

v0.14.0

06 Nov 12:09

Choose a tag to compare

Dropped support for Python 3.8

v0.12.7

01 Aug 10:13

Choose a tag to compare

  • Fixed random crashes (segfaults) on Linux related to conflicts between Qt and Python reference counting mechanisms:
    • This issue was only happening on Linux, and only with Python 3.12, probably due to changes in Python garbage collector behavior introduced in Python 3.12. Moreover, it was only triggered with an extensive test suite, such as the one provided by the PlotPy project.
    • The solution was to derive all private classes containing Qt objects from QObject instead of object, in order to let Qt manage the reference counting of its objects.
    • This change was applied to the following classes:
      • QwtLinearColorMap_PrivateData
      • QwtColumnSymbol_PrivateData
      • QwtDynGridLayout_PrivateData
      • QwtGraphic_PrivateData
      • QwtLegendLabel_PrivateData
      • QwtNullPaintDevice_PrivateData
      • QwtPlotCanvas_PrivateData
      • QwtPlotDirectPainter_PrivateData
      • QwtPlotGrid_PrivateData
      • QwtPlotLayout_PrivateData
      • QwtPlotMarker_PrivateData
      • QwtPlotRenderer_PrivateData
      • QwtPlot_PrivateData
      • QwtAbstractScaleDraw_PrivateData
      • QwtScaleDraw_PrivateData
      • QwtScaleWidget_PrivateData
      • QwtSymbol_PrivateData
      • QwtText_PrivateData
  • Removed deprecated code regarding PyQt4 compatibility

v0.12.6

06 Jul 12:12

Choose a tag to compare

Version 0.12.6

  • Fixed random crashes (segfaults) on Linux related to Qt objects stored in cache data
    structures (QwtText and QwtSymbol)

  • Test suite can simply be run with pytest and specific configuration (conftest.py)
    will be taken into account (previously, the test suite has to be run with
    pytest qwt in order to be successfully configured)