diff --git a/CHANGELOG.md b/CHANGELOG.md index 39a50dce..f97f30bf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,107 @@ # CHANGELOG +## v0.14.0 (2026-08-24) + +### Bug Fixes + +- Energy spin movestate colors never rendered + ([`b984a36`](https://gitea.psi.ch/mx/AareDAQ/commit/b984a36f7cc3c5fd03e16f21d4d2772b748b5894)) + +The movestate property sat on the spinbox's inner QLineEdit, which both themes deliberately paint + transparent (QAbstractSpinBox QLineEdit rule) - the state machine worked but no color ever showed, + and the tests only asserted the property, not the paint. The property now lives on the spinbox + itself with QAbstractSpinBox[movestate=...] added to both themes' rules, verified by a + pixel-sampling regression test that grabs the rendered widget through the real stylesheet. + +Co-Authored-By: Claude Fable 5 + +- Energy tolerance to 0.001 instead of 0.01 + ([`789b2ae`](https://gitea.psi.ch/mx/AareDAQ/commit/789b2ae6e207abadc94a45efb89f6111520ea429)) + +- Wheel include png and svg + ([`855632d`](https://gitea.psi.ch/mx/AareDAQ/commit/855632d5b54425d0a848fa3267448dfd9942723c)) + +### Chores + +- Cleanup repeating code + ([`09f81c8`](https://gitea.psi.ch/mx/AareDAQ/commit/09f81c8392426cc3e940e885b06bd6785d720889)) + +- Sync uv.lock with 0.13.4 version bump + ([`d65ff27`](https://gitea.psi.ch/mx/AareDAQ/commit/d65ff27b3a96921ad29be13faa059ac96a189567)) + +Co-Authored-By: Claude Fable 5 + +### Code Style + +- Make the banner text colored + ([`3192fd2`](https://gitea.psi.ch/mx/AareDAQ/commit/3192fd2388f96dbeaf0fd3091f368f337f627bac)) + +so it shows on white/black background + +### Features + +- Allow dismissing notification. Trial. If not good, revert this. + ([`bdafc03`](https://gitea.psi.ch/mx/AareDAQ/commit/bdafc03963346490d27f343a5896609e434241c8)) + +- Bound Set Energy to a 4-20 keV placeholder range + ([`225d706`](https://gitea.psi.ch/mx/AareDAQ/commit/225d7064c40d12651bdcf59a3e71e35a2c058b2b)) + +Both Set Energy rows allowed 1-30 keV, an arbitrary spinbox default; nothing downstream validates + the request (daq.change_energy forwards straight to bec). Shared ENERGY_MIN/MAX_KEV constants now + bound both spins to 4-20 keV with a tooltip flagging the range as pending Beamline Scientist + confirmation. + +Co-Authored-By: Claude Fable 5 + +- Motormovegroup semantics for both Set Energy rows + ([`e1d11aa`](https://gitea.psi.ch/mx/AareDAQ/commit/e1d11aa94904b2411cc0142d155d720d25c3cbe8)) + +The energy setpoint applies via the Change Energy button, not Enter, so it gets the full motor state + machine instead of the typing-pending color: neutral tracks the readback, a user edit stages + pending (and is the only thing that enables the button), the click turns moving, and readback + arrival within tol returns to neutral. New SpinMoveState in motor_move_group.py adapts the pattern + to a QDoubleSpinBox+button pair (colors ride the movestate QSS via the spin's internal QLineEdit); + replaces the hand-rolled pending-until-click in the exp-config row and covers the Beamline setup + row that had no color at all. The server's 0.0 detector-unavailable energy is kept out of the + readback feed so it cannot clamp the spin to the range minimum. + +Co-Authored-By: Claude Fable 5 + +- Pending color while typing in Experiment configuration values + ([`3e7c334`](https://gitea.psi.ch/mx/AareDAQ/commit/3e7c334abb9a518f97c990affcb59468180882a5)) + +Values inside the Experiment configuration banner now show the same pending color as the motor move + boxes while the typed text differs from the applied value; Enter (or focus-out) commits as before + and clears it. Opt-in via NumberLineEdit(track_pending=True) because MotorMoveGroup owns the + movestate property on its registered boxes; reuses the existing movestate QSS, so no new styling. + The Set Energy spinbox marks pending until Change Energy is clicked, since its apply gate is the + button. + +Co-Authored-By: Claude Fable 5 + +### Testing + +- Log panel + ([`c71676a`](https://gitea.psi.ch/mx/AareDAQ/commit/c71676a29c73ce3a0fb07ce193f6569d17ccfdf2)) + +- No need to test energy 0 and update tolerance + ([`a19cbf1`](https://gitea.psi.ch/mx/AareDAQ/commit/a19cbf10815c8faa5595c6118d4d58319ae0d62c)) + +test: update test... + +- Sample padding pixel so movestate colors survive Linux fonts + ([`a7bd46c`](https://gitea.psi.ch/mx/AareDAQ/commit/a7bd46c14be06735fd195c38687b032db9a79096)) + +x=20 sits on a digit glyph with CI's Linux fonts, so the assert compared an antialiased glyph blend + against the pure background. The padding area (border 1px + padding 6px) can never contain text on + any font. + +Co-Authored-By: Claude Fable 5 + +Claude-Session: https://claude.ai/code/session_0147jE48bQUTm9AqNQApT6b2 + + ## v0.13.5 (2026-08-24) ### Bug Fixes diff --git a/pyproject.toml b/pyproject.toml index 82e0d317..25214ac8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "aaredaq" -version = "0.13.5" +version = "0.14.0" description = "AareDAQ (with GUI)" readme = "README.md" requires-python = ">=3.11"