Skip to content

Releases: PlotPyStack/PythonQwt

v0.12.5

20 Jun 16:20

Choose a tag to compare

Version 0.12.5

  • Add support for NumPy 2.0:
    • Use numpy.asarray instead of numpy.array(..., copy=False)
    • Update requirements to remove the NumPy version upper bound constraint

Version 0.12.4

  • Fixed segmentation fault issue reported in the PlotPy project:
    • See PlotPy's Issue #13 for the
      original issue.
    • The issue was caused by the QwtSymbol class constructor, and more specifically
      by its private data object, which instanciated an empty QtPainterPath object,
      causing a segmentation fault on Linux, Python 3.12 and PyQt5.

Version 0.12.3

  • Fixed Fatal Python error issue reported in the PlotPy project:
    • See PlotPy's Issue #11 for the
      original issue, even if the problem is not directly pointed out in the issue
      comments.
    • The issue was caused by the QwtAbstractScaleDraw cache mechanism, which was
      keeping references to QSizeF objects that were deleted by the garbage collector
      at some point. This was causing a segmentation fault, but only on Linux, and
      only when executing the PlotPy test suite in a specific order.
    • Thanks to @yuzibo for helping to reproduce the issue and providing a test case,
      that is the PlotPy Debian package build process.

Version 0.12.2

For this release, test coverage is 72%.

  • Preparing for NumPy V2 compatibility: this is a work in progress, as NumPy V2 is not
    yet released. In the meantime, requirements have been updated to exclude NumPy V2.
  • Fix QwtPlot.axisInterval (was raising AttributeError)
  • Removed unnecessary dependencies (pytest-qt, pytest-cov)
  • Moved conftest.py to project root
  • Project code formatting: using ruff instead of black and isort

Version 0.12.1

  • Fixed ColorStops.stops method (was returning a copy of the list of stops instead
    of the list itself)

