=============
Version 0.2.6
=============
* Project:
- Move the project to https://gitlab.gnome.org/GNOME/libmanette.
- Update the URLs accordingly.
- Give the project a minimal website:
https://gnome.pages.gitlab.gnome.org/libmanette/
- Update the project's description.
* Documentation:
- Add a documentation.
- Fix many documentation annotations.
- Document more symbols.
* Meson:
- Require Meson 0.53.0.
- Add the demos option.
- Add the build-tests and install-tests option.
- Various code style cleanups and updates.
- Add a build summary.
* ManetteDevice:
- Add a missing precondition check to ensure milliseconds is in the
right range in manette_device_rumble().
- Throw the full file error code rather than G_FILE_ERROR_FAILED in
manette_device_new().
- Throw G_FILE_ERROR_FAILED rather than G_FILE_ERROR_NXIO in
manette_device_new() if the device isn't a gamepad.
* ManetteMapping:
- Check mapping strings have at least a GUID field and a name field.
- Use the debug log level for non-programming mapping parsing errors.
- Make some parsing error messages more explicit.
* ManetteMappingManager:
- Use a race-free way to check the mapping file deletion.
* Code cleanup:
- Make license headers have the LGPL footer, not the GPL one.
- Use #pragma once instead of manual header guards.
- Use g_auto(), g_autoptr() and g_autofree where possible.
- Use g_clear_pointer() and g_clear_object() where possible.
- Use assertions instead of g_return*_if_fail in static functions.
- Add HACKING.md to document the code, documentation, and commit
message styles.
- Give better names to callback functions.
- Give the namespace_object_ prefix to the finalize functions to match
the code style.
- Clean up and simplify the code in many places.
- Drop platform:Linux from the internal gamepad database.
=============
Version 0.2.5
=============
* Fix the build with musl by using input_event_sec and input_event_usec.
=============
Version 0.2.4
=============
* Build system changes:
- Add the 'introspection' and 'vapi' options, allowing to build without
producing GObject Introspection or Vala bindings.
* Support hot-plugging in the fallback backend.
* Update the game controller mapping database.
* Various code cleanups.
=============
Version 0.2.3
=============
* Build system changes:
- Add 'gudev' option, allowing to explicitly build without gudev.
* Fix build on Fedora 30.
=============
Version 0.2.2
=============
* Device:
- Handle absolute axes with min > 0.
- Handle the axes' flat to support axes to d-pad mapping.
* Mapping:
- Support negative analog axis to button mappings.
- Support full-range axis to button mappings.
=============
Version 0.2.1
=============
* Defer the emission of input device events by putting them into idle
event sources.
* Update the game controller database.
=============
Version 0.2.0
=============
* Device: Add rumble support.
* Make the devices rumble in manette-test if they support it.
* Mapping:
- Initialize the bindings to 0 before using them, avoiding improper
values in non used fields.
- Ensures the binding value inversion is disabled by default, avoiding
an unexpected state.
- Clear errno before using it to avoid string to uint16 convertions to
fail on valid inputs.
- Silently skip the 'platform' mapping key as it is neither useful nor
erroneous.
* Monitor:
- Fix the 'device-disconnected' signal marshaller.
- Fix the devices hash table hash and comparison functions.
* Build system change:
- Make manette-test properly depend on libmanette.
- Change the package name from libmanette to manette.
- Change the soname from liblibmanette.so to libmanette.so.
- Fix the soname version.
* Fix the license header of manette-version.h.in, which was accidentaly
not matching the one of the library.
* Bugs fixes:
- https://gitlab.gnome.org/aplazas/libmanette/issues/1
- https://gitlab.gnome.org/aplazas/libmanette/issues/2
- https://gitlab.gnome.org/aplazas/libmanette/issues/3
- https://gitlab.gnome.org/aplazas/libmanette/issues/4
- https://gitlab.gnome.org/aplazas/libmanette/issues/5
- https://gitlab.gnome.org/aplazas/libmanette/issues/6
=============
Version 0.1.2
=============
* Build system changes:
- Change the package name from manette to libmanette.
- Bump meson to 0.43.0.
- Enable GObject Introspection.
- Generate a VAPI file.
* Add manette_device_has_input() to let users check the capabilities of
a gamepad. If the ManetteDevice has a mapping, it is considered to
have the inputs defined in the mapping and only these ones, otherwise
it has the ones returned by libevdev.
* ManetteDevice now has accessors to the user's game controller
database, allowing to save and remove mappings for the device.
* The mapping manager now tracks the user's game controller database and
will automatically reload the mappings in case of changes.
ManetteMonitor tracks these changes to update the devices' mappings
automatically.
* Add accessors for ManetteEvent's type, time, and the unfiltered or
unmapped event values. This allows for example to build a mapping for
any device, whether it is mapped or not.
* Various GTK-Doc fixes.
* Various precondition fixes.
=============
Version 0.1.1
=============
This is the first version of libmanette.