Releases: pyqtgraph/pyqtgraph
Releases · pyqtgraph/pyqtgraph
pyqtgraph-0.13.7
pyqtgraph-0.13.7
What's Changed
- test_PolyLineROI now passes on non-AMD64 platforms by @j9ac9k in #2999
- Add note about NaN to int conversion by @j9ac9k in #3007
- remove functions.try_fastpath_argb as it triggered segfaults by @j9ac9k in #3008
- Allow users to specify FillRule for FillBetweenItem, undo regression from #2971 by @j9ac9k in #3006
pyqtgraph-0.13.6
What's Changed
Full Changelog: pyqtgraph-0.13.5...pyqtgraph-0.13.6
pyqtgraph-0.13.5
pyqtgraph-0.13.5
What's Changed
Highlights
- add fastpath for float images with nans by @pijyoi in #2970
- Add peegee as mkQApp application icon by @j9ac9k in #2990
- Add stubs for Qt modules by @maflAT in #2972
- add ColorMapMenu to ColorBarItem by @pijyoi in #2955
API/Behavior Changes
- add ColorMapMenu to ColorBarItem by @pijyoi in #2955
- Add Vertical and Horizontal Line Symbols by @j9ac9k in #2985
Bug Fixes
- Filling correction for Fillbetweenitem by @BousquetSophie in #2971
- Fix SpinBox SyntaxWarnings #2962 by @aaryamantriescode in #2964
- class Handle Fix allowing dict to be passed for handlePen and removing hard reset for width and cosmetic attributes by @pdmkdz in #2907
- numpy 2.0: workaround regression in rescaleData by @pijyoi in #2974
Misc
- Add peegee as mkQApp application icon by @j9ac9k in #2990
- Add stubs for Qt modules by @maflAT in #2972
- set SymbolAtlas dpr to primary screen's dpr by @pijyoi in #2965
- ImageView example: use levelMode="rgba" by @pijyoi in #2963
- Remove deprecated use of paletteChanged by @j9ac9k in #2993
- Set Application Icon on windows by @j9ac9k in #2992
New Contributors
- @aaryamantriescode made their first contribution in #2964
- @maflAT made their first contribution in #2972
- @BousquetSophie made their first contribution in #2971
- @pdmkdz made their first contribution in #2907
Full Changelog: pyqtgraph-0.13.4...pyqtgraph-0.13.5
pyqtgraph-0.13.4
What's Changed
Highlights
- Optimize clip and downsample by @pijyoi in #2719
- Drop python 3.8 and numpy 1.20 support by @j9ac9k in #2740
- speed up PColorMeshItem by @pijyoi in #2768
- NonUniformImage improvements by @pijyoi in #2764
- Fix 'import pyqtgraph.canvas' crash by @nicoddemus in #2934
- Add LabelItem font family option by @misantroop in #2919
API/Behavior Changes
- Drop python 3.8 and numpy 1.20 support by @j9ac9k in #2740
- Add
dataBounds()
method toTextItem
to make autoRange more predictable by @redruin1 in #2646 - speed up PColorMeshItem by @pijyoi in #2768
- NonUniformImage improvements by @pijyoi in #2764
- Adapt hide icon (invisible eye) to style of other icons by @stephan-senkbeil in #2731
- Add updatePristineValues arg to Parameter.setDefault by @outofculture in #2853
- Allow ROI context menu to show if non-removable by @samtygier in #2932
- Add LabelItem font family option by @misantroop in #2919
- Center exportDialog using screen geometry by @MorbidCuriosity84 in #2930
- Give siPrefix behavior to values of zero by @outofculture in #2842
- make ColorBarItem agnostic of the image kind by @pijyoi in #2879
- Allow menu selection of ColorMap(s) by @pijyoi in #2779
- AxisItem: Add adjustable label overlap tolerances, vertical overlap by default by @NilsNemitz in #2836
- chg: NodeGraphicsItem in Node.py by @Doralitze in #2869
- ScatterPlotItem: implement hidpi pixmap by @pijyoi in #2863
- Axis ticker update by @NilsNemitz in #2827
- Preserve tick pen by @NilsNemitz in #2828
- Add turbo colormap to local ColorMaps and GradientEditorItem by @ptuemmler in #2778
Bug Fixes
- GLViewWidget: fix mouse pos jumps when mouse tracking is off by @pijyoi in #2698
- TypeError when using multiple pens for different lines by @adriandavidauer in #2704
- PySide6 6.5.1 compatibility updates by @pijyoi in #2734
- guard against auto-downsample oscillation by @pijyoi in #2726
- For SVG exports, shift PlotCurveItems to be about 0,0 by @j9ac9k in #2728
- Update TextItem.py by @dingo9 in #2761
- Fix invisible InfiniteLine at plot edges by @bbc131 in #2762
- Fix #2786: proper handling of slider parameter suffix by @ntjess in #2796
- fix: wrong key set to _pixelVectorCache by @pijyoi in #2795
- PlotCurveItem check if args is None first by @JayanthBontha in #2835
- fixed recursive PlotWidget.getattr calls by @nleclercq in #2860
- Do not move PlotCurveItem to origin by @j9ac9k in #2950
- close ROI handle subpath by @pijyoi in #2949
- Add updatePristineValues arg to Parameter.setDefault by @outofculture in #2853
- Use non-deprecated method to access screen info by @j9ac9k in #2938
- coerce to dtype after creation by @pijyoi in #2939
- disconnect only slots that got connected by @pijyoi in #2923
- Prevent containerChanged from collapsing an entire container tree by @UsYer in #2888
- fix: paint method widget argument can be None by @pijyoi in #2903
- Fix 'import pyqtgraph.canvas' crash by @nicoddemus in #2934
- Fix Python 3.12
DeprecationWarning
:datetime.datetime.utcfromtimestamp()
by @bersbersbers in #2848 - convert QPointF to QPoint before calling mapToScene() by @sevas in #2870
- Numpy > 1.20 by @MalteOlle in #2739
- Fix resizing ViewBox if aspect locked + apply ViewBox limits immediately by @bbc131 in #2799
Misc
- bump to dev version by @ntjess in #2693
- Don't draw InfiniteLine anti-aliased if vertical or horizontal by @bbc131 in #2709
- Optimize clip and downsample by @pijyoi in #2719
- WidgetGroup: avoid lambda by using self.sender() by @pijyoi in #2694
- keep track of respective finiteness of x and y by @pijyoi in #2720
- refactor GLViewWidget code into GLViewMixin by @pijyoi in #2659
- Fix NumPy warning in test_functions by @swt2c in #2746
- generate random integers directly by @pijyoi in #2748
- Fix tox config, bump min numpy to 1.22 by @j9ac9k in #2755
- Simplify fps computation by @pijyoi in #2752
- Add iterations argparse argument to benchmarks by @j9ac9k in #2418
- export dialog - compare items by "is" rather than "==" (operator not implemented!) by @j9ac9k in #2758
- workaround Python 3.11.4 flag inversion issue by @pijyoi in #2760
- use QGraphicsPixmapItem instead of ImageItem to draw colorbar by @pijyoi in #2781
- ImageItem: cache nan check by @pijyoi in #2784
- ImageItem: request for 256-entry lut by @pijyoi in #2808
- update gitignore setting by @longqzh in #2834
- workaround PYSIDE-2487 for pen parameter by @pijyoi in #2844
- ButtonItem: draw pixmap to logical size by @pijyoi in #2873
- Allow release info change during apt-get update on ubuntu by @spchamp in #2893
- various fixes for NumPy 2.0 by @pijyoi in #2894
- Fix typo invloved -> involved by @NilsIrl in #2905
- Add int typehint to ClickRadius by @robtau in #2943
- Refactor ImageItem QImage creation routines by @pijyoi in #2944
- Better editable install by @j9ac9k in #2935
- Use QColor.fromString instead of deprecated QColor.setNamedColor by @zariiii9003 in #2877
- Add pickling to SRTTransform by @outofculture in #2914
- pcmi: refactor setData() by @pijyoi in #2876
Docs
- Update .readthedocs.yaml by @j9ac9k in #2732
- Address pydata-sphinx-theme warning by @j9ac9k in #2861
- Docs: Update Qt binding selection details by @veractor in #2807
- Bump pyqt6 from 6.5.0 to 6.5.1 in /doc by @dependabot in #2741
- Bump pyqt6 from 6.5.1 to 6.5.2 in /doc by @dependabot in #2780
- Bump pyqt6 from 6.5.2 to 6.5.3 in /doc by @dependabot in #2846
- Bump pyqt6 from 6.5.3 to 6.6.0 in /doc by @dependabot in #2862
- Bump pyqt6 from 6.6.0 to 6.6.1 in /doc by @dependabot in #2895
- Bump sphinx from 6.1.3 to 6.2.1 in /doc by @dependabot in #2705
- Bump sphinx from 6.2.1 to 7.1.0 in /doc by @dependabot in #2782
- Bump sphinx from 7.1.0 to 7.1.2 in /doc by @dependabot in #2791
- Bump sphinx from 7.1.2 to 7.2.2 in /doc by @dependabot in #2802
- Bump sphinx from 7.2.2 to 7.2.3 in /doc by @dependabot in #2806
- Bump sphinx from 7.2.3 to 7.2.4 in /doc by @dependabot in #2809
- Bump sphinx from 7.2.4 to 7.2.5 in /doc by @dependab...
pyqtgraph-0.13.3
pyqtgraph-0.13.3
What's Changed
Highlights
- PySide6 6.5 Compatability
Bug Fixes
- Return float values from QColor in getByIndex by @nickdimitroff in #2648
- GLViewWidget: don't assume mouse tracking is disabled by @pijyoi in #2653
- Tolerate an empty BarGraphItem by @jmakovicka in #2658
- Only apply nan mask workaround for cp version below 10.0. by @koenstrien in #2689
Misc
- unify ndarray_from_qpolygonf implementation by @pijyoi in #2654
- re-enable tests taking gui thread on PySide6 by @pijyoi in #2657
- inherit GraphicsWidgetAnchor on the left-hand-side by @pijyoi in #2662
- Prepare support for PySide6 drawLines and friends by @pijyoi in #2596
- Avoid changing background colors of text and rows for group parameter… by @ntjess in #2683
Testing
Docs
- Update pydata-sphinx-theme and fix warnings by @j9ac9k in #2643
- Bump sphinx-design from 0.3.0 to 0.4.1 in /doc by @dependabot in #2686
- Bump sphinx from 5.3.0 to 6.1.3 in /doc by @dependabot in #2585
New Contributors
- @nickdimitroff made their first contribution in #2648
- @koenstrien made their first contribution in #2689
Full Changelog: pyqtgraph-0.13.2...pyqtgraph-0.13.3
pyqtgraph-0.13.2
What's Changed
Highlights
- Fix InfiniteLine bounding rect calculation by @ixjlyons in #2407
- Allow plotting multiple data items at once by @ntjess in #2461
- Migrate to PyData Sphinx Theme - Restructure Docs by @j9ac9k in #2449
API/Behavior Changes
- re-enable hmac authentication for win32 by @pijyoi in #2465
- Add keyword argument in PColorMeshItem to enable consistent colormap scaling during animation by @SimenZhor in #2463
- fix: use connect='finite' if finite-ness of data is unknown by @pijyoi in #2471
- Fix
ViewBox.autoRange()
for case of data with constant y-value by @bbc131 in #2489 - Make
ActionGroup
compatible with existing Parameter conventions by @ntjess in #2505 - Update
PenParameter
by @ntjess in #2536 - remove resizeEvent on screen change by @pijyoi in #2546
- BarGraphItem: implement dataBounds and pixelPadding by @pijyoi in #2565
- Maintain argument propagation for GLGraphicsItems to super class by @koutoftimer in #2516
- Accept custom ROI objects for ImageView by @ktahar in #2581
- PColorMeshItem colorbar support by @SimenZhor in #2477
- feat(PlotItem) define context menu action visibility by @jmkerloch in #2584
- Allow plotting multiple data items at once by @ntjess in #2461
Bug Fixes
- Fix renderView to not use mremap on FreeBSD by @yurivict in #2445
- Fix action parameter button that is briefly made visible before getting a parent by @ntjess in #2451
- Fix InfiniteLine bounding rect calculation by @ixjlyons in #2407
- Fix disconnect of signal proxy by @dgoeries in #2453
- Fix ButtonItem hover event by @bbc131 in #2473
- test and fix for ChecklistParameter.show bug by @outofculture in #2480
- fix segmented line mode with no segments by @pijyoi in #2481
- Prevent flickering
ActionGroup
when switching parameter trees by @ntjess in #2484 - fix: ndarray_from_qimage does not hold a reference to qimage by @pijyoi in #2492
- Fix exportDialog drawn off screen by @aksy2512 in #2510
- partial fix for Qmenu leak by @pijyoi in #2518
- Fix last QMenu leak and its associated segfaults by @pijyoi in #2522
- fix setMaximumHeight(1e6) in SpinBox.py by @sem-geologist in #2519
- Use base_prefix to detect virtual env by @eendebakpt in #2566
- typo: dataRange -> dataBounds by @pijyoi in #2589
- NonUniformImage: implement floating point boundingRect by @pijyoi in #2587
- PColorMeshItem: implement dataBounds and pixelPadding by @pijyoi in #2586
- BarGraphItem: calculate boundingRect without drawing by @pijyoi in #2599
- Fix bounds handling when data is int16 or similar formats by @NilsNemitz in #2515
- ImageView: make .nframes() to use .axis['t'] instead of .shape[0] by @sem-geologist in #2623
- Fix GraphicsScene ValueError in mouseReleaseEvent by @j9ac9k in #2605
- PlotCurveItem error with stepMode="center", autoRange and autoVisible by @djdt in #2595
Examples
- Fix #2482 argparse inputs were ignored by @ntjess in #2483
- PlotSpeedTest: reflect initial use_opengl state by @pijyoi in #2487
- draw example histogram using BarGraphItem by @pijyoi in #2556
Tests
- ROI: Add test with mouseDrag event and check snapping by @dgoeries in #2476
- fix wrong logic for assert_alldead by @pijyoi in #2503
- fix: instantiate QApplication for test_Parameter.py by @pijyoi in #2539
- don't use pg.plot() in tests by @pijyoi in #2625
Docs
- Migrate to PyData Sphinx Theme - Restructure Docs by @j9ac9k in #2449
- Fix Qt crash course example by @Jaime02 in #2470
Other
- Remove remaining templates by @j9ac9k in #2448
- Have canvas deprecation warning by @j9ac9k in #2446
- unify win32 and unix mmap codepaths by @pijyoi in #2457
- Update setup.py, import distutils after setuptools by @LocutusOfBorg in #2459
- Raise appropriate Exceptions in place of generic exceptions by @Nibba2018 in #2474
- Remove old unused mains by @Jaime02 in #2490
- make DockDrop be a non-mixin by @pijyoi in #2450
- Use non-deprecated QMouseEvent signatures by @j9ac9k in #2509
- Remove STRTransform main by @Jaime02 in #2466
- Minor improvements to
InteractiveFunction
ecosystem by @ntjess in #2521 - Improve
ChecklistParameter.setValue
logic. by @ntjess in #2544 - Remove antiquated Qt crash prevention by @NeilGirdhar in #2573
- create internals.PrimitiveArray by @pijyoi in #2591
- rename "method" to "use_array" and make it keyword only by @pijyoi in #2609
New Contributors
- @yurivict made their first contribution in #2445
- @Jaime02 made their first contribution in #2468
- @SimenZhor made their first contribution in #2463
- @Nibba2018 made their first contribution in #2474
- @rookiepeng made their first contribution in #2491
- @aksy2512 made their first contribution in #2510
- @noonchen made their first contribution in #2553
- @ZeitgeberH made their first contribution in #2559
- @NeilGirdhar made their first contribution in #2573
- @koutoftimer made their first contribution in #2516
- @ktahar made their first contribution in #2581
- @bilaljo made their first contribution in #2577
- @djdt made their first contribution in #2595
- @jmkerloch made their first contribution in #2584
Full Changelog: pyqtgraph-0.13.1...pyqtgraph-0.13.2
pyqtgraph 0.13.1
pyqtgraph 0.13.0
What's Changed
Highlights
- With PyQt6 6.3.2+ PyQtGraph uses sip.array, which leads to significantly faster draw performance by @pijyoi in #2314
- Introducing "interactive" parameter trees by @ntjess in #2318
- Minimum Qt version now 5.15 for Qt5 and 6.2+ for Qt6 by @j9ac9k in #2403
- with
enableExperimental
pyqtgraph accesses QPainterPathPrivate for faster QPainterPath generation by @pijyoi in #2324
New Features
- Interactive params fixup by @ntjess in #2318
- Added possibility to use custom dock labels by @ardiloot in #2274
- Introduce API option to control whether lines are drawn as segmented lines by @swvanbuuren in #2185
- access QPainterPathPrivate for faster arrayToQPath by @pijyoi in #2324
- Update LabelItem to allow transparency in the text by @ElpadoCan in #2300
- Make parameter tree read-only values selectable and copiable by @ardiloot in #2311
- Have CSV exporter export error bar information by @j9ac9k in #2405
- map pyqtgraph symbols to a matplotlib equivalent by @pijyoi in #2395
Performance Improvements
- Improve performance of PlotCurveItem with QOpenGLWidget by @bbc131 in #2264
- ScatterPlotItem: use Format_ARGB32_Premultiplied by @pijyoi in #2317
- access QPainterPathPrivate for faster arrayToQPath by @pijyoi in #2324
- make use of PyQt sip.array by @pijyoi in #2314
Bug Fixes
- Fix GLImageItem regression by @pijyoi in #2232
- Fixed the app crash on right clicked by @Cosmicoppai in #2236
- Fix Regression in in ViewBox.updateScaleBox Caused by #2034 by @campagnola in #2241
- Fix UFuncTypeError when plotting integer data on windows by @campagnola in #2249
- Fixed division by zero when no pixmap is loaded by @StSav012 in #2275
- Ensure in PlotCurveItem lookup occurs in tuple, not str by @j9ac9k in #2294
- Fixed a crash when
step
option is missing by @StSav012 in #2261 - Invalidate cached properties on geometryChanged signal by @j9ac9k in #2357
- Bugfix: Handle example search failure due to bad regex by @ntjess in #2121
- Address #2303 unapplied pen parameter constructor options by @ntjess in #2305
- Issue #2203 Potential Fix: Disabled FlowchartCtrlWidget.nodeRenamed o… by @HallowedDust5 in #2301
- Fix #2289 unwanted growing in scene context menu by @ntjess in #2306
- #2283 delete limitation by rectangle width ROI by @sasha-sem in #2285
- Update exception handling to catch exceptions in threads (py3 change) by @campagnola in #2309
- Fix PlotCurveItem errors when pen=None by @campagnola in #2315
- ScatterPlotItem point masking fix by @ardiloot in #2310
- Use property to lazily declare rectangle by @j9ac9k in #2356
- Fix missing import in Flowchart.py by @Puff-Machine in #2421
- Fix doubling labels in DateAxisItem by @bbc131 in #2413
- GridItem: Fix pen for usage of dash-pattern by @bbc131 in #2304
- Update PColorMeshItem.py by @LarsVoxen in #2327
- Fix infinite loop within DateAxisItem by @bbc131 in #2365
- Fix GraphicsScene.itemsNearEvent and setClickRadius by @bbc131 in #2383
- Modify MatplotlibWidget to accept QWidget super constructor parameters. by @Dolphindalt in #2366
- Fix flickering, when panning/scrolling in a fully zoomed-out view by @bbc131 in #2387
- Make auto downsample factor calculation more robust by @StSav012 in #2253
- Fix : QPoint() no longer accepts float arguments by @campagnola in #2260
- avoid double init of DockDrop by @pijyoi in #2286
- Add a few ImageView improvements by @outofculture in #1828
API/Behavior Changes
- remove border QGraphicsRectItem from scene by @pijyoi in #2225
- Introduce API option to control whether lines are drawn as segmented lines by @swvanbuuren in #2185
- Modify CSV exporter to output original data without log mapping by @NilsNemitz in #2297
- Expose useCache ScatterPlotItem option from plot method by @ibrewster in #2258
- remove legend items manually from scene by @pijyoi in #2368
getHistogramRange
forHistogramLUTItem
by @kremeyer in #2397- Axis pen improvements by @ibrewster in #2398
- remove MatplotlibWidget from pg namespace by @pijyoi in #2400
- change the libOrder to favor Qt6 by @Wubbzi in #2157
Examples
- Added Jupyter console widget and Example by @jonmatthis in #2353
- Add glow example by @edumur in #2242
- update multiplePlotSpeedTest.py to use PlotCurveItem instead of QGraphicsPathItem by @pijyoi in #2426
Docs
- Add GLTextItem to docs by @jebguth in #2419
- Add logo to docs by @ixjlyons in #2384
- Enable nit-picky mode in documentation and fix associated warnings by @j9ac9k in #1753
- Added UML class diagram to give overview of the most important classes by @titusjan in #1631
Other
- Remove old Qt workarounds by @pijyoi in #2224
- Track when ScatterPlotItem clears the tooltip, only clear when needed by @ixjlyons in #2235
- Avoid import error in HDF5 exporter by @campagnola in #2259
- test enum using : "enums & enum" by @pijyoi in #2250
- add support for PySide6 6.3.0 QOverrideCursorGuard by @pijyoi in #2263
- Used the power of
blockIfUnchanged
decorator by @StSav012 in #2181 - Handle/remove unused variables by @ksunden in #2094
- BusyCursor and QPainter fixes for PyPy by @pijyoi in #2349
- Add a pyi stub file to import best-guess pyqt type hints by @outofculture in #2358
- test_PlotCurveItem: unset skipFiniteCheck for next test by @pijyoi in #2313
- lazy create the rectangle selection item by @danielhrisca in #2168
- fix: super().init does not need self by @pijyoi in #2359
- Promote interactive
Run
action to group level by @ntjess in #2414 - Enhance testing for creating parameters from saved states by @ntjess in #2319
- add support for PySide6's usage of Python Enums by @pijyoi in #2329
- remove QFileDialog PyQt4 compatibility code by @pijyoi in #2394
- Bugfix:
interact
on decorated method that usesself
. by @ntjess in #2408 - use single generic template for all bindings by @pijyoi in #2226
interact()
defaults toON_ACTION
behavior and acceptsrunActionTemplate
argument by @ntjess in #2432
New Contributors
- @andriyor made their first contribution in #2212
- @keziah55 made their first contribution in #2191
- @Cosmicoppai made their first contribution in #2236
- @bbc131 made their first contribution in #2264
- @StSav012 made their first contribution in https://github.com/pyqtgraph/pyqtgraph/pull...
pyqtgraph 0.12.4
Highlights
- Jupyter Support with optional
jupyter-rfb
library - Experimental high performance with lines >1px thick
- Python 3.10 Support
- PColorMesh Performance Improvement
- PlotCurveItem fillLevel performance improvement
What's Changed
- experimental line drawing mode for thick lines by @pijyoi in #2011
- Add pymeasure in used by section by @msmttchr in #2033
- Optimize PColorMeshItem by @pijyoi in #2023
- Fix displace between selection area and mouse pos by @leo603222 in #2034
- Speed up connect='all' in the presence of non-finite by @pijyoi in #2036
- Fix deprecation warnings by @campagnola in #2038
- Update README.md by @3fon3fonov in #2043
- Fix WidgetGroup handling of QSplitter + code cleanup by @campagnola in #2047
- Moved examples inside project directory by @j9ac9k in #2045
- RemoteGraphicsView.py : implement pickle protocol by @pijyoi in #2051
- AxisItem: Ignore drag/wheel events on ViewBox. by @ales-erjavec in #2057
- Maintain limits on ViewBox scaling by @NilsNemitz in #2054
- make PlotItem's average pen and shadow pen accessible by @NilsNemitz in #2052
- Disable and comment the prepareForPaint call in ViewBox.update() by @NilsNemitz in #2053
- add HussariX to the list of Used By in README by @sem-geologist in #2069
- ViewBox quantization limit by @NilsNemitz in #2064
- re-add UTF-8 encoding to example app code loader by @NilsNemitz in #2061
- implement glInfo without PyOpenGL by @pijyoi in #2073
- Run isort and pycln over entire repo - upgrade pre-commit config by @j9ac9k in #2002
- Deprecate QtWidgets accessed through QtGui by @outofculture in #1915
- Improved error message for invalid PYQTGRAPH_QT_LIB by @max-radin in #2077
- speed up PlotCurveItem fillLevel by @pijyoi in #2032
- add check for roi scene by @hyperiongeo in #2083
- update imports in the broken example demos by @Wubbzi in #2087
- Don't raise exception when close method of an already-closed dock is called by @max-radin in #2089
- reverse coordinates when drawing on row-major images by @outofculture in #2085
- Separate x and y flags for AxisItem.setLogMode by @max-radin in #2081
- Jupyter PlotWidget example by @pijyoi in #2055
- Add some helpful exceptions for invalid inputs to methods by @ksunden in #2092
- Except clause must be exception type, not exception instance by @ksunden in #2093
- avoid redundant assignment of pos=pos by @ksunden in #2095
- Be lazier about importing h5py by @ksunden in #2096
- Remove polluting imports using * by @ksunden in #2098
- Avoid reusing variables in nested loops by @ksunden in #2100
- Convert == None checks to is None by @ksunden in #2099
- change binder to requirements.txt by @pijyoi in #2104
- set PLATFORM=offscreen in binder/start by @pijyoi in #2106
- Add a proxy delay to checklist parameter changes via children edits by @ntjess in #2097
- Fix stuck ColorBarItem by @NilsNemitz in #2103
- more convenience methods for color maps and bars by @NilsNemitz in #2090
- allow unsetting options in PlotDataItem and PlotCurveItem by @NilsNemitz in #2041
- use smaller font size for ROIExamples.ipynb by @pijyoi in #2112
- PlotCurveItem OpenGL : avoid automatic conversion from float64 to float32 by @pijyoi in #2111
- win32 np.clip slowness fixed in numpy by @pijyoi in #2125
- Fix deprecation warnings by @pijyoi in #2124
- RangeColorMapItem derives from ptree.types.ColorMapParameter by @pijyoi in #2130
- Fix PySide6 6.2.2 breaking change by @j9ac9k in #2132
- avoid PyOpenGL automatic array conversion by @pijyoi in #2131
- avoid comparing string with ndarray by @pijyoi in #2148
- Fire correct signal type for checklist value changing by @ntjess in #2147
- Use GroupParameter instead of popup button for PenParameter by @ntjess in #2086
- change GroupParameterItem palette to address issue in darkmode on mac by @Wubbzi in #2101
- Fix automatic int-casting code for Python 3.10 compatibility by @JamesWrigley in #2149
- Fix more int-casting code for Python 3.10 compatibility by @JamesWrigley in #2153
- Fix typos and formatting errors by @JamesWrigley in #2154
- Added projects to Used by list by @jakimowb in #2172
- Fix formatting on minimum value of GradientLegend. by @CanisUrsa in #2170
- Add an option to makeARGB to disable masking NaNs by @JamesWrigley in #2192
- avoid unnecessary call if autorange is disabled by @danielhrisca in #2199
- micro-optimization for plotcurveitem paint by @danielhrisca in #2201
- cache the ViewBox view pixel size by @danielhrisca in #2202
- improve GraphicsWidget paint speed by caching the bounding rect and the path used by the shape method by @danielhrisca in #2198
- numpy deprecated binary use of fromstring by @outofculture in #2194
- Add Python 3.10 to CI - Re-Enable pytest-xdist in CI by @j9ac9k in #2150
- Bump to 0.12.4 by @j9ac9k in #2209
New Contributors
- @msmttchr made their first contribution in #2033
- @leo603222 made their first contribution in #2034
- @3fon3fonov made their first contribution in #2043
- @max-radin made their first contribution in #2077
- @hyperiongeo made their first contribution in #2083
- @Wubbzi made their first contribution in #2087
- @JamesWrigley made their first contribution in #2149
- @jakimowb made their first contribution in #2172
- @CanisUrsa made their first contribution in #2170
Full Changelog: pyqtgraph-0.12.3...pyqtgraph-0.12.4
pyqtgraph 0.12.3
Merge pull request #2012 from j9ac9k/prep-0.12.3-release Prep for 0.12.3 Release