Skip to content

Releases: pcdshub/typhos

v2.3.0 (2022-03-31)

01 Apr 00:24
408c108
Compare
Choose a tag to compare

Description

This is a small release with fixes and features that were implemented
last month.

Features

  • Add the option to hide displays in the suite at launch,
    rather than automatically showing all of them.
  • Allow the sig:// protocol to be used in typhos templates by
    automatically registering all of a device's signals at launch.

Fixes

  • Fix an issue where an assumption about the nature of EpicsSignal
    object was breaking when using PytmcSignal objects from pcdsdevices.
  • Make a workaround for a C++ wrapped exception that could happen
    in specific orders of loading and unloading typhos alarm widgets.

v2.2.1 (2022-02-07)

07 Feb 23:07
5d26760
Compare
Choose a tag to compare

Description

This is a small bugfix release that was deployed as a hotfix
to avoid accidental moves.

Fixes

  • Disable scroll wheel interaction with positioner combo boxes.
    This created a situation where operators were accidentally
    requesting moves while trying to scroll past the control box.
    This was previously fixed for the typhos combo boxes found on
    the various automatically generated panels in v1.1.0, but not
    for the positioner combo boxes.

v2.2.0 (2021-11-30)

30 Nov 22:48
c7126d5
Compare
Choose a tag to compare

Description

This is a feature and bugfix release to extend the customizability of typhos suites and launcher scrips, to fix various issues in control layer and enum handling, and to do some necessary CI maintenance.

Enhancements / What's new

  • Add suite options for layouts, display types, scrollbars, and starting window size. These are all also available as CLI arguments, with the intention of augmenting typhos suite launcher scripts. Here are some examples:

    • --layout grid --cols 3: lays out the device displays in a 3-column grid
    • --layout flow: lays out the device displays in a grid that adjusts dynamically as the window is resized.
    • --display-type embed: starts all device displays in their embedded state
    • --size 1000,1000: sets a starting size of 1000 width, 1000 height for the suite window.

    See #450

