rustdesk/vendor/wayland-backend/CHANGELOG.md

6.1 KiB

CHANGELOG: wayland-backend

Unreleased

0.3.7 -- 2024-09-04

Bugfixes

  • backend/sys: Fix importing external objects with Backend::manage_object by associating the proxy with the correct event queue

0.3.6 -- 2024-07-16

Bugfixes

  • backend/rs: server: Fixed potential deadlock on object destruction

0.3.5 -- 2024-07-03

Additions

  • Backend::manage_object for handling foreign proxies with the sys backend

Bugfixes

  • backend/rs: server: Fixed potential deadlock caused by dead clients
  • backend/sys: client dispatching now always uses distinct event queue

0.3.4 -- 2024-05-30

Additions

  • Add rwh_06 feature for raw-window-handle 0.6

Bugfixes

  • backend/rs: WAYLAND_DEBUG now displays fixed as decimal, not integer.
    • Matches libwayland

0.3.3 -- 2024-01-29

Additions

  • client: Implement Eq for Backend

Bugfixes

  • backend/sys: Fix error/segfault if object argument is no longer alive
  • backend/rs: Retry send/recv on EINTR
    • Matches the behavior of libwayland

0.3.2 -- 2023-09-25

Bugfixes

  • server/sys: Fix an issue where the backend could deadlock in some cases when sending an event that destroys an object.

0.3.1 -- 2023-09-19

Additions

  • client: Add Backend::poll_fd to return fd for polling

0.3.0 -- 2023-09-02

Breaking change

  • MSRV bumped to 1.65
  • io-lifetimes is no longer a (public) dependency
  • The Backend::prepare_read() method now returns None if the inner queue of the backend needs to be dispatched using Backend::dispatch_inner_queue(), instead of trying to dispatch it by itself. This can only happen when using the sys backend, and allows the crate to behave properly when multiple threads try to read the socket using the libwayland API.
  • server: ObjectData::destroyed function signature has changed to pass the Handle and self as Arc<Self>.

Additions

  • Add flush method to server Handle.

Bugfixes

  • Setting WAYLAND_DEBUG server-side now properly prints incoming requests

0.2.0 -- 2023-07-13

Breaking changes

  • Update wayland-sys to 0.31

0.1.2 -- 19/04/2023

Bugfixes

  • In the rust server backend, don't send delete_id messages for server-created objects.
  • In the system server backend, wakeup the event loop if there are pending destructors waiting to be precessed.

0.1.1 -- 16/02/2023

Bugfixes

  • In sys backend, fix global data not being cleaned up on display drop.

0.1.0 -- 27/12/2022

0.1.0-beta.14

Bugfixes

  • In rust backend, retry read if message is incomplete, instead of Malformed error.

0.1.0-beta.10

Breaking changes

  • Message is now also generic on the Fd type, and io_lifetimes::OwnedFd is used instead of RawFd when appropriate.

Bugfixes

  • The rust backend no longer ever does a blocking flush.
  • Server-side sys backend is now able to track liveness of external objects.

0.1.0-beta.8

Breaking changes

  • all backends: creating null ObjectId is now done through the ObjectId::null() method, and the null_id() methods on the backends are removed.
  • Argument::Str now contains an Option, which is correctly mapped to nullable strings. This fixes segfaults that previously occurred dereferencing the null pointer in the system backend.
  • server: disable_global and remove_global now require the state type parameter, like create_global. This is required for compatibility with libwayland 1.21.
  • ArgumentType::Array and ArgumentType::NewId no longer take a AllowNull and are never nullable.

Additions

  • client: introduce Backend::dispatch_inner_queue() meant for ensuring a system backend in guest mode can still process events event it does not control reading the socket.
  • introduce the log cargo feature to control logging behavior
  • A dummy implementation of ClientData is now provided through () and all trait methods are optional

0.1.0-beta.7

Bugfixes

  • backend/sys: the inner lock is no longer held when destructors are invoked
  • backend/sys: sys backend does not abort process when Backend::disable_global is invoked more than once

0.1.0-beta.6

Additions

  • client: ObjectId now implements the Hash trait
  • server: ObjectId, ClientId and GlobalId now implement the Hash trait

Bugfixes

  • backend/sys: the inner lock is no longer held when destructors are invoked

0.1.0-beta.5

Additions

  • client/sys: introduce Backend::from_foreign_display

Bugfixes

  • The server backend now correctly associates interfaces with its object arguments when parsing messages with nullable object arguments.

0.1.0-beta.4

Bugfixes

  • server-rs: the inner lock is no longer help when destructors are invoked

0.1.0-beta.3

Bugfixes

  • server-sys: Skip unmanaged globals in the global filter (caused a segfault)

0.1.0-beta.2

Breaking changes

  • server-sys: move display_ptr() from Backend to Handle.

0.1.0-beta.1

Breaking changes

  • Both client and server APIs have been profoundly reworked. The backend now has internal locking mechanism allowing handles to it to be cloned and shared accross the application.

Bugfixes

  • Fix a crash when exactly filling the internal buffers.

0.1.0-alpha7

Bugfixes

  • Client-side with the rust backend, wl_display events are now properly printed with other events when WAYLAND_DEBUG=1 is set.

0.1.0-alpha6

Changes

  • Server-side, request callbacks are now allowed to omit providing an ObjectData for newly created objects if they triggered a protocol error

Bugfixes

  • Fix display leaks on system server backend.
  • Fix a panic when trying to send a message with a null object argument followed by a non-null object argument
  • Fix various memory leaks

0.1.0-alpha5

  • Expose wl_display pointer on system server backend

0.1.0-alpha4

Breaking changes

  • Server-side ObjectData::destroyed() now has access to the &mut D server-wide data.

0.1.0-alpha3

Additions

  • Introduce WEnum::into_result as a convenience method.

0.1.0-alpha2

0.1.0-alpha1

Initial pre-release of the crate.