1.0.0
Docs build and publish / docker (push) Successful in 12s
Build and Publish / release (push) Successful in 23s
CI / lint (push) Successful in 33s
CI / test (3.13) (push) Successful in 1m15s
CI / test (3.14) (push) Successful in 1m6s
CI / test-with-beamline-plugins (pxi_bec) (push) Successful in 1m24s
CI / test-with-beamline-plugins (pxii_bec) (push) Successful in 1m23s
CI / test-with-beamline-plugins (pxiii_bec) (push) Successful in 1m28s
CI / test-with-coverage (push) Successful in 1m33s
CI / coverage-analysis (push) Skipped
CI / test (3.12) (push) Successful in 1m6s
Docs build and publish / docker (push) Successful in 12s
Build and Publish / release (push) Successful in 23s
CI / lint (push) Successful in 33s
CI / test (3.13) (push) Successful in 1m15s
CI / test (3.14) (push) Successful in 1m6s
CI / test-with-beamline-plugins (pxi_bec) (push) Successful in 1m24s
CI / test-with-beamline-plugins (pxii_bec) (push) Successful in 1m23s
CI / test-with-beamline-plugins (pxiii_bec) (push) Successful in 1m28s
CI / test-with-coverage (push) Successful in 1m33s
CI / coverage-analysis (push) Skipped
CI / test (3.12) (push) Successful in 1m6s
Automatically generated by python-semantic-release
This commit is contained in:
1 parent
145b94b7ef
commit
1289851bb9
2 files changed
+124
-1
No files matched your search
+123
@@ -1,6 +1,129 @@
|
||||
# CHANGELOG
|
||||
|
||||
|
||||
## v1.0.0 (2026-09-16)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Cast the mocked daq.unmount for basedpyright on CI
|
||||
([`e31b0e9`](https://gitea.psi.ch/mx/AareDAQ/commit/e31b0e9a6f7bd8adb0ce60e1cfe4b8eefecbe2d2))
|
||||
|
||||
CI's basedpyright (latest from the index, newer than the local venv) types win.daq as the real
|
||||
DAQWorker, so assert_not_called on the patched-in MagicMock flagged the two new gate-test lines.
|
||||
|
||||
Note: the pytest job segfaults are NOT from this branch — plain origin/main crashes 2/4 runs under
|
||||
PySide6 6.11.2 (what CI installs; uv.lock pins 6.9.0 which is stable). Needs a separate dependency
|
||||
fix.
|
||||
|
||||
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
||||
|
||||
- Full-length hint line on resize-bar hover/drag, short grip idle
|
||||
([`750559f`](https://gitea.psi.ch/mx/AareDAQ/commit/750559fadedbdbefa09b7e8d58fbbf1475c706df))
|
||||
|
||||
User feedback: idle bars stay short centered grips, but hovering or grabbing a resize bar brings
|
||||
back the full-length 2px line + shadow gradient so the active bar reads over its whole run. The
|
||||
now-unused hint grip PNGs are removed.
|
||||
|
||||
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
||||
|
||||
- Give deferred singleShot callbacks a receiver context
|
||||
([`26fbe2c`](https://gitea.psi.ch/mx/AareDAQ/commit/26fbe2ca421eafd550b2696173fb40c6d8114abc))
|
||||
|
||||
Root cause of the long-standing cross-test SystemError flake ("QPushButton returned NULL", CI
|
||||
failing test_title_label after an unrelated file): TitleLabel schedules QTimer.singleShot(0,
|
||||
self._apply_collapsed) at construction; when the banner is deleted before the event loop spins
|
||||
(what every panel test does), the pending timer fires into the dead C++ object and poisons
|
||||
whatever test runs next. Deterministic repro added as a regression test. The receiver-context
|
||||
overload singleShot(0, self, ...) auto-cancels the callback when the widget dies. Same fix for the
|
||||
two deferred main-window callbacks (dock split, floating-dock enlarge).
|
||||
|
||||
Note for the record: the LOCAL segfault storm this afternoon was the dev machine's disk hitting 100%
|
||||
full (uv cache at 15G) — Bus errors from mmap on a full disk, unrelated to any code.
|
||||
|
||||
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
||||
|
||||
- Pin PySide6 below 6.10 so CI stops segfaulting
|
||||
([`32f98d7`](https://gitea.psi.ch/mx/AareDAQ/commit/32f98d7285e4dc78cac80085602a2d3d8385e99f))
|
||||
|
||||
CI installs latest index deps (it does not read uv.lock) and resolved PySide6 6.11.2, which
|
||||
segfaults the unit suite in teardown on about half the runs - reproduced on PLAIN origin/main, so
|
||||
it is not this branch's code. 6.9.0 (the uv.lock pin) is stable. Cap the dependency so CI resolves
|
||||
a 6.9.x build; drop the cap once the teardown crash is hunted down. uv.lock re-locked (it was
|
||||
stale at aaredaq 0.22.1).
|
||||
|
||||
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
||||
|
||||
- Re-pin PySide6 after the beamline-plugin install in CI
|
||||
([`c203a65`](https://gitea.psi.ch/mx/AareDAQ/commit/c203a657c5694cd3f67ceb079ed3a32096c7c5e9))
|
||||
|
||||
The bec plugin editable installs upgrade PySide6 to 6.11.x past the pyproject cap, which brings the
|
||||
teardown segfault back in exactly the test-with-beamline-plugins jobs. Reinstall the capped
|
||||
version after the plugin install.
|
||||
|
||||
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
||||
|
||||
- Suppress takeAt override complaint from newer basedpyright stubs
|
||||
([`145b94b`](https://gitea.psi.ch/mx/AareDAQ/commit/145b94b7eff87c9585681ba4c6c5acbcb5ccd613))
|
||||
|
||||
Qt's takeAt contract is nullptr-if-out-of-range; the newer PySide stubs on CI declare a non-Optional
|
||||
return. Suppress rather than lie.
|
||||
|
||||
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
||||
|
||||
### Chores
|
||||
|
||||
- Retrigger CI (pxi_bec job hit the known eventFilter teardown flake)
|
||||
([`7fb9f8b`](https://gitea.psi.ch/mx/AareDAQ/commit/7fb9f8bf9cf2623591417fe7d3774f71caa10f64))
|
||||
|
||||
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
||||
|
||||
- Retrigger CI (pxi_bec job hit the known eventFilter teardown flake)
|
||||
([`b29b5f1`](https://gitea.psi.ch/mx/AareDAQ/commit/b29b5f121e1cb011b22c73fe85b78b190457ddb7))
|
||||
|
||||
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
||||
|
||||
### Features
|
||||
|
||||
- Remove Playlist Mode and Automation View, unpin window minimum
|
||||
([`809959d`](https://gitea.psi.ch/mx/AareDAQ/commit/809959df33fbf4f023b42347d86f73a7a03bcdae))
|
||||
|
||||
Why the width shrink only worked after a Playlist Mode round-trip: Qt auto-pins a top-level window's
|
||||
minimum size to its layout minimum, and returning from Playlist Mode hid the Information dock (and
|
||||
every side dock), which happened to drop that layout minimum. The main view now gets an explicit
|
||||
small minimum (320x240) which disables the auto-pin outright, so the window shrinks directly and
|
||||
the dock contents clip or scroll instead.
|
||||
|
||||
The Playlist Mode (Ctrl+6) and Automation View (Ctrl+5) prototypes are deleted per user decision:
|
||||
panels, pages, the content stack (the standard page is the only page left), menu actions, camera
|
||||
fan-out to their view copies, portrait alert interceptors (now plain runtime notification
|
||||
routers), and their styles (portraitRoot, compact* cards, COMPACT_* and FONT_HERO knobs).
|
||||
|
||||
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
||||
|
||||
- Status-bar readouts wrap on narrow windows instead of clipping
|
||||
([`5cb57f4`](https://gitea.psi.ch/mx/AareDAQ/commit/5cb57f4737812f9a781334be88eef46bf2586868))
|
||||
|
||||
All readouts (sharpness ... Cryo | Fast Shutter | State | p-group | Session) now live in one
|
||||
FlowLayout host: when the window gets narrow the bar grows extra rows and every value stays
|
||||
readable, where QStatusBar used to clip the permanent group and hide the rest. FlowLayout is the
|
||||
canonical Qt example trimmed down (Qt ships no built-in); the host pins its minimum height to the
|
||||
wrapped height because QStatusBar ignores heightForWidth. The old left/right addWidget vs
|
||||
addPermanentWidget split is gone with the wrap.
|
||||
|
||||
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
||||
|
||||
### Refactoring
|
||||
|
||||
- Drop the camera-region splitter, side columns fixed again
|
||||
([`33239bf`](https://gitea.psi.ch/mx/AareDAQ/commit/33239bf51f9cb5aa070ef7b9664e82e7a5198885))
|
||||
|
||||
User decision: the drag-resize bars beside the Sample camera view are not wanted - the side panels
|
||||
don't need resizing. Back to the plain HBox with zoom-scaled fixed column widths; the View-menu
|
||||
collapse toggles and the camera minimum-width clamp stay.
|
||||
|
||||
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
||||
|
||||
|
||||
## v0.32.1 (2026-09-16)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
[project]
|
||||
name = "aaredaq"
|
||||
version = "0.32.1"
|
||||
version = "1.0.0"
|
||||
description = "AareDAQ (with GUI)"
|
||||
readme = "README.md"
|
||||
requires-python = ">=3.11"
|
||||
|
||||
Reference in new issue
Block a user