Fixes

  • Respect ophyd signal enum_strs and metadata updates. Previously, these were ignored, but these can update during the lifetime of a screen and should be used. (#459)
  • Identify signals that use non-EPICS control layers and handle them appropriately. Previously, these would be misidentified as EPICS signals and handled using the ca:// PyDM plugin, which was not correct. (#463)
  • Fix an issue where get_native_methods could fail. This was not observed in the field, but it broke the test suite. (#464)

Maintenance

  • Fix various issues related to the test suite stability.

Full Changelog: v2.1.0...v2.2.0

v2.1.0

18 Oct 22:55
2819612
Compare
Choose a tag to compare

Description

This is a minor feature release of typhos.

Enhancements / What's new

  • Added option to pop out documentation frame (#458)

Fixes

  • Fixed authorization headers on Typhos help widget redirect (#457)
    • This allows for the latest Confluence to work with Personal Access Tokens while navigating through the page

Maintenance

  • Reduced javascript log message spam from the web view widget (part of #457)
  • Reduced log message spam from variety metadata handling (part of #457)
  • Fixed compatibility with pyqtgraph v0.12.3
  • Web-related widgets are now in a new submodule typhos.web.

Full Changelog: v2.0.0...v2.1.0

v2.0.0 (2021-08-05)

05 Aug 20:11
d60685e
Compare
Choose a tag to compare

Description

This is a feature update with backwards-incompatible changes, namely the
removal and relocation of the LCLS typhos templates.

API Breaks

All device templates except for the PositionerBase template have been
moved from typhos to pcdsdevices, which is where their device classes
are defined. This will break LCLS environments that update typhos without
also updating pcdsdevices, but will not affect environments outside of LCLS.

Enhancements / What's New

  • Add the TyphosRelatedSuiteButton, a QPushButton that will open a device's
    typhos screen. This can be included in embedded widgets or placed on
    traditional hand-crafted pydm screens as a quick way to open the typhos
    expert screen.

  • Add the typhos help widget, which is a new addition to the display switcher
    that is found in all built-in typhos templates. Check out the ? button!
    See the docs for information on how to configure this.
    The main features implemented here are:

    • View the class docstring from inside the typhos window
    • Open site-specific web documentation in a browser
    • Report bugs directly from the typhos screen
  • Expand the PositionerWidget with aesthetic updates and more features:

    • Show driver-specific error messages from the IOC
    • Add a "clear error" button that can be linked to IOC-specific error
      reset routines by adding a clear_error method to your positioner
      class. This will also clear status errors returned from the positioner's
      set routine from the display.
    • Add a moving/done_moving indicator (for EpicsMotor, uses the .MOVN field)
    • Add an optional TyphosRelatedSuite button
    • Allow the stop button to be removed if the stop method is missing or
      otherwise raises an AttributeError on access
    • Add an alarm indicator
  • Add the typhos.ui entry point. This allows a module to notify typhos that
    it should check specified directories for custom typhos templates. To be
    used by typhos, the entry point should load a str, pathlib.Path, or list
    of such objects.

  • Move the examples submodule into the typhos.examples submodule, so we can
    launch the examples by way of e.g. typhos -m typhos.examples.positioner.

  • For the alarm indicator widgets, allow the pen width, pen color, and
    pen style to be customized.

Compatibility / Fixes

  • Find a better fix for the issue where the positioner combobox widget would
    put to the PV on startup and on IOC reboot
    (see v1.1.0 note about a hacky workaround).
  • Fix the issue where the positioner combobox widget could not be used to
    move to the last position selected.
  • Fix an issue where a positioner status that was marked as failed immediately
    would show as an unknown error, even if it had an associated exception
    with useful error text.

Docs / Testing

  • Add documentation for all features included in this update
  • Add documentation for how to create custom typhos templates

v1.2.0 (2021-07-09)

09 Jul 22:41
faa0413
Compare
Choose a tag to compare

Description

This is a feature update intended for use in lucid, but it may also be useful
elsewhere.

Enhancements / What's New

Add a handful of new widgets for indicating device alarm state. These will
change color based on the most severe alarm found among the device's signals.
Their shapes correlate with the available shapes of PyDMDrawingWidget:

  • TyphosAlarmCircle
  • TyphosAlarmRectangle
  • TyphosAlarmTriangle
  • TyphosAlarmEllipse
  • TyphosAlarmPolygon

Compatibility / Fixes

  • Add a sigint handler to avoid annoying behavior when closing with Ctrl-C on
    macOS.
  • Increase some timeouts to improve unit test consistency.

v1.1.6 (2021-04-05)

05 Apr 21:50
5b1bf61
Compare
Choose a tag to compare

Description

This is maintenance/compatibility release for pydm v1.11.0.

Compatibility / Fixes

  • Internal fixes regarding error handling and input sanitization.
    Some subtle issues cropped up here in the update to pydm v1.11.0.
  • Fix issue where the test suite would freeze when pydm displays
    an exception to the user.

v1.1.5 (2020-04-02)

02 Apr 17:32
882227d
Compare
Choose a tag to compare

Description

This is a maintenance release

Compatibility / Fixes

  • Fix an issue where certain data files were not included in the package
    build.

v1.1.4 (2020-02-26)

26 Feb 18:24
a1d15f5
Compare
Choose a tag to compare

Description

This is a bugfix release

Compatibility / Fixes

  • Fix returning issue where certain devices could fail to load with a
    "dictionary changed during iteration" error.
  • Fix issue where the documentation was not building properly.

v1.1.3 (2020-02-10)

11 Feb 00:37
2a92d89
Compare
Choose a tag to compare

Description

This is a minor screen inclusion release.

Enhancements / What's New

  • Add a screen for AT1K4. This, and similar screens, should be moved out of
    typhos and into an LCLS-specific landing-zone, but this is not ready yet.