Version 0.12.0

  • 30% performance improvement (measured by qwt.tests.test_loadtest) by optimizing
    the QwtAbstractScaleDraw.tickLabel method:
    • Suppressed an unnecessary call to QFont.textSize (which can be quite slow)
    • Cached the text size with the label QwtText object
  • Added support for margins in QwtPlot (see Issue #82):
    • Default margins are set to 0.05 (5% of the plot area) at each side of the plot
    • Margins are adjustable for each plot axis using QwtPlot.setAxisMargin (and
      QwtPlot.axisMargin to get the current value)
  • Added an additional margin to the left of ticks labels: this margin is set to one
    character width, to avoid the labels to be truncated while keeping a tight layout
  • Slighly improved the new flat style (see V0.7.0) by selecting default fonts
  • API breaking change: QwtLinearColorMap.colorStops now returns a list of ColorStop
    objects instead of the list of stop values

v0.12.4

19 Jun 16:28

Choose a tag to compare

Version 0.12.4

  • Fixed segmentation fault issue reported in the PlotPy project:
    • See PlotPy's Issue #13 for the
      original issue.
    • The issue was caused by the QwtSymbol class constructor, and more specifically
      by its private data object, which instanciated an empty QtPainterPath object,
      causing a segmentation fault on Linux, Python 3.12 and PyQt5.

Version 0.12.3

  • Fixed Fatal Python error issue reported in the PlotPy project:
    • See PlotPy's Issue #11 for the
      original issue, even if the problem is not directly pointed out in the issue
      comments.
    • The issue was caused by the QwtAbstractScaleDraw cache mechanism, which was
      keeping references to QSizeF objects that were deleted by the garbage collector
      at some point. This was causing a segmentation fault, but only on Linux, and
      only when executing the PlotPy test suite in a specific order.
    • Thanks to @yuzibo for helping to reproduce the issue and providing a test case,
      that is the PlotPy Debian package build process.

Version 0.12.2

For this release, test coverage is 72%.

  • Preparing for NumPy V2 compatibility: this is a work in progress, as NumPy V2 is not
    yet released. In the meantime, requirements have been updated to exclude NumPy V2.
  • Fix QwtPlot.axisInterval (was raising AttributeError)
  • Removed unnecessary dependencies (pytest-qt, pytest-cov)
  • Moved conftest.py to project root
  • Project code formatting: using ruff instead of black and isort

Version 0.12.1

  • Fixed ColorStops.stops method (was returning a copy of the list of stops instead
    of the list itself)

Version 0.12.0

  • 30% performance improvement (measured by qwt.tests.test_loadtest) by optimizing
    the QwtAbstractScaleDraw.tickLabel method:
    • Suppressed an unnecessary call to QFont.textSize (which can be quite slow)
    • Cached the text size with the label QwtText object
  • Added support for margins in QwtPlot (see Issue #82):
    • Default margins are set to 0.05 (5% of the plot area) at each side of the plot
    • Margins are adjustable for each plot axis using QwtPlot.setAxisMargin (and
      QwtPlot.axisMargin to get the current value)
  • Added an additional margin to the left of ticks labels: this margin is set to one
    character width, to avoid the labels to be truncated while keeping a tight layout
  • Slighly improved the new flat style (see V0.7.0) by selecting default fonts
  • API breaking change: QwtLinearColorMap.colorStops now returns a list of ColorStop
    objects instead of the list of stop values

v0.12.3

19 Jun 12:56

Choose a tag to compare

Version 0.12.3

  • Fixed Fatal Python error issue reported in the PlotPy project:
    • See PlotPy's Issue #11 for the
      original issue, even if the problem is not directly pointed out in the issue
      comments.
    • The issue was caused by the QwtAbstractScaleDraw cache mechanism, which was
      keeping references to QSizeF objects that were deleted by the garbage collector
      at some point. This was causing a segmentation fault, but only on Linux, and
      only when executing the PlotPy test suite in a specific order.
    • Thanks to @yuzibo for helping to reproduce the issue and providing a test case,
      that is the PlotPy Debian package build process.

Version 0.12.2

For this release, test coverage is 72%.

  • Preparing for NumPy V2 compatibility: this is a work in progress, as NumPy V2 is not
    yet released. In the meantime, requirements have been updated to exclude NumPy V2.
  • Fix QwtPlot.axisInterval (was raising AttributeError)
  • Removed unnecessary dependencies (pytest-qt, pytest-cov)
  • Moved conftest.py to project root
  • Project code formatting: using ruff instead of black and isort

Version 0.12.1

  • Fixed ColorStops.stops method (was returning a copy of the list of stops instead
    of the list itself)

Version 0.12.0

  • 30% performance improvement (measured by qwt.tests.test_loadtest) by optimizing
    the QwtAbstractScaleDraw.tickLabel method:
    • Suppressed an unnecessary call to QFont.textSize (which can be quite slow)
    • Cached the text size with the label QwtText object
  • Added support for margins in QwtPlot (see Issue #82):
    • Default margins are set to 0.05 (5% of the plot area) at each side of the plot
    • Margins are adjustable for each plot axis using QwtPlot.setAxisMargin (and
      QwtPlot.axisMargin to get the current value)
  • Added an additional margin to the left of ticks labels: this margin is set to one
    character width, to avoid the labels to be truncated while keeping a tight layout
  • Slighly improved the new flat style (see V0.7.0) by selecting default fonts
  • API breaking change: QwtLinearColorMap.colorStops now returns a list of ColorStop
    objects instead of the list of stop values

v0.12.2

13 Jun 08:41

Choose a tag to compare

Version 0.12.2

For this release, test coverage is 72%.

  • Preparing for NumPy V2 compatibility: this is a work in progress, as NumPy V2 is not
    yet released. In the meantime, requirements have been updated to exclude NumPy V2.
  • Fix QwtPlot.axisInterval (was raising AttributeError)
  • Removed unnecessary dependencies (pytest-qt, pytest-cov)
  • Moved conftest.py to project root
  • Project code formatting: using ruff instead of black and isort

v0.12.1

29 Feb 16:44

Choose a tag to compare

Version 0.12.1

  • Fixed ColorStops.stops method (was returning a copy of the list of stops instead of the list itself)

v0.12.0

16 Feb 10:26

Choose a tag to compare

Version 0.12.0

  • 30% performance improvement (measured by qwt.tests.test_loadtest) by optimizing
    the QwtAbstractScaleDraw.tickLabel method:
    • Suppressed an unnecessary call to QFont.textSize (which can be quite slow)
    • Cached the text size with the label QwtText object
  • Added support for margins in QwtPlot (see Issue #82):
    • Default margins are set to 0.05 (5% of the plot area) at each side of the plot
    • Margins are adjustable for each plot axis using QwtPlot.setAxisMargin (and
      QwtPlot.axisMargin to get the current value)
  • Added an additional margin to the left of ticks labels: this margin is set to one
    character width, to avoid the labels to be truncated while keeping a tight layout
  • Slighly improved the new flat style (see V0.7.0) by selecting default fonts
  • API breaking change: QwtLinearColorMap.colorStops now returns a list of ColorStop
    objects instead of the list of stop values

v0.11.2

24 Nov 14:46

Choose a tag to compare

Version 0.11.2

  • Fixed TypeError on QwtPlotLayout.minimumSizeHint

Version 0.11.1

  • Fixed remaining QwtPainter.drawPixmap call

Version 0.11.0

  • Dropped support for Python 3.7 and earlier
  • Dropped support for PyQt4 and PySide2
  • Removed unnecessary argument numPoints in QwtSymbol.drawSymbols and QwtSymbol.renderSymbols methods
  • QwtPlotCanvas: fixed BackingStore feature (paintAttribute)

v0.11.1

30 Oct 21:13

Choose a tag to compare

Version 0.11.1

  • Fixed remaining QwtPainter.drawPixmap call

Version 0.11.0

  • Dropped support for Python 3.7 and earlier
  • Dropped support for PyQt4 and PySide2
  • Removed unnecessary argument numPoints in QwtSymbol.drawSymbols and QwtSymbol.renderSymbols methods
  • QwtPlotCanvas: fixed BackingStore feature (paintAttribute)

v0.11.0

30 Oct 20:09

Choose a tag to compare

Version 0.11.0

  • Dropped support for Python 3.7 and earlier
  • Dropped support for PyQt4 and PySide2
  • Removed unnecessary argument numPoints in QwtSymbol.drawSymbols and QwtSymbol.renderSymbols methods
  • QwtPlotCanvas: fixed BackingStore feature (paintAttribute)

Hotfix v0.10.6

21 Oct 16:07

Choose a tag to compare

Version 0.10.6

  • Qt6 support:
    • Handled all occurences of deprecated QWidget.getContentsMargins method.
    • Removed references to NonCosmeticDefaultPen
    • Fixed QApplication.desktop AttributeError
    • Fixed QPrinter.HighResolution AttributeError on Linux
    • Fixed QPrinter.setColorMode AttributeError on PyQt6/Linux
    • Fixed QPrinter.setOrientation deprecation issue
    • Fixed QPrinter.setPaperSize deprecation issue
  • Improved unit tests:
    • Ensure that tests are entirely executed before quitting (in unattended mode)
    • Added more tests on qwt.symbols
    • Added tests on qwt.plot_renderer
  • qwt.plot_renderer: fixed resolution type
  • qwt.symbols: fixed QPointF type mismatch
  • Removed CHM help file generation (obsolete)