PlotPy Version 2.8.4 (2026-02-14)
π₯ New features:
- Added official support for Python 3.14
π οΈ Bug fixes:
- Fixed PySide6 compatibility issues causing segfaults in the test suite:
- Use
objectinstead of C++ type strings (e.g.,"QMouseEvent","QEvent","QPointF") inSignaldeclarations β PySide6 segfaults with C++ type name strings - Check QObject validity via
is_qobject_valid()before accessing widgets in__del__,closeEvent, and panel close operations β PySide6 segfaults on deleted C++ objects instead of raisingRuntimeError - Restructure
BaseSyncPlot.__init__to defer widget operations until after Qt__init__completes β PySide6 requires__init__to have fully completed before the widget can be used as a parent - Replace deprecated
exec_()calls withexec()
- Use
- Fixed
test_multiline_toolfailing with PyQt6 due to smaller canvas size:- The spiral test data started at
t=0, placing the first two points so close together that they mapped to the same pixel on PyQt6's smaller default canvas - Start the spiral at
t=2Οto ensure sufficient pixel spacing between consecutive points
- The spiral test data started at
- Fixed pytest running all tests when selecting a single test from VS Code:
- Move
plotpyfromaddoptstotestpathsin[tool.pytest.ini_options]
- Move
π§ Other changes:
- Add missing
setuptoolstorequirements.txt(dev) - Update GitHub Actions to use latest artifact upload and download versions
- Update
cibuildwheelversion to v3.3.1 for improved wheel building - Add
.venv*to.gitignoreto exclude virtual environment files