Rust 1.60.0 + refactor cargo features (#1467)

* Update to rust 1.60.0
* Rename the feature `convert_bytemuck` to `bytemuck`
* Rename the feature `serialize` to `serde`.
* Make use of the "weak dependency" cargo feature
* Set rust-version = "1.60" for all crates
* egui_glow: clipboard, links, persistence & winit are now opt-in features
This commit is contained in:
Emil Ernerfeldt 2022-04-09 13:54:47 +02:00 committed by GitHub
parent bdfc512b01
commit cf0338d48f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
26 changed files with 73 additions and 53 deletions

View file

@ -9,11 +9,11 @@ rustflags = [
"-Wclippy::checked_conversions", "-Wclippy::checked_conversions",
"-Wclippy::dbg_macro", "-Wclippy::dbg_macro",
"-Wclippy::debug_assert_with_mut_call", "-Wclippy::debug_assert_with_mut_call",
"-Wclippy::disallowed_method", "-Wclippy::disallowed_methods",
"-Wclippy::doc_markdown", "-Wclippy::doc_markdown",
"-Wclippy::empty_enum", "-Wclippy::empty_enum",
"-Wclippy::enum_glob_use", "-Wclippy::enum_glob_use",
# "-Wclippy::equatable_if_let", // Enable when we update MSRV "-Wclippy::equatable_if_let",
"-Wclippy::exit", "-Wclippy::exit",
"-Wclippy::expl_impl_clone_on_copy", "-Wclippy::expl_impl_clone_on_copy",
"-Wclippy::explicit_deref_methods", "-Wclippy::explicit_deref_methods",
@ -29,7 +29,7 @@ rustflags = [
"-Wclippy::imprecise_flops", "-Wclippy::imprecise_flops",
"-Wclippy::inefficient_to_string", "-Wclippy::inefficient_to_string",
"-Wclippy::invalid_upcast_comparisons", "-Wclippy::invalid_upcast_comparisons",
# "-Wclippy::iter_not_returning_iterator", // Enable when we update MSRV "-Wclippy::iter_not_returning_iterator",
"-Wclippy::large_digit_groups", "-Wclippy::large_digit_groups",
"-Wclippy::large_stack_arrays", "-Wclippy::large_stack_arrays",
"-Wclippy::large_types_passed_by_value", "-Wclippy::large_types_passed_by_value",

View file

@ -18,7 +18,7 @@ jobs:
- uses: actions-rs/toolchain@v1 - uses: actions-rs/toolchain@v1
with: with:
profile: minimal profile: minimal
toolchain: 1.56.0 toolchain: 1.60.0
override: true override: true
- run: sudo apt-get update && sudo apt-get install libspeechd-dev - run: sudo apt-get update && sudo apt-get install libspeechd-dev
- uses: actions-rs/cargo@v1 - uses: actions-rs/cargo@v1
@ -33,7 +33,7 @@ jobs:
- uses: actions-rs/toolchain@v1 - uses: actions-rs/toolchain@v1
with: with:
profile: minimal profile: minimal
toolchain: 1.56.0 toolchain: 1.60.0
override: true override: true
- run: sudo apt-get update && sudo apt-get install libspeechd-dev - run: sudo apt-get update && sudo apt-get install libspeechd-dev
- uses: actions-rs/cargo@v1 - uses: actions-rs/cargo@v1
@ -49,7 +49,7 @@ jobs:
- uses: actions-rs/toolchain@v1 - uses: actions-rs/toolchain@v1
with: with:
profile: minimal profile: minimal
toolchain: 1.56.0 toolchain: 1.60.0
override: true override: true
- run: rustup target add wasm32-unknown-unknown - run: rustup target add wasm32-unknown-unknown
- uses: actions-rs/cargo@v1 - uses: actions-rs/cargo@v1
@ -65,7 +65,7 @@ jobs:
- uses: actions-rs/toolchain@v1 - uses: actions-rs/toolchain@v1
with: with:
profile: minimal profile: minimal
toolchain: 1.56.0 toolchain: 1.60.0
override: true override: true
- name: check - name: check
run: cargo check -p egui_demo_app run: cargo check -p egui_demo_app
@ -78,7 +78,7 @@ jobs:
- uses: actions-rs/toolchain@v1 - uses: actions-rs/toolchain@v1
with: with:
profile: minimal profile: minimal
toolchain: 1.56.0 toolchain: 1.60.0
override: true override: true
- run: rustup target add wasm32-unknown-unknown - run: rustup target add wasm32-unknown-unknown
- name: check - name: check
@ -92,7 +92,7 @@ jobs:
- uses: actions-rs/toolchain@v1 - uses: actions-rs/toolchain@v1
with: with:
profile: minimal profile: minimal
toolchain: 1.56.0 toolchain: 1.60.0
override: true override: true
- run: rustup target add wasm32-unknown-unknown - run: rustup target add wasm32-unknown-unknown
- uses: actions-rs/cargo@v1 - uses: actions-rs/cargo@v1
@ -108,7 +108,7 @@ jobs:
- uses: actions-rs/toolchain@v1 - uses: actions-rs/toolchain@v1
with: with:
profile: minimal profile: minimal
toolchain: 1.56.0 toolchain: 1.60.0
override: true override: true
- run: sudo apt-get update && sudo apt-get install libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libspeechd-dev libxkbcommon-dev libssl-dev libgtk-3-dev # libgtk-3-dev is used by rfd - run: sudo apt-get update && sudo apt-get install libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libspeechd-dev libxkbcommon-dev libssl-dev libgtk-3-dev # libgtk-3-dev is used by rfd
- uses: actions-rs/cargo@v1 - uses: actions-rs/cargo@v1
@ -124,7 +124,7 @@ jobs:
- uses: actions-rs/toolchain@v1 - uses: actions-rs/toolchain@v1
with: with:
profile: minimal profile: minimal
toolchain: 1.56.0 toolchain: 1.60.0
override: true override: true
- run: rustup component add rustfmt - run: rustup component add rustfmt
- uses: actions-rs/cargo@v1 - uses: actions-rs/cargo@v1
@ -140,7 +140,7 @@ jobs:
- uses: actions-rs/toolchain@v1 - uses: actions-rs/toolchain@v1
with: with:
profile: minimal profile: minimal
toolchain: 1.56.0 toolchain: 1.60.0
override: true override: true
- run: rustup component add clippy - run: rustup component add clippy
- run: sudo apt-get update && sudo apt-get install libspeechd-dev libgtk-3-dev # libgtk-3-dev is used by rfd - run: sudo apt-get update && sudo apt-get install libspeechd-dev libgtk-3-dev # libgtk-3-dev is used by rfd
@ -157,7 +157,7 @@ jobs:
- uses: actions-rs/toolchain@v1 - uses: actions-rs/toolchain@v1
with: with:
profile: minimal profile: minimal
toolchain: 1.56.0 toolchain: 1.60.0
override: true override: true
- run: sudo apt-get update && sudo apt-get install libspeechd-dev - run: sudo apt-get update && sudo apt-get install libspeechd-dev
- run: cargo doc -p emath -p epaint -p egui -p eframe -p epi -p egui_web -p egui-winit -p egui_extras -p egui_glium -p egui_glow --lib --no-deps --all-features - run: cargo doc -p emath -p epaint -p egui -p eframe -p epi -p egui_web -p egui-winit -p egui_extras -p egui_glium -p egui_glow --lib --no-deps --all-features
@ -170,7 +170,7 @@ jobs:
- uses: actions-rs/toolchain@v1 - uses: actions-rs/toolchain@v1
with: with:
profile: minimal profile: minimal
toolchain: 1.56.0 toolchain: 1.60.0
override: true override: true
- run: sudo apt-get update && sudo apt-get install libspeechd-dev - run: sudo apt-get update && sudo apt-get install libspeechd-dev
- run: rustup target add wasm32-unknown-unknown - run: rustup target add wasm32-unknown-unknown
@ -190,7 +190,7 @@ jobs:
- uses: actions-rs/toolchain@v1 - uses: actions-rs/toolchain@v1
with: with:
profile: minimal profile: minimal
toolchain: 1.56.0 toolchain: 1.60.0
override: true override: true
- run: rustup target add wasm32-unknown-unknown - run: rustup target add wasm32-unknown-unknown
- run: cargo install wasm-bindgen-cli - run: cargo install wasm-bindgen-cli

View file

@ -21,6 +21,9 @@ NOTE: [`epaint`](epaint/CHANGELOG.md), [`eframe`](eframe/CHANGELOG.md), [`egui_w
* Warnings will pe painted on screen when there is an `Id` clash for `Grid`, `Plot` or `ScrollArea` ([#1452](https://github.com/emilk/egui/pull/1452)). * Warnings will pe painted on screen when there is an `Id` clash for `Grid`, `Plot` or `ScrollArea` ([#1452](https://github.com/emilk/egui/pull/1452)).
* `Checkbox` and `RadioButton` with an empty label (`""`) will now take up much less space ([#1456](https://github.com/emilk/egui/pull/1456)). * `Checkbox` and `RadioButton` with an empty label (`""`) will now take up much less space ([#1456](https://github.com/emilk/egui/pull/1456)).
* Replaced `Memory::top_most_layer` with more flexible `Memory::layer_ids`. * Replaced `Memory::top_most_layer` with more flexible `Memory::layer_ids`.
* MSRV (Minimum Supported Rust Version) is now `1.60.0` ([#1467](https://github.com/emilk/egui/pull/1467)).
* Renamed the feature `convert_bytemuck` to `bytemuck` ([#1467](https://github.com/emilk/egui/pull/1467)).
* Renamed the feature `serialize` to `serde` ([#1467](https://github.com/emilk/egui/pull/1467)).
### Fixed 🐛 ### Fixed 🐛
* Fixed ComboBoxes always being rendered left-aligned ([#1304](https://github.com/emilk/egui/pull/1304)). * Fixed ComboBoxes always being rendered left-aligned ([#1304](https://github.com/emilk/egui/pull/1304)).

View file

@ -21,6 +21,7 @@ NOTE: [`egui_web`](../egui_web/CHANGELOG.md), [`egui-winit`](../egui-winit/CHANG
* Add `glow` (OpenGL) context to `Frame` ([#1425](https://github.com/emilk/egui/pull/1425)). * Add `glow` (OpenGL) context to `Frame` ([#1425](https://github.com/emilk/egui/pull/1425)).
* `dark-light` (dark mode detection) is now an opt-in feature ([#1437](https://github.com/emilk/egui/pull/1437)). * `dark-light` (dark mode detection) is now an opt-in feature ([#1437](https://github.com/emilk/egui/pull/1437)).
* 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)). * 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)).
* MSRV (Minimum Supported Rust Version) is now `1.60.0` ([#1467](https://github.com/emilk/egui/pull/1467)).
## 0.17.0 - 2022-02-22 ## 0.17.0 - 2022-02-22

View file

@ -4,7 +4,7 @@ version = "0.17.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"] authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
description = "egui framework - write GUI apps that compiles to web and/or natively" description = "egui framework - write GUI apps that compiles to web and/or natively"
edition = "2021" edition = "2021"
rust-version = "1.56" rust-version = "1.60"
homepage = "https://github.com/emilk/egui/tree/master/eframe" homepage = "https://github.com/emilk/egui/tree/master/eframe"
license = "MIT OR Apache-2.0" license = "MIT OR Apache-2.0"
readme = "README.md" readme = "README.md"
@ -28,8 +28,8 @@ default_fonts = ["egui/default_fonts"]
# Enable saving app state to disk. # Enable saving app state to disk.
persistence = [ persistence = [
# we cannot touch egui_glium or egui_glow here due to https://github.com/rust-lang/cargo/issues/8832
"egui-winit/persistence", "egui-winit/persistence",
"egui_glow/persistence",
"egui/persistence", "egui/persistence",
"epi/file_storage", "epi/file_storage",
"epi/persistence", "epi/persistence",
@ -37,12 +37,12 @@ persistence = [
# enable screen reader support (requires `ctx.options().screen_reader = true;`) # enable screen reader support (requires `ctx.options().screen_reader = true;`)
screen_reader = [ screen_reader = [
# we cannot touch egui_glium or egui_glow here due to https://github.com/rust-lang/cargo/issues/8832
"egui-winit/screen_reader", "egui-winit/screen_reader",
"egui_glow/screen_reader",
"egui_web/screen_reader", "egui_web/screen_reader",
] ]
dark-light = [ "egui-winit/dark-light"] # detect dark mode system preference dark-light = ["egui-winit/dark-light"] # detect dark mode system preference
[dependencies] [dependencies]

View file

@ -4,6 +4,9 @@ All notable changes to the `egui-winit` integration will be noted in this file.
## Unreleased ## Unreleased
* Reexport `egui` crate * Reexport `egui` crate
* Renamed the feature `convert_bytemuck` to `bytemuck` ([#1467](https://github.com/emilk/egui/pull/1467)).
* Renamed the feature `serialize` to `serde` ([#1467](https://github.com/emilk/egui/pull/1467)).
* MSRV (Minimum Supported Rust Version) is now `1.60.0` ([#1467](https://github.com/emilk/egui/pull/1467)).
## 0.17.0 - 2022-02-22 ## 0.17.0 - 2022-02-22

View file

@ -4,7 +4,7 @@ version = "0.17.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"] authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
description = "Bindings for using egui with winit" description = "Bindings for using egui with winit"
edition = "2021" edition = "2021"
rust-version = "1.56" rust-version = "1.60"
homepage = "https://github.com/emilk/egui/tree/master/egui-winit" homepage = "https://github.com/emilk/egui/tree/master/egui-winit"
license = "MIT OR Apache-2.0" license = "MIT OR Apache-2.0"
readme = "README.md" readme = "README.md"
@ -25,7 +25,7 @@ default = ["clipboard", "dark-light", "links"]
clipboard = ["copypasta"] clipboard = ["copypasta"]
# implement bytemuck on most types. # implement bytemuck on most types.
convert_bytemuck = ["egui/convert_bytemuck"] bytemuck = ["egui/bytemuck"]
# Only for `egui_glow` - the official eframe/epi backend. # Only for `egui_glow` - the official eframe/epi backend.
epi_backend = ["epi", "glow"] epi_backend = ["epi", "glow"]
@ -36,11 +36,8 @@ links = ["webbrowser"]
# experimental support for a screen reader # experimental support for a screen reader
screen_reader = ["tts"] screen_reader = ["tts"]
persistence = [ persistence = ["egui/serde", "serde", "epi?/persistence"]
"egui/serialize", serde = ["egui/serde", "dep:serde"]
"serde",
] # can't add epi/persistence here because of https://github.com/rust-lang/cargo/issues/8832
serialize = ["egui/serialize", "serde"]
[dependencies] [dependencies]
@ -51,6 +48,7 @@ instant = { version = "0.1", features = ["wasm-bindgen"] }
tracing = "0.1" tracing = "0.1"
winit = "0.26.1" winit = "0.26.1"
# Optional:
epi = { version = "0.17.0", path = "../epi", optional = true } epi = { version = "0.17.0", path = "../epi", optional = true }
copypasta = { version = "0.7", optional = true } copypasta = { version = "0.7", optional = true }

View file

@ -4,6 +4,7 @@ pub struct ScreenReader {
} }
#[cfg(not(feature = "screen_reader"))] #[cfg(not(feature = "screen_reader"))]
#[allow(clippy::derivable_impls)] // False positive
impl Default for ScreenReader { impl Default for ScreenReader {
fn default() -> Self { fn default() -> Self {
Self {} Self {}

View file

@ -4,7 +4,7 @@ version = "0.17.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"] authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
description = "An easy-to-use immediate mode GUI that runs on both web and native" description = "An easy-to-use immediate mode GUI that runs on both web and native"
edition = "2021" edition = "2021"
rust-version = "1.56" rust-version = "1.60"
homepage = "https://github.com/emilk/egui" homepage = "https://github.com/emilk/egui"
license = "MIT OR Apache-2.0" license = "MIT OR Apache-2.0"
readme = "../README.md" readme = "../README.md"
@ -26,7 +26,7 @@ default = ["default_fonts"]
cint = ["epaint/cint"] cint = ["epaint/cint"]
# implement bytemuck on most types. # implement bytemuck on most types.
convert_bytemuck = ["epaint/convert_bytemuck"] bytemuck = ["epaint/bytemuck"]
# If set, egui will use `include_bytes!` to bundle some fonts. # If set, egui will use `include_bytes!` to bundle some fonts.
# If you plan on specifying your own fonts you may disable this feature. # If you plan on specifying your own fonts you may disable this feature.
@ -41,10 +41,10 @@ extra_asserts = ["epaint/extra_asserts"]
mint = ["epaint/mint"] mint = ["epaint/mint"]
# enable persistence of memory (window positions etc). # enable persistence of memory (window positions etc).
persistence = ["serde", "epaint/serialize", "ron"] persistence = ["serde", "epaint/serde", "ron"]
# implement serde on most types. # implement serde on most types.
serialize = ["serde", "epaint/serialize"] serde = ["dep:serde", "epaint/serde"]
[dependencies] [dependencies]

View file

@ -3,7 +3,7 @@
//! Try the live web demo: <https://www.egui.rs/#demo>. Read more about egui at <https://github.com/emilk/egui>. //! Try the live web demo: <https://www.egui.rs/#demo>. Read more about egui at <https://github.com/emilk/egui>.
//! //!
//! `egui` is in heavy development, with each new version having breaking changes. //! `egui` is in heavy development, with each new version having breaking changes.
//! You need to have rust 1.56.0 or later to use `egui`. //! You need to have rust 1.60.0 or later to use `egui`.
//! //!
//! To quickly get started with egui, you can take a look at [`eframe_template`](https://github.com/emilk/eframe_template) //! To quickly get started with egui, you can take a look at [`eframe_template`](https://github.com/emilk/eframe_template)
//! which uses [`eframe`](https://docs.rs/eframe). //! which uses [`eframe`](https://docs.rs/eframe).

View file

@ -4,7 +4,7 @@ version = "0.17.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"] authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
license = "MIT OR Apache-2.0" license = "MIT OR Apache-2.0"
edition = "2021" edition = "2021"
rust-version = "1.56" rust-version = "1.60"
publish = false publish = false
[package.metadata.docs.rs] [package.metadata.docs.rs]

View file

@ -4,7 +4,7 @@ version = "0.17.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"] authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
description = "Example library for egui" description = "Example library for egui"
edition = "2021" edition = "2021"
rust-version = "1.56" rust-version = "1.60"
homepage = "https://github.com/emilk/egui/tree/master/egui_demo_lib" homepage = "https://github.com/emilk/egui/tree/master/egui_demo_lib"
license = "MIT OR Apache-2.0" license = "MIT OR Apache-2.0"
readme = "README.md" readme = "README.md"
@ -35,7 +35,7 @@ persistence = [
"egui_extras/persistence", "egui_extras/persistence",
"serde", "serde",
] ]
serialize = ["egui/serialize", "serde"] serde = ["egui/serde", "dep:serde"]
syntax_highlighting = ["syntect"] syntax_highlighting = ["syntect"]

View file

@ -4,6 +4,7 @@ All notable changes to the `egui_extras` integration will be noted in this file.
## Unreleased ## Unreleased
* Added `Strip`, `Table` and `DatePicker` ([#963](https://github.com/emilk/egui/pull/963)). * Added `Strip`, `Table` and `DatePicker` ([#963](https://github.com/emilk/egui/pull/963)).
* MSRV (Minimum Supported Rust Version) is now `1.60.0` ([#1467](https://github.com/emilk/egui/pull/1467)).
## 0.17.0 - 2022-02-22 ## 0.17.0 - 2022-02-22

View file

@ -8,7 +8,7 @@ authors = [
] ]
description = "Extra functionality and widgets for the egui GUI library" description = "Extra functionality and widgets for the egui GUI library"
edition = "2021" edition = "2021"
rust-version = "1.56" rust-version = "1.60"
homepage = "https://github.com/emilk/egui" homepage = "https://github.com/emilk/egui"
license = "MIT OR Apache-2.0" license = "MIT OR Apache-2.0"
readme = "../README.md" readme = "../README.md"

View file

@ -5,6 +5,7 @@ All notable changes to the `egui_glium` integration will be noted in this file.
## Unreleased ## Unreleased
* Remove "epi" feature ([#1361](https://github.com/emilk/egui/pull/1361)). * Remove "epi" feature ([#1361](https://github.com/emilk/egui/pull/1361)).
* Remove need for `trait epi::NativeTexture` to use the `fn register_native_texture/replace_native_texture` ([#1361](https://github.com/emilk/egui/pull/1361)). * Remove need for `trait epi::NativeTexture` to use the `fn register_native_texture/replace_native_texture` ([#1361](https://github.com/emilk/egui/pull/1361)).
* MSRV (Minimum Supported Rust Version) is now `1.60.0` ([#1467](https://github.com/emilk/egui/pull/1467)).
## 0.17.0 - 2022-02-22 ## 0.17.0 - 2022-02-22

View file

@ -4,7 +4,7 @@ version = "0.17.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"] authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
description = "Bindings for using egui natively using the glium library" description = "Bindings for using egui natively using the glium library"
edition = "2021" edition = "2021"
rust-version = "1.56" rust-version = "1.60"
homepage = "https://github.com/emilk/egui/tree/master/egui_glium" homepage = "https://github.com/emilk/egui/tree/master/egui_glium"
license = "MIT OR Apache-2.0" license = "MIT OR Apache-2.0"
readme = "README.md" readme = "README.md"
@ -46,7 +46,7 @@ screen_reader = ["egui-winit/screen_reader"]
[dependencies] [dependencies]
egui = { version = "0.17.0", path = "../egui", default-features = false, features = [ egui = { version = "0.17.0", path = "../egui", default-features = false, features = [
"convert_bytemuck", "bytemuck",
] } ] }
egui-winit = { version = "0.17.0", path = "../egui-winit", default-features = false } egui-winit = { version = "0.17.0", path = "../egui-winit", default-features = false }

View file

@ -7,6 +7,8 @@ All notable changes to the `egui_glow` integration will be noted in this file.
* Add new `NativeOptions`: `vsync`, `multisampling`, `depth_buffer`, `stencil_buffer`. * Add new `NativeOptions`: `vsync`, `multisampling`, `depth_buffer`, `stencil_buffer`.
* `dark-light` (dark mode detection) is now an opt-in feature ([#1437](https://github.com/emilk/egui/pull/1437)). * `dark-light` (dark mode detection) is now an opt-in feature ([#1437](https://github.com/emilk/egui/pull/1437)).
* 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)). * 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)).
* MSRV (Minimum Supported Rust Version) is now `1.60.0` ([#1467](https://github.com/emilk/egui/pull/1467)).
* `clipboard`, `links`, `persistence`, `winit` are now all opt-in features ([#1467](https://github.com/emilk/egui/pull/1467)).
## 0.17.0 - 2022-02-22 ## 0.17.0 - 2022-02-22

View file

@ -4,7 +4,7 @@ version = "0.17.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"] authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
description = "Bindings for using egui natively using the glow library" description = "Bindings for using egui natively using the glow library"
edition = "2021" edition = "2021"
rust-version = "1.56" rust-version = "1.60"
homepage = "https://github.com/emilk/egui/tree/master/egui_glow" homepage = "https://github.com/emilk/egui/tree/master/egui_glow"
license = "MIT OR Apache-2.0" license = "MIT OR Apache-2.0"
readme = "README.md" readme = "README.md"
@ -24,7 +24,7 @@ all-features = true
[features] [features]
default = ["clipboard", "default_fonts", "links", "persistence", "winit"] default = ["default_fonts"]
# enable cut/copy/paste to OS clipboard. # enable cut/copy/paste to OS clipboard.
# if disabled a clipboard will be simulated so you can still copy/paste within the egui app. # if disabled a clipboard will be simulated so you can still copy/paste within the egui app.
@ -41,9 +41,8 @@ links = ["egui-winit/links"]
persistence = [ persistence = [
"egui-winit/persistence", "egui-winit/persistence",
"egui/persistence", "egui/persistence",
"epi", # also implied by the lines below, see https://github.com/rust-lang/cargo/issues/8832 "epi?/file_storage",
"epi/file_storage", "epi?/persistence",
"epi/persistence",
] ]
# experimental support for a screen reader # experimental support for a screen reader
@ -58,7 +57,7 @@ dark-light = ["egui-winit/dark-light"] # detect dark mode system
[dependencies] [dependencies]
egui = { version = "0.17.0", path = "../egui", default-features = false, features = [ egui = { version = "0.17.0", path = "../egui", default-features = false, features = [
"convert_bytemuck", "bytemuck",
] } ] }
epi = { version = "0.17.0", path = "../epi", optional = true } epi = { version = "0.17.0", path = "../epi", optional = true }
@ -67,12 +66,14 @@ glow = "0.11"
memoffset = "0.6" memoffset = "0.6"
tracing = "0.1" tracing = "0.1"
# Native:
[target.'cfg(not(target_arch = "wasm32"))'.dependencies] [target.'cfg(not(target_arch = "wasm32"))'.dependencies]
egui-winit = { version = "0.17.0", path = "../egui-winit", optional = true, default-features = false, features = [ egui-winit = { version = "0.17.0", path = "../egui-winit", optional = true, default-features = false, features = [
"epi_backend", "epi_backend",
] } ] }
glutin = { version = "0.28.0", optional = true } glutin = { version = "0.28.0", optional = true }
# Web:
[target.'cfg(target_arch = "wasm32")'.dependencies] [target.'cfg(target_arch = "wasm32")'.dependencies]
web-sys = { version = "0.3", features = ["console"] } web-sys = { version = "0.3", features = ["console"] }
wasm-bindgen = { version = "0.2" } wasm-bindgen = { version = "0.2" }

View file

@ -6,6 +6,7 @@ All notable changes to the `egui_web` integration will be noted in this file.
* egui code will no longer be called after panic ([#1306](https://github.com/emilk/egui/pull/1306)). * egui code will no longer be called after panic ([#1306](https://github.com/emilk/egui/pull/1306)).
* Remove the "webgl" feature. `egui_web` now always use `glow` (which in turn wraps WebGL) ([#1356](https://github.com/emilk/egui/pull/1356)). * Remove the "webgl" feature. `egui_web` now always use `glow` (which in turn wraps WebGL) ([#1356](https://github.com/emilk/egui/pull/1356)).
* Use full browser width by default ([#1378](https://github.com/emilk/egui/pull/1378)). * Use full browser width by default ([#1378](https://github.com/emilk/egui/pull/1378)).
* MSRV (Minimum Supported Rust Version) is now `1.60.0` ([#1467](https://github.com/emilk/egui/pull/1467)).
## 0.17.0 - 2022-02-22 ## 0.17.0 - 2022-02-22

View file

@ -5,7 +5,7 @@ authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
description = "Bindings for compiling egui code to WASM for a web page" description = "Bindings for compiling egui code to WASM for a web page"
license = "MIT OR Apache-2.0" license = "MIT OR Apache-2.0"
edition = "2021" edition = "2021"
rust-version = "1.56" rust-version = "1.60"
homepage = "https://github.com/emilk/egui/tree/master/egui_web" homepage = "https://github.com/emilk/egui/tree/master/egui_web"
readme = "README.md" readme = "README.md"
repository = "https://github.com/emilk/egui/tree/master/egui_web" repository = "https://github.com/emilk/egui/tree/master/egui_web"
@ -42,7 +42,7 @@ screen_reader = ["tts"]
[dependencies] [dependencies]
egui = { version = "0.17.0", path = "../egui", default-features = false, features = [ egui = { version = "0.17.0", path = "../egui", default-features = false, features = [
"convert_bytemuck", "bytemuck",
"tracing", "tracing",
] } ] }
egui_glow = { version = "0.17.0", path = "../egui_glow", default-features = false } egui_glow = { version = "0.17.0", path = "../egui_glow", default-features = false }

View file

@ -4,6 +4,7 @@ pub struct ScreenReader {
} }
#[cfg(not(feature = "screen_reader"))] #[cfg(not(feature = "screen_reader"))]
#[allow(clippy::derivable_impls)] // False positive
impl Default for ScreenReader { impl Default for ScreenReader {
fn default() -> Self { fn default() -> Self {
Self {} Self {}

View file

@ -4,7 +4,7 @@ version = "0.17.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"] authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
description = "Minimal 2D math library for GUI work" description = "Minimal 2D math library for GUI work"
edition = "2021" edition = "2021"
rust-version = "1.56" rust-version = "1.60"
homepage = "https://github.com/emilk/egui/tree/master/emath" homepage = "https://github.com/emilk/egui/tree/master/emath"
license = "MIT OR Apache-2.0" license = "MIT OR Apache-2.0"
readme = "README.md" readme = "README.md"
@ -29,6 +29,7 @@ extra_asserts = []
[dependencies] [dependencies]
# Optional:
bytemuck = { version = "1.7.2", optional = true, features = ["derive"] } bytemuck = { version = "1.7.2", optional = true, features = ["derive"] }
mint = { version = "0.5.6", optional = true } mint = { version = "0.5.6", optional = true }
serde = { version = "1", optional = true, features = ["derive"] } serde = { version = "1", optional = true, features = ["derive"] }

View file

@ -18,6 +18,9 @@ All notable changes to the epaint crate will be documented in this file.
* Dark text is darker and more readable on bright backgrounds ([#1412](https://github.com/emilk/egui/pull/1412)). * Dark text is darker and more readable on bright backgrounds ([#1412](https://github.com/emilk/egui/pull/1412)).
* Fix panic when tessellating a [`Shape::Vec`] containing meshes with differing `TextureId`:s ([#1445](https://github.com/emilk/egui/pull/1445)). * Fix panic when tessellating a [`Shape::Vec`] containing meshes with differing `TextureId`:s ([#1445](https://github.com/emilk/egui/pull/1445)).
* Added `Shape::galley_with_color` which adds the functionality of `Painter::galley_with_color` into the Shape enum. ([#1461](https://github.com/emilk/egui/pull/1461)) * Added `Shape::galley_with_color` which adds the functionality of `Painter::galley_with_color` into the Shape enum. ([#1461](https://github.com/emilk/egui/pull/1461))
* MSRV (Minimum Supported Rust Version) is now `1.60.0` ([#1467](https://github.com/emilk/egui/pull/1467)).
* Renamed the feature `convert_bytemuck` to `bytemuck` ([#1467](https://github.com/emilk/egui/pull/1467)).
* Renamed the feature `serialize` to `serde` ([#1467](https://github.com/emilk/egui/pull/1467)).
## 0.17.0 - 2022-02-22 ## 0.17.0 - 2022-02-22

View file

@ -4,7 +4,7 @@ version = "0.17.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"] authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
description = "Minimal 2D graphics library for GUI work" description = "Minimal 2D graphics library for GUI work"
edition = "2021" edition = "2021"
rust-version = "1.56" rust-version = "1.60"
homepage = "https://github.com/emilk/egui/tree/master/epaint" homepage = "https://github.com/emilk/egui/tree/master/epaint"
license = "MIT OR Apache-2.0" license = "MIT OR Apache-2.0"
readme = "README.md" readme = "README.md"
@ -30,7 +30,7 @@ all-features = true
default = ["default_fonts"] default = ["default_fonts"]
# implement bytemuck on most types. # implement bytemuck on most types.
convert_bytemuck = ["bytemuck", "emath/bytemuck"] bytemuck = ["dep:bytemuck", "emath/bytemuck"]
# If set, epaint will use `include_bytes!` to bundle some fonts. # If set, epaint will use `include_bytes!` to bundle some fonts.
# If you plan on specifying your own fonts you may disable this feature. # If you plan on specifying your own fonts you may disable this feature.
@ -45,17 +45,19 @@ extra_asserts = ["emath/extra_asserts"]
mint = ["emath/mint"] mint = ["emath/mint"]
# implement serde on most types. # implement serde on most types.
serialize = ["serde", "ahash/serde", "emath/serde"] serde = ["dep:serde", "ahash/serde", "emath/serde"]
[dependencies] [dependencies]
emath = { version = "0.17.0", path = "../emath" } emath = { version = "0.17.0", path = "../emath" }
ab_glyph = "0.2.11" ab_glyph = "0.2.11"
nohash-hasher = "0.2"
# Optional:
ahash = { version = "0.7", default-features = false, features = ["std"] } ahash = { version = "0.7", default-features = false, features = ["std"] }
bytemuck = { version = "1.7.2", optional = true, features = ["derive"] } bytemuck = { version = "1.7.2", optional = true, features = ["derive"] }
cint = { version = "^0.2.2", optional = true } cint = { version = "^0.2.2", optional = true }
nohash-hasher = "0.2"
serde = { version = "1", optional = true, features = ["derive", "rc"] } serde = { version = "1", optional = true, features = ["derive", "rc"] }
# native: # native:

View file

@ -4,7 +4,7 @@ version = "0.17.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"] authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
description = "Backend-agnostic interface for writing apps using egui" description = "Backend-agnostic interface for writing apps using egui"
edition = "2021" edition = "2021"
rust-version = "1.56" rust-version = "1.60"
homepage = "https://github.com/emilk/egui/tree/master/epi" homepage = "https://github.com/emilk/egui/tree/master/epi"
license = "MIT OR Apache-2.0" license = "MIT OR Apache-2.0"
readme = "README.md" readme = "README.md"
@ -32,6 +32,7 @@ egui = { version = "0.17.0", path = "../egui", default-features = false }
glow = "0.11" glow = "0.11"
tracing = "0.1" tracing = "0.1"
# Optional:
directories-next = { version = "2", optional = true } directories-next = { version = "2", optional = true }
ron = { version = "0.7", optional = true } ron = { version = "0.7", optional = true }
serde = { version = "1", optional = true } serde = { version = "1", optional = true }

View file

@ -5,6 +5,6 @@
# to the user in the error, instead of "error: invalid channel name '[toolchain]'". # to the user in the error, instead of "error: invalid channel name '[toolchain]'".
[toolchain] [toolchain]
channel = "1.56.0" channel = "1.60.0"
components = [ "rustfmt", "clippy" ] components = [ "rustfmt", "clippy" ]
targets = [ "wasm32-unknown-unknown" ] targets = [ "wasm32-unknown-unknown" ]