Releases: PlotPyStack/PythonQwt
v0.12.3
Version 0.12.3
- Fixed
Fatal Python error
issue reported in thePlotPy
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 toQSizeF
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 thePlotPy
test suite in a specific order. - Thanks to @yuzibo for helping to reproduce the issue and providing a test case,
that is thePlotPy
Debian package build process.
- See PlotPy's Issue #11 for the
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 raisingAttributeError
) - Removed unnecessary dependencies (pytest-qt, pytest-cov)
- Moved
conftest.py
to project root - Project code formatting: using
ruff
instead ofblack
andisort
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
theQwtAbstractScaleDraw.tickLabel
method:- Suppressed an unnecessary call to
QFont.textSize
(which can be quite slow) - Cached the text size with the label
QwtText
object
- Suppressed an unnecessary call to
- 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 ofColorStop
objects instead of the list of stop values
v0.12.2
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 raisingAttributeError
) - Removed unnecessary dependencies (pytest-qt, pytest-cov)
- Moved
conftest.py
to project root - Project code formatting: using
ruff
instead ofblack
andisort
v0.12.1
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
Version 0.12.0
- 30% performance improvement (measured by
qwt.tests.test_loadtest
) by optimizing
theQwtAbstractScaleDraw.tickLabel
method:- Suppressed an unnecessary call to
QFont.textSize
(which can be quite slow) - Cached the text size with the label
QwtText
object
- Suppressed an unnecessary call to
- 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 ofColorStop
objects instead of the list of stop values
v0.11.2
Version 0.11.2
- Fixed
TypeError
onQwtPlotLayout.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
inQwtSymbol.drawSymbols
andQwtSymbol.renderSymbols
methods QwtPlotCanvas
: fixedBackingStore
feature (paintAttribute
)
v0.11.1
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
inQwtSymbol.drawSymbols
andQwtSymbol.renderSymbols
methods QwtPlotCanvas
: fixedBackingStore
feature (paintAttribute
)
v0.11.0
Version 0.11.0
- Dropped support for Python 3.7 and earlier
- Dropped support for PyQt4 and PySide2
- Removed unnecessary argument
numPoints
inQwtSymbol.drawSymbols
andQwtSymbol.renderSymbols
methods QwtPlotCanvas
: fixedBackingStore
feature (paintAttribute
)
Hotfix v0.10.6
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
- Handled all occurences of deprecated
- 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 typeqwt.symbols
: fixedQPointF
type mismatch- Removed CHM help file generation (obsolete)
Hotfix v0.10.5
Version 0.10.5
- Issue #81 - Signal disconnection issue with PySide 6.5.3
Version 0.10.4
- Issue #80 - Print to PDF: AttributeError: 'NoneType' object has no attribute 'getContentsMargins'
Version 0.10.3
-
Issue #79 - TypeError: unexpected type 'QSize' (thanks to @luc-j-bourhis)
-
Moved project to the PlotPyStack organization.
-
Unit tests: added support for
pytest
andcoverage
(60% coverage as of today) -
Issue #74 - TypeError: QwtPlotDict.init() [...] with PySide 6.5.0
-
Issue #77 - AttributeError: 'XXX' object has no attribute '_QwtPlot__data'
-
Issue #72 - AttributeError: 'QwtScaleWidget' object has no attribute 'maxMajor' / 'maxMinor' / 'stepSize'
-
Issue #76 - [PySide] AttributeError: 'QwtPlotCanvas' object has no attribute 'Sunken'
-
Issue #63 - TypeError: 'PySide2.QtCore.QRect' object is not subscriptable
Hotfix v0.10.4
Version 0.10.4
- Issue #80 - Print to PDF: AttributeError: 'NoneType' object has no attribute 'getContentsMargins'
Version 0.10.3
-
Issue #79 - TypeError: unexpected type 'QSize' (thanks to @luc-j-bourhis)
-
Moved project to the PlotPyStack organization.
-
Unit tests: added support for
pytest
andcoverage
(60% coverage as of today) -
Issue #74 - TypeError: QwtPlotDict.init() [...] with PySide 6.5.0
-
Issue #77 - AttributeError: 'XXX' object has no attribute '_QwtPlot__data'
-
Issue #72 - AttributeError: 'QwtScaleWidget' object has no attribute 'maxMajor' / 'maxMinor' / 'stepSize'
-
Issue #76 - [PySide] AttributeError: 'QwtPlotCanvas' object has no attribute 'Sunken'
-
Issue #63 - TypeError: 'PySide2.QtCore.QRect' object is not subscriptable