[ANNOUNCE] libratbag 0.9.905

Peter Hutterer peter.hutterer at who-t.net
Thu Feb 28 00:42:34 UTC 2019


libratbag v0.9.905 is out.

This release has seen a flurry of changes largely related
to a DBus API review with the eventual goal of declaring that API stable and
releasing a libratbag 1.0. It's not quite there yet, see this github issue
for a list of remaining issues:
https://github.com/libratbag/libratbag/issues/629 

Note that this release has DBus API breakage **and** changes in how
ratbagctl works. This means your ratbagctl scripts will break and/or you
will to update Piper. At the time of writing this, Piper git master is
already updated to work with the new APIs and a release will follow shortly.

The list of DBus API changes is:
- the ReportRate has moved from the Resolution to the Profile. No device has
  per-resolution report rates anyway and it's unlikely devices every will
  have that feature.
- Device.Capabilities has been dropped, the capabilities have been moved
  and/or made implicit by the behaviour of the API
- Device.Id has been dropped, it's not necessary. Instead we have
- A new Device.Model property in the form of "usb:1234:abef" (and other
  formats) to identify the device.
- SVG handling has been removed from libratbag, so
  Device.Svg/GetSvg/GetSvgFd no longer exist. See below for an explanation.
- Profile.Name is now writable only if it is not the empty string
- Button.Type (describing the physical type) has been dropped, it wasn't
  used by anything to our knowledge.
- Led.Type (describing the physical type) has been dropped, it wasn't
  used by anything to our knowledge.
- Resolution.Resolution is now a variant, so clients can tell whether it's a
  single value or a separte x/y resolution.
- Resolution.Capabilities has been dropped, it's no longer needed.
- Button.Mapping is a single entry point now with a variant taking different
  values depending on whether a button/special/macro mappings is currently
  set or should be set

The list of ratbagctl changes is
- ratbagctl no longer uses the event nodes for device identification.
  Instead use the randomly-assigned device ID as returned by `ratbagctl list`
  or use device name matching, e.g. `ratbagctl "Logitech G303" info`
- ratbagctl now takes the device as its first argument, see the command
  above
- ratbagctl is now case-sensitive, so stick to how the documentation spells
  the commands
- setting the report rate is now done on the profile, not the resolution

Details on the SVG removal:
SVG handling was removed from libratbag because an SVG with specific
behaviours is not something we can commit to as an API. We had advertised
the theme as the "GNOME" theme but really, it was a "Piper" theme with
specific requirements on where and how elements in the SVG are placed. But
there's no point for libratbag to ship an SVG set specific to one tool, so
the whole lot was moved to Piper instead.

New devices:
- Logitech G603

As usual, the git shortlog is below

Benjamin Tissoires (8):
      logo: reshuffle the rats in their correct layers
      logo: RGB lighting!
      logo: make it square
      Add the logo in the README
      Add the logo in the DBus documentation
      logo: only change the eyes colors
      Change position of the logo in the README
      ratbagctl: put the device at the beginning of the command

FFY00 (1):
      data: add device file for Logitech G603

Jente Hidskes (2):
      data/gnome: fix Device layer for Logitech G Pro
      data/gnome: increase vertical spacing in Logitech G Pro

Peter Hutterer (65):
      README: update to point to the new wiki page for device notes
      doc: some documentation improvements
      doc: reformat the DBus API docs a bit better
      doc: ref the LED enums correctly
      tools: switch time.clock() to time.perf_counter()
      circleci: drop scan-build from the jobs to run
      ratbag: drop Device.Svg and Device.GetSvg()
      tools: sync ratbagd from piper
      doc: some more updates/cleanups
      hidpp20: fix self-assignment
      driver-hidpp10: fix a coverity complaint
      ratbagd: map the default theme to the gnome theme
      Don't set the resolution if it's not in our DPI list
      test: add profile name support to the internal test devices
      tools: print the error message if we fail to connect to ratbagd
      ratbagd: make sure the profile name is ascii-only
      ratbag-command: fix get_svg_fd()
      Switch to using hidraw as base event source
      data: add a logo for libratbag
      README: set a percentage size for the logo
      README: rewording and shuffling around
      README: drop the logo to below the headline
      ratbagd: rename the 'name' variable to 'sysname'
      ratbagd: pick the ID from a list of preselected names
      gskill: don't break after finding the active index
      Namespace the device capabilities better
      Move the set-default-profile capability into the profiles
      Move the disable-profile capability into the profile caps
      Drop the switchable-resolution device capability
      Drop the switchable-profile device capability
      Drop the button key/macro device capability
      Drop the superflous device capabilities
      Move the query-configuration to the profile, rename to write-only
      Drop device capabilities
      Drop the writable-name capability
      Drop the Button.Type property
      Drop the Led.Type property
      ratbagd: export the Model property for the device
      Drop the SVG handling from libratbag
      data: drop all SVGs
      Revert "ratbagd: pick the ID from a list of preselected names"
      Drop the Device.Id from the DBus interface
      tools: after resetting the test device, run a dbus sync
      ratbagctl: make the device ID more interesting
      tools: print stdout/stderr when a test returns the wrong returncode
      doc: typo and styling fixes for the dbus API docs
      doc: drop the device capabilities
      doc: remove the LED Type property
      tools: add a noop notify() function to all our classes
      tools: make ratbagctl case-sensitive
      tools: do a simple name match if we can't find the device
      ratbagd: change the Resolution property to a variant
      tools: restore --keepalive functionality
      doc: styling fixes
      doc: document the LED colors a bit better
      Move the ReportRate into the profile
      Drop the Resolution.Capabilities field
      tools: assume good tests won't write to stderr
      Make the button mapping DBus API a single entry point
      tools flake8 fixes
      tools: drop the resolution capabilities from the python bindings
      doc: specify the values for the button actions
      doc: drop the libratbag-enums.h from the documentation
      doc: tab -> whitespace in the dbus docs
      meson.build: libratbag 0.9.905

Stephen Kitt (1):
      Fix permissions on logitech-g402.device

maxice8 (1):
      tools/shared.c: Use portable realpath() instead of (#606)

git tag: v0.9.905

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

https://github.com/libratbag/libratbag/archive/v0.9.905/libratbag-0.9.905.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/20190228/d361b4b8/attachment.sig>


More information about the Input-tools mailing list