[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