xcb
Rust safe bindings for XCB
1.7.1
6.9M downloads/mo
#3818 most downloaded on crates.io
rust-x-bindings/rust-xcb
What this package is like to depend on
Last release 14 days ago
09 Aug 2026
Ships fairly regularly
a new release about every 5 months
Most releases are documented
notes for 26 of 33 stable releases
Nothing withdrawn
no release was ever pulled
11 years old
38 releases · first in 2016
2 releases in the last 12 months
see the full history below
Release timeline
38 releases · Feb 2016 to Aug 2026Releases
latest 38-
1.7.109 Aug 2026 -
1.7.003 Jan 2026Release notes
Open source →Added
- support for dynamic library loading (#287)
Connection::from_raw_conn_and_extensions_no_drop(#289)
Changed
- XidNew::new is now safe
-
1.6.015 Aug 2025Release notes
Open source →Added
- export well-known RandR output property names, this time for real
Fixed
- fixing further unalignemnt issues (#277)
- hand-writen
damage::ReportLevelenum to handle the DamageNotifyMore bit (#280) - fix unsound API
xcb::Connection::connect_to_fd*(#283)
-
1.5.010 Nov 2024Release notes
Open source →Added
UnknownErrorand no more panic for failed resolution (#266)- unsafe public API to resolve FFI events and errors (#266)
Reply::as_raw(#267)GetModifierMappingReply::keycodes_per_modifieris public (#271)
Fixed
- Compilation warnings (#275)
-
1.4.023 Apr 2024Release notes
Open source →Added
BaseEvent::is_from_send_event(#262)- feature
libxcb_v1_14(enabled by default) (#250)
Fixed
- Special event API (#261)
- DisplayInfo members visibility (#263)
-
1.3.009 Dec 2023Release notes
Open source →Added
- add
Connection::poll_for_replyandConnection::poll_for_reply_unchecked(#245)
Fixed
- fix more alignment panic (#246, #247)
- add
-
1.2.222 Jul 2023Release notes
Open source →Fixed
- fix serialization panic (impl WiredOut #226, #227)
- fix
SendandSyncfor events (#233)
-
1.2.123 Apr 2023Release notes
Open source →Fixed
- updated
quick-xmlas the old one will no longer be compatible with future rust versions - fixed alignment issue
Changed
- Implement
AsRawXcbConnectionforConnection
- updated
-
1.2.003 Nov 2022Release notes
Open source →Fixed
- Segfault when DISPLAY is unset when using xlib
- Return
Unknowninstead of panic for unknown events (disabled feature) (#195)
Changed
resolve_eventreturnsEvent::Unknowninstead of panicking when the event could not be resolved.- Types such as
x::CwimplementOrdand can be sorted dynamically (i.e. forx::CreateWindow) atoms_struct!macro can specifyonly_if_exists- add
Event::as_raw(),Connection::resolve_event()
-
1.1.119 Mar 2022 -
1.1.016 Mar 2022Release notes
Open source →Added
- Xid types (
x::Atom,x::Window, ...) implementHash atoms_struct!macroConnection::send_and_check_request
Changed
- Some documentation improvements.
- Xid types (
-
1.0.006 Mar 2022Release notes
Open source →- new 1.0 API
- implement the extensions in RUST directly (no need to link to C extension libraries)
- XCB resolves protocol events and errors to safe enumerations
- requests are structures that can be passed to
Connection::send_request - typesafe cookies for checked/unchecked and void/non-void requests
- typesafe XIDs
bitflagsmasksdebug_atom_namesfeature- improvements of the
Debugimplementations - many, many other improvement and fixes, (~90% of github issues are resolved)
- support for xcb-1.14
- support for xinput extension
- get rid of the
logdependency
- new 1.0 API
-
1.0.0-beta.430 Jan 2022 pre-release -
1.0.0-beta.326 Dec 2021 pre-releaseRelease notes
Open source →Main motivation for this release is for people to feedback on Lat1Str API.
-
1.0.0-beta.219 Dec 2021 pre-releaseNothing published for this version
-
1.0.0-beta.130 Nov 2021 pre-releaseNothing published for this version
-
1.0.0-beta.011 Nov 2021 pre-releaseNothing published for this version
-
0.10.121 Sep 2021Release notes
Open source →- fix some code generation affecting the
presentextension - fix compilation warnings about uninhabited type values
- fix some code generation affecting the
-
0.10.018 Sep 2021Release notes
Open source →Changed
- build script is written in Rust. Python no longer needed. (#56, #62, #89, #99)
- moved CI to github actions
Fixed
- fixed some member names (e.g.
size_i_d=>size_id/num__f_b_configs=>num_fb_configs)
-
0.9.012 Nov 2019 -
0.8.225 Feb 2018Nothing published for this version
-
0.8.115 Aug 2017Nothing published for this version
-
0.8.011 Jul 2017Nothing published for this version
-
0.7.812 Nov 2019Nothing published for this version
-
0.7.715 Aug 2017Nothing published for this version
-
0.7.614 Nov 2016Nothing published for this version
-
0.7.522 Aug 2016 -
0.7.407 Jul 2016Release notes
Open source →- templating send_event* to take event obj instead of str
- correct iterator attribute lifetime (#16)
-
0.7.310 Apr 2016 -
0.7.202 Apr 2016 -
0.7.129 Mar 2016 -
0.7.028 Mar 2016Release notes
Open source →- fix connection with strings (#9)
- assign response_type in *Event::new (#10)
- Connection::connect returns Result (#11)
- Some documentation (#12)
-
0.6.204 Mar 2016 -
0.6.102 Mar 2016 -
0.6.022 Feb 2016Release notes
Open source →- xlib_xcb: Connection owns the xlib::Display and calls XCloseDisplay
- requests accept template slices
- POD types distinction
-
0.5.008 Feb 2016 -
0.4.107 Feb 2016Release notes
Open source →- generating union accessors
- handling of bool parameters in the wrapper API
- rewrite of wrappers structures (pub type instead of struct with base field)
- module clean-up and export
- Travis CI
-
0.4.003 Feb 2016Nothing published for this version