All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
UnknownError
and no more panic for failed resolution (#266)- unsafe public API to resolve FFI events and errors (#266)
Reply::as_raw
(#267)GetModifierMappingReply::keycodes_per_modifier
is public (#271)
- Compilation warnings (#275)
BaseEvent::is_from_send_event
(#262)- feature
libxcb_v1_14
(enabled by default) (#250)
- Special event API (#261)
- DisplayInfo members visibility (#263)
- add
Connection::poll_for_reply
andConnection::poll_for_reply_unchecked
(#245)
- fix more alignment panic (#246, #247)
- fix serialization panic (impl WiredOut #226, #227)
- fix
Send
andSync
for events (#233)
- updated
quick-xml
as the old one will no longer be compatible with future rust versions - fixed alignment issue
- Implement
AsRawXcbConnection
forConnection
- Segfault when DISPLAY is unset when using xlib
- Return
Unknown
instead of panic for unknown events (disabled feature) (#195)
resolve_event
returnsEvent::Unknown
instead of panicking when the event could not be resolved.- Types such as
x::Cw
implementOrd
and can be sorted dynamically (i.e. forx::CreateWindow
) atoms_struct!
macro can specifyonly_if_exists
- add
Event::as_raw()
,Connection::resolve_event()
- Padding offset in events constructors (x11-clipboard/#26)
- Xid types (
x::Atom
,x::Window
, ...) implementHash
atoms_struct!
macroConnection::send_and_check_request
- Some documentation improvements.
- 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
bitflags
masksdebug_atom_names
feature- improvements of the
Debug
implementations - 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
log
dependency
- fix some code generation affecting the
present
extension - fix compilation warnings about uninhabited type values
- build script is written in Rust. Python no longer needed. (#56, #62, #89, #99)
- moved CI to github actions
- fixed some member names (e.g.
size_i_d
=>size_id
/num__f_b_configs
=>num_fb_configs
)
- get_reply consume cookies and impl Drop on Cookies (#57)
- fix use after free when connecting with display names (#65)
- move to log 0.4 (#55)
- improve missing python error in build.rs (#49)
- add Connection.into_raw_conn
- make source generation deterministic (#43)
- fix lifetime inconsistency (#40)
- impl AsRawFd for Connection (#39)
- error trait and unsafe cast_error (#32) - mjkillough
- unsafe cast_event - rtbo
- allow xcb::connect without xlib_xcb feature (fixes also doc generation) (#35) - eduardosm
- fix use after free when connecting with display names (#65) (backporting from 0.8)
- branch 0.7.x to support servo
- implement Error/Display for GenericError and ConnError
- fix lifetime inconsistencies (#40)
- Send and Sync implemented regardless of thread feature
- much better handling of union accessors (#27) Credits to Inokentiy Babushkin
- other minor fixes
- multi-threading support (#23)
- other bug fixes
- templating send_event* to take event obj instead of str
- correct iterator attribute lifetime (#16)
- templating some accessors
- fix #14
- module names closer to ffi
- fix #13
- fix connection with strings (#9)
- assign response_type in *Event::new (#10)
- Connection::connect returns Result (#11)
- Some documentation (#12)
- fix: correct names for DRI2 and 3 FFI constants
- fix: correct names for 'xtest' extension
- xlib_xcb: Connection owns the xlib::Display and calls XCloseDisplay
- requests accept template slices
- POD types distinction
- adding xlib_xcb
- show how to create an opengl enabled window
- 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
- first fully functional wrappers
- rewritten rs_client.py
- new examples
- made ffi very close to C
- fixed wrappers segfaults