Skip to content

Releases: pcdshub/atef

v1.5.1

16 Sep 23:09
ef67fc4
Compare
Choose a tag to compare

v1.5.1 (2024-09-16)

Bugfixes

  • Store the setpoint pv when creating a Target if possible, instead of storing pvname (which could be the readback pv).
    Refactor OphydAttributeData slightly to this end.

Contributors

Full Changelog: v1.5.0...v1.5.1

v1.5.0 (2024-08-20)

26 Aug 21:08
ed13762
Compare
Choose a tag to compare

Features

  • Adds report output option to atef check cli tool
  • Adds template step active and passive dataclasses, along with report support.
  • Adds RegexFindReplace for serializable, regex specific FindReplaceAction
  • Adds atef config GUI pages for passive and active templated checkouts
    featuring a clear staging area and tree-view for added clarity

Bugfixes

  • Unifies usage of create_tree_from_file

Maintenance

  • Pins numpy<2.0 to avoid issues with upstream incompatibilities
  • Refactors find-replace logic and dataclasses into a separate module from the widgets that display them
  • Specify bluesky-base and pin matplotlib in conda dependencies to avoid unintended qt6 dependencies

Contributors

Full Changelog: v1.4.0...v1.5.0

v1.4.0

20 Feb 22:54
78f1aa3
Compare
Choose a tag to compare

v1.4.0 (2024-02-20)

Features

  • Adds script for converting pmgr configurations to atef checks.
  • Adds PagedTableWidget, and applies it to passive checkout group pages to substantially improve the loading performance of group pages with many, many comparisons.

Bugfixes

  • Catch RuntimeErrors from widget deletion during enum filling
  • Avoid running deleteLater on widgets that garbage collection handles, preventing segfaults

Maintenance

  • Make selection behavior more consistent by using QTreeView.setCurrentIndex() instead of manipulating the selection model
  • adds atef scripts subcommand for invoking existing scripts. Includes converter_v0 and pmgr_check scripts.

Contributors

  • tangkong

Full Changelog: v1.3.0...v1.4.0

v1.3.0

19 Dec 19:12
4d11bd8
Compare
Choose a tag to compare

v1.3.0

Features

  • Adds results summary page accessible from run-mode in the atef config GUI
  • Adds icons to run-mode tree view
  • Adds page widget cache and lazy loading functionality to the atef config GUI

Bugfixes

  • atef.widgets.config.data_passive.RangeWidget's visualizations update a bit more frequently, and also the label text actually updates. Closes #212
  • Adds a menu option to open the welcome tab, since people like it. Closes #201
  • Properly shows an error message box when a file can't be opened. Closes #202
  • Allow tolerances to be None in Equals comparison. Modifies the line-edit setup to allow null values ('', None) when casting the line edit value. Closes #128

Maintenance

  • Make comparisons against enum signals more robust by trying both the int and string versions if the check fails.
  • Refactors tree-walking helpers to a separate submodle (atef.walk)
  • Replaces use of functools.partial with WeakPartialMethodSlot in qt slots, cleaning up intermittent test suite failures (and hopefully production crashes)
  • Refactors GUI backend to support lazy page loading
  • Move tree-building logic to dataclasses
  • Consolidate GUI backend classes (EditTree / RunTree -> DualTree, AtefItem / TreeItem -> TreeItem)

Contributors

Full Changelog: v1.2.0...v1.3.0

v1.2.0 (2023-09-27)

27 Sep 22:51
ec27c6b
Compare
Choose a tag to compare

Features

  • Adds ScientificDoubleSpinbox and uses it in MultiModeValueEdit.

Bugfixes

  • Waits for signal connection during :class:ActionRowWidget initialization to properly
    read enum strings from signal.

Contributors

v1.1.0 (2023-09-14)

14 Sep 21:08
8e20e56
Compare
Choose a tag to compare

Features

  • Adds find-replace functionality and helpers. These procedures walk through the dataclass, rather than blindly modifying serialized json.
  • Adds a simple find-replace widget and more fully-featured fill-template page.
  • Adds backend dataclasses for running Bluesky plans in active checkouts.
  • Prototypes auto-generated plan argument entry widgets.
  • Annotates built-in Bluesky plans with bluesky-queueserver compatible type hints.
  • Adds atef.check.DynamicValue (and subclasses atef.check.HappiValue, atef.check.EpicsValue) for comparing to dynamically changing data sources.
  • Adds atef.widgets.config.MultiModeValueEdit widget for modifying values give a specified type, including dynamic values.

Bugfixes

  • Ensure filenames get cast as strings properly.
  • Allow cast_dataclass to transfer objects from old to new dataclass, previously nested dataclasses would be converted to dicts.

Maintenance

  • Adds bluesky-queueserver dependency and pins databroker.
  • Add sphinx templates for autogenerated documentation.
  • Reduce randomness in test suite, try all combo box options when available.

Contributors

Full Changelog: v1.0.0...v1.1.0

v1.0.0

22 Jun 21:47
8281d22
Compare
Choose a tag to compare

What's Changed

  • REF: atef.config rewrite to support arbitrarily grouped hierarchies by @klauer in #126
  • ENH: catch up the GUI to the rest of the repo by @ZLLentz in #127
  • ENH: command-line converter tool for the old file format by @klauer in #134
  • TST: skip lightpath mixins in test_switch_control_layer by @tangkong in #135
  • ENH: add archive viewer widget by @tangkong in #132
  • BLD: simple dummy action by @tangkong in #142
  • FIX: transposed the out and free run checks in demo config by @ZLLentz in #145
  • ENH: run mode and basic report output and GHA migration [LCLSPC-603] by @tangkong in #140
  • FIX: new file handling by @ZLLentz in #149
  • ENH: add active checkout framework by @tangkong in #150
  • ENH: Add passive step to active checkout by @tangkong in #155
  • MNT: refactor active checkouts to have Prepared variants by @tangkong in #158
  • MAINT: bulk secrets and readme update by @ZLLentz in #162
  • ENH: allow Qt args on the command line by @JJL772 in #164
  • ENH: add a Set-Value active checkout step by @tangkong in #159
  • BUG: fix type handling, etc by @tangkong in #168
  • ENH: add active report by @tangkong in #167
  • FIX: use integers for rect bounds with QIcon.paint by @JJL772 in #166
  • GUI: improve Result refresh behavior by @tangkong in #169
  • MNT: wrap signal connection check in BusyCursorThread by @tangkong in #171
  • MNT: Generally improve things related to signals, touch up reports default behavior by @tangkong in #175
  • GUI: Replace welcome dialog with welcome tab, enable closable tabs by @tangkong in #176
  • TST: Add tests and improve coverage by @tangkong in #178
  • BUG: fix observed value report output by @tangkong in #183
  • MNT: Better mode switch handling, icon refresh by @tangkong in #186
  • REL: v1.0.0 by @tangkong in #187

New Contributors

Full Changelog: v0.0.1...v1.0.0

v0.0.1 Pre-release/Alpha

11 Aug 22:16
9890403
Compare
Choose a tag to compare

Original version of atef prior to implementing large structural changes following user feedback. Fully functional, not fully-featured. After this tag there are major structural changes to the configuration file and structure. Configuration files saved with versions prior to August 11th, 2022 remain compatible with this tag and will need to be adjusted to run with future versions.

In particular, these older configuration files do not have configuration grouping and use IdAndConfiguration dataclasses for all configurations instead of splitting on configuration type.