6.1 KiB
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 forraw-window-handle
0.6
Bugfixes
- backend/rs:
WAYLAND_DEBUG
now displaysfixed
as decimal, not integer.- Matches libwayland
0.3.3 -- 2024-01-29
Additions
- client: Implement
Eq
forBackend
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 returnsNone
if the inner queue of the backend needs to be dispatched usingBackend::dispatch_inner_queue()
, instead of trying to dispatch it by itself. This can only happen when using thesys
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 theHandle
andself
asArc<Self>
.
Additions
- Add
flush
method to serverHandle
.
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 theFd
type, andio_lifetimes::OwnedFd
is used instead ofRawFd
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 theObjectId::null()
method, and thenull_id()
methods on the backends are removed. Argument::Str
now contains anOption
, which is correctly mapped to nullable strings. This fixes segfaults that previously occurred dereferencing the null pointer in the system backend.- server:
disable_global
andremove_global
now require the state type parameter, likecreate_global
. This is required for compatibility with libwayland 1.21. ArgumentType::Array
andArgumentType::NewId
no longer take aAllowNull
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 theHash
trait - server:
ObjectId
,ClientId
andGlobalId
now implement theHash
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()
fromBackend
toHandle
.
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 whenWAYLAND_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.