Releases: pcdshub/typhos
v2.3.0 (2022-03-31)
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)
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)
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
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)
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
, aQPushButton
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 aclear_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 thestop
method is missing or
otherwise raises anAttributeError
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 astr
,pathlib.Path
, orlist
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
(seev1.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)
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)
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)
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)
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)
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.