Skip to content

PyDM Version 1.0

Compare
Choose a tag to compare
@mattgibbs mattgibbs released this 19 Dec 21:52
· 2644 commits to master since this release
6b7d2bd

PyDM 1.0.0 Release Notes

Version 1.0, just in time for the end of the year! At this point, we think that PyDM is ready for general use. In the spirit of semantic versioning, we’re promising that from this point forward, all 1.x releases will not change the public interfaces for widgets (both in Python and Designer), data plugins, and the application. That isn’t to say we don’t have more new features to come in 1.x releases, just that you’ll hopefully not have to worry about your displays breaking with updates.

The star of this release is the new ‘external tool interface’. This system lets you write simple interfaces to launch external applications (for example, a strip-tool, or archive viewer). Each external tool gets a menu item in the new ‘Tools’ menu, as well as in a menu that appears when right-clicking on widgets. When you execute an external tool, it is passed a list of all channels in the current widget, as well as the widget instance itself. This lets you do some clever stuff: launch a history plot for the PV in a widget! Open a browser window and start writing a logbook entry, with a list of PVs attached! Because we don’t know what external tools you are using, PyDM itself will only come with a couple examples. We’re excited to see what people come up with.

Finally, we’ve got all of the usual goodies below: One breaking change to pydm-testing-ioc, a few new smaller features, and several bug fixes.

Thanks for using PyDM! <3

Breaking Changes

  • pydm-testing-ioc was moved from the scripts folder to the new location examples/testing_ioc with the access_rules.as file. (Thanks @hhslepicka)
  • The ‘pydm’ launcher is now autogenerated at the proper location on the system through the package installation procedure. This means that the scripts and data folders are gone. (Thanks @hhslepicka)
  • PyDMIndicator is now deprecated after warning on previous versions of PyDM. Please use PyDMDrawingRectangle as a replacement.

New Features

  • Added a pyqtProperty to ImageView that lets you specify a color map in Designer.
  • Expanded documentation with some extra steps explaining how to build the PyDM prerequisites.
  • Add a ‘read-only mode’ to PyDM. At the command line, you can specify a ‘--read-only’ argument, which prevents the user from writing to any channels. (Thanks @hhslepicka)
  • Add a new ‘Show connections…’ menu option, which opens a window with a list of all channels used on the current display. The protocol for each channel and the connection status are also displayed. The list of channels can be dumped to a text file (one channel per line).
  • Add context menu to PyDMRelatedDisplay to open in a new Window.
  • About Screen with useful information of Python Modules, External Tools and Data Plugins in use.

Bug Fixes

  • Fixed the tag_prefix at setup.cfg so the version is represented correctly and not with the “v” from the tag name. (Thanks @hhslepicka)
  • Changed .gitattributes in order to make the “Pickle” files behave as binary files and not having its line endings (LF) changed to CRLF on checkout and break the code. Issue #196. (Thanks @hhslepicka)
  • Fixed the open_file behaviour under Windows. Issues #32 and #196. (Thanks @hhslepicka)
  • Fixed PyDM launcher generation and install (pydm for Linux and OSX and pydm.exe for Windows) (Thanks @hhslepicka)
  • Prevent GUI from crashing if an exception is raised when executing a shell command (Thanks @ZLLentz)
  • Fixed a crash if PyDMImageView receives a (0,0) image.
  • Fixed the camviewer to work with the new colormaps file and the enhanced version of the ImageView. Issue #210. (Thanks @hhslepicka)