v0.8.5
Changes
- Numeric editors display clean decimal values such as
99.8, while preserving numeric precision and locale-aware input. - Step code edits update the existing function widgets and ObjectStates. Function code generation reflects current values, including edits in other grouped branches.
- Generated function keyword arguments follow the callable signature order used by the parameter form.
- Configure OpenHCS includes shared list-preview settings for Plate Manager and Pipeline Editor: optional wrapping, detail visibility, compact or expanded collections, and value-length limits.
- Each row's arrow switches that row between wrapping and horizontal scrolling. Explicit choices survive refreshes and reordering; continuation lines retain their indent guide. The same action is available through MCP.
- Wrapped rows use the same Qt text layout for measurement and painting, preserving field styling and allowing every line to be reached by scrolling.
- Reopening the function selector refreshes its execution-server snapshot, including functions registered by another MCP client, without rebuilding the server's cached registry.
- Closing a function selector while its catalog request is pending safely disconnects the window without cancelling shared work.
- Queued widget actions cancel when their target is destroyed. Row actions preserve the intended item across insertion and reordering, and cancel when that item or its model is removed.
- Fixed a native Qt crash during deferred window destruction when flash-cleanup callbacks were collected before their widgets were destroyed.
- Preview configuration remains importable by headless MCP startup without loading the native Qt runtime.
The release requires python-introspect 0.1.13 and pyqt-reactive 0.3.23. Native MCP interaction verified matching numeric values in widgets and generated code, independent row controls, and newly registered functions appearing in the live selector.