[ANNOUNCE] libratbag 0.9.901

Peter Hutterer peter.hutterer at who-t.net
Mon Dec 18 04:01:50 UTC 2017


libratbag v0.9.901 is out. This is again just a development snapshot on the
way to 0.10. A bunch of DBus API changes to make writing UIs a bit easier,
most of these changes broke the previous API. The API documentation is
available here now: https://libratbag.github.io/
But note that more changes are likely to come in the future as we polish the
API.

We now have a new driver for SteelSeries mice (310 and Kinzu V2), plenty of
fixes all over the place for our already supported devices. And of course
the various features required to support those devices (non-RGB LED support,
new LED types, dpi lists/ranges, etc.)

Speaking of devices - adding new devices is now a matter of editing/adding a
.device file and dropping it into the right directory. The old hwdb
properties are gone, the new method is a lot more flexible and
user/developer-friendly.

On the developer side we now have ratbag-command replaced with a python
script so we can use the same commandline options between ratbag-command
(direct to device) and ratbagctl (via ratbagd).

See the full log at the end if you are interested in the details.

Ho. Ho. Ho.

Benjamin Tissoires (47):
      tools: ratbagctl: add "name" command to return the device name
      profiles: add a per profile capabilities field
      profiles: add name get/set capability
      tools/toolbox.py: add dbus sync helper function
      Fix flake 8 warnings
      tools: fix permissions for ratbagctl
      tools: ratbagctl.devel: fix commit() async call
      hidpp20: fix mem leak
      tools: ratbag-command: fix a memory leak
      hidpp20: fix Invalid writes
      hidpp20: reshuffle onboard_profile allocate/initialize
      hidpp20: use min when possible
      hidpp20: do not mixed hex and decimal
      hidpp20: new memory model
      hidpp20: move up hidpp20_internal_profile
      hidpp20: move down hidpp20_initialize
      hidpp20: check if crcs are valid once on plug
      hidpp20: add commit API for onboard profiles
      hidpp20: fill in all profiles, even if they are not there
      tools: add hidpp20-reset
      tools: ratbag-command: info: make use of _cleanup_
      tools: make sure we check for ratbagd_process returncode
      tools: ratbagctl: only warn that no devices are available in list_devices
      tools: ratbagctl.test: assert on the ratbagd process
      hidpp20: fix .type parsing for sw_leds
      tools: ratbagctl: add missing led types
      tools: ratbagctl: make flake8 happy
      circle.yml: deploy docs when the master branch is updated
      circle.yml: fix doc deploy key
      circle.yml: cache dnf packages
      enums.h: few doc fixups
      ratbagctl: update man
      Generate a direct python wrapper around libratbag with swig
      meson.build: shut up a warning for the generated swig python wrapper
      ratbag-command.py: allow valgrind to show something useful
      tools: ratbag-command.py: lazy evaluation of the devices
      tools: ratbag-command.py: add verbose mode
      tools: replace ratbag-command.c with ratbag-command.py
      tools: ratbag-command.py: fix new resolutions list
      Fix some flake8 warnings
      macro: fix memleak
      macro: fix memleak, again
      hidpp20-drv: cleanup hidpp20drv_update_button*
      ratbagd: clean up ratbag devices on SIGINT
      tools: valgrind: shut up some non relevant memory leaks
      tools: ratbagctl: add --nocommit
      circle.yml: fix CI builds

Clément Vuchener (1):
      Add Logitech G900 SVG for gnome theme

Ignacio Vazquez-Abrams (1):
      Allow meson to skip the test that requires root if root is unavailable

