- Internal: Fix dropping `Notifier` without sending a result causing `Future`s to never complete. This should never happen anyway, but now we get a panic instead of nothing if we hit a bug. - Internal: Remove a bunch of `unwrap()`s that aren't required when correctly using `MainThreadMarker`. - `Window::canvas()` is now able to return a reference instead of an owned value. Extracted from #3801.
3.2 KiB
The format is based on Keep a Changelog.
The sections should follow the order Added, Changed, Deprecated,
Removed, and Fixed.
Platform specific changed should be added to the end of the section and grouped
by platform name. Common API additions should have , implemented at the end
for platforms where the API was initially implemented. See the following example
on how to add them:
### Added
- Add `Window::turbo()`, implemented on X11, Wayland, and Web.
- On X11, add `Window::some_rare_api`.
- On X11, add `Window::even_more_rare_api`.
- On Wayland, add `Window::common_api`.
- On Windows, add `Window::some_rare_api`.
When the change requires non-trivial amount of work for users to comply with it, the migration guide should be added below the entry, like:
- Deprecate `Window` creation outside of `EventLoop::run`
This was done to simply migration in the future. Consider the
following code:
// Code snippet.
To migrate it we should do X, Y, and then Z, for example:
// Code snippet.
The migration guide could reference other migration examples in the current changelog entry.
Unreleased
Added
- Add
ActiveEventLoop::create_proxy(). - On Web, implement
Errorforplatform::web::CustomCursorError.
Changed
-
On Web, let events wake up event loop immediately when using
ControlFlow::Poll. -
Bump MSRV from
1.70to1.73. -
Changed
ApplicationHandler::user_eventtouser_wake_up, removing the generic user event.Winit will now only indicate that wake up happened, you will have to pair this with an external mechanism like
std::sync::mpsc::channelif you want to send specific data to be processed on the main thread. -
Changed
EventLoopProxy::send_eventtoEventLoopProxy::wake_up, it now only wakes up the loop. -
On X11, implement smooth resizing through the sync extension API.
-
ApplicationHandler::create|destroy_surfaces()was split off fromApplicationHandler::resumed/suspended().ApplicationHandler::can_create_surfaces()should, for portability reasons to Android, be the only place to create render surfaces.ApplicationHandler::resumed/suspended()are now only emitted by iOS and Web and now signify actually resuming/suspending the application. -
Rename
platform::web::*ExtWebSysto*ExtWeb. -
Change signature of
EventLoop::run_app,EventLoopExtPumpEvents::pump_app_eventsandEventLoopExtRunOnDemand::run_app_on_demandto accept aimpl ApplicationHandlerdirectly, instead of requiring a&mutreference to it. -
On Web,
Window::canvas()now returns a reference.
Removed
-
Remove
EventLoop::run. -
Remove
EventLoopExtRunOnDemand::run_on_demand. -
Remove
EventLoopExtPumpEvents::pump_events. -
Remove
Event. -
On iOS, remove
platform::ios::EventLoopExtIOSand relatedplatform::ios::Idiomtype.This feature was incomplete, and the equivalent functionality can be trivially achieved outside of
winitusingobjc2-ui-kitand callingUIDevice::currentDevice().userInterfaceIdiom(). -
On Web, remove unused
platform::web::CustomCursorError::Animation.
Fixed
- On MacOS, fix building with
feature = "rwh_04". - On Web, pen events are now routed through to
WindowEvent::Cursor*.