Skip to content

Releases: slaclab/pydm

v1.27.2

24 Jun 21:20
3ec1eea
Compare
Choose a tag to compare

What's Changed

a small released to address a bug introduced in v1.27.1

Bug Fixes

  • BUG: make tabwidget call parent eventFilter() of correct parent class. by @nstelter-slac in #1259

Full Changelog: v1.27.1...v1.27.2

v1.27.1

10 Jun 21:59
e622a0f
Compare
Choose a tag to compare

What's Changed

This release addresses a host of bugs, along with needed maintenance changes. It also continues our work towards supporting pyside6. The patch also has a few small new features including adding a context menu to the PyDMShellCommand.

Enhancements

  • ENH: add context menu options to PyDMShellCommand to display and copy their command(s) by @craftablescience in #1227
  • ENH: allow displays to be loaded from subdirectories of search paths by @craftablescience in #1226
  • ENH: make middle-click copy-to-clipboard feature on widgets copy also to the clipboard that pastes with 'Ctrl-v' by @nstelter-slac in #1244
  • ENH: indicate when a PyDMShellCommand's cmd is currently running by changing the button's appearance and disabling the button. by @nstelter-slac in #1249

Bug Fixes

  • FIX: connection inspector no longer resets user-defined sort when connections are updated by @craftablescience in #1221
  • FIX: misc. nav bar, homefile behavior tweaks by @craftablescience in #1224
  • FIX: use a regex to parse a given URI instead of urllib by @craftablescience in #1219
  • BUG: fix error when establishing plugin connections with protocols in all caps. by @nstelter-slac in #1236
  • BUG: ensure all PyDMWritableWidget and PyDMWidget subclasses get init'd correctly. by @nstelter-slac in #1234
  • FIX: Backfill archive data correctly when adding a new curve to an archive plot by @jbellister-slac in #1245
  • FIX: PyDMDateTime weirdness by @craftablescience in #1230
  • BUG: cleanup stylesheet readin code, also stops FileNotFoundError error when cancel out stylesheet selecting window by @nstelter-slac in #1248
  • FIX: ArchiverPlotCurveItem.to_dict keys Match Keyword Arguments of addYChannel by @zdomke in #1257
  • FIX: Formula curves not updating when composite curves fetch new data from archive by @YektaY in #1258
  • FIX: Baseplot Crosshair Labels by @YektaY in #1256
  • BUG: access clipboard mode enum directly from qtpy QClipboard class by @nstelter-slac in #1242
  • FIX: Gets FormulaCurveItems working for pvs with archived or live connections by @YektaY in #1250

Maintenance

  • MNT: disable sometimes failing test on macOS, just for now until it gets fixed by @nstelter-slac in #1223
  • MNT: switch to just ruff for pre-commit formatting + linting (faster), add spell checker to precommit, update versions of precommit repos by @nstelter-slac in #1222
  • MNT: fix precommit config, make all imports absolute with ruff + precommit by @nstelter-slac in #1213
  • STY: add missed precommit changes (when precommit was accidently disabled) by @nstelter-slac in #1252

PySide6 Changes

  • TST: make timeplot testcase work for pyside6 too by @nstelter-slac in #1229
  • MNT: update python lib datetime calls to use newest format, was causing warning output on pyside6 by @nstelter-slac in #1237
  • MNT: deal with large number of warnings when running tests on pyside6 by @nstelter-slac in #1228
  • MNT: on pyside6, ensure events get filtered properly into pydm's base classes. by @nstelter-slac in #1240
  • MNT: stop passing parent=parent to prevent error on pyside6 with init() calls by @nstelter-slac in #1241

New Contributors

Full Changelog: v1.27.0...v1.27.1

v1.27.0

01 Apr 18:26
17cc05b
Compare
Choose a tag to compare

What's Changed

This patch adds a few new features to Base Plot and Archive Time Plot along with some bug fixes. We added labels on crosshairs for Time Plots, Archive Time Plots and Waveform Plots and fixed how crosshairs were working. We addressed an issue with dynamically switching a channel on a PyDMWidget.

This update also adds another slew of changes that are needed for PySide6 support in PyDM. (Note that Pyside6 support is currently still in progress and will be fully enabled in a future release. Using Pyside6 will also be an optional feature and should not effect how PyDM currently uses PyQt5.)

Enhancements

  • ENH: Adds Labels to Timeplot Crosshair by @YektaY in #1173
  • ENH: Infinite line extension for PyDMArchiverTimePlot by @YektaY in #1167
  • ENH: ArchiveTimePlot Fetch Data on X-Axis Change by @zdomke in #1172

