Added:
* Support for custom notification sounds on all backends.
* Allow specifying sounds and icons either by name (for existing system sounds) or as a
referenced by a URI or path.
* Allow specifying attachments either by URI or path.
* Add a `get_capabilities()` API that returns which features are supported by a
platform.
* Compatibility with Ubuntu 20.04 and other older Dbus notification servers which do not
conform to the current desktop notification API spec.
* A dedicated class `DesktopNotifierSync` with a blocking API instead of the async API
of `DesktopNotifier`.
Changed:
* Removed code signing requirement for macOS binaries. Instead of preventing
notification requests, only log a warning that notifications may fail. It is not
documented which code signature checks an app must pass to send notifications and this
allows apps that fail some of the checks and still send notifications.
Fixed:
* Fixed a segfault on macOS when passing an attachment path that does not refer to an
actual file.
Deprecated:
* Deprecated specifying icons as strings. Use the `base.Icon` class instead.
* Deprecated specifying attachments as URI strings. Use the `base.Attachement` class
instead.
* Deprecated specifying notification sounds as boolean (`True` = default sound,
`False` = no sound). Use `base.DEFAULT_SOUND` for the system default and `None` for no
sound instead. Use the `base.Sound` class for custom sounds.
Removed:
* Removed the synchronous `DesktopNotifier.send_sync()` API. Use `DesktopNotifierSync`
instead.