- Timer fixes for get()
- Accept non-integer time intervals
- Timers are stopped when the window is closed
- Fixed 'with' syntax bug on Python 3.11+
- Led class
- Widget groups to set/get multiple widgets using any Python iterable
- ValueSlider editbox now has a name, allowing it to be referenced
- Removed debug output
- Fixed bug preventing "execute_in_main_thread" decorator to work when "execute_in_background" is not used as well.
- keyword "projection" to matplotlib M() widget, passed internally to add_subplot.
- HeartBeat widget
- Inverted import order of PyQt5 and PySide2, giving priority to PyQt5 to fix compatibility problems with matplotlib
- Matplotlib widgets expose all methods of their Axes and AxesImage children widgets.
- Convenience function colorbar() for matplotlib widgets
- Matplotlib updatable widgets MA()
- New syntax for edit field initialization
- New syntax for automatic buttons with a callable
- Optional checked parameter for radio buttons
- Setup function to be executed after GUI initialization
- Labels can be initialized with % format strings
- Fixed bug with matplotlib colobars
- Sub-GUIs now inherit the exception mode of the main GUI
- StdoutLog widget only captures output after GUI has been initialized, in order to avoid error messages "disappearing" if they happen before the GUI is shown.
- timer_count()
- the timer callback now gets the gui as its first argument
- fixed bug where matplotlib images were rescaled every time the Ax decorator was used, if a colorbar was been created.
- password input field
- timer_start() and timer_stop()
- iterator protocol to loop through GUI events
- thread management options
- Refactored matlotlib and pyqtgraph code into separate files
- PGI() widget for pyqtgraph images.
- pyqtgraph widgets: added magic properties for plots and images.
- property proxies with the proxy() method
- "undo" context manager for properties
- connect() now has a default signal name
- Workaround for bugs in some version of the "inspect" module.
- Compatibility with old Matplotlib versions (<2.1)
- support for group boxes
- hierarchical layouts ("child" Gui instances) using property assignments
- font() method and construction keyword argument
- matplotlib widgets: added magic properties, subplots, arbitrary calls upon redrawing.
- callback in background processing is now optional
- documentation on readthedocs is finally properly versioned
- title() method and construction keyword argument
- pyqtgraph integration
- QComboBox default signal is now 'currentTextChanged' for better backward compatibility with older QT versions.
- Fallback to import from PyQt5 instead of PySide2 if the latter fails.
- Pre-defined radio button groups
- Progress bar widget
- Added default signal 'valueChanged' for QDial and QScrollBar
- Fixed bug for images when using the full file path
- Fixed small bugs in the examples
- "with" context manager now can reference imports and functions defined outside it.
- Support for older PySide versions (v5.9+)
- Fixed bug in ValueSlider layout
- Internal refactor adding the new Rows class.
- 'clicked' signal for Matplotlib widgets
- Fixing incompatibilites between GitHub's and PyPI's README format.
- Support for ComboBoxes (using QComboBox)
- Splash Screen (using QSplashScreen)
- @auto decorator syntax
- "with" context manager syntax
- removed all widget-generating functions, all widgets are now classes
- widgets can be specified with just the class, a widget with a default name will be allocated.
- "dropped" signal for list boxes (QListBox) renamed to "drop"
- Using PySide2 bindings instead of PyQt5