Releases: pcdshub/atef
v1.5.1
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)
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
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. Includesconverter_v0
andpmgr_check
scripts.
Contributors
- tangkong
Full Changelog: v1.3.0...v1.4.0
v1.3.0
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
inEquals
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
withWeakPartialMethodSlot
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)
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)
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 subclassesatef.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
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
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.