Bug Fixes

  • BUG: properly remove error bars in time plot's clearCurves by @shilorigins in #1217
  • FIX: Don't attempt a disconnect on the value signal if the widget is being destroyed by @jbellister-slac in #1218
  • FIX: Ensure previous instance of display class is fully cleaned up after reloading it by @jbellister-slac in #1209
  • FIX: Fixing bug with updateXAxis def by @zdomke in #1216
  • BUG: connect BasePlotAxisItem auto-range methods to the linked ViewBox auto-range methods by @shilorigins in #1212
  • FIX: Disconnect the value signal when removing a listener from a connection by @jbellister-slac in #1208

Maintenance:

PySide6 Changes:

  • MNT: make sure we pass a weak ref of the current object to widget_destroyed by @nstelter-slac in #1189
  • MNT: update enum-button widget's button-group to use proper clicked signal, avoid pyside6 error by @nstelter-slac in #1196
  • MNT: stop high-dpi setting warning on pyside6(qt6) by @nstelter-slac in #1198
  • MNT: pyside6 just throws an IndexError instead when connecting to value_signals not overloaded with the specified type by @nstelter-slac in #1197
  • MNT: On pyside6 use == for signal comparison (can't use .signal like in pyqt5) by @nstelter-slac in #1199
  • MNT: Move some calls to children classes to stop pyside6 throwing an error about init in classes that use multiple inheritence. by @nstelter-slac in #1181
  • TST: fix error during tests on pyside6 with c++ internal object deletion by @nstelter-slac in #1215

Full Changelog: v1.26.0...v1.27.0

v1.26.0

18 Mar 23:49
0806a50
Compare
Choose a tag to compare

What's Changed

This patch adds some bug fixes related to the ErrorBarItems of ArchiverPlotCurveItem widgets, and the added ability to reference start angle and span angles of PyDMDrawingArc based widgets with their widget-rules (for example, they can now be set by PVs). This update also adds some general maintenance patches to PyDM's setup and GitHub, a highlight being the switch from setup.py to pyproject.toml.

This update also adds a slew of changes that are needed for PySide6 support in PyDM. (Note that Pyside6 support is currently still in progress and will be fully enabled in a future release. Using Pyside6 will also be an optional feature and should not effect how PyDM currently uses PyQt5.)

Maintenance:

  • Migrate to pyproject.toml by @jbellister-slac in #1184
  • MNT: update issues and feature request page on github, make it apply a tag to the issues automatically by @nstelter-slac in #1170
  • MNT: stop install wrong pyca package through pip, and enabled psp test which uses pyca's psp library by @nstelter-slac in #1136
  • FIX: changes to publish-to-pypi.yml by @YektaY in #1165
  • MNT: fix github actions windows tests from failing randomly: maybe windows is slow, try waiting a few seconds longer by @nstelter-slac in #1201
  • STY: fix minor spelling mistakes by @nstelter-slac in #1182

Bug Fixes:

  • FIX: Set log mode and link/unlink ArchivePlotCurveItem.ErrorBarItems by @zdomke in #1168

Enhancements:

  • ENH: add two rules to PyDMDrawingPie widget by @jjanice in #1185

PySide6 Changes:

  • MNT: remove widget classes inheritance from enum, as preperation for qt6 enum support by @nstelter-slac in #1154
  • Support both pyqt5 pyside6 enums by @nstelter-slac in #1155
  • ENH: Add Pyside6 compatible UI file compilation by @nstelter-slac in #1163
  • MNT: make RULE_PROPERTIES work with pyside6 by @nstelter-slac in #1161
  • MNT: switch signal type overloading to use syntax that works for both pyqt5 and pyside6 by @nstelter-slac in #1164
  • TST: some changes to tests for pyside6, also set about page font width to bold (which is same as having 75) by @nstelter-slac in #1176
  • MNT: in tests, access style pixmaps using StandardPixmap by @nstelter-slac in #1187
  • TST: fix segfault issue during symbol editor test on pyside6 by @nstelter-slac in #1190
  • MNT: '|' is only supported way to combine macros in qt6, and still works also for qt5 by @nstelter-slac in #1175
  • MNT: Be sure we use Qt.PenStyle enums for setting pen style, not ints. by @nstelter-slac in #1188
  • MNT: use the correct signal for comboboxes in the camviewer example, stops error on pyside6 by @nstelter-slac in #1192
  • TST: use QSlider.TickPosition values in slider tests (errors when use ints on pyside6) by @nstelter-slac in #1191

New Contributors

Full Changelog: v1.25.2...v1.25.3

v1.25.2

29 Jan 00:15
4a10536
Compare
Choose a tag to compare

What's Changed

This update adds a host of bug fixes and maintenance work to PyDM. Included is a fix for loading widgets in QtDesigner when PyDM is installed from PyPI, a fix for indexing into a NTTable's array of np.integer types, a fix for using a PyDMSlider with floating point values, and an improved doc page on setup and contributing for developers.

This update also adds new options for stdout and stderr output from subprocesses launched by PyDMShellCommand widgets, and fixes the issue of these subprocess temporarily freezing when outputting a large amount.

New Features

  • ENH/FIX: shell command output options by @ZLLentz in #1138
  • ENH: make main window menubar action for 'Enter Fullscreen' toggle to 'Exit Fullscreen' when in fullscreen view. by @nstelter-slac in #1128

Docs

Maintenance

Bug Fixes

  • BUG: fix issue where designer doesn't load pydm widgets when pydm is installed from PyPI using pip by @nstelter-slac in #1132
  • FIX: Store Data for FormulaCurveItem with Constant Value by @zdomke in #1124
  • FIX: Check Validity of QAbstractTableModel Classes by @zdomke in #1122
  • FIX: maintain reference to related displays to avoid gc by @ZLLentz in #1137
  • FIX: Small change to addess a valueError in PyDMSlider when they are being dragged by @YektaY in #1147
  • BUG: Add a case in p4p_plugin_component.py for Numpy integers. by @slactjohnson in #1120

New Contributors

Full Changelog: v1.25.1...v1.25.2

v1.25.1

08 Oct 22:11
13200f5
Compare
Choose a tag to compare

What's Changed

A small release to update publish-to-pypi.yml file

Bug Fix

Full Changelog: v1.25.0...v1.25.1

v1.25.0

08 Oct 18:08
cb1dd3a
Compare
Choose a tag to compare

What's Changed

This update provides a slew of changes to the pydm plots including updates to the PyDMArchiverTimePlot. This update also fixes a couple bugs in the PyDMSlider, so now the slider handle is draggable.

New Features

Maintenance

  • Bump actions/download-artifact from 3 to 4.1.7 in /.github/workflows by @dependabot in #1109

Bug Fixes

  • FIX: Unlinking a curve from an axis now removes it from the legend by @aksharsarvesh in #1112
  • FIX: Addressed two bugs on the slider. Middle click to see PV name and click and drag on the slider handle by @YektaY in #1115

New Contributors

Full Changelog: v1.24.1...v1.25.0

v1.24.1

19 Aug 21:44
8b27429
Compare
Choose a tag to compare

What's Changed

This update provides a new option to specify to PyDM the order in which dimensions of a PVA image are being sent. Also added are new stepMode options for drawing graphs, and the PyDMByteIndicator now displays negative numbers by the bits of their two's complement representation. Also included are bug fixes and maintenance work related to using PyDM with Python 3.10

New Features

Maintenance

  • FIX: in analong_indicator, explicitly cast to int for py310+ compat by @ZLLentz in #1080
  • Fix Container class move for python 3.10 by @mattgibbs in #1104

Bug Fixes

New Contributors

Full Changelog: v1.24.0...v1.24.1

v1.24.0

23 May 21:13
ae70a5e
Compare
Choose a tag to compare

What's Changed

This update adds EPICS 7 RPC support along with updates and fixes to the PyDMSlider. Please refer to the P4P Plugin documentation page for instructions on how to use the new RPC functionality if interested!

New Features

Bug Fixes

  • FIX: Fix to clicking on PyDMSilder running on MacOS by @YektaY in #1079

Full Changelog: v1.23.0...v1.24.0

v1.23.0

09 May 18:27
9315bca
Compare
Choose a tag to compare

What's Changed

This update adds a slew of changes. Most notably to the Archiver Time Plot and Time Plot widgets as well as changes to the base plot. This release also has a few improvements to the pydm drawing widgets, adding new rules and giving users the ability to change the size of arrows on lines.

New Features

  • ENH: Add option to change size of arrows on drawn lines by @nstelter-slac in #1072
  • ENH: Archiver Timeplot address setters by @zdomke in #1061
  • ENH: Archived Data Mode for the Archiver Time Plot Widget by @YektaY in #1062
  • ENH: Add checkable columns to Archiver Plot Model by @zdomke in #1074
  • ENH: Base Plot Axis log mode setter by @zdomke in #1075
  • ENH: Base Plot Axis range values by @zdomke in #1077
  • ENH: Timeplot auto scrolling by @zdomke in #1076
  • ENH: added new pydm drawing rules for all drawing widgets that allow for p… by @phys-cgarnier in #1066

Maintenance

Bug Fixes

New Contributors

Full Changelog: v1.22.1...v1.23.0