github pyqtgraph/pyqtgraph pyqtgraph-0.14.0

11 hours ago

pyqtgraph-0.14.0

What's Changed

Highlights

API/Behavior Changes and Additions

Bug Fixes

  • Correctly handle SI-prefixes for nonlinear units by @oyvindlr in #3394
  • fix aspect-locked zoom with mouse-drag while right-button pressed by @pijyoi in #3354
  • fix: isnan is not available in OpenGL 2.1 nor OpenGL ES 2.0 by @pijyoi in #3248
  • fix: GL_POINT_SPRITE was not enabled for NoProfile by @pijyoi in #3236
  • Fix LinearRegionItem mouseDragEvent by @dingo9 in #3168
  • render comparison: resize before show by @pijyoi in #3415
  • fix: GLLinePlotItem uploading vbo perpetually by @pijyoi in #3297
  • Various OpenGL fixes by @pijyoi in #3260
  • Support downsampling of image data with NaNs by @nup002 in #3061
  • Catch SystemError During Signal.disconnect() by @j9ac9k in #3021
  • RawImageGLWidget: update uploaded state on cleanup by @pijyoi in #3043
  • enable blending to take into account alpha transparency by @pijyoi in #3045
  • Fixes: Error when using FFT on data with one point by @Silas-K in #3070
  • Fix ViewBox wheel event propagation by @tikuma-lsuhsc in #3052
  • bugfix: PlotCurveItem OpenGL didn't invalidate render_cache on cleanup by @pijyoi in #3089
  • Format DateAxisItem ticks in different timezones correctly by @Gatsik in #3083
  • fix ComboBox.items() by @MrHenning in #3113
  • connect darkMode slots only once by @pijyoi in #3145
  • Minor fixes for a memory debugging tool by @campagnola in #3158
  • ParseError line numbers should account for empty lines by @outofculture in #3131
  • workaround PySide QByteArray leak on conda builds by @pijyoi in #3268
  • Fix ConsoleWidget ReplWidget.write() always scrolling to bottom (scrollToBottom not working) by @jack-mil in #3140
  • initialize the pressPos attribute with default value to prevent error by @seb5g in #3177
  • Apoptose dock area when temporary window is closed by @UsYer in #3134
  • Fix bug in PlotItem.setAxisItem when called befor scene is set by @tblum in #3182
  • Emit sigRegionChanged only once for LinearRegionItem by @jdranczewski in #3291
  • Removes GraphicsScene.mouseMoveEvent duplicate events by @boringbyte in #3189
  • Fix 'GridItem.generatePicture' for cases of invalid size by @bbc131 in #3284
  • Fix scaling with locked aspect by @a17sol in #3100
  • Update removeItem() by @psyuktha in #3167
  • GLLinePlotItem: restore changes to state by @pijyoi in #3223
  • PlotDataItem setData() listOfDicts fix? by @kevinanewman in #3190
  • To align mark and the label vertically in a Legend by @jiban in #3206
  • Fix bug causing DateTimeAxis to not display tick labels #3185 by @tblum in #3187
  • Update syntax.py to correctly colorize commented code by @kevinanewman in #3339
  • Fix bug preventing console showing more than one uncaught exception by @campagnola in #3309
  • fixed the issue where x and y column would be added regardless of the columnMode while exporting to csv by @virgile-hernicot in #3215
  • GraphicsLayout: Fix removeItem() regression by @dnadlinger in #3226
  • fix GLIsosurface overflow warning on numpy 2 by @pijyoi in #3235
  • Fix parameter item compare unpack order by @j9ac9k in #3264
  • Fix recarray support in PlotDataItem by @ixjlyons in #3278
  • Two minor corrections in flowchart and debug by @campagnola in #3399
  • Fix exception when AxisItem is initialized with text argument (fixes #3410) by @simonkeys in #3412
  • ensure comparison returns bool instead of np.bool in TableWidget by @pijyoi in #3333
  • fix: blockSignal=True in Parameter.setValue() by @cogsy23 in #3305

Performance Improvements

  • invalidate nan locations when downsampling image by @pijyoi in #3368
  • ImageItem: implement persistent default autolevels by @pijyoi in #2883
  • finer grained VBO upload by @pijyoi in #3298
  • Skip nan values in mesh by @sldesnoo-Delft in #3114
  • Fixed bug that significantly degraded zooming performance for line plots by @oyvindlr in #3330
  • use native c++ construction of QPixmap from QImage by @pijyoi in #3208
  • implement cuda OpenGL interops by @pijyoi in #3379
  • Port PlotCurveItem experimental opengl codepath to shaders by @pijyoi in #3055
  • PlotCurveItem: implement OpenGL curve fill by @pijyoi in #3068
  • PColorMeshItem: implement opengl rendering by @pijyoi in #3090
  • pcmi: add support for OpenGL ES 3.0 by @pijyoi in #3094
  • De-ancient-ify OpenGL shaders by @pijyoi in #3109
  • prevent grid lines from getting mouse events by @pijyoi in #3152
  • Make PlotCurveItem and PColorMeshItem work in Core Profile by @pijyoi in #3257
  • Lazy evaluation of mkColor error string by @jdranczewski in #3292
  • Make shaders in shaders.py run on macOS OpenGL 4.1 Core by @pijyoi in #3256
  • ViewBox: Only update auto-range before painting. by @agausmann in #2947
  • create a default VAO if using Core profile by @pijyoi in #3246
  • GLVolumeItem: calculate camera pos using ModelView matrix by @pijyoi in #3262
  • don't relink shader program where it is not needed by @pijyoi in #3295
  • Adding support for connect PlotItem connect vector during view clipping and downsampling by @tblum in #3161

Testing

  • test image formats outside of ImageItem by @pijyoi in #3014
  • Remove now unneeded test skip conditions, use packaging library for version comparison. by @j9ac9k in #3042
  • Add coverage reporting by @j9ac9k in #3054
  • Use packaging library for version comparison by @j9ac9k in #3127

Documentation

Misc

New Contributors

Full Changelog: pyqtgraph-0.13.7...pyqtgraph-0.14.0

Don't miss a new pyqtgraph release

NewReleases is sending notifications on new releases.