Releases: rust-windowing/winit
Releases Β· rust-windowing/winit
Winit release v0.30.11
Winit version 0.30.10
Added
- On Windows, add
IconExtWindows::from_resource_name
. - On Windows, add
CursorGrabMode::Locked
. - On Wayland, add
WindowExtWayland::xdg_toplevel
.
Changed
- On macOS, no longer need control of the main
NSApplication
class (which means you can now override it yourself). - On iOS, remove custom application delegates. You are now allowed to override the
application delegate yourself. - On iOS, no longer act as-if the application successfully open all URLs. Override
application:didFinishLaunchingWithOptions:
and provide the desired behaviour yourself.
Fixed
- On Windows, fixed ~500 ms pause when clicking the title bar during continuous redraw.
- On macOS,
WindowExtMacOS::set_simple_fullscreen
now honorsWindowExtMacOS::set_borderless_game
- On X11 and Wayland, fixed pump_events with
Some(Duration::Zero)
blocking withWait
polling mode - On Wayland, fixed a crash when consequently calling
set_cursor_grab
without pointer focus. - On Wayland, ensure that external event loop is woken-up when using pump_events and integrating via
FD
. - On Wayland, apply fractional scaling to custom cursors.
- On macOS, fixed
run_app_on_demand
returning without closing open windows. - On macOS, fixed
VideoMode::refresh_rate_millihertz
for fractional refresh rates. - On macOS, store monitor handle to avoid panics after going in/out of sleep.
- On macOS, allow certain invalid monitor handles and return
None
instead of panicking. - On Windows, fixed
Ime::Preedit
cursor offset calculation.
Winit version 0.30.9
Changed
- On Wayland, no longer send an explicit clearing
Ime::Preedit
just prior to a newIme::Preedit
.
Fixed
- On X11, fix crash with uim.
- On X11, fix modifiers for keys that were sent by the same X11 request.
- On iOS, fix high CPU usage even when using
ControlFlow::Wait
.
Winit version 0.30.8
Added
ActivationToken::from_raw
andActivationToken::into_raw
.- On X11, add a workaround for disabling IME on GNOME.
Fixed
- On Windows, fixed the event loop not waking on accessibility requests.
- On X11, fixed cursor grab mode state tracking on error.
Winit version 0.30.7
Fixed
- On X11, fixed KeyboardInput delivered twice when IME enabled.
[YANKED] Winit version 0.30.6
Added
- On macOS, add
WindowExtMacOS::set_borderless_game
andWindowAttributesExtMacOS::with_borderless_game
to fully disable the menu bar and dock in Borderless Fullscreen as commonly done in games. - On X11, the
window
example now understands theX11_VISUAL_ID
andX11_SCREEN_ID
env
variables to test the respective modifiers of window creation. - On Android, the soft keyboard can now be shown using
Window::set_ime_allowed
. - Add basic iOS IME support. The soft keyboard can now be shown using
Window::set_ime_allowed
.
Fixed
- On macOS, fix
WindowEvent::Moved
sometimes being triggered unnecessarily on resize. - On macOS, package manifest definitions of
LSUIElement
will no longer be overridden with the
default activation policy, unless explicitly provided during initialization. - On macOS, fix crash when calling
drag_window()
without a left click present. - On X11, key events forward to IME anyway, even when it's disabled.
- On Windows, make
ControlFlow::WaitUntil
work more precisely usingCREATE_WAITABLE_TIMER_HIGH_RESOLUTION
. - On X11, creating windows on screen that is not the first one (e.g.
DISPLAY=:0.1
) works again. - On X11, creating windows while passing
with_x11_screen(non_default_screen)
works again. - On X11, fix XInput handling that prevented a new window from getting the focus in some cases.
- On macOS, fix crash when pressing Caps Lock in certain configurations.
- On iOS, fixed
MonitorHandle
'sPartialEq
andHash
implementations. - On macOS, fixed undocumented cursors (e.g. zoom, resize, help) always appearing to be invalid and falling back to the default cursor.
Winit version 0.30.5
Added
- Add
ActiveEventLoop::system_theme()
, returning the current system theme. - On Web, implement
Error
forplatform::web::CustomCursorError
. - On Android, add
{Active,}EventLoopExtAndroid::android_app()
to access the app used to create the loop.
Fixed
- On MacOS, fix building with
feature = "rwh_04"
. - On Web, pen events are now routed through to
WindowEvent::Cursor*
. - On macOS, fix panic when releasing not available monitor.
- On MacOS, return the system theme in
Window::theme()
if no theme override is set.
Winit version 0.30.4
Changed
DeviceId::dummy()
andWindowId::dummy()
are no longer markedunsafe
.
Fixed
- On Wayland, avoid crashing when compositor is misbehaving.
- On Web, fix
WindowEvent::Resized
not usingrequestAnimationFrame
when sending
WindowEvent::RedrawRequested
and also potentially causingWindowEvent::RedrawRequested
to not be de-duplicated. - Account for different browser engine implementations of pointer movement coordinate space.
Winit version 0.30.3
Added
- On Web, add
EventLoopExtWebSys::(set_)poll_strategy()
to allow setting
control flow strategies before starting the event loop. - On Web, add
WaitUntilStrategy
, which allows to set different strategies for
ControlFlow::WaitUntil
. By default the Prioritized Task Scheduling API is
used, with a fallback tosetTimeout()
with a trick to circumvent throttling
to 4ms. But an option to use a Web worker to schedule the timer is available
as well, which commonly prevents any throttling when the window is not focused.
Changed
- On macOS, set the window theme on the
NSWindow
instead of application-wide.
Fixed
- On X11, build on arm platforms.
- On macOS, fixed
WindowBuilder::with_theme
not having any effect on the window.
Winit version 0.30.2
Fixed
- On Web, fix
EventLoopProxy::send_event()
triggering event loop immediately
when not called from inside the event loop. Now queues a microtask instead. - On Web, stop overwriting default cursor with
CursorIcon::Default
. - On Web, prevent crash when using
InnerSizeWriter::request_inner_size()
. - On macOS, fix not working opacity for entire window.