# CHANGELOG: wayland-client ## Unreleased ## 0.31.7 -- 2024-10-23 - Updated Wayland core protocol to 1.23 ## 0.31.2 -- 2024-01-29 #### Additions - Implement `Eq` for `Connection` #### Bugfixes - Fix a possible deadlock in `EventQueue::blocking_dispatch()` ## 0.31.1 -- 2023-09-19 #### Additions - Implement `AsFd` for `Connection` and `EventQueue` so they can easily be used in a `calloop` source. ## 0.31.0 -- 2023-09-02 #### Breaking changes - Bump bitflags to 2.0 - Updated wayland-backend to 0.3 - Calloop integration is now removed, to avoid tying wayland-client to it you can use the `calloop-wayland-source` crate instead - Use `BorrowedFd<'_>` arguments instead of `RawFd` ## 0.30.2 -- 30/05/2023 - Updated Wayland core protocol to 1.22 ## 0.30.1 -- 04/02/2023 #### Bugfixes - Fix compilation without the `log` feature. ## 0.30.0 -- 27/12/2022 ## 0.30.0-beta.14 #### Additions - Introduce `WaylandSource`, an adapter to insert an `EventQueue` into a calloop `EventLoop`, hidden under the new `calloop` cargo feature ## 0.30.0-beta.11 #### Bugfixes - `Weak::upgrade` now checks if the object has been destroyed ## 0.30.0-beta.10 #### Additions - Support absolute paths in `WAYLAND_DISPLAY` - Introduce `Weak`, a helper type to store proxies without risking reference cycles - Introduce `Proxy::is_alive()` method checking if the protocol object referenced by a proxy is still alive in the protocol state. #### Bugfixes - Fix `EventQueue::blocking_dispatch()` not flushing the connection as it should - Ensure that `XDG_RUNTIME_DIR` is an absolute path before trying to use it ## 0.30.0-beta.9 #### Breaking changes - Requests that create new objects now produce inert proxies when called on objects with invalid IDs instead of failing with `InvalidId`. This matches the behavior of non-object-creating requests (which also ignore the error). - `Connection::blocking_dispatch` has been removed; use `EventQueue::blocking_dispatch`. #### Additions - `QueueFreezeGuard` for avoiding race conditions while constructing objects. ## 0.30.0-beta.8 #### Breaking changes - `Connection::null_id()` has been removed, instead use `ObjectId::null()`. - `EventQueue::sync_roundtrip()` has been renamed to `EventQueue::roundtrip()`. - Module `globals` has been removed as the abstractions it provide are not deemed useful. - The trait `DelegateDispatch` as been removed, its functionnality being fused into a more generic version of the `Dispatch` trait. #### Additions - Introduce the `log` cargo feature to control logging behavior ## 0.30.0-beta.6 - Introduce `EventQueue::poll_dispatch_pending` for running dispatch using an async runtime. ## 0.30.0-beta.1 #### Breaking changes - Large rework of the API as a consequence of the rework of the backend. ## 0.30.0-alpha10 - Introduce conversion methods between `wayland_backend::Handle` and `ConnectionHandle` ## 0.30.0-alpha2 #### Breaking changes - The `DelegateDispatch` mechanism is changed around an explicit trait-base extraction of module state from the main app state. ## 0.30.0-alpha1 Full rework of the crate, which is now organized around a trait-based `Dispatch` metchanism. This can effectively be considered a new crate altogether.