Skip to content

Commit a166cf4

Browse files
authored
Version Bump 0.7.0 (#1756)
* Version bump 0.7.0
1 parent 52107d3 commit a166cf4

File tree

2 files changed

+81
-1
lines changed

2 files changed

+81
-1
lines changed

CHANGELOG.md

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,86 @@
22

33
## Unreleased
44

5+
## 0.7.0
6+
7+
### Breaking changes
8+
`DrmSyncobjHandler::drm_syncobj_state` is now Optional.
9+
Whenever state is None `ImportTimeline` request will result in `InvalidTimeline` protocol error.
10+
This allows one to destroy DrmSyncobjState by calling `DrmSyncobjState::into_global()`
11+
```diff
12+
-fn DrmSyncobjHandler::drm_syncobj_state(&mut self) -> &mut DrmSyncobjState
13+
+fn DrmSyncobjHandler::drm_syncobj_state(&mut self) -> Option<&mut DrmSyncobjState>
14+
```
15+
16+
`DrmTimeline` constructor now accepts OwnedFd:
17+
```diff
18+
-fn DrmTimeline::new(device: &DrmDeviceFd, fd: BorrowedFd<'_>) -> io::Result<Self>
19+
+fn DrmTimeline::new(device: &DrmDeviceFd, fd: OwnedFd) -> io::Result<Self>
20+
```
21+
`DrmSyncPoint::eventfd` now returns `Arc<OwnedFd>`:
22+
```diff
23+
-fn DrmSyncPoint::eventfd(&self) -> io::Result<OwnedFd>
24+
+fn DrmSyncPoint::eventfd(&self) -> io::Result<Arc<OwnedFd>>
25+
```
26+
`GbmFramebufferExporter` constructor now accepts `import_node`,
27+
it will be used to filter DMA-BUFs to only those originating from a specific device before considering them for direct scanout.
28+
If `import_node` is `None` direct-scanout of client-buffers won't be used.
29+
```diff
30+
-fn GbmFramebufferExporter::new(gbm: Device<A>) -> Self
31+
+fn GbmFramebufferExporter::new(gbm: Device<A>, import_node: Option<DrmNode>) -> Self
32+
```
33+
34+
### Additions
35+
36+
#### WeakDrmDeviceFd
37+
```rs
38+
/// Returns a weak reference to the underlying device
39+
fn DrmDeviceFd::downgrade(&self) -> WeakDrmDeviceFd;
40+
/// Construct an empty Weak reference, that will never upgrade successfully
41+
fn WeakDrmDeviceFd::new() -> Self;
42+
/// Try to upgrade to a strong reference
43+
fn WeakDrmDeviceFd::upgrade(&self) -> Option<DrmDeviceFd>;
44+
```
45+
46+
#### KeyboardHandle::set_modifier_state
47+
```rs
48+
/// Set the modifiers state.
49+
fn KeyboardHandle::set_modifier_state(&self, mods_state: ModifiersState) -> u32;
50+
/// Serialize modifier state back to be sent to xkb.
51+
fn ModifiersState::serialize_back(&self, state: &xkb::State) -> SerializedMods;
52+
```
53+
54+
#### XWaylandKeyboardGrab
55+
```rs
56+
/// Get the `zwp_xwayland_keyboard_grab_v1` object that created the grab
57+
fn XWaylandKeyboardGrab::grab(&self) -> &ZwpXwaylandKeyboardGrabV1;
58+
/// Grab is now clonable
59+
impl Clone for XWaylandKeyboardGrab;
60+
```
61+
62+
#### X11Surface
63+
```rs
64+
/// Returns the hints for the underlying X11 window
65+
fn X11Surface::hints(&self) -> Option<x11rb::properties::WmHints>;
66+
/// Get the client PID associated with the X11 window.
67+
fn X11Surface::get_client_pid(&self) -> Result<u32, Box<dyn Error>>;
68+
```
69+
70+
#### DrmSyncobjState
71+
```rs
72+
/// Destroys the state and returns the `GlobalId` for compositors to disable/destroy.
73+
fn DrmSyncobjState::into_global(self) -> GlobalId;
74+
/// Sets a new `import_device` to import the syncobj fds and wait on them.
75+
fn DrmSyncobjState::update_device(&mut self, import_device: DrmDeviceFd);
76+
```
77+
78+
#### xdg-toplevel-tag-v1
79+
XdgToplevelTag protocol is now available in `smithay::wayland::xdg_toplevel_tag` module.
80+
81+
#### cursor-shape-v1
82+
CursorShape is now updated to version `2`
83+
84+
585
## 0.6.0
686

787
### Breaking Changes

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "smithay"
3-
version = "0.6.0"
3+
version = "0.7.0"
44
authors = ["Victor Berger <[email protected]>", "Drakulix (Victoria Brekenfeld)"]
55
license = "MIT"
66
description = "Smithay is a library for writing wayland compositors."

0 commit comments

Comments
 (0)