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.
- Add
ActiveEventLoop::create_proxy()
.
-
On Web, let events wake up event loop immediately when using
ControlFlow::Poll
. -
Bump MSRV from
1.70
to1.73
. -
Changed
ApplicationHandler::user_event
touser_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::channel
if you want to send specific data to be processed on the main thread. -
Changed
EventLoopProxy::send_event
toEventLoopProxy::wake_up
, it now only wakes up the loop. -
On Web, slightly improve accuracy of
DeviceEvent::MouseMotion
. -
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.
-
Remove
EventLoop::run
. -
Remove
EventLoopExtRunOnDemand::run_on_demand
. -
Remove
EventLoopExtPumpEvents::pump_events
. -
Remove
Event
. -
On iOS, remove
platform::ios::EventLoopExtIOS
and relatedplatform::ios::Idiom
type.This feature was incomplete, and the equivalent functionality can be trivially achieved outside of
winit
usingobjc2-ui-kit
and callingUIDevice::currentDevice().userInterfaceIdiom()
.