* Added plugin framework with live code reload 14 * Restructured code to support human language translation. * Added AI translations: ar, de, el, es, fr, ja, ko, zh. * Added Intel graphics dialog to display sequence 245 * Modified QComboBox style. * Added filename replacement variables. * Added Trigger widget.
1.0.62
2024 Mar 21
* Fixed JS110 performance degradation (blocking status in device thread) using pyjoulescope_driver 1.4.8 → 1.4.10. * Disabled JS110 on-instrument stats polling, which is not used by UI.
1.0.59
2024 Mar 12
* Modified sidebar buttons to disable when no Joulescopes connected. * Renamed "plugins" directory to "range_tools". * Modified widgets to display device name, not model-serial_number 256 * Added optional Waveform widget feature to set the plot label 255 * Added JLS v1 support to JLS Info Widget 259 * Fixed JLS reopen support by adding optional on_pubsub_delete callback 260 * Added "dots" to each Waveform widget sample when sufficiently zoomed in 261 * Added snap to sample for Waveform widget hover display.
1.0.58
2024 Feb 27
* Dropped Python 3.9 support as static methods are not callable until 3.10. See https://docs.python.org/3/whatsnew/3.10.html * Updated Intel OpenGL dialog text. * Updated 2024 out-of-office days. * Added widget class not found handling on config load. * Deferred rendering on class registration. * Improved "developer" mode. * Renamed "debug" mode to "developer" mode. * Automatically close developer widgets on setting disable. * Renamed Debug widget to Profile widget. * Added Publish Spy widget. * Added Log View widget. * Added PubSub Explorer widget. * Added WindowStaysOnTopHint to HelpHtmlMessageBox 245 * Modified Export all data to work when streaming 246 * Added zoom to dual markers in Waveform widget 243 * Added Waveform widget move both dual markers when click on top Δt bar 247 * Added preferred units to Waveform widget i, v, p plots 248 * Added time format options to CSV statistics recording 231 * Added option to set exact plot y-axis range in Waveform widget 126 * Added support for Waveform widget precision and quantity selection 130 * Added clock widget with support for local and UTC time. * Added path info the issue report index. * Added safe mode (Hold shift key at launch until window shows) 250 * Modified view activate to restore geometry before dock state. * Improved JsdrvStreamBuffer shutdown to prevent log warnings. * Added startup dialog sequencing. * Improved device update. * Defer update for several seconds to help insure system stability. * Prompt user. * Update sequentially to minimize any update failure risks. * Added color legend to Memory widget. * Updated pyjls from 0.9.1 to 0.9.2 to improve corrupted JLS file handling. * Updated pyjoulescope_driver from 1.4.6 to 1.4.8. * Updated joulescope from 1.1.8 to 1.1.12. * Updated PySide6-QtAds from 4.1.0.2 to [4.2.1](https://github.com/githubuser0xFFFF/Qt-Advanced-Docking-System/releases) and PySide6 from 6.2.0 to [6.2.2](https://code.qt.io/cgit/qt/qtreleasenotes.git/about/qt/6.6.2/release-note.md). The new versions address a number of stability issues. * Removed unused pyperclip dependency. * Converted deprecated QMouseEvent method calls to supported methods. * Added missing menu items to menu widget storage. * Added QtCore.Slot decorator to PySide6/Qt6 slots. * Improved QMenu and Qt Slot memory management and object lifecycle management. * Updated credits to include missing entries. * Improved pubsub registration and callback management 254 * Added auto unsubscribe on object unregister to fix dangling subscribes. * Improved bound method handling to reduce memory leaks. * Reduced the number of pubsub_singleton usages. * Added subscribe() return object for use with unsubscribe(). * Fixed settings widget to update on view changes 253 * Fixed QDialog memory management. * Improved widget open / close handling. * Upgraded to Nuitka 2.0.5. * Fixed sidebar widget 257 258
1.0.48
2023 Dec 11
* Fixed device open when UI started with device open in another app. When other app closes device, can now open in the UI. * Improved Waveform widget error handling. * Updated pyjoulescope_driver 1.4.1 -> 1.4.6 with FW 1.2.1 and FPGA 1.2.1. * Improved JS220 communication robustness * Improved JS110 time sync long-term stability. * Fixed stream buffer use-after-free and remove timeout. * Fixed year on POSIX (macOS & Linux) systems. 241 * Forced Nuitka 1.8.6 (1.9.3 causes crashes in Waveform widget). * Bumped PySide6 to 6.6.0 with PySide6-QtAds to 4.1.0.2. * Specified OpenGL 2.1 for "software" renderer (was 3.3 for all). * Included opengl32sw.dll in Windows distribution. 216 * Added dialog prompt to switch from Intel to software OpenGL renderer. 216 * Added *.png to MANIFSET.in to fix "pip install". 242 * Added CONTRIBUTING.md and CODE_OF_CONDUCT.md. Updated docs. 151 * Fixed streaming Waveform widget not showing waveforms after opening JLS file. * Improved Device Control widget device open/close. * Updated QAction.triggered callback signatures from fn() to fn(checked=False) to eliminate warnings with Nuitka compiled code.
1.0.43
2023 Nov 30
* Deferred Waveform render_to_image operations to synchronize. Fixes 239. * Added app "opengl" setting and use "desktop" by default. Select "software" to workaround Intel UHD graphics issue 216. * Fixed JS220 device settings log warnings. * Increased the max number of logs from 4 to 10 included in issue reports. * Changed VersionedFile to use temp file with process ID to avoid collisions. * Display tooltips for Settings widget labels, not just values. * Fixed device selection in Multimeter, Value, and Accumulator widgets. 233 * Fixed software_update to log warning (not exception) on unsupported platform. * Updated pyjoulescope_driver 1.4.0 -> 1.4.1 with fw 1.2.0 and FPGA 1.2.0. * Improved JS220 UTC time sync with FW 1.2.0 & FPGA 1.2.0 support. * Improved JS220 skip / drop sample handling. * Modified internal signal_id format.