1.1.0
Docs build and publish / docker (push) Successful in 13s
Build and Publish / release (push) Successful in 12s
CI / lint (push) Successful in 34s
CI / test (3.12) (push) Successful in 1m5s
CI / test (3.13) (push) Successful in 1m5s
CI / test (3.14) (push) Successful in 1m20s
CI / test-with-beamline-plugins (pxii_bec) (push) Successful in 1m17s
CI / test-with-beamline-plugins (pxi_bec) (push) Successful in 1m20s
CI / test-with-beamline-plugins (pxiii_bec) (push) Successful in 1m28s
CI / test-with-coverage (push) Successful in 1m32s
CI / coverage-analysis (push) Skipped
Docs build and publish / docker (push) Successful in 13s
Build and Publish / release (push) Successful in 12s
CI / lint (push) Successful in 34s
CI / test (3.12) (push) Successful in 1m5s
CI / test (3.13) (push) Successful in 1m5s
CI / test (3.14) (push) Successful in 1m20s
CI / test-with-beamline-plugins (pxii_bec) (push) Successful in 1m17s
CI / test-with-beamline-plugins (pxi_bec) (push) Successful in 1m20s
CI / test-with-beamline-plugins (pxiii_bec) (push) Successful in 1m28s
CI / test-with-coverage (push) Successful in 1m32s
CI / coverage-analysis (push) Skipped
Automatically generated by python-semantic-release
This commit is contained in:
+108
@@ -1,6 +1,114 @@
|
||||
# CHANGELOG
|
||||
|
||||
|
||||
## v1.1.0 (2026-09-17)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- **gui**: App-level event filters tolerate PySide's stray QWidgetItem
|
||||
([`90f6533`](https://gitea.psi.ch/mx/AareDAQ/commit/90f653386adbf5a9e5a24fb7fc9ba8e79cf78660))
|
||||
|
||||
CI (3.12, PR 232) failed test_font_zoom_keeps_frozen_column_aligned_and_reautosizes with a pytest-qt
|
||||
CALL ERROR: PySide 6.9 handed both app-level filters a QWidgetItem instead of a QEvent during
|
||||
layout teardown, and event.type() raised. The wheel guard now keys on isinstance(event,
|
||||
QWheelEvent) and returns False itself instead of super().eventFilter() (which type-checks its
|
||||
arguments and would raise the same way); the cursor filter ignores anything that is not a QEvent.
|
||||
Regression test for each.
|
||||
|
||||
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
||||
|
||||
- **gui**: Keep queue head until /status confirms unmount on Mount next
|
||||
([`1ea607b`](https://gitea.psi.ch/mx/AareDAQ/commit/1ea607ba56cb6ab65113ba6a40f3146f873f5bd4))
|
||||
|
||||
Mount next popped the mounted head before posting the exchange, so a failed unmount dropped a sample
|
||||
that was still on the gonio. Now the head stays queued and is removed only when /status shows a
|
||||
different (or no) sample mounted; a failed exchange leaves the queue intact for a retry.
|
||||
|
||||
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
||||
|
||||
- **gui**: Keep the file-name preview in the plain theme color
|
||||
([`d70cac4`](https://gitea.psi.ch/mx/AareDAQ/commit/d70cac45bf910d644601102170345ba130d47c89))
|
||||
|
||||
Dawn: the red "file exists" tint on the path label reads as an error across the whole panel. The Run
|
||||
guard's popup already reports a clash, so the label stays in the standard text color. The popup
|
||||
now also asks the user to run the data collection again after the run number bump.
|
||||
|
||||
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
||||
|
||||
- **gui**: Make the file-exists guard literal: popup, run +1, no scan
|
||||
([`646de67`](https://gitea.psi.ch/mx/AareDAQ/commit/646de672917ce8ed6a05803f157290bbbf9c60a7))
|
||||
|
||||
update_filename() still skipped to the next free run number on every edit and refresh, so the name
|
||||
was always free by the time Run was clicked and the guard never fired. The name is now exactly
|
||||
what the fields say (label turns red on a clash); on Run, an existing target pops "File already
|
||||
exists", bumps the run number by one and does nothing else.
|
||||
|
||||
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
||||
|
||||
- **gui**: Pop up "File already exists" instead of silently bumping the run
|
||||
([`8798a81`](https://gitea.psi.ch/mx/AareDAQ/commit/8798a815555dd41f76a455cf534922bbbb940f69))
|
||||
|
||||
The Run guard called set_scan_kind(), which runs update_filename() and skips to the next free run
|
||||
number before the existence check, so the check never fired and the scan started under a new
|
||||
number without a word. Now the check runs first, then a warning box names the existing master file
|
||||
and the run number it moved to, and the run is blocked.
|
||||
|
||||
- Simple tab "Run rotation" had no guard at all; same guard added - "Taken" also matches
|
||||
<run>_*_master.h5: X-ray Centering writes <run>_raster2d_master.h5, which the exact name missed -
|
||||
Camera context-menu "Evaluate grid" presses the panel button, so it gets the guard and stays inert
|
||||
while the button is disabled - Dead next_free_run_from() removed
|
||||
|
||||
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
||||
|
||||
- **gui**: Reach the file-exists guard from every tab, test exact names
|
||||
([`010513e`](https://gitea.psi.ch/mx/AareDAQ/commit/010513e1412006c6cd8e808386574db101463300))
|
||||
|
||||
The tabs are handed parent=DataCollectionSettings but QStackedWidget.addWidget() reparents them to
|
||||
the stack, so the guard's parent() lookup never found file_path_panel and every Run (rotation,
|
||||
screening, raster, X-ray centering, Simple) skipped the check. Lookup now walks up the widget
|
||||
tree; regression test drives all five runs through the real DataCollectionSettings.
|
||||
|
||||
The "taken" test is exact again: <run>_master.h5 plus the DAQ's derived
|
||||
<run>_raster2d/_raster1d_master.h5. The directory test and the _*_master.h5 glob are gone: neither
|
||||
is a file a run writes, and they painted run numbers red that nothing would ever produce.
|
||||
|
||||
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
||||
|
||||
- **gui**: Zoom-proof the Dewar table and control heights, theme the mounted HUD ink
|
||||
([`bf11528`](https://gitea.psi.ch/mx/AareDAQ/commit/bf11528e8680e5df6a0b853b8a2524dd22f4881a))
|
||||
|
||||
Dewar "#" column sat 1px above the other rows at some zoom steps: the frozen-column overlay sizes
|
||||
its own header from "#" alone while the main header also sees the symbol columns, whose
|
||||
fallback-font glyphs have a taller line box. The overlay header is now pinned to the main header
|
||||
height on resize and (deferred, receiver-bound) on font/style change.
|
||||
|
||||
Zoom also left columns at their startup widths (headers truncated) and clipped descenders in every
|
||||
button/combo/entry box: the 16px height pin in both sheets was raw px while the body font grew to
|
||||
18/21px. Columns re-autosize on FontChange and the pin scales with the font ladder.
|
||||
|
||||
Camera "Currently mounted" HUD: black ink on a white halo in the light themes, white on black in
|
||||
Sunset, instead of white-on-black everywhere.
|
||||
|
||||
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
||||
|
||||
### Chores
|
||||
|
||||
- Better wording, make user calm
|
||||
([`7458ea0`](https://gitea.psi.ch/mx/AareDAQ/commit/7458ea04006e7151e6e647f5397d1bc23a54c7ed))
|
||||
|
||||
### Features
|
||||
|
||||
- **gui**: Pin status-bar operables right, stop readout width jitter
|
||||
([`1b6a32d`](https://gitea.psi.ch/mx/AareDAQ/commit/1b6a32d1372c7ac7350aadd2b8f6e6cb2d61f39b))
|
||||
|
||||
- Fast Shutter / State / p-group / Session are addPermanentWidget now: QStatusBar itself pins them
|
||||
to the right corner, so wrapping of the other readouts never moves them - passive readouts keep
|
||||
wrapping in the FlowHost on narrow windows - grow-only min-width ratchet on every readout:
|
||||
changing number widths used to re-flow the row each DAQ tick and jitter every neighbour
|
||||
|
||||
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
||||
|
||||
|
||||
## v1.0.3 (2026-09-17)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
[project]
|
||||
name = "aaredaq"
|
||||
version = "1.0.3"
|
||||
version = "1.1.0"
|
||||
description = "AareDAQ (with GUI)"
|
||||
readme = "README.md"
|
||||
requires-python = ">=3.11"
|
||||
|
||||
Reference in New Issue
Block a user