2021-01-02 10:59:20 +00:00
# Changelog for eframe
2022-04-30 08:44:35 +00:00
All notable changes to the `eframe` crate.
2021-01-02 10:59:20 +00:00
2022-08-20 14:44:05 +00:00
NOTE: [`egui-winit` ](../egui-winit/CHANGELOG.md ), [`egui_glium` ](../egui_glium/CHANGELOG.md ), [`egui_glow` ](../egui_glow/CHANGELOG.md ),and [`egui-wgpu` ](../egui-wgpu/CHANGELOG.md ) have their own changelogs!
2021-09-30 16:53:41 +00:00
2021-01-02 10:59:20 +00:00
## Unreleased
2022-09-16 12:31:21 +00:00
* Added `NativeOptions::fullsize_content` option on Mac to build titlebar-less windows with floating window controls ([#2049](https://github.com/emilk/egui/pull/2049)).
2022-08-23 12:43:22 +00:00
* Added `NativeOptions::event_loop_builder` hook for apps to change platform specific event loop options ([#1952](https://github.com/emilk/egui/pull/1952)).
* Enabled deferred render state initialization to support Android ([#1952](https://github.com/emilk/egui/pull/1952)).
2022-08-24 12:34:34 +00:00
* Allow empty textures with the glow renderer.
2022-09-06 14:07:58 +00:00
* Added `shader_version` to `NativeOptions` for cross compiling support on different target OpenGL | ES versions (on native `glow` renderer only) ([#1993](https://github.com/emilk/egui/pull/1993)).
2022-09-17 09:20:40 +00:00
* Fix: app state is now saved when user presses Cmd-Q on Mac ([#2013](https://github.com/emilk/egui/pull/2013)).
* Added `center` to `NativeOptions` and `monitor_size` to `WindowInfo` on desktop ([#2035](https://github.com/emilk/egui/pull/2035)).
2022-09-20 11:58:55 +00:00
* Web: you can access your application from JS using `AppRunner::app_mut` . See `crates/egui_demo_app/src/lib.rs` .
2022-10-05 18:14:18 +00:00
* Web: You can now use WebGL on top of `wgpu` by enabling the `wgpu` feature (and disabling `glow` via disabling default features) ([#2107](https://github.com/emilk/egui/pull/2107)).
2022-10-31 11:58:26 +00:00
* Web: Add `WebInfo::user_agent` ([#2202](https://github.com/emilk/egui/pull/2202)).
2022-11-07 11:36:17 +00:00
* Wgpu device/adapter/surface creation has now various configuration options exposed via `NativeOptions/WebOptions::wgpu_options` ([#2207](https://github.com/emilk/egui/pull/2207)).
* Fix: Make sure that `native_pixels_per_point` is updated ([#2256](https://github.com/emilk/egui/pull/2256)).
2022-08-20 14:44:05 +00:00
2022-10-12 12:27:24 +00:00
2022-08-20 14:44:05 +00:00
## 0.19.0 - 2022-08-20
2022-07-26 14:50:53 +00:00
* MSRV (Minimum Supported Rust Version) is now `1.61.0` ([#1846](https://github.com/emilk/egui/pull/1846)).
2022-07-23 21:54:13 +00:00
* Added `wgpu` rendering backed ([#1564](https://github.com/emilk/egui/pull/1564)):
2022-08-20 09:11:07 +00:00
* Added features `wgpu` and `glow` .
* Added `NativeOptions::renderer` to switch between the rendering backends.
2022-05-05 21:17:33 +00:00
* `egui_glow` : remove calls to `gl.get_error` in release builds to speed up rendering ([#1583](https://github.com/emilk/egui/pull/1583)).
2022-07-23 21:55:21 +00:00
* Added `App::post_rendering` for e.g. reading the framebuffer ([#1591](https://github.com/emilk/egui/pull/1591)).
2022-07-23 21:54:13 +00:00
* Use `Arc` for `glow::Context` instead of `Rc` ([#1640](https://github.com/emilk/egui/pull/1640)).
* Fixed bug where the result returned from `App::on_exit_event` would sometimes be ignored ([#1696](https://github.com/emilk/egui/pull/1696)).
* Added `NativeOptions::follow_system_theme` and `NativeOptions::default_theme` ([#1726](https://github.com/emilk/egui/pull/1726)).
2022-07-29 12:37:23 +00:00
* Selectively expose parts of the API based on target arch (`wasm32` or not) ([#1867](https://github.com/emilk/egui/pull/1867)).
2022-07-23 21:54:13 +00:00
#### Desktop/Native:
* Fixed clipboard on Wayland ([#1613](https://github.com/emilk/egui/pull/1613)).
* Added ability to read window position and size with `frame.info().window_info` ([#1617](https://github.com/emilk/egui/pull/1617)).
* Allow running on native without hardware accelerated rendering. Change with `NativeOptions::hardware_acceleration` ([#1681](https://github.com/emilk/egui/pull/1681), [#1693 ](https://github.com/emilk/egui/pull/1693 )).
* Fixed window position persistence ([#1745](https://github.com/emilk/egui/pull/1745)).
* Fixed mouse cursor change on Linux ([#1747](https://github.com/emilk/egui/pull/1747)).
* Added `Frame::set_visible` ([#1808](https://github.com/emilk/egui/pull/1808)).
2022-07-29 12:21:23 +00:00
* Added fullscreen support ([#1866](https://github.com/emilk/egui/pull/1866)).
2022-08-20 14:44:05 +00:00
* You can now continue execution after closing the native desktop window ([#1889](https://github.com/emilk/egui/pull/1889)).
2022-08-20 14:08:59 +00:00
* `Frame::quit` has been renamed to `Frame::close` and `App::on_exit_event` is now `App::on_close_event` ([#1943](https://github.com/emilk/egui/pull/1943)).
2022-07-23 21:54:13 +00:00
#### Web:
2022-08-02 15:42:55 +00:00
* Added ability to stop/re-run web app from JavaScript. ⚠️ You need to update your CSS with `html, body: { height: 100%; width: 100%; }` ([#1803](https://github.com/emilk/egui/pull/1650)).
2022-08-20 09:11:07 +00:00
* Added `WebOptions::follow_system_theme` and `WebOptions::default_theme` ([#1726](https://github.com/emilk/egui/pull/1726)).
* Added option to select WebGL version ([#1803](https://github.com/emilk/egui/pull/1803)).
2022-08-02 15:42:55 +00:00
2022-06-09 15:41:59 +00:00
2022-04-30 18:27:27 +00:00
## 0.18.0 - 2022-04-30
2022-04-30 17:21:40 +00:00
* MSRV (Minimum Supported Rust Version) is now `1.60.0` ([#1467](https://github.com/emilk/egui/pull/1467)).
2022-04-30 08:44:35 +00:00
* Removed `eframe::epi` - everything is now in `eframe` (`eframe::App`, `eframe::Frame` etc) ([#1545](https://github.com/emilk/egui/pull/1545)).
2022-03-15 16:21:52 +00:00
* Removed `Frame::request_repaint` - just call `egui::Context::request_repaint` for the same effect ([#1366](https://github.com/emilk/egui/pull/1366)).
2022-03-25 20:19:31 +00:00
* Changed app creation/setup ([#1363](https://github.com/emilk/egui/pull/1363)):
* Removed `App::setup` and `App::name` .
* Provide `CreationContext` when creating app with egui context, storage, integration info and glow context.
* Change interface of `run_native` and `start_web` .
* Added `Frame::storage()` and `Frame::storage_mut()` ([#1418](https://github.com/emilk/egui/pull/1418)).
* You can now load/save state in `App::update`
* Changed `App::update` to take `&mut Frame` instead of `&Frame` .
* `Frame` is no longer `Clone` or `Sync` .
2022-07-23 21:55:21 +00:00
* Added `glow` (OpenGL) context to `Frame` ([#1425](https://github.com/emilk/egui/pull/1425)).
2022-04-30 08:44:35 +00:00
#### Desktop/Native:
* Remove the `egui_glium` feature. `eframe` will now always use `egui_glow` as the native backend ([#1357](https://github.com/emilk/egui/pull/1357)).
* Change default for `NativeOptions::drag_and_drop_support` to `true` ([#1329](https://github.com/emilk/egui/pull/1329)).
* Added new `NativeOptions` : `vsync` , `multisampling` , `depth_buffer` , `stencil_buffer` .
2022-04-29 06:17:49 +00:00
* `dark-light` (dark mode detection) is now an opt-in feature ([#1437](https://github.com/emilk/egui/pull/1437)).
2022-04-30 08:44:35 +00:00
* Fixed potential scale bug when DPI scaling changes (e.g. when dragging a window between different displays) ([#1441](https://github.com/emilk/egui/pull/1441)).
2022-04-13 09:06:13 +00:00
* Added new feature `puffin` to add [`puffin profiler` ](https://github.com/EmbarkStudios/puffin ) scopes ([#1483](https://github.com/emilk/egui/pull/1483)).
2022-04-19 19:26:35 +00:00
* Moved app persistence to a background thread, allowing for smoother frame rates (on native).
2022-04-30 17:21:40 +00:00
* Added `Frame::set_window_pos` ([#1505](https://github.com/emilk/egui/pull/1505)).
2022-02-22 18:32:30 +00:00
2022-04-30 08:44:35 +00:00
#### Web:
* Use full browser width by default ([#1378](https://github.com/emilk/egui/pull/1378)).
* egui code will no longer be called after panic ([#1306](https://github.com/emilk/egui/pull/1306)).
2022-02-22 18:32:30 +00:00
## 0.17.0 - 2022-02-22
2022-01-15 12:59:52 +00:00
* Removed `Frame::alloc_texture` . Use `egui::Context::load_texture` instead ([#1110](https://github.com/emilk/egui/pull/1110)).
2022-04-30 08:44:35 +00:00
* Shift-scroll will now result in horizontal scrolling on all platforms ([#1136](https://github.com/emilk/egui/pull/1136)).
* Log using the `tracing` crate. Log to stdout by adding `tracing_subscriber::fmt::init();` to your `main` ([#1192](https://github.com/emilk/egui/pull/1192)).
#### Desktop/Native:
2021-12-31 14:17:55 +00:00
* The default native backend is now `egui_glow` (instead of `egui_glium` ) ([#1020](https://github.com/emilk/egui/pull/1020)).
2022-02-02 16:09:36 +00:00
* Automatically detect and apply dark or light mode from system ([#1045](https://github.com/emilk/egui/pull/1045)).
2022-07-23 21:55:21 +00:00
* Fixed horizontal scrolling direction on Linux.
2022-01-17 17:45:09 +00:00
* Added `App::on_exit_event` ([#1038](https://github.com/emilk/egui/pull/1038))
2022-02-05 18:12:03 +00:00
* Added `NativeOptions::initial_window_pos` .
2022-02-21 15:10:05 +00:00
* Fixed `enable_drag` for Windows OS ([#1108](https://github.com/emilk/egui/pull/1108)).
2022-04-30 08:44:35 +00:00
#### Web:
* The default web painter is now `egui_glow` (instead of WebGL) ([#1020](https://github.com/emilk/egui/pull/1020)).
* Fixed glow failure on Chromium ([#1092](https://github.com/emilk/egui/pull/1092)).
* Updated `eframe::IntegrationInfo::web_location_hash` on `hashchange` event ([#1140](https://github.com/emilk/egui/pull/1140)).
2022-02-17 15:46:43 +00:00
* Expose all parts of the location/url in `frame.info().web_info` ([#1258](https://github.com/emilk/egui/pull/1258)).
2021-12-29 11:07:05 +00:00
## 0.16.0 - 2021-12-29
2021-12-26 20:21:28 +00:00
* `Frame` can now be cloned, saved, and passed to background threads ([#999](https://github.com/emilk/egui/pull/999)).
* Added `Frame::request_repaint` to replace `repaint_signal` ([#999](https://github.com/emilk/egui/pull/999)).
* Added `Frame::alloc_texture/free_texture` to replace `tex_allocator` ([#999](https://github.com/emilk/egui/pull/999)).
2021-10-24 14:08:44 +00:00
2022-04-30 08:44:35 +00:00
#### Web:
* Fixed [dark rendering in WebKitGTK ](https://github.com/emilk/egui/issues/794 ) ([#888](https://github.com/emilk/egui/pull/888/)).
* Added feature `glow` to switch to a [`glow` ](https://github.com/grovesNL/glow ) based painter ([#868](https://github.com/emilk/egui/pull/868)).
2021-10-24 14:08:44 +00:00
## 0.15.0 - 2021-10-24
2021-10-22 22:03:17 +00:00
* `Frame` now provides `set_window_title` to set window title dynamically
2021-09-07 19:42:14 +00:00
* `Frame` now provides `set_decorations` to set whether to show window decorations.
2021-09-03 19:04:43 +00:00
* Remove "http" feature (use https://github.com/emilk/ehttp instead!).
2022-07-23 21:55:21 +00:00
* Added `App::persist_native_window` and `App::persist_egui_memory` to control what gets persisted.
2022-04-30 08:44:35 +00:00
#### Desktop/Native:
* Increase native scroll speed.
2022-07-23 21:55:21 +00:00
* Added new backend `egui_glow` as an alternative to `egui_glium` . Enable with `default-features = false, features = ["default_fonts", "egui_glow"]` .
2021-08-24 14:47:10 +00:00
2022-04-30 08:44:35 +00:00
#### Web:
* Implement `eframe::NativeTexture` trait for the WebGL painter.
* Deprecate `Painter::register_webgl_texture.
2022-07-23 21:55:21 +00:00
* Fixed multiline paste.
* Fixed painting with non-opaque backgrounds.
2022-04-30 08:44:35 +00:00
* Improve text input on mobile and for IME.
2021-08-24 14:47:10 +00:00
## 0.14.0 - 2021-08-24
2022-07-23 21:55:21 +00:00
* Added dragging and dropping files into egui.
2021-08-15 16:31:50 +00:00
* Improve http fetch API.
2021-08-20 16:59:32 +00:00
* `run_native` now returns when the app is closed.
2022-04-30 08:44:35 +00:00
* Web: Made text thicker and less pixelated.
2021-06-24 18:00:06 +00:00
2021-06-24 18:36:36 +00:00
## 0.13.1 - 2021-06-24
2022-07-23 21:55:21 +00:00
* Fixed `http` feature flag and docs
2021-06-24 18:36:36 +00:00
2021-06-24 18:00:06 +00:00
## 0.13.0 - 2021-06-24
2021-06-07 18:53:33 +00:00
* `App::setup` now takes a `Frame` and `Storage` by argument.
* `App::load` has been removed. Implement `App::setup` instead.
2022-04-30 08:44:35 +00:00
* Web: Default to light visuals unless the system reports a preference for dark mode.
* Web: Improve alpha blending, making fonts look much better (especially in light mode)
* Web: Fix double-paste bug
2021-05-10 16:20:32 +00:00
## 0.12.0 - 2021-05-10
2021-05-08 08:14:56 +00:00
* Moved options out of `trait App` into new `NativeOptions` .
2022-07-23 21:55:21 +00:00
* Added option for `always_on_top` .
2022-04-30 08:44:35 +00:00
* Web: Scroll faster when scrolling with mouse wheel.
2021-04-05 12:49:06 +00:00
## 0.11.0 - 2021-04-05
2021-03-31 18:53:13 +00:00
* You can now turn your window transparent with the `App::transparent` option.
* You can now disable window decorations with the `App::decorated` option.
2022-04-30 08:44:35 +00:00
* Web: [Fix mobile and IME text input ](https://github.com/emilk/egui/pull/253 )
* Web: Hold down a modifier key when clicking a link to open it in a new tab.
Contributors: [n2 ](https://github.com/n2 )
2021-01-02 10:59:20 +00:00
2021-02-28 19:01:18 +00:00
## 0.10.0 - 2021-02-28
* [You can now set your own app icons ](https://github.com/emilk/egui/pull/193 ).
2021-02-28 18:11:02 +00:00
* You can control the initial size of the native window with `App::initial_window_size` .
* You can control the maximum egui web canvas size with `App::max_size_points` .
* `Frame::tex_allocator()` no longer returns an `Option` (there is always a texture allocator).
2021-01-17 14:16:00 +00:00
2021-02-07 16:06:42 +00:00
## 0.9.0 - 2021-02-07
2022-07-23 21:55:21 +00:00
* [Added support for HTTP body ](https://github.com/emilk/egui/pull/139 ).
2022-04-30 08:44:35 +00:00
* Web: Right-clicks will no longer open browser context menu.
* Web: Fix a bug where one couldn't select items in a combo box on a touch screen.
2021-02-07 16:06:42 +00:00
2021-01-17 14:16:00 +00:00
## 0.8.0 - 2021-01-17
2021-02-28 18:11:02 +00:00
* Simplify `TextureAllocator` interface.
2022-04-30 08:44:35 +00:00
* WebGL2 is now supported, with improved texture sampler. WebGL1 will be used as a fallback.
* Web: Slightly improved alpha-blending (work-around for non-existing linear-space blending).
* Web: Call `prevent_default` for arrow keys when entering text
2021-01-17 14:16:00 +00:00
## 0.7.0 - 2021-01-04
2021-01-04 14:38:57 +00:00
* Initial release of `eframe`