-
Notifications
You must be signed in to change notification settings - Fork 920
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
chore(docs): make changelogs visible on docsrs
Split changelog file to make it more comprehensible when reading and also make it a part of documentation so it'll be more discoverable by the users. This change also makes it possible for rust code inside the changelogs to be tested with `cargo`. Co-authored-by: Kirill Chibisov <[email protected]>
- Loading branch information
Showing
31 changed files
with
1,376 additions
and
1,315 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,9 @@ | ||
[alias] | ||
run-wasm = ["run", "--release", "--package", "run-wasm", "--"] | ||
|
||
# Allow rust-analyzer and local `cargo doc` invocations to pick up unreleased changelog entries | ||
# | ||
# Note that these flags are (intentionally) not included when building from the downloaded crate. | ||
[build] | ||
rustflags = ["--cfg=unreleased_changelogs"] | ||
rustdocflags = ["--cfg=unreleased_changelogs"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
- [ ] Tested on all platforms changed | ||
- [ ] Added an entry to `CHANGELOG.md` if knowledge of this change could be valuable to users | ||
- [ ] Added an entry to the `changelog` module if knowledge of this change could be valuable to users | ||
- [ ] Updated documentation to reflect any user-facing changes, including notes of platform-specific behavior | ||
- [ ] Created or updated an example program if it would help users understand this functionality | ||
- [ ] Updated [feature matrix](https://github.com/rust-windowing/winit/blob/master/FEATURES.md), if new features were added or implemented |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
//! # Changelog and migrations | ||
//! | ||
//! All notable changes to this project will be documented in this module, | ||
//! along with migration instructions for larger changes. | ||
//! | ||
// Put the current entry at the top of this page, for discoverability. | ||
// See `.cargo/config.toml` for details about `unreleased_changelogs`. | ||
#![cfg_attr(unreleased_changelogs, doc = include_str!("unreleased.md"))] | ||
#![cfg_attr(not(unreleased_changelogs), doc = include_str!("v0.29.md"))] | ||
|
||
#[doc = include_str!("v0.29.md")] | ||
pub mod v0_29 {} | ||
|
||
#[doc = include_str!("v0.28.md")] | ||
pub mod v0_28 {} | ||
|
||
#[doc = include_str!("v0.27.md")] | ||
pub mod v0_27 {} | ||
|
||
#[doc = include_str!("v0.26.md")] | ||
pub mod v0_26 {} | ||
|
||
#[doc = include_str!("v0.25.md")] | ||
pub mod v0_25 {} | ||
|
||
#[doc = include_str!("v0.24.md")] | ||
pub mod v0_24 {} | ||
|
||
#[doc = include_str!("v0.23.md")] | ||
pub mod v0_23 {} | ||
|
||
#[doc = include_str!("v0.22.md")] | ||
pub mod v0_22 {} | ||
|
||
#[doc = include_str!("v0.21.md")] | ||
pub mod v0_21 {} | ||
|
||
#[doc = include_str!("v0.20.md")] | ||
pub mod v0_20 {} | ||
|
||
#[doc = include_str!("v0.19.md")] | ||
pub mod v0_19 {} | ||
|
||
#[doc = include_str!("v0.18.md")] | ||
pub mod v0_18 {} | ||
|
||
#[doc = include_str!("v0.17.md")] | ||
pub mod v0_17 {} | ||
|
||
#[doc = include_str!("v0.16.md")] | ||
pub mod v0_16 {} | ||
|
||
#[doc = include_str!("v0.15.md")] | ||
pub mod v0_15 {} | ||
|
||
#[doc = include_str!("v0.14.md")] | ||
pub mod v0_14 {} | ||
|
||
#[doc = include_str!("v0.13.md")] | ||
pub mod v0_13 {} | ||
|
||
#[doc = include_str!("v0.12.md")] | ||
pub mod v0_12 {} | ||
|
||
#[doc = include_str!("v0.11.md")] | ||
pub mod v0_11 {} | ||
|
||
#[doc = include_str!("v0.10.md")] | ||
pub mod v0_10 {} | ||
|
||
#[doc = include_str!("v0.9.md")] | ||
pub mod v0_9 {} | ||
|
||
#[doc = include_str!("v0.8.md")] | ||
pub mod v0_8 {} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
## Unreleased | ||
|
||
- Deprecate `EventLoop::run` in favor of `EventLoop::run_app`. | ||
- Deprecate `EventLoopExtRunOnDemand::run_on_demand` in favor of `EventLoop::run_app_on_demand`. | ||
- Deprecate `EventLoopExtPumpEvents::pump_events` in favor of `EventLoopExtPumpEvents::pump_app_events`. | ||
- Add `ApplicationHandler<T>` trait which mimics `Event<T>`. | ||
- Move `dpi` types to its own crate, and re-export it from the root crate. | ||
- Implement `Sync` for `EventLoopProxy<T: Send>`. | ||
- **Breaking:** Move `Window::new` to `ActiveEventLoop::create_window` and `EventLoop::create_window` (with the latter being deprecated). | ||
- **Breaking:** Rename `EventLoopWindowTarget` to `ActiveEventLoop`. | ||
- **Breaking:** Remove `Deref` implementation for `EventLoop` that gave `EventLoopWindowTarget`. | ||
- **Breaking**: Remove `WindowBuilder` in favor of `WindowAttributes`. | ||
- **Breaking:** Removed unnecessary generic parameter `T` from `EventLoopWindowTarget`. | ||
- On Windows, macOS, X11, Wayland and Web, implement setting images as cursors. See the `custom_cursors.rs` example. | ||
- **Breaking:** Remove `Window::set_cursor_icon` | ||
- Add `WindowBuilder::with_cursor` and `Window::set_cursor` which takes a `CursorIcon` or `CustomCursor` | ||
- Add `CustomCursor::from_rgba` to allow creating cursor images from RGBA data. | ||
- Add `CustomCursorExtWebSys::from_url` to allow loading cursor images from URLs. | ||
- Add `CustomCursorExtWebSys::from_animation` to allow creating animated cursors from other `CustomCursor`s. | ||
- Add `{Active,}EventLoop::create_custom_cursor` to load custom cursor image sources. | ||
- On macOS, add services menu. | ||
- **Breaking:** On Web, remove queuing fullscreen request in absence of transient activation. | ||
- On Web, fix setting cursor icon overriding cursor visibility. | ||
- **Breaking:** On Web, return `RawWindowHandle::WebCanvas` instead of `RawWindowHandle::Web`. | ||
- **Breaking:** On Web, macOS and iOS, return `HandleError::Unavailable` when a window handle is not available. | ||
- **Breaking:** Bump MSRV from `1.65` to `1.70`. | ||
- On Web, add the ability to toggle calling `Event.preventDefault()` on `Window`. | ||
- **Breaking:** Remove `WindowAttributes::fullscreen()` and expose as field directly. | ||
- **Breaking:** Rename `VideoMode` to `VideoModeHandle` to represent that it doesn't hold static data. | ||
- **Breaking:** No longer export `platform::x11::XNotSupported`. | ||
- **Breaking:** Renamed `platform::x11::XWindowType` to `platform::x11::WindowType`. | ||
- Add the `OwnedDisplayHandle` type for allowing safe display handle usage outside of trivial cases. | ||
- **Breaking:** Rename `TouchpadMagnify` to `PinchGesture`, `SmartMagnify` to `DoubleTapGesture` and `TouchpadRotate` to `RotationGesture` to represent the action rather than the intent. | ||
- on iOS, add detection support for `PinchGesture`, `DoubleTapGesture` and `RotationGesture`. | ||
- on Windows: add `with_system_backdrop`, `with_border_color`, `with_title_background_color`, `with_title_text_color` and `with_corner_preference` | ||
- On Windows, Remove `WS_CAPTION`, `WS_BORDER` and `WS_EX_WINDOWEDGE` styles for child windows without decorations. | ||
- **Breaking:** Removed `EventLoopError::AlreadyRunning`, which can't happen as it is already prevented by the type system. | ||
- Added `EventLoop::builder`, which is intended to replace the (now deprecated) `EventLoopBuilder::new`. | ||
- **Breaking:** Changed the signature of `EventLoop::with_user_event` to return a builder. | ||
- **Breaking:** Removed `EventLoopBuilder::with_user_event`, the functionality is now available in `EventLoop::with_user_event`. | ||
- Add `Window::default_attributes` to get default `WindowAttributes`. | ||
- `log` has been replaced with `tracing`. The old behavior can be emulated by setting the `log` feature on the `tracing` crate. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
## 0.10.1 | ||
|
||
_Yanked_ | ||
|
||
## 0.10.0 | ||
|
||
- Add support for `Touch` for emscripten backend. | ||
- Added support for `DroppedFile`, `HoveredFile`, and `HoveredFileCancelled` to X11 backend. | ||
- **Breaking:** `unix::WindowExt` no longer returns pointers for things that aren't actually pointers; `get_xlib_window` now returns `Option<std::os::raw::c_ulong>` and `get_xlib_screen_id` returns `Option<std::os::raw::c_int>`. Additionally, methods that previously returned `libc::c_void` have been changed to return `std::os::raw::c_void`, which are not interchangeable types, so users wanting the former will need to explicitly cast. | ||
- Added `set_decorations` method to `Window` to allow decorations to be toggled after the window is built. Presently only implemented on X11. | ||
- Raised the minimum supported version of Rust to 1.20 on MacOS due to usage of associated constants in new versions of cocoa and core-graphics. | ||
- Added `modifiers` field to `MouseInput`, `MouseWheel`, and `CursorMoved` events to track the modifiers state (`ModifiersState`). | ||
- Fixed the emscripten backend to return the size of the canvas instead of the size of the window. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
## 0.11.3 | ||
|
||
- Added `set_min_dimensions` and `set_max_dimensions` methods to `Window`, and implemented on Windows, X11, Wayland, and OSX. | ||
- On X11, dropping a `Window` actually closes it now, and clicking the window's × button (or otherwise having the WM signal to close it) will result in the window closing. | ||
- Added `WindowBuilderExt` methods for macos: `with_titlebar_transparent`, | ||
`with_title_hidden`, `with_titlebar_buttons_hidden`, | ||
`with_fullsize_content_view`. | ||
- Mapped X11 numpad keycodes (arrows, Home, End, PageUp, PageDown, Insert and Delete) to corresponding virtual keycodes | ||
|
||
## 0.11.2 | ||
|
||
- Impl `Hash`, `PartialEq`, and `Eq` for `events::ModifiersState`. | ||
- Implement `MonitorId::get_hidpi_factor` for MacOS. | ||
- Added method `os::macos::MonitorIdExt::get_nsscreen() -> *mut c_void` that gets a `NSScreen` object matching the monitor ID. | ||
- Send `Awakened` event on Android when event loop is woken up. | ||
|
||
## 0.11.1 | ||
|
||
- Fixed windows not receiving mouse events when click-dragging the mouse outside the client area of a window, on Windows platforms. | ||
- Added method `os::android::EventsLoopExt:set_suspend_callback(Option<Box<Fn(bool) -> ()>>)` that allows glutin to register a callback when a suspend event happens | ||
|
||
## 0.11.0 | ||
|
||
- Implement `MonitorId::get_dimensions` for Android. | ||
- Added method `os::macos::WindowBuilderExt::with_movable_by_window_background(bool)` that allows to move a window without a titlebar - `with_decorations(false)` | ||
- Implement `Window::set_fullscreen`, `Window::set_maximized` and `Window::set_decorations` for Wayland. | ||
- Added `Caret` as VirtualKeyCode and support OSX ^-Key with german input. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
## 0.12.0 | ||
|
||
- Added subclass to macos windows so they can be made resizable even with no decorations. | ||
- Dead keys now work properly on X11, no longer resulting in a panic. | ||
- On X11, input method creation first tries to use the value from the user's `XMODIFIERS` environment variable, so application developers should no longer need to manually call `XSetLocaleModifiers`. If that fails, fallbacks are tried, which should prevent input method initialization from ever outright failing. | ||
- Fixed thread safety issues with input methods on X11. | ||
- Add support for `Touch` for win32 backend. | ||
- Fixed `Window::get_inner_size` and friends to return the size in pixels instead of points when using HIDPI displays on OSX. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
## 0.13.1 | ||
|
||
- Ensure necessary `x11-dl` version is used. | ||
|
||
## 0.13.0 | ||
|
||
- Implement `WindowBuilder::with_maximized`, `Window::set_fullscreen`, `Window::set_maximized` and `Window::set_decorations` for MacOS. | ||
- Implement `WindowBuilder::with_maximized`, `Window::set_fullscreen`, `Window::set_maximized` and `Window::set_decorations` for Windows. | ||
- On Windows, `WindowBuilder::with_fullscreen` no longer changing monitor display resolution. | ||
- Overhauled X11 window geometry calculations. `get_position` and `set_position` are more universally accurate across different window managers, and `get_outer_size` actually works now. | ||
- Fixed SIGSEGV/SIGILL crashes on macOS caused by stabilization of the `!` (never) type. | ||
- Implement `WindowEvent::HiDPIFactorChanged` for macOS | ||
- On X11, input methods now work completely out of the box, no longer requiring application developers to manually call `setlocale`. Additionally, when input methods are started, stopped, or restarted on the server end, it's correctly handled. | ||
- Implemented `Refresh` event on Windows. | ||
- Properly calculate the minimum and maximum window size on Windows, including window decorations. | ||
- Map more `MouseCursor` variants to cursor icons on Windows. | ||
- Corrected `get_position` on macOS to return outer frame position, not content area position. | ||
- Corrected `set_position` on macOS to set outer frame position, not content area position. | ||
- Added `get_inner_position` method to `Window`, which gets the position of the window's client area. This is implemented on all applicable platforms (all desktop platforms other than Wayland, where this isn't possible). | ||
- **Breaking:** the `Closed` event has been replaced by `CloseRequested` and `Destroyed`. To migrate, you typically just need to replace all usages of `Closed` with `CloseRequested`; see example programs for more info. The exception is iOS, where `Closed` must be replaced by `Destroyed`. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
## 0.14.0 | ||
|
||
- Created the `Copy`, `Paste` and `Cut` `VirtualKeyCode`s and added support for them on X11 and Wayland | ||
- Fix `.with_decorations(false)` in macOS | ||
- On Mac, `NSWindow` and supporting objects might be alive long after they were `closed` which resulted in apps consuming more heap then needed. Mainly it was affecting multi window applications. Not expecting any user visible change of behaviour after the fix. | ||
- Fix regression of Window platform extensions for macOS where `NSFullSizeContentViewWindowMask` was not being correctly applied to `.fullsize_content_view`. | ||
- Corrected `get_position` on Windows to be relative to the screen rather than to the taskbar. | ||
- Corrected `Moved` event on Windows to use position values equivalent to those returned by `get_position`. It previously supplied client area positions instead of window positions, and would additionally interpret negative values as being very large (around `u16::MAX`). | ||
- Implemented `Moved` event on macOS. | ||
- On X11, the `Moved` event correctly use window positions rather than client area positions. Additionally, a stray `Moved` that unconditionally accompanied `Resized` with the client area position relative to the parent has been eliminated; `Moved` is still received alongside `Resized`, but now only once and always correctly. | ||
- On Windows, implemented all variants of `DeviceEvent` other than `Text`. Mouse `DeviceEvent`s are now received even if the window isn't in the foreground. | ||
- `DeviceId` on Windows is no longer a unit struct, and now contains a `u32`. For `WindowEvent`s, this will always be 0, but on `DeviceEvent`s it will be the handle to that device. `DeviceIdExt::get_persistent_identifier` can be used to acquire a unique identifier for that device that persists across replugs/reboots/etc. | ||
- Corrected `run_forever` on X11 to stop discarding `Awakened` events. | ||
- Various safety and correctness improvements to the X11 backend internals. | ||
- Fixed memory leak on X11 every time the mouse entered the window. | ||
- On X11, drag and drop now works reliably in release mode. | ||
- Added `WindowBuilderExt::with_resize_increments` and `WindowBuilderExt::with_base_size` to X11, allowing for more optional hints to be set. | ||
- Rework of the wayland backend, migrating it to use [Smithay's Client Toolkit](https://github.com/Smithay/client-toolkit). | ||
- Added `WindowBuilder::with_window_icon` and `Window::set_window_icon`, finally making it possible to set the window icon on Windows and X11. The `icon_loading` feature can be enabled to allow for icons to be easily loaded; see example program `window_icon.rs` for usage. | ||
- Windows additionally has `WindowBuilderExt::with_taskbar_icon` and `WindowExt::set_taskbar_icon`. | ||
- On Windows, fix panic when trying to call `set_fullscreen(None)` on a window that has not been fullscreened prior. |
Oops, something went wrong.