Jente Hidskes (19):
      data/gnome: G502: add missing text-align style property
      data/gnome: roccat kone XTD: add missing leaders for wheel tilt buttons
      tools/ratbagd.py: sync with Piper
      tools/ratbagctl.in: use RatbagdMacro to print the macro
      tools/ratbagctl.in: use RatbagProfile's active_resolution property
      tools/ratbagctl.in: use RatbagDevice's active_profile property
      tools/ratbagd.py: sync with Piper
      tools/ratbagd: remove KeyMapping methods
      Add the Name property to the interface documentation
      Move note on return values to the interface documentation
      RatbagdDevice: add a `Resync` signal
      ratbagd: fix return values in dbus methods
      RatbagdResolution: rename get_rate to get_report_rate for consistency
      RatbagdLed: clamp values instead of returning an error
      RatbagdResolution: clamp values instead of returning an error
      ratbagd: add ACTION_SPECIAL_INVALID to the table
      RatbagdButton: fix missed dbus return value
      tools/ratbagd.py: sync with Piper
      Convert LED effect rate in Hz to effect duration in ms

Joshua Strobl (3):
      Correct G403 ID. Added Wireless-specific G403 device file.
      Merge Logitech G403 devices files.
      docs: Ensure we also check for python3 sphinx build exec suffixed without a hyphen.

Ogier Bouvier (10):
      hidpp20: fix last feature discovery
      support sector size that are not multiple of 16
      hidpp20: store correct size for feature list
      hidpp20: fix resolution count detection
      hidpp20: fix special button mapping
      hidpp20: add support for non-RGB LEDs, feature 0x1300
      driver-hidpp20: add feature discovery for 0x1300
      tools: use new RATBAG_LED_TYPEs
      data: add device file and svg for Logitech G703 wired
      hidpp20: force at least one profile to be enabled

Peter Hutterer (102):
      Add missing config.h includes
      hwdb: add two missing driver assignments
      Add xasprintf
      Move dpi range parsing to a helper function
      Switch to a .ini-file based device database
      drop now obsolete ratbag_device_get_udev_property
      ratbagd: fix assertion error when quitting with more than 1 devices attached
      data: add a fallback.svg file
      ratbagd: if the svg doesn't exist, supply the fallback one
      Remove unnecessary NULL check before free()
      ratbagd: set the active profile before sending signals
      tools: fix typos in test case class names
      tools: add missing vim config line to toolbox.py
      data/gnome: G502: fix SVG to be 400 pixels height
      data/gnome: roccat kone XTD: fix button numbering
      data/gnome: fallback: add missing button6-path
      test: ignore python allocation leaks in our valgrind runs
      data/gnome: add a quick and dirty SVG checker for the GNOME SVGs
      ratbagd: fix profile IsActive property changes
      ratbagd: drop the unused IsActive and IsDefault resolution signals
      tools: fix use of unset variable
      ratbagd: fix use of potentially unused variable
      hidp20: fix dead code in macro parsing
      hidpp10: fix a coverity warning about OOB access
      ratbagd: fix enum type for resolutions
      hidpp20: add an assert to shut up scan-build
      util: avoid reallocation of zero-sized memory in dpi list parsing
      tools/ratbagctl.test.in: decode ratbagctl output with utf8 for the tests
      Add missing include for stdint.h to libratbag-test.h
      circle.yml: set LANG to UTF-8
      ratbagd: split the test device out into a seprate file
      Get the libratbag data dir from the environment variable
      Fix typo
      hwdb: drop the remaining hwdb files
      ratbagd: Drop KeyMapping from the DBus interface
      ratbagd: allow for --verbose=raw
      tools: parse the argument before starting ratbagd
      tools: pass the verbosity arguments down to ratbagd
      tools: drop the parser debug printfs
      ratbagd: fix verbose_raw setting
      Remove now superfluous libratbag.sym
      led: add support for color depth
      tools: unlink the dbus file if ratbagd.devel fails to start
      tools: fix a linebreak to be less confusing
      tools: specify the full path for the dbus permissions file
      ratbagd: disable coredumps in ratbagd.devel
      led: change RGB to RGB888 and add 1-bit RGB
      tools: update ratbagd.py for the new logo types
      test: set RATBAG_TEST in code, not in meson
      Fix a comment, the deprecated functions *should* be removed
      Add helper functions to loop through profiles, buttons and leds
      hidpp10: use _cleanup_ for a profile
      hidpp10: rename a variable from 'profile' to 'typestr'
      test: set all leds to logo
      test: move an not-null assert to above where we deference it
      hidpp20: don't set the device's num_leds, it's overwritten later
      hidpp20: require HIDPP_PAGE_COLOR_LED_EFFECTS for LEDs to work
      test: fix LED indexing
      Remove RATBAG_LED_TYPE_UNKNOWN from the enum list
      Fix a comment
      meson: fix default value in meson_options.txt
      data: add LedTypes keyword argument to the device files
      ratbagd: rename device->name to device->sysname
      ratbagd: standardise the log messages a bit better
      DBus: thighten the definition of the 'Id' for a device
      DBus: some more documentation
      Align resolution creation with the button/profile/led creation bits
      Change driver probe() as a flat function
      Use foreach loops to iterate though the profiles
      Remove c++ guard
      Move the enums into their separate header file
      circle.yml: drop doxygen and graphviz - obsolete now
      Use Sphinx for the DBus interface documentation
      Move the log defines higher so we can use them anywhere
      test: add dpi min/max tests
      tools: always print 'dpi' after resolutions
      Replace the resolutions min/max with an explicit list of dpi values
      Convert the resolution range into something resembling an exponential one
      tools: add dpi get-all to ratbagctl
      hidpp10: pass the dpi list to libratbag as-is
      Add ratbagd_led_has_mode() and the required dbus additions
      Fix missing nres assignments
      gskill: init the DPI list correctly
      gskill: add a missing empty line
      tools: remove erroneous 'self' in function call
      Fix a comment referring to a function name in the typemap
      tools: add dpi get-all to the ratbagctl man page
      driver-hidpp20: fix some indentation
      Allow for zero number of dpi values to be set
      Add list of report rates to the resolutions
      Sanity-check the list of dpi values and report rates
      tools: add 'rate get-all' to the resolutions
      hidpp20: implement 8060 adjustable report rate
      hidpp20: remove unused reg paramater
      hidpp20: use the full getInfo request, not just the count
      hidpp20: set the LED caps based on what the device reports
      hidpp20: check for monochrome only effects in 8070
      hidpp20: fill the led modes from the 8070 effect ids
      meson: silence compiler warning in swig generated files
      Don't install the default theme svgs
      meson: require meson version 0.36
      meson.build: libratbag 0.9.901

