Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rust 1.60.0 + refactor cargo features #1467

Merged
merged 7 commits into from
Apr 9, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ rustflags = [
"-Wclippy::checked_conversions",
"-Wclippy::dbg_macro",
"-Wclippy::debug_assert_with_mut_call",
"-Wclippy::disallowed_method",
"-Wclippy::disallowed_methods",
"-Wclippy::doc_markdown",
"-Wclippy::empty_enum",
"-Wclippy::enum_glob_use",
# "-Wclippy::equatable_if_let", // Enable when we update MSRV
"-Wclippy::equatable_if_let",
"-Wclippy::exit",
"-Wclippy::expl_impl_clone_on_copy",
"-Wclippy::explicit_deref_methods",
Expand All @@ -29,7 +29,7 @@ rustflags = [
"-Wclippy::imprecise_flops",
"-Wclippy::inefficient_to_string",
"-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_stack_arrays",
"-Wclippy::large_types_passed_by_value",
Expand Down
24 changes: 12 additions & 12 deletions .github/workflows/rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: 1.56.0
toolchain: 1.60.0
override: true
- run: sudo apt-get update && sudo apt-get install libspeechd-dev
- uses: actions-rs/cargo@v1
Expand All @@ -33,7 +33,7 @@ jobs:
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: 1.56.0
toolchain: 1.60.0
override: true
- run: sudo apt-get update && sudo apt-get install libspeechd-dev
- uses: actions-rs/cargo@v1
Expand All @@ -49,7 +49,7 @@ jobs:
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: 1.56.0
toolchain: 1.60.0
override: true
- run: rustup target add wasm32-unknown-unknown
- uses: actions-rs/cargo@v1
Expand All @@ -65,7 +65,7 @@ jobs:
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: 1.56.0
toolchain: 1.60.0
override: true
- name: check
run: cargo check -p egui_demo_app
Expand All @@ -78,7 +78,7 @@ jobs:
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: 1.56.0
toolchain: 1.60.0
override: true
- run: rustup target add wasm32-unknown-unknown
- name: check
Expand All @@ -92,7 +92,7 @@ jobs:
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: 1.56.0
toolchain: 1.60.0
override: true
- run: rustup target add wasm32-unknown-unknown
- uses: actions-rs/cargo@v1
Expand All @@ -108,7 +108,7 @@ jobs:
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: 1.56.0
toolchain: 1.60.0
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
- uses: actions-rs/cargo@v1
Expand All @@ -124,7 +124,7 @@ jobs:
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: 1.56.0
toolchain: 1.60.0
override: true
- run: rustup component add rustfmt
- uses: actions-rs/cargo@v1
Expand All @@ -140,7 +140,7 @@ jobs:
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: 1.56.0
toolchain: 1.60.0
override: true
- 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
Expand All @@ -157,7 +157,7 @@ jobs:
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: 1.56.0
toolchain: 1.60.0
override: true
- 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
Expand All @@ -170,7 +170,7 @@ jobs:
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: 1.56.0
toolchain: 1.60.0
override: true
- run: sudo apt-get update && sudo apt-get install libspeechd-dev
- run: rustup target add wasm32-unknown-unknown
Expand All @@ -190,7 +190,7 @@ jobs:
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: 1.56.0
toolchain: 1.60.0
override: true
- run: rustup target add wasm32-unknown-unknown
- run: cargo install wasm-bindgen-cli
Expand Down
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)).
* `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`.
* 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 ComboBoxes always being rendered left-aligned ([#1304](https://github.com/emilk/egui/pull/1304)).
Expand Down
1 change: 1 addition & 0 deletions eframe/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)).
* `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)).
* MSRV (Minimum Supported Rust Version) is now `1.60.0` ([#1467](https://github.com/emilk/egui/pull/1467)).


## 0.17.0 - 2022-02-22
Expand Down
8 changes: 4 additions & 4 deletions eframe/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ version = "0.17.0"
authors = ["Emil Ernerfeldt <[email protected]>"]
description = "egui framework - write GUI apps that compiles to web and/or natively"
edition = "2021"
rust-version = "1.56"
rust-version = "1.60"
homepage = "https://github.com/emilk/egui/tree/master/eframe"
license = "MIT OR Apache-2.0"
readme = "README.md"
Expand All @@ -28,21 +28,21 @@ default_fonts = ["egui/default_fonts"]

# Enable saving app state to disk.
persistence = [
# we cannot touch egui_glium or egui_glow here due to https://github.com/rust-lang/cargo/issues/8832
"egui-winit/persistence",
"egui_glow/persistence",
"egui/persistence",
"epi/file_storage",
"epi/persistence",
]

# enable screen reader support (requires `ctx.options().screen_reader = true;`)
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_glow/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]
Expand Down
3 changes: 3 additions & 0 deletions egui-winit/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ All notable changes to the `egui-winit` integration will be noted in this file.

## Unreleased
* 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
Expand Down
12 changes: 5 additions & 7 deletions egui-winit/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ version = "0.17.0"
authors = ["Emil Ernerfeldt <[email protected]>"]
description = "Bindings for using egui with winit"
edition = "2021"
rust-version = "1.56"
rust-version = "1.60"
homepage = "https://github.com/emilk/egui/tree/master/egui-winit"
license = "MIT OR Apache-2.0"
readme = "README.md"
Expand All @@ -25,7 +25,7 @@ default = ["clipboard", "dark-light", "links"]
clipboard = ["copypasta"]

# implement bytemuck on most types.
convert_bytemuck = ["egui/convert_bytemuck"]
bytemuck = ["egui/bytemuck"]

# Only for `egui_glow` - the official eframe/epi backend.
epi_backend = ["epi", "glow"]
Expand All @@ -36,11 +36,8 @@ links = ["webbrowser"]
# experimental support for a screen reader
screen_reader = ["tts"]

persistence = [
"egui/serialize",
"serde",
] # can't add epi/persistence here because of https://github.com/rust-lang/cargo/issues/8832
serialize = ["egui/serialize", "serde"]
persistence = ["egui/serde", "serde", "epi?/persistence"]
serde = ["egui/serde", "dep:serde"]


[dependencies]
Expand All @@ -51,6 +48,7 @@ instant = { version = "0.1", features = ["wasm-bindgen"] }
tracing = "0.1"
winit = "0.26.1"

# Optional:
epi = { version = "0.17.0", path = "../epi", optional = true }

copypasta = { version = "0.7", optional = true }
Expand Down
1 change: 1 addition & 0 deletions egui-winit/src/screen_reader.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ pub struct ScreenReader {
}

#[cfg(not(feature = "screen_reader"))]
#[allow(clippy::derivable_impls)] // False positive
impl Default for ScreenReader {
fn default() -> Self {
Self {}
Expand Down
8 changes: 4 additions & 4 deletions egui/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ version = "0.17.0"
authors = ["Emil Ernerfeldt <[email protected]>"]
description = "An easy-to-use immediate mode GUI that runs on both web and native"
edition = "2021"
rust-version = "1.56"
rust-version = "1.60"
homepage = "https://github.com/emilk/egui"
license = "MIT OR Apache-2.0"
readme = "../README.md"
Expand All @@ -26,7 +26,7 @@ default = ["default_fonts"]
cint = ["epaint/cint"]

# 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 you plan on specifying your own fonts you may disable this feature.
Expand All @@ -41,10 +41,10 @@ extra_asserts = ["epaint/extra_asserts"]
mint = ["epaint/mint"]

# enable persistence of memory (window positions etc).
persistence = ["serde", "epaint/serialize", "ron"]
persistence = ["serde", "epaint/serde", "ron"]

# implement serde on most types.
serialize = ["serde", "epaint/serialize"]
serde = ["dep:serde", "epaint/serde"]


[dependencies]
Expand Down
2 changes: 1 addition & 1 deletion egui/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
//! 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.
//! 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)
//! which uses [`eframe`](https://docs.rs/eframe).
Expand Down
2 changes: 1 addition & 1 deletion egui_demo_app/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ version = "0.17.0"
authors = ["Emil Ernerfeldt <[email protected]>"]
license = "MIT OR Apache-2.0"
edition = "2021"
rust-version = "1.56"
rust-version = "1.60"
publish = false

[package.metadata.docs.rs]
Expand Down
4 changes: 2 additions & 2 deletions egui_demo_lib/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ version = "0.17.0"
authors = ["Emil Ernerfeldt <[email protected]>"]
description = "Example library for egui"
edition = "2021"
rust-version = "1.56"
rust-version = "1.60"
homepage = "https://github.com/emilk/egui/tree/master/egui_demo_lib"
license = "MIT OR Apache-2.0"
readme = "README.md"
Expand Down Expand Up @@ -35,7 +35,7 @@ persistence = [
"egui_extras/persistence",
"serde",
]
serialize = ["egui/serialize", "serde"]
serde = ["egui/serde", "dep:serde"]
syntax_highlighting = ["syntect"]


Expand Down
1 change: 1 addition & 0 deletions egui_extras/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ All notable changes to the `egui_extras` integration will be noted in this file.

## Unreleased
* 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
Expand Down
2 changes: 1 addition & 1 deletion egui_extras/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ authors = [
]
description = "Extra functionality and widgets for the egui GUI library"
edition = "2021"
rust-version = "1.56"
rust-version = "1.60"
homepage = "https://github.com/emilk/egui"
license = "MIT OR Apache-2.0"
readme = "../README.md"
Expand Down
1 change: 1 addition & 0 deletions egui_glium/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ All notable changes to the `egui_glium` integration will be noted in this file.
## Unreleased
* 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)).
* MSRV (Minimum Supported Rust Version) is now `1.60.0` ([#1467](https://github.com/emilk/egui/pull/1467)).


## 0.17.0 - 2022-02-22
Expand Down
4 changes: 2 additions & 2 deletions egui_glium/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ version = "0.17.0"
authors = ["Emil Ernerfeldt <[email protected]>"]
description = "Bindings for using egui natively using the glium library"
edition = "2021"
rust-version = "1.56"
rust-version = "1.60"
homepage = "https://github.com/emilk/egui/tree/master/egui_glium"
license = "MIT OR Apache-2.0"
readme = "README.md"
Expand Down Expand Up @@ -46,7 +46,7 @@ screen_reader = ["egui-winit/screen_reader"]

[dependencies]
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 }

Expand Down
2 changes: 2 additions & 0 deletions egui_glow/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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`.
* `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)).
* 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
Expand Down
Loading