Releases: pwr-Solaar/Solaar
Releases ยท pwr-Solaar/Solaar
1.1.13
- Update Polish and Russian translations.
- Fix bug in suspend and resume callback
- Add choices universe for backlight setting
- Add simplify diversion.py and add unit tests
- Get and use current host number for K375sFnSwap because of bug in firmware of MX Keys S
- Fix bug with logo in about window
- Don't ping device just to get logging information
- Optimize write for per-key lighting
- Add and initialize per-key lighting to a special no-change value
- Remove some Python 2 compatibility code
- Update French translation
- Refactor rule loading for testability
1.1.13.rc1
- Fix bug in suspend and resume callback
- Add choices universe for backlight setting
- Add simplify diversion.py and add unit tests
- Get and use current host number for K375sFnSwap because of bug in firmware of MX Keys S
- Fix bug with logo in about window
- Don't ping device just to get logging information
- Optimize write for per-key lighting
- Add and initialize per-key lighting to a special no-change value
- Remove some Python 2 compatibility code
- Update French translation
- Refactor rule loading for testability
1.1.12
- Check for existence of keys file before opening
- Perform translation for all translatable strings.
- Add included hid_parser to packages installed
- Improve label and description for LED zone settings
- Add message about Onboard Profiles to LED Zone settings
- Initialize device registers to empty list
- Use bluez dbus signals to disconnect and connect bluetooth devices
- Handle a different signal for onboard profiles directory in ROM
- Introduce small delay in getting pairing information to let receiver settle after pairing
- Improve testing for settings_templates, settings, hidpp20, and device and fix small bugs found
- Add extended adjustable DPI setting
- Improve and extend infrastructure for testing setting_templates
- Update Greek, Polish, Russian, and Traditional Chinese translations
- Implement and test per-key lighting
- Refactor and test pair_window in GUI
- Handle situation when read of a setting fails in GUI
- Permit continuing when a read during pushing fails
- Fix bug in LEDZoneSetting when effect is not implemented
- Add tests for LEDEffect structures in hidpp20
- Handle BRIGHTNESS_CONTROL notifications
- Add settings for BRIGHTNESS_CONTROL and RGB_EFFECTS features
- Fix small bugs found from testing in settings
- Use f-strings for more exceptions and log message
- Tests for setting_templates
- Simple change in settings to improve testability
- Use feature_request from the device everywhere in hidpp20
- Fix bug in backlight 2 durations
- Replace deprecated code constructs
- Set up test data and classes to help test HID++ interactions
- Use pytest to test code for logitech_receiver modules
- Align init methods for all receiver classes
- Start refactoring of code base
- Allow sub-second delays in Later
- Fix bug in setting configuration cookie due to bad documentation
- Use ruff for code styling and linting
- Upgrade string formating to f-string
- Document battery-icons=solaar option
- Tell devices to delay device sending first messages until configuration is done
- Optimize some functions in FeaturesArray
- Fix bug in creating features array
- Fix bug in building battery line in show
- Refactor diversion_rules
- Fix bug in determining tray icon
- Fix bug in getting friendly name
- Move status information to Device and Receiver objects
- Add tests for get_kind_from_index and base product information
- Update EX100 documentation
- Use object attributes instead of dictionary in status objects
- Create subclasses of receiver for different variants
- Add requirement for CONFIG_HIDRAW to documentation
- Add some low-level tests for some hidpp20 functions, profiles, and lighting and some hidpp10 tests
- Fix app name casing in UI
- Add missing receiver type for Lightspeed receivers
- Add new device types
- Refactor device and receiver instantiation
- Simplify naming of distribution files
- Clean up some logging code
- Remove duplicated code to read register
- Introduce Hidpp20 and Hidpp10 class
- Remove unnecessary calls of del
- Fix bug when reading BACKLIGHT setting from device
- Replace invalid hidpp10 and hidpp20 usages
- Use only timer thread to save config.yaml
- Improve README
- Copy newer version of hid_parser
- Reorder code in settings
- Update installation documentation
- Add missing license blocks
- Clean up listener and notifications code
- Add locks to prevent multiple persisters for device
- Clean up configuration, device, and receiver code
- Move battery constants common to HID++ 1.0 and 2.0 to common
- Move mapping of device kind into hidpp20
- Move pairing information gathering to receiver
- update contributors
- Expand allowable profile numbers
- Clean up init in logitech_receiver
- Modify pre-commit args to make ruff change files
- Fix bug in hidpp20 get host names
- Use ruff for formatting and linting
- Fix bug in rule Set action
- Add notify module to logitech_receiver
- Implement setting_changed callback and pass in to new devices and receivers
- Add callback to call when changing a setting
- Move exceptions, hidpp20 and hidpp10 constants into new modules
- Streamline status code
- Upgrade debugging in udev
- Fix deprecated GitHub actions
- Extend makefile and tests
- Improve features array
- Move ui_async to common.py
- Improve module imports
- Add tests of common module
1.1.12rc2
- Check for existence of keys file before opening
- Perform translation for all translatable strings.
- Add included hid_parser to packages installed
- Improve label and description for LED zone settings
- Add message about Onboard Profiles to LED Zone settings
- Initialize device registers to empty list
- Use bluez dbus signals to disconnect and connect bluetooth devices
- Handle a different signal for onboard profiles directory in ROM
- Introduce small delay in getting pairing information to let receiver settle after pairing
- Improve testing for settings_templates, settings, hidpp20, and device and fix small bugs found
- Add extended adjustable DPI setting
- Improve and extend infrastructure for testing setting_templates
- Update Greek, Polish, and Russian translations
- Implement and test per-key lighting
- Refactor and test pair_window in GUI
- Handle situation when read of a setting fails in GUI
- Permit continuing when a read during pushing fails
- Fix bug in LEDZoneSetting when effect is not implemented
- Add tests for LEDEffect structures in hidpp20
- Handle BRIGHTNESS_CONTROL notifications
- Add settings for BRIGHTNESS_CONTROL and RGB_EFFECTS features
- Fix small bugs found from testing in settings
- Use f-strings for more exceptions and log message
- Tests for setting_templates
- Simple change in settings to improve testability
- Use feature_request from the device everywhere in hidpp20
- Fix bug in backlight 2 durations
- Replace deprecated code constructs
- Set up test data and classes to help test HID++ interactions
- Use pytest to test code for logitech_receiver modules
- Align init methods for all receiver classes
- Start refactoring of code base
- Allow sub-second delays in Later
- Fix bug in setting configuration cookie due to bad documentation
- Use ruff for code styling and linting
- Upgrade string formating to f-string
- Document battery-icons=solaar option
- Tell devices to delay device sending first messages until configuration is done
- Optimize some functions in FeaturesArray
- Fix bug in creating features array
- Fix bug in building battery line in show
- Refactor diversion_rules
- Fix bug in determining tray icon
- Fix bug in getting friendly name
- Move status information to Device and Receiver objects
- Add tests for get_kind_from_index and base product information
- Update EX100 documentation
- Use object attributes instead of dictionary in status objects
- Create subclasses of receiver for different variants
- Add requirement for CONFIG_HIDRAW to documentation
- Add some low-level tests for some hidpp20 functions, profiles, and lighting and some hidpp10 tests
- Fix app name casing in UI
- Add missing receiver type for Lightspeed receivers
- Add new device types
- Refactor device and receiver instantiation
- Simplify naming of distribution files
- Clean up some logging code
- Remove duplicated code to read register
- Introduce Hidpp20 and Hidpp10 class
- Remove unnecessary calls of del
- Fix bug when reading BACKLIGHT setting from device
- Replace invalid hidpp10 and hidpp20 usages
- Use only timer thread to save config.yaml
- Improve README
- Copy newer version of hid_parser
- Reorder code in settings
- Update installation documentation
- Add missing license blocks
- Clean up listener and notifications code
- Add locks to prevent multiple persisters for device
- Clean up configuration, device, and receiver code
- Move battery constants common to HID++ 1.0 and 2.0 to common
- Move mapping of device kind into hidpp20
- Move pairing information gathering to receiver
- update contributors
- Expand allowable profile numbers
- Clean up init in logitech_receiver
- Modify pre-commit args to make ruff change files
- Fix bug in hidpp20 get host names
- Use ruff for formatting and linting
- Fix bug in rule Set action
- Add notify module to logitech_receiver
- Implement setting_changed callback and pass in to new devices and receivers
- Add callback to call when changing a setting
- Move exceptions, hidpp20 and hidpp10 constants into new modules
- Streamline status code
- Upgrade debugging in udev
- Fix deprecated GitHub actions
- Extend makefile and tests
- Improve features array
- Move ui_async to common.py
- Improve module imports
- Add tests of common module
1.1.11
- Rename light icons and install them in correct place
- Setup macOS tests using GitHub action (#2284)
- Better checking for setting in record_setting
- Fix invalid func name set logo name
- Simplify installation of udev rules
- Add document on implementation
- Tidy up scrolling appearance in configuration panel
- Correctly handle profile button with no action
- Don't unlock setting when changed by external means
- Refactor code to record change to setting
- Add GitHub action for tests
- Introduce tests with pytest
- Simplify logger instantiation
- Update label and tooltip for divert-gkeys setting
- Don't lock setting when an error occurs
- Catch assertion errors when reading setting values from devices
- Support LED Zone control feature
- Dump and load device profiles
- Select among profiles.
- Support backlight levels and duration
- Use "Report Rate" instead of "Polling" for movement report rate
- Support extended report rate setting
- Add stable branch to release.sh (#2236)
- Fix changelog parsing in release.sh
- Update installation.md with new udev rules location
- Downgrade assertion on missing notification flag to warning
- Write empty file if there are no rules to save
- Be defensive in device error messages
- Add descriptions of M650, PRO X 2, G915, MX Anywhere 2S, G305, and MX Keys S
- Report hidraw node in debugging messages
- Add names for new Logitech features
- Update Spanish, French, and Polish translations
- Defend against lightspeed receivers that contact devices for basic information
- Remove incorrect feature for M325 mice
- Add K845 keyboard
- Add partial support for macOS and minimal support for Windows
- Correctly enumerate devices on receiver
- Add wording in documentation about Logitech reusing model numbers
- Better handling and installation of icons
- Catch errors when pinging to try to put device online
- Be more cautious when creating log messages to avoid exceptions
- Correctly handle NoSuchDevice exception when pinging device
- Fix test in rules for device equality
- Add installation instructions for pipx and add not about other GTK system packages
- Fix bug in NamedInt
- Add support for MK550
- Install udev rule files to correct placces
- Expand expected ping responses
- Update codename when device status changes
1.1.11rc4
- Rename light icons and install them in correct place
- Setup macOS tests using GitHub action (#2284)
- Better checking for setting in record_setting
- Fix invalid func name set logo name
- Simplify installation of udev rules
- Add document on implementation
- Tidy up scrolling appearance in configuration panel
- Correctly handle profile button with no action
- Don't unlock setting when changed by external means
- Refactor code to record change to setting
- Add GitHub action for tests
- Introduce tests with pytest
- Simplify logger instantiation
- Update label and tooltip for divert-gkeys setting
- Don't lock setting when an error occurs
- Catch assertion errors when reading setting values from devices
- Support LED Zone control feature
- Dump and load device profiles
- Select among profiles.
- Support backlight levels and duration
- Use "Report Rate" instead of "Polling" for movement report rate
- Support extended report rate setting
- Add stable branch to release.sh (#2236)
- Fix changelog parsing in release.sh
- Update installation.md with new udev rules location
- Downgrade assertion on missing notification flag to warning
- Write empty file if there are no rules to save
- Be defensive in device error messages
- Add descriptions of M650, PRO X 2, G915, MX Anywhere 2S, G305, and MX Keys S
- Report hidraw node in debugging messages
- Add names for new Logitech features
- Update Spanish, French, and Polish translations
- Defend against lightspeed receivers that contact devices for basic information
- Remove incorrect feature for M325 mice
- Add K845 keyboard
- Add partial support for macOS and minimal support for Windows
- Correctly enumerate devices on receiver
- Add wording in documentation about Logitech reusing model numbers
- Better handling and installation of icons
- Catch errors when pinging to try to put device online
- Be more cautious when creating log messages to avoid exceptions
- Correctly handle NoSuchDevice exception when pinging device
- Fix test in rules for device equality
- Add installation instructions for pipx and add not about other GTK system packages
- Fix bug in NamedInt
- Add support for MK550
- Install udev rule files to correct placces
- Expand expected ping responses
- Update codename when device status changes
1.1.10
- Add information about NixOS flake package
- Permit bluetooth devices in hidconsole
- Add descriptor for Logitech MX Revolution Mouse M-RCL 124
- Improve determination for short and long messages
- Add descriptor for G500s
- Fix bug in scan-registers
- Add single depress and release options for rule mouse click action
- Add rule condition for hostname
- Update keysym generation to current list of keysyms
- Allow device 0 in hidconsole
- Upgrade messages when no supported device found
- Documentation update for the gnome extension for better Solaar rule support
- Remove udev-acl tag from udev rules
- Add support for process condition in Wayland
- Update French, Chinese, and German translations
- Add G733 Headset
- Restore tools/clean.sh
- Add Bluetooth Keyboard C714
- Update several device descriptions
- Update scan-registers.sh
- Remove assertion on last byte of ping responses
- Add symbolic version of solaar icon
- Fix bug when finding name or codename
- Update documentation
- Put version in initial INFO logging message
1.1.9
- Add descriptors for G535 wireless gaming headset and wireless keyboard EX110
- Update Greek translation
- Fix minor issues in documentation
- Remove some deprecated GTK code
- Use zero exit code for kill interrupts
- Add rule Test condition for battery charging
- Get wpid for 28Mz devices from udev when enumerating
- Add Device condition to rules
- Don't show wireless link or battery information when unknown or not present
- Add desccriptor for G9x and LX7 mice
- Fix bug in determining kind of devices for 27Mz receivers
- Set initial lock status of smooth scrolling features to ignore
- Fix glitch in configuration file update when changing versions
- Add more debugging output for rules
- Clean up pinging code
- Put initial ping of direct-connected devices inside listener thread
- Read and check before write of range settings
- Improve pairing determination
- Cut off determination of receiver devices when all have been found
- Remove derived configuration fields when Solaar version changes
- Allow device descriptors without name and codename
- Filter and escape technical detail fields
- Add setting for ADC power managemen
- Correctly determine whether to ping with a long HID++ message
- Add description for K470 keyboard from the MK470 combo (#1945)
- Add setting value for mouse gestures
- Update German and French translations
- Remove old clean.sh and monitor.py tools
- Retry opening device if permissions error encountered
- Better handlling of IO errors at device creation
- Add KeyIsDown rule condition to check whether a diverted key is down
- Clean up device and receiver creation
1.1.8
- Add parameter to thumb wheel rule conditions
- Rename Serbian translation file
- Update Polish translation
- Improve handling of wheel notifications
- Only record changes of scroll wheel ratchet
- Don't mark setting as absent if there are device errors
- More robust access to keyword exception fields
- Add support for config change feature
- Clean up GTK code
- Update documentation on mouse gestures and known issues
- Get commit information from git describe and dpkg-parsechangelog
- Update pre-commit tools to current versions
- Update installation instructions
- Add 8-character commit hash to version information
- Update solaar.desktop (#1857)
- Get release in setup.py by reading lib/solaar/init.py
- Remove version number from docs/_config.yml
- Update solaar.desktop
- Update es.po
- Clarify status of C542 receiver
- Update devices directory
- Add description of several devices
- Show name of disconnecting receiver or device in disconnect warning
- Reduce standard size of rule editor window
- Remove unnecessary dependency on typing_extensions
1.1.7
- Add dependency on typing_extension to setup.py
- Don't defer saves in CLI and don't require Gtk in CLI
- Be more permissive in recognizing HID++ report descriptors
- Update Polish and Croatian translations
- Switch scroll ratcheting in response to scroll ratchet button notification
- Add setting to turn scroll ratchet on and off
- Eliminate visual glitch when updating range setting
- Make hid-parser an optional dependency