- Add OpenHarmony OS support (#164)
- Minor Documentation updates
- Add safe constructors for window handles. This may be useful for implementing windowing systems with zero unsafe code. (#159)
- Improve documentation for Apple window handles. (#160)
- Add a clarification as to what circumstances Windows handles are considered "valid" under. (#163)
- Breaking: Raw pointer handles now use
NonNull
where appropriate, to avoid null pointer dereferences. - Breaking: Renamed
empty
methods tonew
, and take parameters in most of those, to better match normal Rust semantics. - Breaking:
HasRaw(Display/Window)Handle::raw_(display/window)_handle
returns a result indicating if fetching the window handle failed (#122). - Breaking: Remove the
Active/ActiveHandle
types from the public API (#126). - Breaking: Remove
AppKitWindowHandle::ns_window
andUiKitWindowHandle::ui_window
since they can be retrieved from the view (#129). - Breaking: Remove
Copy
derive fromRawWindowHandle
andWindowHandle
(#140). - Implement
PartialEq
,Eq
andHash
forWindowHandle
too. (#128) - Implement the relevant traits for
&mut T where T: <trait>
. (#130) - Add web handles for
wasm-bindgen
v0.2. They are locked behind thewasm-bindgen-0-2
feature. (#134) - Deprecate the raw window/display handle traits. They will be removed at the next stable release. (#139)
- Add several types for using raw window handles safely, including
HasWindowHandle
,WindowHandle
,HasDisplayHandle
,DisplayHandle
andActive
(#110).
- Add the
rust-version
field (1.64
). - Implemented
From
forRawWindowHandle
andRawDisplayHandle
- Breaking: The
RawWindowHandle
variants were split intoRawDisplayHandle
andRawWindowHandle
. - The X11 screen is now present in new
XlibDisplayHandle
andXcbDisplayHandle
.
- Add GBM support.
- Add visual IDs to X11 handles
- Add a link to the MDN page for data attributes in the documentation for WebHandle
- add haiku support
- Also implement
HasRawWindowHandle
forRc<T>
, andArc<T>
whereT: ?Sized
.
- Added an impl of
HasRawWindowHandle
for&T
,Rc<T>
, andArc<T>
. The impls forRc<T>
andArc<T>
require thealloc
feature.
- Breaking: Remove
_do_not_use
tags to use#[non_exhaustive]
macro - Breaking:
RawWindowHandle
variants are no longer cfg-guarded by platform. - Breaking: Rename
IOS
toUiKit
. - Breaking: Rename
MacOS
toAppKit
. - Breaking: Rename
Windows
toWin32
. - Breaking: Rename
Redox
toOrbital
. - Breaking: Rename
Android
toAndroidNdk
. - Breaking: Inner window handle structs are now exported at crate root.
- Added Windows
WinRt
handle.
- Add
HasRawWindowHandle
implementation forHasRawWindowHandle
in the newerv0.4
. This allows "provider" crates that implementHasRawWindowHandle
(likewinit
,sdl2
,glfw
,fltk
, ...) to upgrade tov0.4
without a breaking change. Afterwards "consumer" crates (likegfx
,wgpu
,rfd
, ...) can start upgrading with minimal breakage for their users.
- Add missing
Hash
implementation forAndroidHandle
.
- Add
Hash
implementation forRawWindowHandle
.
- Remove
RawWindowHandle
'sHasRawWindowHandle
implementation, as it was unsound (see #35) - Explicitly require that handles within
RawWindowHandle
be valid for the lifetime of theHasRawWindowHandle
implementation that provided them.
- Breaking: Rename
XLib.surface
toXLib.window
, as that more accurately represents the underlying type. - Implement
HasRawWindowHandle
forRawWindowHandle
- Add
HINSTANCE
field toWindowsHandle
.
- Breaking: Rename
X11
toXLib
. - Add XCB support.
- Add Web support.
- Add Android support.
- Fix use of private
_non_exhaustive
field in platform handle structs preventing structs from getting initialized.
- Flesh out Cargo.toml, adding crates.io info rendering tags.
- Initial release.