From 1289851bb95dc0c0af819b5c1e8c149917bc8a55 Mon Sep 17 00:00:00 2001 From: semantic-release Date: Wed, 16 Sep 2026 14:17:35 +0000 Subject: [PATCH] 1.0.0 Automatically generated by python-semantic-release --- CHANGELOG.md | 123 +++++++++++++++++++++++++++++++++++++++++++++++++ pyproject.toml | 2 +- 2 files changed, 124 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index be8e45b4..bcff52ab 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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 + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +### 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 + +- 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 + +### 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 + +- 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 + +### 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 + + ## v0.32.1 (2026-09-16) ### Bug Fixes diff --git a/pyproject.toml b/pyproject.toml index 16fd6963..927b8e77 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -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"