Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update the changelog for next release #909

Merged
merged 2 commits into from
Dec 9, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 59 additions & 0 deletions doc/changelog.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,62 @@
# Version 0.13.0 (2023-12-09)

New features:
* A bitmask enum in the generates code has new methods `bits()` for conversion
to integer and `remove()` for removing certain bits.
* Update our bundled xcb-proto version. This update brings new documentation and
support for newer versions of the DPMS and Present extensions.
* Update `$DISPLAY` parsing to match new behaviour in libxcb 1.16.
* Some variant of `x11rb_protocol::parse_display` is now also available in
`no_std` mode.
* Better error message if `$DISPLAY` parsing fails.
* Add `Image::into_owned()` to get an Image instance with `'static`.
* Change `Image::put()` to convert the image to the X11 server's native
representation before uploading.
* Implement x11rb's `RequestConnection` for `&C`, `&mut C`, `Box<C>`, `Arc<C>`,
`Rc<C>` and `Cow<'_, C>` where `C: RequestConnection`.

Fixes:
* Fix broken link to x11rb in documentation of x11rb-async.
* Strip leading whitespace from documentation comments in code generator.
* Fix the `dl-libxcb` feature on OpenBSD. There is no `libxcb.so.2` on this
system and we can simply ask for `libxcb.so` to be loaded.
* x11rb-async always needed at least tracing 0.1.33, but incorrectly declared
compatibility with all 0.1 versions.

Breaking changes:
* Indicate not present properties in x11rb's `WmClass`, `WmSizeHints`, and
`WmHints` helpers by introducing an `Option` in their return value.
Previously, missing properties were reported as a parsing error.
* Avoid a `Vec` in some places in x11rb-protocol by using arrays instead. This
affects the return value of a request's `serialize()` function, but also some
internal code.
* Remove unused `read_exact()` method in x11rb's `Stream` trait.
* Replace use of nix with rustix and implement io-safety. This e.g. means
that some types no longer implement `PartialEq` due to rustix's behaviour. FD
passing now uses `std::os::unix::io::OwnedFd`.
* MSRV was bumped from Rust 1.56 to 1.63 for rustix 0.38.
* Change some functions in `x11rb::rust_connection::stream::DefaultStream` to
also return the address that a connection was established to.
* Change wrapper types like `WindowWrapper` not to require a reference to a
connection, but to accept any connection type directly. Due to the new feature
mentioned above, this allows to use these wrappers e.g. with `Arc<C>`.
* Types in x11rb-protocol now implement less commonly used traits like
`PartialEq`, `Eq`, `PartialOrd`, `Ord`, and `Hash` only if the new
`extra-traits` feature is enabled. The `Debug` impl only produces the name of
the type and not its contents in this case. This change improves compile times
of the crate.
* Parsing of requests with the `R::try_parse_request` function is now gated
behind the new `request-parsing` feature. This change improves compile times.

Minor changes:
* Update dependencies.
* Enable all features when building for docs.rs.
* Fix some lints in examples.
* Change some log calls from info to debug.
* Drop gethostname dependencies on `unix` by using rustix instead.
* Various changes to please clippy.
* Improve docs front pages.

# Version 0.12.0 (2023-05-27)

New features:
Expand Down
6 changes: 3 additions & 3 deletions x11rb-async/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "x11rb-async"
version = "0.12.0"
version = "0.13.0"
description = "Async Rust bindings to X11"
authors = [
"Uli Schlachter <[email protected]>",
Expand All @@ -21,8 +21,8 @@ blocking = "1.3.0"
event-listener = "2.5.3"
futures-lite = "1"
tracing = { version = "0.1.33", default-features = false }
x11rb = { version = "0.12.0", path = "../x11rb", default-features = false }
x11rb-protocol = { version = "0.12.0", default-features = false, features = ["std"], path = "../x11rb-protocol" }
x11rb = { version = "0.13.0", path = "../x11rb", default-features = false }
x11rb-protocol = { version = "0.13.0", default-features = false, features = ["std"], path = "../x11rb-protocol" }

[features]
# Enable this feature to enable all the X11 extensions
Expand Down
2 changes: 1 addition & 1 deletion x11rb-protocol/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "x11rb-protocol"
version = "0.12.0"
version = "0.13.0"
description = "Rust bindings to X11"
authors = [
"Uli Schlachter <[email protected]>",
Expand Down
4 changes: 2 additions & 2 deletions x11rb/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "x11rb"
version = "0.12.0"
version = "0.13.0"
description = "Rust bindings to X11"
authors = [
"Uli Schlachter <[email protected]>",
Expand All @@ -15,7 +15,7 @@ license = "MIT OR Apache-2.0"
keywords = ["xcb", "X11"]

[dependencies]
x11rb-protocol = { version = "0.12.0", default-features = false, features = ["std"], path = "../x11rb-protocol" }
x11rb-protocol = { version = "0.13.0", default-features = false, features = ["std"], path = "../x11rb-protocol" }
libc = { version = "0.2", optional = true }
libloading = { version = "0.8.0", optional = true }
once_cell = { version = "1.17", optional = true }
Expand Down