v0.12.5
Version 0.12.5
- Add support for NumPy 2.0:
- Use
numpy.asarray
instead ofnumpy.array(..., copy=False)
- Update requirements to remove the NumPy version upper bound constraint
- Use
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 emptyQtPainterPath
object,
causing a segmentation fault on Linux, Python 3.12 and PyQt5.
- See PlotPy's Issue #13 for the
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