Stephen Kitt (1):
      Don't install ratbag-command manpage

Thomas Hindoe Paaboel Andersen (38):
      reset GError before reuse
      improve error for missing device files
      ratbagctl: typo fix
      G300: fix profile switching
      G300: set active resolution
      hidpp10: fix outdated info message
      SVG for G300 in GNOME theme
      G300 SVG: add 20 px margin
      G300: fix writing multiple profiles
      G300: use int instead of signed
      G300: set the active resolution
      G300: set min/max DPI
      expand documentation of probe call
      set CAP_LED for mice with only 1 LED
      G300: add support LEDs
      G300: set the color depth
      G9: add .svg for GNOME
      hidpp10: add Leds entry to .device file
      G9: add entry for LEDs count
      hidpp10: fix setting resolution on G9
      hidpp10: only update current resolution once per commit
      hidpp10: remove empty callback
      hidpp10: Fix LED read/write
      hidpp10: fix last entry in dpi_list_from_range
      G9: remove DPI 0
      add RATBAG_LED_TYPE_SCROLL_WHEEL
      add function to remove capabilites
      add driver and svg for steelseries rival 310
      G300: move LED leader to LEDs layer
      G300: set DPIs as a fixed list
      steelseries: set report rate list
      steelseries: init the buttons to defaults
      steelseries: add writing buttons
      data: add section for SteelSeries mice
      steelseries: move hardcoded values to .device
      steelseries: add a support for the Kinzu V2
      use SVGs from the source dir in .devel
      steelseries: support cycle and breathing LED mode

git tag: v0.9.901

The libratbag project does not generate tarballs for releases, you can
grab one directly from github:

https://github.com/libratbag/libratbag/archive/v0.9.901/libratbag-0.9.901.tar.gz

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 163 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/input-tools/attachments/20171218/b3242562/attachment.sig>


More information about the Input-tools mailing list