Automatically generated by python-semantic-release
43 KiB
CHANGELOG
v0.8.3 (2026-08-12)
Bug Fixes
-
Rename free beamline to clear busy (
362880e) -
Rename recover beamline to force maintenance (
63ea060) -
Show viewing mode for all states (
8e68972)
Refactoring
- Remove dead code
(
1b3b144)
v0.8.2 (2026-08-12)
Bug Fixes
Chores
-
Add test to improve coverage (
9906937) -
Fix linting (
bb35209) -
Formatting, tab space misused (
17bb654) -
Hide debug log in the log_panel (
328a46b) -
Make default theme bluebird (solid) (
8a9f35e) -
Removing trailing space (
23ad114) -
Stop logger info display lots of pgroups (
0ca9682)
v0.8.1 (2026-08-11)
Bug Fixes
- Allow workflow dispatch of release wf
(
110bfb3)
v0.8.0 (2026-08-11)
Bug Fixes
- Adapt main window to monitor size instead of overflowing
(
f4f3c5e)
The window's minimum was 1400x1207 - taller than a 1920x1200 console - so the status bar was pushed off-screen on every monitor. Three causes:
- the standard page's combined panel minimums: now wrapped in a QScrollArea so scrollbars appear instead of clamping the window - hidden portrait/compact stack pages inflating the QStackedWidget minimum (portrait alone demands 720px height): only the visible page contributes now - launching at the natural size hint (1577x1612): launch maximized so the window takes whatever the monitor offers
Minimum drops to 1400x555; verified on a 1920x1200 X display that the status bar is visible and panels scroll when space runs out.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
- Dark-mode legibility for the status bar, sample tables, and surfaces
(
7b30c95)
Status-bar flags get status_colors(theme) (Mocha variants on Sunset) via a new set_theme; sample tables stop hard-filling rows WHITE and pin dark ink on tinted rows via ForegroundRole; dewar tab and log panel get solid dark surfaces (transparent renders black on the non-composited X11 container); developer help cards go square for the same reason.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
-
Declutter the Local Contact view (
c14d93f) -
drop the redundant Local Contact banner (the window title carries it) - remove the three parent=self config spinboxes that painted themselves over the top-left corner; parentless placeholders are replaced in _build_config_tab - remove all rounded corners (status card, value badges, group boxes, transfer-error frame, recovery panels) - tighten status rows to 2px spacing with a per-row minimum height so word-wrapped value labels can never compress rows until text clips (previously visible on the Hardware tab)
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
- Heal poisoned all-docks-hidden layout and restore layout before watch-only close
(
3a7f1f5)
A window state saved during the watch-only fold restores as every dock hidden (the vanished-Sample-List-on-restart bug). Fall back to the default layout when a restore comes back all-hidden, and put the pre-watch layout back before saving state in closeEvent.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
- Opaque faces for floating windows and theme-aware pop-out icons
(
7f838f4)
A transparent top-level renders black on the container's non-composited X11, so floating docks get a dynamic floating property feeding the QSS [floating="true"] opaque face, and PopoutWindow sets WA_StyledBackground. Pop-out titlebar glyphs are now painted in the palette's WindowText color and re-tint on PaletteChange, so they stay visible after a theme flip.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
-
Reset connection state if cancel fails (
7a60b7d) -
Scroll Local Contact tabs so rows keep text height (
7a57d85)
The dialog's explicit minimum size is smaller than some tabs' content; without a scroll area Qt squeezes rows below text height (clipped labels on the Hardware tab). Wrap every tab in a QScrollArea.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
- Window and dock sizing behavior
(
266f833)
Three main-window chrome fixes: the un-maximized geometry is pre-set to half-screen centered so leaving maximized mode no longer restores an oversized size hint (the beamline state bar also stops imposing its ~2000px minimum width); closing a popped-out dock re-docks it instead of silently hiding the panel, and pop-outs open enlarged and clamped to the screen; state-bar buttons only update font/stylesheet/cursor when values change, since repolishing every DAQ tick dropped the hover cursor under a resting mouse.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
Code Style
- Add typography, tooltip, scrollbar, and card tokens to the palette
(
e63ddb0)
The QSS gains a role-named font-size ladder (FONT_HERO..FONT_FINE), borderless QToolTip styling for both themes, soft rounded scrollbars without end arrows, and a card_style() helper with one shared CARD_RADIUS so card-shaped frames keep uniform geometry. Banner text flips to near-white with a shadow constant for the painted emboss. Recovery-card and console-log colors are marked TODO for a later retheme.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
- Apply the typography ladder and card_style across the GUI
(
913089b)
Inline font-size literals become FONT_* tokens and hand-written card QSS collapses into card_style() (recovery cards and console-log notifications keep FLAT_CARD_RADIUS). TitleLabel paints its text by hand — QSS has no text-shadow — for an embossed banner title, elided when narrow, and gains a section_title() helper for small in-panel headings.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
- Centralize the GUI color palette in styles.py
(
271ca54)
Every color literal in the GUI moves into one palette module: ~200 grouped constants, a qcolor() helper (hue from the theme, alpha at the call site), and both QSS stylesheets become string.Templates fed by _palette() so a renamed constant fails loudly. Also retints: light background #d8e4fd -> #e2e7ee, banner indigo -> #a2b7e4, and the portrait dark theme adopts Catppuccin Macchiato.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
- Clear the basedpyright gate for the new-code lines
(
4ef2ad6)
Narrow QApplication.instance() before use, wrap the theme QSettings read in str(), hand QPropertyAnimation a real QByteArray, and declare the lazily-set watch-mode attributes on the class.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
- Clear the basedpyright gate for the ported round
(
84ccf27)
Declare MainWindow's lazily-set attributes, guard Optional layouts and the sample tab bar, wrap QSettings reads (typed object even with type=...), include _press_geom in the pop-out resize guard, and ignore the PySide6 stub gap on setGraphicsEffect(None).
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
- Clear the two portrait-mode diff-gate violations
(
ed42738)
The sample-name labels are created in init now (the build helper only styles and mounts them) so reportUninitializedInstanceVariable stops firing on the ported styling lines, and the queue placeholder uses the scoped Qt.AlignmentFlag.AlignCenter.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
- Compact the control panels
(
5f44be2)
Vertical-space pass: samcam merges exposure+gain onto one row, ABR and monochromator tighten their grids (energy now displayed in keV, DAQ API stays eV), beam-mark's clear button shares the readings row, the data collection pages move Run/Abort under the last configurable row and the tab area becomes QTabBar+QStackedWidget, the raster grid table gets a fixed height, and the automation panel drops its own title since the dock title bar already says it. Control panels start expanded via default_collapsed=False.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
- Cool the sunset gradient base
(
0b696a5)
The warm glow at the bottom of the dusk sky didn't fit — stay in the blue range.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
- Declare HoverableButton state attribute for the pyright gate
(
e818682)
The dynamic _beamline_state assignment was a pre-existing pattern, but the panel rewrite turned its line into a changed line, so the basedpyright diff gate now counts it. Declare the attribute instead.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
- Extend the palette with selection, frame, slider, and sample-status tokens
(
0bfa9db)
SELECTION_BG/TEXT pin the app-wide selection blue to the banner color (was Qt's undeclared palette default); FRAME_L1/L2/L3 knobs put window, panel, and data-view borders on three tunable levels (panel etching off by default); QTabBar tabs and filter chips go borderless with a hover underline; QSlider matches the scrollbar look; scrollbar tracks turn square with a track-colored corner; SAMPLE_STATUS_* and SAMPLE_ROW_ALT_BG drive the sample-table status tints.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
-
Fix lint for the banner/adaptive changes (
ce0ed20) -
ruff format and import ordering (main_window, data_collection_settings, beam_center_panel, beamline_state_panel) - rename unused unpacked variable in test_title_label - replace the mousePressEvent monkeypatch on the beamline state title with a proper eventFilter so basedpyright accepts the diff
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
- Move panel and model colors to the shared palette
(
b7d6610)
Mechanical swap of hardcoded color literals for styles.py constants and qcolor() across panels, models, and scan_logic. portrait_mode.py drops its private palette block; beamline_controls and data_collection_settings gain object names so the new $border QSS rules can target them. The status-panel test asserts the palette hex instead of 'red'.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
- Move widget colors to the shared palette
(
590e500)
Same mechanical swap for the widgets and the tutorial manager: painter QColors go through qcolor(), inline QSS literals become palette constants (baton dialog, busy overlay, status bar, camera overlays, splash screen, numeric inputs).
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
- Narrow Optionals for basedpyright diff gate
(
ee7a835)
QLayout.itemAt/QWidget.layout return Optionals; pyright cannot narrow across repeated method calls, so hold them in locals before use in tighten_column, _apply_collapsed and _set_visible.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
- Narrow the log pop-out view for the pyright gate
(
2adf8ff)
The Optional _popout_view is assert-narrowed once after opening; the unguarded accesses were the last three diff-gate violations.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
- Narrow the manual-resize press state for the pyright gate
(
763a258)
The diff-vs-main basedpyright gate flags QRect(self._press_geom) because only _press_global was narrowed; both are set together in mousePressEvent, so the extra check is a no-op at runtime.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
- Relabel theme entries, tuck prototype views into the View menu
(
c179ea9)
Legacy/Portrait themes become Sunrise (default)/Sunset. Automation View and Portrait (now Playlist) Mode leave the menubar for the View menu with in-progress labels; Return to Main View stays top-level since it only shows inside the automation view.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
- Ruff-format the ported round, scope splash Qt enums
(
2638308)
The sandbox port was ruff-check clean but not ruff-format clean (CI formats before linting); splash_screen's alignment flags move to the scoped enum since the port put that line into the diff gate's scope.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
- Small panel polish
(
f7194ca)
Energy unit moves from spinbox suffix to the label (the suffix ate field width next to the new spin arrows); samcam exposure/gain get a 3:2 stretch so 3-decimal exposure isn't cut; the Exp. Config. tab bar gets a BANNER_TAB_GAP spacer under its banner.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
- Swap the splash banner text to the white variant
(
cd4b623)
Copied from aare_banner_w.svg; the black glyphs vanished on the dark splash panel, the white fills read on it.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
- Visual and interaction polish
(
833a6d1)
Windowed startup at 50%x70% instead of maximized; overlay legend now defaults off (it covers the camera image); square slider handles with grip-line PNG assets (the round handle clipped flat); warmer sunrise gradient bottom; abr/beam-mark layout tweaks; hover cues on the beamline-state entries; DPI/font-aware pop-out titlebar icons; the out-of-date Tutorial menu entries are hidden until content is redone.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
Documentation
- Note the spreadsheet log-spam TODO in daq_worker
(
27c9b93)
load_spreadsheet/load_reference_tools log a GET they never send every ~12.5s poll while base_url is None; fix later by demoting to debug or logging once on the None->set edge.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
Features
- Add spin-arrow and check-mark glyph assets
(
900315d)
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
- Camera help overlay, camera-error message, and session badge hover feedback
(
3db8b11)
The controls cheatsheet gets its own help badge/overlay instead of riding the detection legend; the camera-unavailable state now draws the actual error reason bottom-center (pushed from MainWindow to all three camera views); the session badge shows hover feedback and the vacant overlay reads 'In viewing mode' with a grab-baton hint.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
- Camera session badge and collapsible legend
(
2054f07)
The camera overlay gains a clickable session badge (opens the session menu at the click position) and a baton gate: watching stays free, operating clicks are blocked when the baton is elsewhere. The legend collapses to a ? badge until clicked - the full box covered too much image.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
- Collapsible half-height panel banners with a universal gap
(
a9137b3)
TitleLabel gains an optional collapsible mode: whole-banner click target, bare +/- glyph (no pill background), per-title collapsed state persisted in QSettings, and an expand() helper. Banners are halved to 25px with plain text + QSS font (H3 margins would clip vertically).
- convert Zoom, Light, Omega, Smargon, Sample camera, Monochromator, ABR meas. pos., Beam mark, Beam center, Beam size, Dataset path and Loop centering to collapsible banners - new collapsible Exp. Config. section wrapping the scan tabs - move Manual sample from a bottom dock into the left column between Dataset path and Exp. Config.; Ctrl+M now expands it instead of raising the dock - Beamline state banner restyled to match (25px, plain font, bare glyph, whole banner clickable) - universal 11px banner gap via tighten_column() shared by both panel columns and the left column stack; ABR banner spans all grid columns and file path / manual sample drop side margins so widths align - abort button sits under the tabs instead of pinned to the bottom - unit tests for the collapse behavior
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
- Cross-fade and palette flip on theme switch
(
ed8b2bd)
Freeze the old look in a click-through screenshot overlay and fade it out over the restyled window — QSS has no transitions and animating the palette would re-polish every widget per frame. Sunset also flips the app-palette text roles so native primitives QSS can't recolor (spin and combo arrow glyphs) follow the theme.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
- Dusk-gradient theme overhaul with transparent-widget scheme
(
1946430)
Both stylesheets move to transparent children over a gradient painted only by top-level windows; inputs, buttons, headers, and menus get opaque faces back. Sunset drops Catppuccin Macchiato for the Daemmerung dusk palette. Spin/combo arrows and check indicators become theme-tinted PNGs. Widgets stop carrying inline input/text stylesheets so the theme QSS can win (empty stylesheet = theme reset).
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
- Float alert banners over content as anchored toasts
(
1f2a538)
Banners in the root layout shifted the whole UI on every message; now they float over the content root (repositioned on resize) and the baton toast anchors as a compact pill under the camera view, auto-clearing in 4s instead of 10s.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
- Group beam mark/center/size under one Beam Config banner
(
00e5d11)
The three small beam panels shared a column with three collapsible banners; BeamConfigPanel puts them under a single collapsible 'Beam Config.' TitleLabel with section_title() sub-headings. beam_mark/beam_center/beam_size stay as aliases on BeamlineControls so main_window signal wiring is untouched.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
- Hide operation panels in watch-only mode
(
d127863)
Without the baton the GUI now shows only the camera stream and status bar; every operating surface (panels, docks, pop-out mirrors) is hidden outright. Regaining the baton restores dock layout via saveState/ restoreState — per-dock visibility snapshots lose docks tabbed behind others — so LogDock gains the objectName restoreState requires.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
- Horizontal beamline state bar above the status bar
(
9ef4032)
Replaces the vertical station map that consumed left-column space with a slim always-visible strip in the bottom toolbar area, directly above the status bar:
- states in physical beamline order, 18px text, one line when the bar is wide enough and wrapped at the last space otherwise - availability coloring from the route graph plus the status-bar shortcut transitions: bold blue = active (red for Maintenance), orange = reachable in one step, grey = not reachable; no backgrounds or rounded corners - transitions only via right-click 'Go to '; left click shows a reminder tip for available states and the reachability explanation for grey ones; hovering a grey state for 3 s shows the same explanation - whole entry is the hover/click region; tips anchor to the entry and disappear when the mouse leaves - always visible: no View-menu toggle, not hidden by portrait or compact modes
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
TitleLabel gains default_collapsed; the small motor/light panels start open (their per-title persisted choice still wins).
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
- Merge Automation progress and Console log into one Information dock
(
e457236)
The two tabified bottom docks left their switcher tabs stranded at the window bottom; one Information dock with proper tabs mirrors the Sample List dock's layout. LogDock becomes the LogPanel widget with mirror views for the pop-out and a reveal_requested signal so the owner controls visibility (Ctrl+Shift+L, notifications).
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
- Merge Sample List, Reference Tools, and the queue into one dock
(
1f90098)
Reference Tools was a separate staff-only dock tabified behind Sample List and kept vanishing (saved dock state, raise order); the automation job list was a third dock for what is conceptually the same table. One tabbed dock now holds Dewar samples + Auxiliary puck (concept from aaregui2's QueuePanel): the dewar table doubles as the queue view with the queue buttons and an Unmount button in a row beneath it, SampleQueuePanel lives on hidden as the queue engine, and queue/flag membership is edited via right-click or row drags onto the Queued and Flagged chips. Column 0 is a frozen #+status cell (mounted > queued > flagged > measured, tints context-dependent per chip filter); non-staff see Auxiliary greyed out with a Staff-only popup instead of hidden. Ctrl+L/Ctrl+R raise the Dewar/Auxiliary tab. The Sample List and log pop-outs are fully operational second views on shared models. Riders: MainWindow installs WheelValueGuard, wires the camera session badge, and moves samcam/monochromator/ABR/beam-config into the left column's Beamline group (BeamlineControls keeps only zoom/light/omega/smargon).
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
- Pointing-hand cursor on all interactive widgets
(
257edc2)
QSS cannot set cursors and per-widget setCursor calls get forgotten as widgets are added, so an app-level filter catches every Polish event on buttons, combos, and sliders — dialogs and pop-outs included.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
- Pop-out windows instead of floating docks
(
6e1305c)
Floating a dock rips it from the row and reshuffles the rest, so PopoutWindow opens an ADDITIONAL frameless top-level window instead: 12px outer resize halo (border painted OUTER_GRIP inside the real edge so an outside-looking grab still works), hand-painted borderless titlebar glyphs, close hides and keeps geometry. DockTitleBar puts the popout button next to the close box. The console log adopts it: dock floating disabled, the pop-out view is a second QPlainTextEdit fed by the same emitter (a shared QTextDocument would make two views fight over one layout), clear() clears both.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
- Reference-tools position column and state-driven default sample tab
(
b088170)
The reference table gets a display-only '#' column (like the Dewar list) with sort indices shifted around it; the sample dock switches to the Auxiliary puck tab on entering alignment/maintenance states and back to Dewar elsewhere, only on state transitions so a manual choice sticks.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
- Rename themes to sunrise/sunset, add bluebird theme with Catppuccin-Latte light palette
(
c13ea11)
Sunrise/sunset replace the original/portrait tokens (QSettings values migrate on restore); bluebird is sunrise with a flat sky. The light palette is repainted with Catppuccin Latte across alerts, chips, cards, log, splash, inputs, and status flags, plus button/input height caps and hover rules in the QSS.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
- Rest-to-reveal hint for dock separators
(
f9a6c7b)
Separators stay invisible until the mouse rests on one for ~1s (or a drag starts); the QSS ::separator:hover rule does the hit-testing and a dynamic separatorHint property gates it, so event() never needs to know where separators are.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
- Start all collapsible panels collapsed by default
(
f84bee6)
A fresh GUI shows only the banners; the Beamline state panel keeps its own expanded default. A user's saved per-title states still override.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
- Swap the splash banner to an SVG
(
efcdc0c)
The PNG banner is replaced by an SVG so the splash artwork scales; the old aare_banner.png is removed and gui.py loads the .svg path (the stale path yielded a null splash pixmap).
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
- Theme-aware beamline state panel
(
7801025)
The panel paints availability/message colors in code per DAQ tick, so QSS can't retint it — state_colors(theme) hands it a per-theme dict (Catppuccin Mocha inks for Sunset) and _apply_theme pushes theme flips.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
- Wheel only adjusts values while the right button is held
(
f87b895)
WheelValueGuard (app-level event filter, installed by MainWindow) makes a bare wheel over spin boxes, sliders, dials, and combos scroll the enclosing scroll area instead of nudging the value - motor protection. NoWheelScrollArea stops swallowing wheel events since values are now guarded at the widget.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
Refactoring
- Shared busy-badge renderer for camera and axis video views
(
e77dfb4)
draw_busy_badge in busy_overlay renders the title+subtext pill once; the sample camera and axis video overlays both delegate to it instead of keeping diverging copies. The axis panel's dot+label status pill and its per-theme QSS go away with it.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
Testing
- Cover the beamline state bar
(
3175e43)
Availability sets (routes + menu shortcuts, Moving/unknown), signal gating, palette and cursors per availability, red/blue active states, adaptive label wrapping, left-click hint paths, hover-hint timer lifecycle, and pending-target clearing. Lifts the PR diff coverage back over the 80 percent gate (measured 88 percent locally).
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
- Cover the camera overlays, theme migration, layout heal, and splash
(
7b4764e)
Diff coverage vs main was 77%, under the 80% CI gate; the new camera help/error/badge code and the theme+layout main_window paths were the uncovered bulk. Locally: 82%.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
- Cover the sample-status logic, wheel guard, pop-outs, and log mirror
(
69b6813)
New tests for what the port added: status tint priority and context-dependent chip filters on the dewar/queue model, the right-button wheel guard (motor protection), PopoutWindow edge maths, manual-resize fallback, close-hides behavior and DockTitleBar, the chip drag-drop relabeling, and the console-log pop-out mirror. The widgets' main self-checks are superseded by these and removed. Brings PR diff coverage from 70% to 81% (gate: 80%).
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
- Inline smoke check for the wheel guard
(
546fb5d)
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
- Track the sample-table column shift, sort imports
(
0b80c75)
The frozen #+status column shifted data columns +1, so the User-column model tests move from index 5 to 6; ruff import-sort fixes for main_window and log_panel ride along.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
v0.7.3 (2026-08-11)
Bug Fixes
v0.7.2 (2026-08-05)
Bug Fixes
- Don't create pixmap before qapp
(
214c204)
Documentation
-
Make new zensical docs (
deb1ea4) -
Move the readme cheatsheet content to a docs page
-
Udpate cheatsheet formatting (
6244d77)
v0.7.1 (2026-08-04)
Bug Fixes
-
No longer load user macros through client (
bf503e4) -
they have been moved to the dynamic beamline dispatch module, where they are concretely loaded from each beamline repo instead
v0.7.0 (2026-08-04)
Continuous Integration
Features
- Add beamline dispatch for x06da
(
e0db953)
v0.6.1 (2026-08-03)
Bug Fixes
Chores
- Update common dep
(
28dec7a)
Code Style
- Ruff check --fix --unsafe-fixes
(
f63107a)
Continuous Integration
v0.6.0 (2026-07-31)
Bug Fixes
-
Pxi and pxiii tests shouldn't work yet (
ba68b6b) -
Remove many duplicated methods (
03e289c) -
Use macros from dispatch (
b492fac)
Code Style
- Remove pointless name-mangled attrs
(
7b79dd8)
the fact that removing them didn't break anything shows that they were completely unneccessary - there is no inheritance tree using the same names
- Replace dunder attributes with normal 'private' attrs
(
fb0c8ef)
Continuous Integration
Features
-
Beamline dispatch framework (
991e4be) -
Get auth from dispatch (
660a0ac) -
Make bec macros dispatched and test against beamline plugins (
0f1aa30)
Testing
- Add test for dispatch against each plugin
(
e90fd52)
v0.5.2 (2026-07-27)
Bug Fixes
- Return 0 if ring current device is not accessible
(
69421be)
v0.5.1 (2026-07-27)
Bug Fixes
v0.5.0 (2026-07-27)
Bug Fixes
-
Add py 3.13 to test matrix (
d7fa11b) -
Added end_operation to the exception mess at the end of def measure() in daq.py (
0a4054d) -
Detector url (
9fb2004) -
Handle mountingfailed specifically and split on critical (
2c80ef7) -
One internal worker (
2663570) -
Persist workflow git fetch auth (
3185811) -
Remove excess warning logs (
f821c2d) -
Reset git fetch auth to token (
bc9094d) -
Spurious import (
c259e10) -
Supply operation to end (
3a64439) -
Suppress only baton error (
fbb0143) -
Typo in exception name (
951ee05) -
User values now should persist between samples, only reset to default on start up. (
89564a5)
Chores
-
Add gunicorn dep (
5a9d4a2) -
Bump aarecommon dependency (
aae4ea7) -
Removed redundant /camera/source and /beamline/imafge from server.py and test_server.py (
60faea7)
Code Style
-
Fix a few style issues by hand (
2c237b6) -
Formatter again (
72d96ec) -
Ruff check --fix (
910076a) -
Ruff check --fix --unsafe-fixes (
6affbf9) -
Ruff format (
0451b8c)
Continuous Integration
- Introduce release workflow
(
5f1a09a)
Features
-
Added flux macro to devices for x10sa (
014ae0f) -
Server about info (
52a9765) -
Updated the idle close timeout to 8 hours (
99ec01c) -
Updated the idle close timeout to 8 hours (
e6b759e)
v0.4.0 (2026-07-08)
Bug Fixes
- Crash on bec init failure; beamline must be set explicitly
(
12bca38)
Chores
-
Add a bunch of stuff to gitignore (
9025c42) -
Add aarecommon dependency (
ccc2185) -
Add uv to dependencies (
3d46663) -
Bump version (
6012607) -
Remove common tests from daq (
264e667) -
Update aarecommon dependency (
b57b26d) -
Update aarecommon dependency to 0.1.3 (
228e0ed)
Code Style
Features
-
Add hostname+user to gui logs (
3ec2bc0) -
Display version, gui and env location in about (
cebd4e8) -
Display version, gui and env location in about (
cf879ee) -
Live changes 26-07-06 (
b0b655a)