Skip to content

v0.12.5

Compare
Choose a tag to compare
@PierreRaybaut PierreRaybaut released this 20 Jun 16:20
· 34 commits to master since this release

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